COST-MINIMIZING TASK SCHEDULER
First Claim
1. A system, comprising:
- a plurality of computing devices configured to implement a plurality of resources of a provider network, wherein the resources are organized into a plurality of resource pools, wherein each resource pool has an associated usage cost; and
one or more computing devices configured to implement a resource manager, wherein the resource manager is operable to;
receive a task specification comprising a need-by time for a task, wherein the need-by time comprises a deadline for completion of execution of the task;
determine a respective estimated duration to complete the execution of the task for each of a plurality of resource configurations of the plurality of resource pools;
select one or more resource configurations having a lowest usage cost from the ones of the plurality of resource configurations having a respective estimated duration allowing completion of the execution of the task prior to the need-by time;
determine a scheduled time for initiation of the execution of the task on one or more of the resource pools having the selected one or more resource configurations, wherein the scheduled time is earlier than the need-by time by at least the estimated duration; and
ensure the completion of the execution of the task on the one or more resource pools having the selected one or more resource configurations prior to the need-by time.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for cost-minimizing job scheduling are disclosed. A definition of a task is received. The definition comprises a need-by time. The need-by time comprises a deadline for completion of execution of the task. An estimated duration to complete the execution of the task is determined for each of a plurality of computing resources. One or more of the computing resources are selected based on an estimated cost of completing the execution using the computing resources. The execution of the task is initiated at a scheduled time using the selected one or more computing resources. The scheduled time is earlier than the need-by time by at least the estimated duration.
182 Citations
24 Claims
-
1. A system, comprising:
-
a plurality of computing devices configured to implement a plurality of resources of a provider network, wherein the resources are organized into a plurality of resource pools, wherein each resource pool has an associated usage cost; and one or more computing devices configured to implement a resource manager, wherein the resource manager is operable to; receive a task specification comprising a need-by time for a task, wherein the need-by time comprises a deadline for completion of execution of the task; determine a respective estimated duration to complete the execution of the task for each of a plurality of resource configurations of the plurality of resource pools; select one or more resource configurations having a lowest usage cost from the ones of the plurality of resource configurations having a respective estimated duration allowing completion of the execution of the task prior to the need-by time; determine a scheduled time for initiation of the execution of the task on one or more of the resource pools having the selected one or more resource configurations, wherein the scheduled time is earlier than the need-by time by at least the estimated duration; and ensure the completion of the execution of the task on the one or more resource pools having the selected one or more resource configurations prior to the need-by time. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method, comprising:
-
receiving a definition of a task, wherein the definition comprises a need-by time, wherein the need-by time comprises a user-specified deadline for completion of execution of the task; determining an estimated duration to complete the execution of the task for each of a plurality of computing resources; selecting one or more of the computing resources based on an estimated cost of completing the execution of the task for each of the plurality of computing resources; and initiating the execution of the task at a scheduled time using the selected one or more computing resources, wherein the scheduled time is earlier than the need-by time by at least the estimated duration. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
at least one processor; a memory coupled to the at least one processor, wherein the memory stores program instructions, wherein the program instructions are executable by the at least one processor to; receive a need-by time for a task, wherein the need-by time comprises a deadline for completion of execution of the task; determine an estimated duration to complete the execution of the task for each of a plurality of resource configurations, wherein each of the plurality of resource configurations has a respective usage cost; selecting one or more of the resource configurations to minimize a cost of the execution of the task within an execution window, wherein an endpoint of the execution window is based on the need-by time; and determine a scheduled time for the execution of the task on one or more compute instances having the selected one or more resource configurations, wherein the scheduled time is earlier than the need-by time by at least the estimated duration. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer-readable storage medium storing program instructions computer-executable to perform:
-
receiving a definition of a task, wherein the definition comprises a deadline for completion of execution of the task; selecting one or more resource configurations for the execution of the task, wherein the one or more resource configurations are selected to minimize a cost of the execution of the task; and scheduling the task for execution using the selected one or more resource configurations at a scheduled time, wherein the scheduled time is earlier than the deadline by at least an estimated duration to complete the execution of the task. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification