Flexible batch job scheduling in virtualization environments
AssigneeAmazon Technologies, Inc.
InventorsMarcin Piotr Kowalski, Wesley Gavin King
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for flexible batch job scheduling in virtualization environments are disclosed. A descriptor for a batch job requested by a client is received at a job scheduling service. The descriptor comprises an indication of a time range during which a job iteration may be performed. A target time for executing the iteration is determined based on an analysis of a plurality of received descriptors. An indication of the target time at which the iteration is to be scheduled is provided to a selected execution platform.
Claims21
A system, comprising:
- one or more computing devices configured to:
- implement one or more programmatic interfaces enabling clients of a job scheduling service of a provider network to indicate respective scheduling descriptors associated with a plurality of jobs, wherein a particular scheduling descriptor associated with a particular job comprises an indication of a time range during which at least part of an iteration of the particular job is to be executed on behalf of a particular client;
- determine a target time to initiate an execution of the iteration of the particular job, based at least in part on (a) an analysis of a plurality of scheduling descriptors corresponding to jobs whose execution is dependent at least in part on a use of a shared resource and (b) a temporal load distribution policy;
- transmit a job execution request indicating the target time to a selected execution platform;
- perform one or more executable operations at the selected execution platform in accordance with the job execution request;
- collect a result indicator of the iteration of the particular job from the selected execution platform;
- and
- in response to a job status request from the particular client, display one or more metrics associated with the iteration of the particular job.
A method, comprising:
- performing, by a plurality of computing devices:
- implementing one or more programmatic interfaces enabling clients of a job scheduling service supported by a provider network to indicate respective descriptors associated with a plurality of jobs, wherein a particular descriptor associated with a particular job comprises an indication of a time range during which at least part of an iteration of the particular job is to be executed on behalf of a particular client;
- determining a target time to initiate an execution of the iteration of the particular job, based at least in part on an analysis of a plurality of descriptors obtained from a plurality of clients;
- transmitting a job execution request indicating the target time to a selected execution platform;
- and
- providing an indication of one or more metrics associated with the iteration to the particular client, including a result indicator of the iteration.
A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors:
- receive, via a programmatic interface, a representation of a descriptor associated with a particular job requested by a particular client of a provider network job scheduling service, wherein the descriptor comprises an indication of a time range during which at least part of an iteration of the particular job is to be executed on behalf of a particular client;
- determine a target time to initiate an execution of the iteration of the particular job, based at least in part on an analysis of a plurality of descriptors;
- and
- provide an indication of the target time to a selected execution platform.
-22. (canceled)
Dependencies are inferred from the claim text.