Sender system status-aware load balancing
US-2018316752-A1 · Nov 1, 2018 · US
US10686728B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10686728-B2 |
| Application number | US-201715643429-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 6, 2017 |
| Priority date | Jul 6, 2017 |
| Publication date | Jun 16, 2020 |
| Grant date | Jun 16, 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.
Systems and methods are disclosed herein for allocating computing resources for execution of workloads in a distributed computing system with resource acquisition cycles and workload scheduling cycles. One or more resource offer managers transmit resource offers to each of one or more of schedulers. Each scheduler transmits a resource request and/or resource release request in response to each resource offer manager. Each resource offer manager computes a resource allocation for each scheduler after resolving conflicts and assigns the resources to each scheduler according to the resource allocation decisions. The resource acquisition cycle and the workload scheduling cycle are decoupled.
Opening claim text (preview).
What is claimed is: 1. A method of two-level scheduling of computing resources and workloads in a distributed computing system, the method comprising: periodically performing a first resource acquisition cycle associated with a first resource offer manager configured to manage a pool of computing resources of the distributed computing system to be shared and acquired by a plurality of workload schedulers, the pool of computing resources comprising a subset of the computing resources in the distributed computing system, the first resource acquisition cycle comprising: transmitting, by the first resource offer manager, a first resource offer specifying a state of each computing resource in the pool to each workload scheduler of the plurality of workload schedulers; receiving a first resource acquisition request from each workload scheduler of the plurality of workload schedulers, the first resource acquisition request received from each respective workload scheduler including computing resources in the pool of computing resources to be acquired by the respective workload scheduler based on the state of each computing resource in the pool of computing resources; computing, by the first resource offer manager, a resource allocation for each workload scheduler based on the first resource acquisition request received from each workload scheduler after resolving conflicts among the plurality of workload schedulers; and assigning computing resources in the pool of computing resources to each respective workload scheduler of the plurality of workload schedulers according to the resource allocation for the respective workload scheduler; and performing a first workload scheduling cycle to schedule, by each respective workload scheduler, workloads associated with the scheduler for execution using the computing resources assigned to the respective workload scheduler. 2. The method of claim 1 further comprising performing a second workload scheduling cycle during performance of the first resource acquisition cycle. 3. The method of claim 1 , further comprising: periodically performing a second resource acquisition cycle associated with a second resource offer manager configured to manage a second pool of computing resources of the distributed computing system to be shared and acquired by a second plurality of workload schedulers, the second pool of computing resources comprising a second subset of the computing resources in the distributed computing system, the second resource acquisition cycle comprising: transmitting, by the second resource offer manager, a second resource offer specifying a state of each computing resource in the second pool to each of the second plurality of workload schedulers, the computing resources in the second pool being distinct from the computing resources in the pool; receiving a second resource acquisition request from each workload scheduler of the second plurality of workload schedulers, the second resource acquisition request received from each respective workload scheduler of the second plurality of workload schedulers including computing resources in the second pool of computing resources to be acquired by the respective workload scheduler of the second plurality of workload schedulers based on the state of each computing resource in the second pool of computing resources; computing, by the second resource offer manager, a resource allocation for each workload scheduler of the second plurality of workload schedulers based on the second resource acquisition request received from each workload scheduler of the second plurality of workload schedulers after resolving conflicts among the second plurality of workload schedulers; and assigning resources from the second pool of computing resources to each respective workload scheduler of the second plurality of workload schedulers according to the resource allocation for the respective workload scheduler of the second plurality of workload schedulers. 4. The method of claim 3 , wherein the first resource acquisition cycle is independent of the second resource acquisition cycle and the pool of computing resources managed by the first resource offer manager includes different computing resources of the distributed computing system than the second pool of computing resources managed by the second resource offer managers. 5. The method of claim 1 , wherein the first acquisition resource request comprises a request to acquire a quantity of computing resources from the pool of computing resources, the quantity of computing resources being specified as a range. 6. The method of claim 1 , wherein the first resource acquisition request specifies a required affinity. 7. The method of claim 1 , wherein the first resource acquisition request specifies a required anti-affinity. 8. The method of claim 1 , wherein the state of each computing resource in the pool includes at least one of an identification of computing resources currently in use among the computing resources in the pool, an identification of computing resources currently free for use among the computing resources in the pool, an ownership status associated with a particular computing resource in the pool, and resource sharing policies between at least two of the workload schedulers. 9. The method of claim 1 , wherein the first resource offer is based on one or more subscriptions associated with one of the workload schedulers. 10. The method of claim 1 , further comprising: receiving a supplementary resource request from one of the workload schedulers; and assigning additional computing resources from the pool of computing resources to the one of the workload schedulers based on the supplementary resource request. 11. The method of claim 10 , wherein assigning the additional computing resources from the pool of computing resources comprises: releasing, from another workload scheduler other than the workload scheduler sending the supplementary resource request, at least one previously acquired computing resource to the pool of computing resources based on the supplementary resource request; and assigning the released at least one previously acquired computing resource to the workload scheduler sending the supplementary resource request. 12. The method of claim 1 , further comprising: performing the first workload scheduling cycle by one of the workload schedulers to schedule a first workload associated with a workload scheduler for execution using computing resources allocated to the workload scheduler in parallel with and independently of other workload schedulers. 13. The method of claim 1 , further comprising: pre-empting assigning of computing resources in the pool from at least one of the workload schedulers and allocating the pre-empted computing resources to at least one other workload scheduler based on at least one resource sharing policy. 14. A system comprising: at least one processor; a memory containing computer-readable instructions that, when executed by said at least one processor, cause the at least one processor to perform a method of two-level scheduling of computing resources and workloads in a distributed computing system comprising: periodically performing a first resource acquisition cycle associated with a first resource offer manager configured to manage a pool of computing resources of the distributed computing system to be shared and acquired by a plurality of workload schedulers, the pool of computing resources comprising a subset of the computing resources in the distributed computing system, the first resource acquisition cycle comprising: transmitting, by the first resource offe
the resource being the memory · CPC title
based on usage prediction · CPC title
considering data affinity · CPC title
Techniques for rebalancing the load in a distributed system · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.