Hybrid virtual machine allocation optimization system and method
AssigneeMicrosoft Technology Licensing, LLC
InventorsBenjamin Eric AHLVIN, Sida PENG, Abigail Sandra ATCHISON
Life of this patent
Estimating the term…
Abstract
Systems and methods for determining an allocation plan for allocating virtual machines (VMs) to a hosted service utilizes a demand forecast that predicts future demand for VMs, a response curve that correlates user experience to VM utilization, and an estimated spot eviction rate to determine the allocation plan. The demand forecast, the response curve and the eviction rate are processed using mixed-integer optimization to determine the numbers of VMs of each allocation type that should be online at any given time to meet demand.
Claims20
A data processing system comprising:
- a processor;
- and
- a machine-readable medium storing executable instructions that, when executed, cause the processor to perform operations comprising:
- estimating a demand forecast for allocating virtual machines (VMs) to a service hosted by a cloud service provider over a predetermined allocation time period based on historical demand data;
- using a causal inference model to determine a response curve that correlates user experience to VM utilization, the causal inference model receiving historical utilization data, historical customer satisfaction data, and historical cost data and producing the response curve as an output;
- estimating an eviction rate for spot VMs based on historical eviction data;
- and
- using an allocation optimizer model to process the demand forecast, the response curve, and the eviction rate along with current allocation data and current pricing data corresponding to a plurality of different VM allocation types using mixed-integer optimization to determine an allocation plan that identifies numbers of VMs of each of the VM allocation types to allocate during the allocation time period.
A method for determining allocation plan for identifying numbers of VMs of each of a plurality of VM allocation types to allocate to a service hosted by a cloud service provider during an allocation time period, the method comprising:
- estimating a demand forecast for allocating virtual machines (VMs) to a service hosted by a cloud service provider over a predetermined allocation time period based on historical demand data;
- using a causal inference model to determine a response curve that correlates user experience to VM utilization, the causal inference model receiving historical utilization data, historical customer satisfaction data, and historical cost data and producing the response curve as an output;
- estimating an eviction rate for spot VMs based on historical eviction data;
- and
- using an allocation optimizer model to process the demand forecast, the response curve, and the eviction rate along with current allocation data and current pricing data corresponding to a plurality of different VM allocation types to determine an allocation plan that identifies numbers of VMs of each of the VM allocation types to allocate during the allocation time period.
A non-transitory computer readable medium on which are stored instructions that, when executed by a processor, cause a programmable device to perform functions of:
- estimating a demand forecast for allocating virtual machines (VMs) to a service hosted by a cloud service provider over a predetermined allocation time period based on historical demand data;
- using a causal inference model to determine a response curve that correlates user experience to VM utilization, the causal inference model receiving historical utilization data, historical customer satisfaction data, and historical cost data and producing the response curve as an output;
- estimating an eviction rate for spot VMs based on historical eviction data;
- and
- using an allocation optimizer model to process the demand forecast, the response curve, and the eviction rate along with current allocation data and current pricing data corresponding to a plurality of different VM allocation types using mixed-integer optimization to determine an allocation plan that identifies numbers of VMs of each of the VM allocation types to allocate during the allocation time period.
Dependencies are inferred from the claim text.