Scheduling jobs on interruptible cloud computing instances
US-2022374276-A1 · Nov 24, 2022 · US
US12423160B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12423160-B2 |
| Application number | US-202217806191-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 9, 2022 |
| Priority date | Jun 9, 2022 |
| Publication date | Sep 23, 2025 |
| Grant date | Sep 23, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for dynamically adjusting a number of virtual machines for a workload, includes: receiving a probability indicator for each of a plurality of N sequential stages, where N is a natural number greater than 1, of a likelihood that a virtual machine assigned to a workload will be evicted during the N sequential stages; predicting a target number of virtual machines to configure in a current stage for a subsequent stage from among the plurality of N sequential stages based on the probability indicator, a target capacity for the workload, and a current price for maintaining a virtual machine; and configuring a number of virtual machines for the workload during the current stage based on the target number to be loaded for the workload for the subsequent stage.
Opening claim text (preview).
What is claimed is: 1. A method for dynamically adjusting a number of virtual machines for a workload, comprising: receiving a set of probability indicators for a plurality of N sequential stages of a likelihood that a virtual machine assigned to a workload will be evicted during the N sequential stages, wherein the plurality of N sequential stages comprises a current stage, an (N−1)-th stage after the current stage as the subsequent stage, and an N-th stage after the (N−1)-th stage as a last stage from among the plurality of N sequential stages, and wherein the set of probability indicators comprises: a first probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the current stage; an (N−1)-th probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the subsequent stage; and an N-th probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the last stage; predicting a target number of virtual machines to configure in the current stage for the subsequent stage from among the plurality of N sequential stages based on the set of probability indicators, a target capacity for the workload, and a current price for maintaining a virtual machine; and configuring a number of virtual machines for the workload during the current stage based on the target number to be loaded for the workload for the subsequent stage. 2. The method of claim 1 , wherein the N sequential stages correspond to different time horizons from each other. 3. The method of claim 2 , wherein a length of each of the N sequential stages corresponds to a configuration time of a virtual machine, and the configuring of the number of virtual machines for the workload takes a length of one stage to complete. 4. The method of claim 1 , wherein the predicting of the target number comprises: constraining, based on a target capacity for the workload, the target number based on an anticipated changed capacity estimated for each of the plurality of N sequential stages; constraining, based on a budget allocated for the workload, the target number based on a cost associated with the anticipated changed capacity of each of the current stage and the subsequent stage; and calculating, based on a cost function, a final value for the target number that minimizes the cost function, while satisfying at least the constraints based on the target capacity and the budget. 5. The method of claim 4 , wherein the final value for the target number is determined according to an integer linear program, and the constraints based on the target capacity and the budget are inputs constraining the target number in the cost function. 6. The method of claim 4 , wherein to estimate the anticipated changed capacity for each of the plurality of N sequential stages, the method comprises: determining a current number of virtual machines assigned to the workload at a start of the current stage; estimating the anticipated changed capacity for the current stage that satisfy the target capacity, the anticipated changed capacity for the current stage corresponding to a change in the current number of virtual machines at an end of the current stage based on the first probability indicator and a value of the target number that is constrained by the target capacity; estimating an anticipated changed capacity for the subsequent stage that satisfy the target capacity based on the anticipated changed capacity for the current stage, the (N−1)-th probability indicator, and a value of a potential number of virtual machines to configure during the subsequent stage that is constrained by the target capacity; and estimating an anticipated changed capacity for the last stage that satisfy the target capacity based on the anticipated changed capacity of the current stage, the anticipated changed capacity of the subsequent stage, and the N-th probability indicator, wherein the anticipated changed capacity for the last stage further constrains the values of the target number and the potential number based on the target capacity. 7. The method of claim 6 , wherein to determine the cost associated with the anticipated changed capacity of each of the current stage and the subsequent stage, the method comprises: determining a current price for maintaining a virtual machine for the workload; calculating a current cost associated with the anticipated changed capacity of the current stage based on the current price, and constrained by the budget; and calculating a current cost associated with the anticipated changed capacity of the subsequent stage based on the current price, and constrained by the budget. 8. The method of claim 7 , wherein the target number of virtual machines comprises a first virtual machine, and a second virtual machine having a higher cost than that of the first virtual machine, and wherein the budget corresponds to the target capacity multiplied by the higher cost of the second virtual machine. 9. The method of claim 4 , wherein the final value for the target number is further constrained according to a threshold limit of a maximum number of virtual machines that may be added in one stage, and a threshold limit of a total number of virtual machines that may be assigned to the workload at any given time. 10. A system for dynamically adjusting a number of virtual machines assigned to a workload, comprising: a processor; and memory comprising instructions that, when executed by the processor, cause the processor to: receive a set of probability indicators for a plurality of N sequential stages of a likelihood that a virtual machine assigned to a workload will be evicted during the N sequential stages, wherein the plurality of N sequential stages comprises a current stage, an (N−1)-th stage after the current stage as the subsequent stage, and an N-th stage after the (N−1)-th stage as a last stage from among the plurality of N sequential stages, and wherein the set of probability indicators comprises: a first probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the current stage; an (N−1)-th probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the subsequent stage; and an N-th probability indicator of a likelihood that a virtual machine assigned to the workload will be evicted during the last stage; predict a target number of virtual machines to configure in the current stage for the subsequent stage from among the plurality of N sequential stages based on set of the probability indicators, a target capacity for the workload, and a current price for maintaining a virtual machine; and configure a number of virtual machines for the workload during the current stage based on the target number to be loaded for the workload for the subsequent stage. 11. The system of claim 10 , wherein the N sequential stages correspond to different time horizons from each other. 12. The system of claim 11 , wherein a length of each of the N sequential stages corresponds to a configuration time of a virtual machine, and the configuring of the number of virtual machines for the workload takes a length of one stage to complete. 13. The system of claim 10 , wherein to predict the target number, the instructions further cause the processor to: constrain, based on a target capacity for the workload, the target number based on an anticipated changed capacity estimated for each of the plurality of N sequential stages; constrain, based on a budget allocated for the workload, the targe
Resource availability · CPC title
Workload threshold · CPC title
Techniques for rebalancing the load in a distributed system · CPC title
considering the load · CPC title
considering data affinity · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.