Virtual Machine Placement With Dual-Stage Allocation Constraints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for allocating virtual machines (VMs) to physical hosts are cumbersome, time-consuming, and inefficient, failing to achieve optimal packing and future resource management, especially in multitenant compute platforms with varying VM configurations and geographic constraints.
Innovation Solution
A dual-stage approach involving an asynchronous process for optimization and a synchronous process for real-time decision-making, using mixed-integer linear programming to generate allocation data that guides the synchronous process, allowing for flexible VM placement while considering current and future resource demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual configuration of VM type mixture is used, then operators can control allocation percentages, but the process is cumbersome and time-consuming
Solution Approach 1:
The system automatically performs VM allocation optimization without requiring manual operator intervention. The asynchronous optimization process autonomously analyzes current allocations, predicts future demands, and generates optimized allocation plans, replacing the cumbersome manual configuration process while improving allocation efficiency
Solution Approach 2:
The system performs optimization in advance by executing asynchronous optimization processes that analyze future VM demands and generate allocation plans before actual allocation is needed. This preliminary action allows the system to prepare optimized allocation strategies ahead of time, improving both ease of operation and productivity
2Speed
If synchronous allocation decisions are made as requests arrive, then immediate placement is achieved, but optimal packing efficiency is not achieved
Solution Approach 1:
The system performs asynchronous optimization in advance to generate optimal allocation plans before synchronous allocation decisions are made. This preliminary optimization analyzes future demands and computes optimal packing strategies, which then guide the fast synchronous allocation process, achieving both speed and efficiency
Solution Approach 2:
The allocation process is divided into two independent stages: an asynchronous optimization stage that computes optimal strategies, and a synchronous execution stage that makes rapid decisions. This segmentation allows each stage to optimize for its specific goal (efficiency vs. speed) while working together to achieve both objectives
3Productivity
If VMs are allocated without considering future demands, then current requests are fulfilled quickly, but future resource management becomes inefficient
Solution Approach 1:
The asynchronous optimization process performs preliminary analysis of future VM demands and generates allocation plans that account for upcoming requirements. This advance planning ensures that current allocations are optimized with future needs in mind, improving both current efficiency and future adaptability
Solution Approach 2:
The system uses predicted future demands as feedback to adjust current allocation decisions. The optimization process incorporates forecasts of upcoming VM requests and uses this information to make smarter allocation choices now, ensuring better resource management across different time periods
4Productivity
If strict allocation plans are enforced, then optimal packing is achieved, but flexibility to handle unexpected requests is reduced
Solution Approach 1:
The system enforces allocation plans partially rather than strictly. The synchronous allocation process attempts to follow the optimized allocation plan but allows deviations when necessary to accommodate unexpected requests or changing conditions, achieving a balance between optimization and flexibility
Solution Approach 2:
The allocation system is made dynamic by allowing the synchronous process to adapt the pre-computed allocation plan in real-time based on actual conditions. The system transitions from static, rigid allocation rules to dynamic, flexible decision-making that can respond to unexpected situations while still pursuing optimization goals
Data Source
AI summary
Improvements in allocating virtual machines (VMs) to hosts can be accomplished using an approach that includes dual stages: both an asynchronous process and a synchronous process. The asynchronous process can be executed periodically based on current VM to host allocations, current hosts, and an expected set of VM requests in the future. The asynchronous process executes optimization algorithms to create allocation data for the synchronous process. The synchronous process actually fields requests for VMs and in response makes VM placement decisions. The allocation data is a constraint on the choices available to the synchronous process. But the synchronous process can override the allocation data and place the VM on a host that is “out of plan”, so even if the plan cannot be strictly followed for a given request, it will nevertheless succeed.


