Cuckoo hashing with selectable hash
US-2017068669-A1 · Mar 9, 2017 · US
US2017286166A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017286166-A1 |
| Application number | US-201615318639-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jun 8, 2016 |
| Priority date | Oct 13, 2015 |
| Publication date | Oct 5, 2017 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods for dynamic allocation of compilation machines are disclosed. A method includes: initiating and storing a task to be compiled and marking the task in a waiting state to wait for compilation of a compilation machine; fetching a compile command, and analyzing a current compile state of the compilation machine and further determining based on the current compile state whether to set the task to be compiled to continue waiting for compilation or enter a compile stage, wherein if to continue waiting for compilation, then the task to be compiled may be further held in storage; otherwise if to enter the compile stage, then the task may be transmitted to the compilation machine for compilation. Thus, the tasks can be automatically assigned to the compilation machines to achieve efficient use of the compilation machines and reduce the otherwise potential error rate due to human intervention.
Opening claim text (preview).
1 . A method for dynamic allocation of compilation machines, comprising: initiating and storing a task to be compiled and marking the task in a waiting state to wait for compilation of a compilation machine, wherein when storing the task to be compiled, three data tables are also established and configured to record project information, compilation machines information, and compilation tasks information, respectively; acquiring a first threshold number of tasks of a same type the compilation machine is able to compile simultaneously as well as a second threshold number of maximum tasks the compilation machine is able to compile simultaneously, the first threshold number being smaller than or equal to the second threshold number; fetching a compile command, and analyzing a current compile state of the compilation machine and further determining based on the current compile state whether to set the task to be compiled to continue waiting for compilation or enter a compile stage, and if the task is to continue waiting for compilation, holding the task to be compiled in storage; otherwise if the task is to enter the compile stage, transmitting the task to be compiled to the compilation machine for compilation; wherein if a number of tasks the compilation machine is currently compiling is greater than or equal to the first threshold number, the task to be compiled is to enter the compile stage and further transmitted to the compilation machine. 2 . The method according to claim 1 , wherein the project information comprises a type of the task to be compiled; the compilation machines information comprises an IP address, name, type of tasks under compilation, and current remaining compilation space, of each compilation machine; and the compilation tasks information comprises information of compilation machines that is currently working and information of tasks they are currently compiling. 3 . The method according to claim 1 , further comprising: if the number of tasks the compilation machine is currently compiling is greater than or equal to the first threshold number, determining whether the number of tasks the compilation machine is currently compiling is greater than or equal to the second threshold number, and, if yes, setting the task to be compiled to continue waiting for compilation. 4 . The method according to claim 3 , further comprising: if the number of tasks the compilation machine is currently compiling is not greater than or equal to the second threshold number, determining whether there are any tasks the compilation machine is currently compiling that is of a same type as the task to be compiled, and, when there is none, setting the task to be compiled to enter the compile stage and further transmitting the task to be compiled to the compilation machine. 5 . The method according to claim 4 , further comprising: if there are any tasks of the same type as the task to be compiled that is currently compiled on the compilation machine, determining whether a number of tasks of the same type as the task to be compiled is greater than or equal to the first threshold number, and, if no, setting the task to be compiled to enter the compile stage and further transmitting the task to be compiled to the compilation machine; otherwise if yes, setting the task to be compiled to continue waiting for compilation. 6 . A method for dynamic allocation of compilation machines, comprising: initiating and storing a task to be compiled and marking the task in a waiting state to wait for compilation of a compilation machine; fetching a compile command, and analyzing a current compile state of the compilation machine and further determining based on the current compile state whether to set the task to be compiled to continue waiting for compilation or enter a compile stage, and if the task is to continue waiting for compilation, holding the task to be compiled in storage; otherwise if the task is to enter the compile stage, transmitting the task to be compiled to the compilation machine for compilation. 7 . The method according to claim 6 , further comprising establishing three data tables to record project information, compilation machines information, and compilation tasks information, respectively, when storing the task to be compiled. 8 . The method according to claim 7 , wherein the project information comprises a type of the task to be compiled; the compilation machine information comprises an IP address, name, types of tasks compiled, and current remaining compilation space, of each compilation machine; and the compilation tasks information comprises information of compilation machines that is currently working and information of tasks they are currently compiling. 9 . The method according to claim 6 , further comprising: acquiring a first threshold number of tasks of a same type the compilation machine is able to compile simultaneously as well as a second threshold number of maximum tasks the compilation machine is able to compile simultaneously, the first threshold number being smaller than or equal to the second threshold number; wherein analyzing the current compile state of the compilation machine comprises: determining whether a number of tasks the compilation machine is currently compiling is greater than or equal to the first threshold number, and if no, setting the task to be compiled to enter the compile stage and further transmitting the task to be compiled to the compilation machine. 10 . The method according to claim 9 , further comprising: if the number of tasks the compilation machine is currently compiling is greater than or equal to the first threshold number, determining whether a number of tasks the compilation machine is currently compiling is greater than or equal to the second threshold number, and if yes, setting the task to be compiled to continue waiting for compilation. 11 . The method according to claim 10 , further comprising: if the number of tasks the compilation machine is currently compiling is not greater than or equal to the second threshold number, determining whether there are any tasks the compilation machine is currently compiling that is of a same type as the task to be compiled, and if there is none, setting the task to be compiled to enter the compile stage and further transmitting the task to be compiled to the compilation machine. 12 . The method according to claim 11 , further comprising: if there are any tasks of the same type as the task to be compiled that is currently compiled on the compilation machine, determining whether a number of tasks of the same type as the task to be compiled is greater than or equal to the first threshold number, and if no, setting the task to be compiled to enter the compile stage and further transmitting the task to be compiled to the compilation machine; otherwise if yes, setting the task to be compiled to continue waiting for compilation. 13 . A system for dynamic allocation of compilation machines, comprising one or more processors and a non-transitory program storage medium containing a program product executable by the processors, the program product comprising: a customized mechanism configured to initiate a task to be compiled and further initiate a compile command; a database configured to store the task to be compiled; and an allocation mechanism configured to mark the task to be compiled that is stored in the database in a waiting state to wait for compilation of a compilation machine, and analyze, after receiving the compile command, a current compile state of the compilation machine and determine based on the current compile state whether to set the task to be compiled
Retargetable compilers · CPC title
considering data affinity · CPC title
Optimisation · CPC title
Compilation · CPC title
considering the load · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.