Systems and methods for dynamic allocation of compilation machines

US10810048B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10810048-B2
Application numberUS-201615318639-A
CountryUS
Kind codeB2
Filing dateJun 8, 2016
Priority dateOct 13, 2015
Publication dateOct 20, 2020
Grant dateOct 20, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for 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 on a compilation machine, wherein marking the task in a waiting state includes preconfiguring a first attribute value and a second attribute value of the task and setting the first attribute value and the second attribute value to be different values, and 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 determining whether a number of tasks the compilation machine is currently compiling is greater than or equal to the first threshold number; upon determining that the number of tasks the compilation machine is currently compiling is less than the first threshold number, the task to be compiled is to enter the compile stage and further transmitted to the compilation machine; and upon determining that 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 setting the task to be compiled to continue waiting for compilation upon determining that the number of tasks the compilation machine is currently compiling is greater than or equal to the second threshold number; upon determining that the number of tasks the compilation machine is currently compiling is less than 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 upon determining that 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; upon determining that 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 setting the task to be compiled to enter the compile stage and further transmitting the task to be compiled to the compilation machine upon determining that the number of tasks of the same type as the task to be compiled is less than the first threshold number; otherwise, setting the task to be compiled to continue waiting for compilation; wherein, prior to setting the task to be compiled to enter the compile stage or continue waiting for compilation, the method further comprises: determining whether there is a vacant compilation machine; upon determining that there is no vacant compilation machine, randomly selecting a compilation machine and sending the task to be compiled to the selected compilation machine; upon determining that there is at least one vacant compilation machine, selecting one of the vacant compilation machine to compile the task to be compiled. 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: upon determining that the number of tasks the compilation machine is currently compiling is greater than the second threshold number by an amount larger than or equal to two, further setting the task to be compiled from the current waiting state to a sleep stage; and until the number of tasks the compilation machine is currently compiling is greater than the second threshold number by one, returning the task to be compiled to the waiting state. 4. The method according to claim 3 , further comprising: upon determining that setting the task to be compiled from the current waiting state to a sleep stage, setting both the first and second attribute values to be 0. 5. The method according to claim 1 , wherein, sending the task to be compiled to a compilation machine with relatively fewer compilation tasks comprises sending the task to be compiled to a compilation machine with relatively fewer compilation tasks which are of the same type as the task to be compiled. 6. The method according to claim 1 , wherein, upon determining that there is at least one vacant compilation machine, selecting one of the vacant compilation machine to compile the task to be compiled comprises: upon determining that there is at least one vacant compilation machine, determining whether the number of the vacant compilation machine is greater than or equal to two; upon determining that the number of the vacant compilation machine is greater than or equal to two, randomly selecting one vacant compilation machine to compile the task to be compiled; and upon determining that there is only one vacant compilation machine, selecting the vacant compilation machine to compile the task to be compiled. 7. The method according to claim 1 , further comprising: after having selected the corresponding compilation machine for the task to be compiled, obtaining the IP address of the selected compilation machine, and transmitting the task to be compiled to the selected compilation machine with the IP address. 8. The method according to claim 1 , wherein marking the task in a waiting state includes setting the first attribute value to be 0 and the second attribute value to be 1, and the method further comprises: upon determining that the task to be compiled is to enter the compile stage and further transmitted to the compilation machine, setting the first attribute value to be 1 and the second attribute value to be 0 to indicate the proceeding to the compile stage. 9. A method for 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 on a compilation machine; wherein marking the task in a waiting state includes preconfiguring a first attribute value and a second attribute value of the task and setting the first attribute value and the second attribute value to be different values; 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 determining whether a number of tasks the compilation machine is currently compiling is greater than or equal to the first threshold number, and upon determining that the number of tasks the compilation machine is currently compiling is less than the first threshold number, setting the task to be compiled to enter the compile stage and further transmitting the task to be compiled to the compilation machine; upon determining that the number of tasks the compilation machine is currently compiling is greater than or equ

Assignees

Inventors

Classifications

  • considering data affinity · CPC title

  • Retargetable compilers · CPC title

  • G06F9/505Primary

    considering the load · CPC title

  • Optimisation · CPC title

  • G06F9/5027Primary

    the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10810048B2 cover?
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 t…
Who is the assignee on this patent?
Huizhou Tcl Mobile Communication Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 20 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).