VM Allocation via Lifetime Prediction in Cloud Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud computing systems face significant under-utilization of resources, leading to high monetary costs due to low CPU utilization rates, typically below 10%, despite investments in updated hardware and resources.
Innovation Solution
A resource management system that includes a prediction engine and virtual machine allocator, which uses historical data and machine learning techniques to predict future behaviors of virtual machines and tenants, enabling more informed allocation decisions such as oversubscription, power capping, and efficient resource resizing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If virtual machines are allocated based on maximum resource requirements, then resource allocation simplicity is improved, but resource utilization efficiency deteriorates
Solution Approach 1:
The system performs preliminary actions by collecting historical resource usage data and training machine learning models before actual VM allocation decisions. The models predict future resource requirements and VM lifetimes in advance, allowing the allocator to make informed decisions that balance simplicity with efficiency. This preliminary preparation enables the system to move beyond conservative maximum-based allocation.
Solution Approach 2:
The system implements feedback mechanisms where actual resource usage patterns are continuously monitored and fed back into the machine learning models. This feedback loop allows the models to learn from real-world data and improve their predictions over time, enabling more accurate resource allocation decisions that increase utilization while maintaining operational simplicity.
2Quantity of substance
If cloud infrastructure is updated with newer hardware and resources, then system capacity is improved, but under-utilization cost increases
Solution Approach 1:
The system applies dynamics by using machine learning models that continuously adapt to changing resource usage patterns and predict future requirements. Instead of static allocation based on peak requirements, the system dynamically adjusts VM placement and resource allocation based on predicted usage, ensuring that new hardware capacity is utilized effectively rather than remaining underutilized.
Solution Approach 2:
The system changes key parameters such as VM lifetime predictions and resource requirement predictions to optimize allocation decisions. By using predicted VM lifetimes, the system can make informed decisions about resource provisioning and consolidation, ensuring that new hardware is fully utilized and reducing the cost of under-utilization.
3Quantity of substance
If virtual machines are tightly packed onto servers, then resource density is improved, but allocation accuracy deteriorates
Solution Approach 1:
The system performs preliminary analysis using machine learning models to predict VM lifetimes and resource requirements before making allocation decisions. This preliminary action enables the system to tightly pack VMs onto servers with greater confidence, knowing that allocation decisions are based on predicted actual usage rather than conservative maximum estimates, thus improving both density and accuracy.
Solution Approach 2:
The system replaces traditional mechanical allocation rules (based on maximum resource requirements) with machine learning-based predictive models. This substitution enables more accurate prediction of actual resource usage patterns, allowing the system to achieve higher resource density while maintaining or improving allocation accuracy through data-driven decisions.
Data Source
Figure 1~2
Figure 3
Figure 4~6
AI summary
A system receives a request to deploy a virtual machine on one of a plurality of nodes running a plurality of virtual machines in a cloud computing system. The system receives a predicted lifetime for the virtual machine and an indication of average lifetime of virtual machines running on each of the plurality of nodes. The system allocates the virtual machine to a first node when a first policy of collocating virtual machines with similar lifetimes on a node is adopted and the predicted lifetime is within a predetermined range of the average lifetime of virtual machines running on the first node. The system allocates the virtual machine to a second node when a second policy of collocating virtual machines with dissimilar lifetimes on a node is adopted and the predicted lifetime is not within the predetermined range of the average lifetime of virtual machines running on the second node.