Load balancing workload groups
US-8959226-B2 · Feb 17, 2015 · US
US2017220383A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017220383-A1 |
| Application number | US-201615370795-A |
| Country | US |
| Kind code | A1 |
| Filing date | Dec 6, 2016 |
| Priority date | Jan 28, 2016 |
| Publication date | Aug 3, 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.
A method includes receiving, at a workload agent, a plurality of jobs for processing by the workload agent; determining a maximum amount of time that the workload agent should take to process the jobs; and processing the jobs within the determined maximum amount of time. The maximum amount of time that the workload agent should take to process the jobs may be determined based on a number of jobs received and a throughput of the workload agent.
Opening claim text (preview).
1 . A method, comprising: performing operations as follows on a processor of a computing device: receiving, at a workload agent, a plurality of jobs for processing by the workload agent; determining a maximum amount of time that the workload agent should take to process the jobs; and processing the jobs within the determined maximum amount of time. 2 . The method of claim 1 , wherein the maximum amount of time that the workload agent should take to process the jobs is determined based on a number of jobs received and a throughput of the workload agent. 3 . The method of claim 1 , wherein the maximum amount of time that the workload agent should take to process the jobs is calculated as follows: ProcTime Y =max(ProcTime Y ,ElapsedTime Y )+( N Jobs Y /Throughput X ) where ProcTime Y represents a maximum amount of time that the workload agent should take to process jobs received from a source Y, ElapsedTime Y is an elapsed time since ProcTime Y was reset, NJobs Y is a number of jobs submitted by source Y that are currently being handled by the workload agent and Throughput X is a throughput of the workload agent. 4 . The method of claim 1 , wherein the value of Throughput X includes a workload capacity of the workload agent to execute jobs plus a rate at which the workload agent can forward jobs to a downstream agent. 5 . The method of claim 3 , further comprising resetting a value of ProcTimeY to zero in response to all jobs from source Y being either processed such that no remaining jobs from source Y are currently being handled by the workload agent. 6 . The method of claim 3 , further comprising updating a value of ProcTime Y as jobs are received and processed. 7 . The method of claim 1 , wherein the source Y comprises a first source, the method further comprising determining a maximum amount of time that the workload agent should take to process jobs received from a second source X as follows: ProcTime X =max(ProcTime X ,ElapsedTime X )+( N Jobs X /Throughput X ) where ProcTime X represents a maximum amount of time that the workload agent should take to process jobs received from the second source X, ElapsedTime X is an elapsed time since ProcTime X was reset, and NJobs X is a number of jobs submitted by the second source X that are currently being handled by the workload agent. 8 . The method of claim 7 , further comprising: comparing a value of ProcTime X to a value of ProcTime Y , and preferentially processing jobs submitted by the source having the largest value of ProcTime. 9 . The method of claim 8 , further comprising: if the value of ProcTime X is equal to the value of ProcTime Y , comparing values of ElapsedTime X and ElapsedTime Y and preferentially processing jobs submitted by the source having the largest value of ElapsedTime. 10 . A method, comprising: performing operations as follows on a processor of a computing device: receiving, at a workload scheduler, a plurality of jobs to be scheduled for execution by a workload agent; determining a current throughput of the workload agent; determining a first total number of jobs that are available to be scheduled for execution by the workload agent; determining a second total number of jobs that can be processed by the workload agent within a predetermined time period based on the current throughput of the workload agent; comparing the first total number of jobs and the second total number of jobs; and scheduling a lesser of the first total number of jobs and the second total number of jobs for execution by the workload agent for execution within the predetermined time period. 11 . The method of claim 10 , wherein comparing the first total number of jobs and the second total number of jobs comprises calculating a value as follows: Rcvd N =min(ElapsedTime N *ArrivalRate N +N Queued N ,Throughput N *T ) where ElapsedTime N is an elapsed time since Rcvd N was updated, ArrivalRate N is an average arrival rate of jobs to be scheduled at the workload agent, NQueued N is a number of jobs previously queued for execution by the workload agent, Throughput N is a throughput of the workload agent, and T is a time period over which jobs will be scheduled. 12 . The method of claim 11 , further comprising updating a value of Rcvd N as jobs are scheduled for execution by the workload agent. 13 . A method, comprising: performing operations as follows on a processor of a computing device: receiving at a primary workload agent, via a communication network, a job to be executed by the primary workload agent; receiving a plurality of workload parameters for a plurality of workload agents, wherein the workload parameters relate to available capacities of the plurality of workload agents and wherein the workload agents comprise computing nodes configured to perform data processing tasks; identifying a plurality of candidate secondary workload agents from among the plurality of workload agents; identifying a secondary workload agent from among the plurality of candidate secondary workload agents based on the plurality of workload parameters; and transmitting, via the communication network, a job message that contains a command for the secondary workload agent to perform a data processing task, wherein the job message includes a forwarding map that identifies the primary workload agent and that instructs the secondary workload agent to perform the data processing task. 14 . The method of claim 13 , wherein identifying the plurality of candidate secondary workload agents comprises determining path lengths from the primary workload agent to the plurality of workload agents based on a number of communication nodes between the primary workload agent and each of the plurality of workload agents, and selecting workload agents having a path length to the primary workload agent that is less than a threshold path length as the candidate secondary workload agents. 15 . The method of claim 13 , wherein identifying the secondary workload agent comprises evaluating a selection function that mathematically evaluates the workload parameters. 16 . The method of claim 15 , wherein the selection function comprises a weight adjusted function of the plurality workload parameters. 17 . The method of claim 15 , wherein the plurality of workload parameters comprise an available CPU metric, an available memory metric, an available workload capacity metric, and/or an available throughput metric. 18 . The method of claim 15 , wherein evaluating the selection function comprises selecting a workload agent from among the candidate secondary workload agents that maximizes a weight adjust factor (WAF) output by a function based on: WAF = w 1 M 1 2 + w 2 M 2 2 +
considering the load · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
Proximity · CPC title
involving deadlines, e.g. rate based, periodic · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.