Proactive Resource Management for Virtual Machine Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing resource management systems for virtual machines (VMs) face challenges in handling demand spikes due to delays in load balancing operations and suffer from inaccurate demand predictions, leading to unnecessary load balancing and negative impacts on current workloads.
Innovation Solution
Implementing opportunistically proactive resource management by calculating dynamic entitlements based on current and predicted demands, allocating excess capacity to VMs with anticipated spikes, and updating entitlements to reflect resource allocations, thereby reducing the impact on current workloads and improving VM workload performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If reactive management systems perform load balancing operations based on collected statistics, then resource allocation can be adjusted to current demand, but delay is incurred in performing load balancing operations causing inability to handle spikes in demand
Solution Approach 1:
The system performs preliminary load balancing operations by predicting future resource demands and proactively reallocating resources before demand spikes occur. The predictor component forecasts resource usage patterns and triggers load balancing operations in advance, eliminating the reactive delay and ensuring resources are ready when demand increases.
Solution Approach 2:
The system implements a feedback mechanism where resource usage statistics are continuously collected and fed back to the predictor, which adjusts future predictions and triggers appropriate load balancing operations. This closed-loop system ensures that predictions are based on actual observed patterns while maintaining the ability to respond proactively to anticipated demand changes.
2Reliability
If proactive management systems predict changes in demand and perform load balancing operations in advance, then demand spikes can be handled timely, but inaccurate predictions lead to unnecessary load balancing operations impacting current workloads
Solution Approach 1:
The system applies partial action by performing load balancing operations only to the extent necessary based on predicted demand changes. Rather than universally pre-migrating all VMs, the system calculates precise resource requirements and performs only the minimal necessary load balancing operations, reducing unnecessary disruptions while still preparing for anticipated demand spikes.
Solution Approach 2:
The system changes the parameter of prediction accuracy by using multiple prediction models and continuously refining predictions based on actual resource usage patterns. This reduces prediction errors and ensures that load balancing operations are triggered only when genuinely necessary, minimizing unnecessary disruptions to current workloads.
3Reliability
If load balancing operations migrate VMs when heavily loaded, then resource distribution can be optimized, but cost of migrations is higher due to frequent memory changes
Solution Approach 1:
The system performs load balancing operations preliminarily when VMs are lightly loaded rather than waiting until they are heavily loaded. By predicting future demand and proactively migrating VMs during low-utilization periods, the system avoids the high cost of migrating heavily-loaded VMs with frequent memory changes, while still achieving optimized resource distribution before demand spikes.
Data Source
AI summary
Embodiments perform opportunistically proactive resource scheduling for a plurality of resource-consuming entities. The scheduling is based on both current entitlement (or demand) by the entities and predicted future entitlement (or demand) by the entities. Resources are allocated based on the current demands, while any remaining resource capacity is further allocated to entities based on predicted demands. In some embodiments, the scheduling is performed on a cluster of hosts executing a plurality of virtual machines (VMs) in a virtualized datacenter to implement load balancing.


