CPC G06F 9/5038 (2013.01) [G06F 9/4818 (2013.01); G06F 9/4856 (2013.01); G06F 9/4881 (2013.01)] | 20 Claims |
1. A method for cloud computing instance scheduling, the method comprising:
receiving a request to schedule a plurality of jobs, the request including a budget representing a maximum permitted cost to execute a combination of the jobs;
selecting i) a first job for execution from among the plurality of jobs and ii) a designated instance from among a plurality of cloud computing instances for executing the first job selected for execution, wherein the selecting is based on a probability distribution on a time and a cost of executing the first job selected for execution on the designated instance before interruption, the probability based on a profiling of prior executions of other jobs on the designated instance and a utility function representing a value associated with a progress of each of the plurality of jobs including an overhead cost associated with rescheduling each of the plurality of jobs due to the interruption;
sending a request to execute the first job selected for execution to the designated instance
receiving, from the designated instance, an indication that the first job selected for execution has been interrupted during the execution;
updating, responsive to receiving the indication, the utility function based on a remaining budget after deducting, from the budget, a cost incurred for executing the first job until the interruption occurred and the overhead cost
selecting a second job for execution from among the plurality of jobs based on the updated utility function; and
sending a request to execute the second job selected for execution to the designated instance.
|