Resource management for batch jobs

US2018143852A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018143852-A1
Application numberUS-201615360948-A
CountryUS
Kind codeA1
Filing dateNov 23, 2016
Priority dateNov 23, 2016
Publication dateMay 24, 2018
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 scheduler of a batch job management service determines that a set of resources a client is insufficient to execute one or more jobs. The scheduler prepares a multi-dimensional statistical representation of resource requirements of the jobs, and transmits it to a resource controller. The resource controller uses the multi-dimensional representation and resource usage state information to make resource allocation change decisions.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system, comprising: a job scheduler executing on one or more computing devices of a batch job service; and a resource controller of the batch job service executing on the one or more computing devices; wherein the job scheduler includes instructions that upon execution by a processor cause the one or more computing devices to: in response to an event notification, determine that a first set of resources allocated to a client is insufficient to execute one or more jobs; prepare a multi-dimensional statistical representation of resource requirements corresponding to at least a subset of the one or more jobs, wherein a first dimension of the statistical representation corresponds to a distribution of processing requirements of the one or more jobs, and wherein a second dimension of the statistical representation corresponds to memory requirements of the one or more jobs; and transmit, to the resource controller, (a) the multi-dimensional statistical representation and (b) utilization information pertaining to the first set of resources; and wherein the resource controller includes instructions that upon execution by a processor cause the one or more computing devices to: determine, based at least in part on (a) a constraint indicated by the client, (b) the multi-dimensional statistical representation and (c) the representation of utilization information, that a first additional resource is to be allocated for at least one job of the one or more jobs; and cause an allocation of one or more additional resources including the first additional resource. 2 . The system as recited in claim 1 , wherein the event notification indicates one or more of: (a) a reception of a new job scheduling request, (b) a completion of a job, (c) a termination of a job, (d) a cancellation of a job, or (e) a completion of a time interval. 3 . The system as recited in claim 1 , wherein the job scheduler further includes instructions that upon execution cause the one or more computing devices to: determine processing requirements of individual ones of a first job of the one or more jobs based at least in part on a job descriptor provided by the client via a programmatic interface. 4 . The system as recited in claim 1 , wherein a first job of the one or more jobs is associated with a first job queue of one or more job queues established on behalf of the client, wherein the resource controller further includes instructions that upon execution cause the one or more computing devices to: receive a representation of one or more compute environments of the client, and an indication of a mapping between the first job queue and a first compute environment of the one or more compute environments, wherein the constraint represents a maximum number of resources to be activated in the first compute environment. 5 . The system as recited in claim 1 , wherein the one or more additional resources comprise one of: (a) a guest virtual machine instantiated at a virtualized computing service, (b) a host, (c) a storage device, (d) an instance of a database, or (e) a graphics processing device. 6 . A method, comprising: performing, at one or more computing devices: preparing, by a job scheduler, a multi-dimensional statistical representation of resource requirements corresponding to one or more jobs, wherein respective dimensions of the statistical representation correspond to respective resource attributes; determining, at a resource controller, based at least in part on a constraint indicated by a client, and based at least in part on the multi-dimensional statistical representation, that one or more resources are to be activated for the one or more jobs; and causing, by the resource controller, an activation of the one or more resources. 7 . The method as recited in claim 6 , further comprising performing, at the one or more computing devices: receiving, at the job scheduler, an event notification, wherein said preparing the multi-dimensional statistical representation is responsive to said event notification. 8 . The method as recited in claim 7 , wherein the event notification indicates one or more of: (a) a reception of a new job scheduling request, (b) a completion of a job that was scheduled earlier, (c) a termination of a job, (d) a cancellation of a job, or (e) a completion of a time interval. 9 . The method as recited in claim 6 , wherein said preparing the multi-dimensional statistical representation comprises: subdividing a range of requirements for a first attribute of a resource into a first plurality of buckets; mapping resource requirements of individual ones of the one or more jobs to respective buckets of the first plurality of buckets; and computing a population count corresponding to individual ones of the first plurality of buckets. 10 . The method as recited in claim 9 , wherein said preparing the multi-dimensional statistical representation comprises: setting an aggregate required value of the first attribute corresponding to a particular bucket of the plurality of buckets, wherein the aggregate required value is set to one of: (a) an average of the resource requirements mapped to the particular bucket, or (b) a maximum of the resource requirements mapped to the particular bucket. 11 . The method as recited in claim 9 , wherein said preparing the multi-dimensional statistical representation comprises: subdividing a range of requirements of a second attribute of a second resource into a second plurality of buckets; mapping resource requirements of a particular group of jobs which are mapped to a particular bucket of the first plurality of buckets, into the second plurality of buckets; and computing a population count corresponding to individual ones of the second plurality of buckets. 12 . The method as recited in claim 6 , further comprising performing, at the one or more computing devices: determining, by the job scheduler, resource requirements of individual ones of the one or more jobs based at least in part on a job descriptor provided by the client via a programmatic interface. 13 . The method as recited in claim 6 , wherein said preparing the multi-dimensional representation comprises executing a clustering algorithm. 14 . The method as recited in claim 6 , wherein a particular job of the one or more jobs is associated with a first job queue of one or more job queues established on behalf of the client, further comprising performing, by the one or more computing devices: receiving, by the resource controller, a representation of one or more compute environments requested by the client, and an indication of a mapping between the first job queue and a first compute environment of the one or more compute environments, wherein the constraint represents a maximum number of resources to be activated in the first compute environment. 15 . The method as recited in claim 6 , wherein the one or more resources comprise one of: (a) a guest virtual machine instantiated at a virtualized computing service, (b) a host, (c) a storage device, (d) an instance of a database, or (e) a graphics processing device. 16 . A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implement a scheduler of a batch job management service, wherein the scheduler is configured to: determine that a set of resources activated on behalf of a client is insufficient to execute one or more jobs of the client; prepare a multi-dimensional statistical representation of resource requirements correspondi

Assignees

Inventors

Classifications

  • the resource being the memory · CPC title

  • Grid computing · CPC title

  • G06F9/4881Primary

    Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · 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 US2018143852A1 cover?
A scheduler of a batch job management service determines that a set of resources a client is insufficient to execute one or more jobs. The scheduler prepares a multi-dimensional statistical representation of resource requirements of the jobs, and transmits it to a resource controller. The resource controller uses the multi-dimensional representation and resource usage state information to make …
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4881. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 24 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).