Systems and methods for allocating work for various types of services among nodes in a distributed computing system
US-2015281114-A1 · Oct 1, 2015 · US
US10635496B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10635496-B2 |
| Application number | US-201816113626-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 27, 2018 |
| Priority date | May 29, 2015 |
| Publication date | Apr 28, 2020 |
| Grant date | Apr 28, 2020 |
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.
A method and system to assign a task to a first thread pool in view of a determination that a previous execution time associated with the task is less than or equal to a threshold execution time. A second thread pool is designated to execute one or more tasks that have an execution time that exceeds the threshold execution time. The method and system may determine that a first execution time associated with the task exceeds the threshold execution time. The task is reassigned to the second thread pool in view of the determination that the first execution time exceeds the threshold execution time.
Opening claim text (preview).
What is claimed is: 1. A method comprising: assigning, by a processing device, a first task of a plurality of tasks to a first thread pool of a plurality of thread pools for execution, wherein the first task of the plurality of tasks is assigned to the first thread pool of the plurality of thread pools in view of a previous execution time associated with the first task of the plurality of tasks that is less than or equal to a first threshold execution time; designating a second thread pool of the plurality of thread pools to execute one or more of the plurality of tasks having an execution time that exceeds the first threshold execution time; executing, by the second thread pool of the plurality of thread pools, the one or more of the plurality of tasks having an execution time that exceeds the first threshold execution time; monitoring execution of the first task of the plurality of tasks by the first thread pool of the plurality of thread pools to determine a first execution time associated with the first task of the plurality of tasks; determining the first execution time associated with the first task of the plurality of tasks exceeds the first threshold execution time; and reassigning, by the processing device, the first task of the plurality of tasks to the second thread pool of the plurality of thread pools in view of the determining that the first execution time associated with the first task of the plurality of tasks exceeds the first threshold execution time. 2. The method of claim 1 , further comprising executing, by the first thread pool of the plurality of thread pools, the first task of the plurality of tasks. 3. The method of claim 1 , further comprising collecting information relating to one or more previous executions of the first task of the plurality of tasks, wherein the information comprises the previous execution time associated with the first task of the plurality of tasks. 4. The method of claim 1 , further comprising identifying an execution check-point associated with the first task of the plurality of tasks. 5. The method of claim 4 , wherein a state of the first task of the plurality of tasks is stored at the execution check-point associated with the first task of the plurality of tasks. 6. The method of claim 1 , further comprising determining an execution plan comprising the plurality of tasks in response to a request for performance of an action. 7. The method of claim 1 , wherein the second thread pool of the plurality of thread pools is associated with a second threshold execution time that is greater than the first threshold execution time. 8. A system comprising: a memory to store instructions; and a processing device, operatively coupled to the memory, the processing device to execute the instructions to: assign a first task of a plurality of tasks to a first thread pool of a plurality of thread pools for execution, wherein the first task of the plurality of tasks is assigned to the first thread pool of the plurality of thread pools in view of a previous execution time associated with the first task of the plurality of tasks that is less than or equal to a first threshold execution time; designate a second thread pool of the plurality of thread pools to execute one or more of the plurality of tasks having an execution time that exceeds the first threshold execution time; execute, by the second thread pool of the plurality of thread pools, the one or more of the plurality of tasks having an execution time that exceeds the first threshold execution time; monitor execution of the first task of the plurality of tasks by the first thread pool of the plurality of thread pools to determine a first execution time associated with the first task of the plurality of tasks; determine the first execution time associated with the first task of the plurality of tasks exceeds the first threshold execution time; and reassign the first task of the plurality of tasks to the second thread pool of the plurality of thread pools in view of the determining that the first execution time associated with the first task of the plurality of tasks exceeds the first threshold execution time. 9. The system of claim 8 , wherein the first task of the plurality of tasks is executed by the first thread pool of the plurality of thread pools. 10. The system of claim 8 , wherein the processing device is to further execute the instructions to collect information relating to one or more previous executions of the first task of the plurality of tasks, and wherein the information comprises the previous execution time associated with the first task of the plurality of tasks. 11. The system of claim 8 , wherein the processing device is to further execute the instructions to identify an execution check-point associated with the first task of the plurality of tasks. 12. The system of claim 11 , wherein a state of the first task of the plurality of tasks is stored at the execution check-point associated with the first task of the plurality of tasks. 13. The system of claim 8 , wherein the processing device is to further execute the instructions to determine an execution plan comprising the plurality of tasks in response to a request for performance of an action. 14. The system of claim 8 , wherein the second thread pool of the plurality of thread pools is associated with a second threshold execution time that is greater than the first threshold execution time. 15. A non-transitory machine-readable storage medium storing instructions that, when executed by a processing device, cause the processing device to: assign a first task of a plurality of tasks to a first thread pool of a plurality of thread pools for execution, wherein the first task of the plurality of tasks is assigned to the first thread pool of the plurality of thread pools in view of a previous execution time associated with the first task of the plurality of tasks that is less than or equal to a first threshold execution time; designate a second thread pool of the plurality of thread pools to execute one or more of the plurality of tasks having an execution time that exceeds the first threshold execution time; execute, by the second thread pool of the plurality of thread pools, the one or more of the plurality of tasks having an execution time that exceeds the first threshold execution time; monitor execution of the first task of the plurality of tasks by the first thread pool of the plurality of thread pools to determine a first execution time associated with the first task of the plurality of tasks; determine the first execution time associated with the first task of the plurality of tasks exceeds the first threshold execution time; and reassign the first task of the plurality of tasks to the second thread pool of the plurality of thread pools in view of the determining that the first execution time associated with the first task of the plurality of tasks exceeds the first threshold execution time. 16. The non-transitory machine-readable storage medium of claim 15 , wherein the first task of the plurality of tasks is executed by the first thread pool of the plurality of thread pools. 17. The non-transitory machine-readable storage medium of claim 15 , wherein the processing device is further to collect information relating to one or more previous executions of the first task of the plurality of tasks, and wherein the information comprises the previous execution time associated with the first task of the plurality of tasks. 18. The non-transitory machine-readable storage medium of claim 15 ,
considering the load · CPC title
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title
Multiprogramming arrangements · CPC title
Thread allocation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.