Workload control in a workload scheduling system

US2017220383A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017220383-A1
Application numberUS-201615370795-A
CountryUS
Kind codeA1
Filing dateDec 6, 2016
Priority dateJan 28, 2016
Publication dateAug 3, 2017
Grant date

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.

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.

First claim

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 +

Assignees

Inventors

Classifications

  • G06F9/505Primary

    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

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 US2017220383A1 cover?
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 job…
Who is the assignee on this patent?
Ca Inc
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 Thu Aug 03 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).