Virtual Machine Demand Prediction with Partial Provisioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine provisioning systems face challenges in rapidly providing fully configured VMs to customers, as they often require significant time to create and configure from scratch, leading to increased spin-up times and potential under- or over-estimation of VM demand.
Innovation Solution
A method and system that utilize a prediction algorithm, such as an ARIMA or ANN model, to forecast VM demand, maintaining a pool of partially provisioned VMs that can be quickly adapted to user-specific settings without rebooting, using generic artifacts and placeholders for initial configuration, and then fully configuring them upon request.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If virtual machines are created and configured from scratch upon customer request, then configuration accuracy and customization are improved, but provisioning time increases significantly
Solution Approach 1:
The system performs preliminary configuration actions by creating virtual machines with generic artifacts and placeholder configurations before customer requests are processed. VMs are pre-booted and prepared in a partially configured state, allowing rapid customization upon request without full reconfiguration, thus reducing provisioning time while maintaining configuration accuracy through subsequent customization steps.
Solution Approach 2:
The configuration process is segmented into distinct phases: initial generic configuration (performed in advance), and customer-specific customization (performed upon request). This segmentation allows the system to separate time-consuming generic setup from rapid customization, improving both provisioning speed and configuration precision through staged processing.
2Reliability
If prediction algorithms weigh under-prediction as more costly, then VM availability is improved, but resource over-provisioning costs increase
Solution Approach 1:
The prediction algorithm dynamically adjusts the cost-weighting parameter for under-prediction versus over-prediction scenarios. By changing this parameter, the system optimizes the balance between maintaining high VM availability and preventing resource over-provisioning, allowing flexible adaptation to different operational priorities and market conditions.
Solution Approach 2:
The system implements feedback mechanisms that monitor actual VM demand versus predicted demand, using this information to continuously refine prediction accuracy and adjust provisioning strategies. This feedback loop enables the system to learn from past performance and optimize the trade-off between availability and resource efficiency over time.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
For each selected category of virtual machine, a cardinality of virtual machines of the category that are requested is recorded over time. For each category of virtual machine, a prediction algorithm is used to predict a cardinality of virtual machines for the selected category to be requested in the future, such that the prediction algorithm weighs under-prediction of the cardinality of virtual machines as costlier than over-prediction. For each category of virtual machine, a cardinality of virtual machines of the category of virtual machines are composed and booted with generic virtual machine artifacts such that the cardinality of virtual machines of the selected categories is the predicted cardinality of requested virtual machines for the selected category. The booted virtual machines are caused to enter a state in which the booted virtual machines are polling for a configuration with user-specific compute settings and user-specific networking settings.