MD-Aware VM Placement for Cloud Maintenance Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud platforms, intelligently placing virtual machines (VMs) across compute nodes is crucial to maintain high availability and minimize downtime during rolling maintenance, while also balancing resource utilization and reducing the frequency of maintenance events.
Innovation Solution
An MD-aware VM-to-compute-node placement algorithm that considers Maintenance Domain (MD) mapping, customer-defined maintenance policies, and optimization metrics such as resource distribution, maintenance window balancing, and minimizing downtime, to ensure high availability and efficient maintenance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If VMs are placed on compute nodes without considering maintenance domains, then resource utilization is optimized, but downtime increases during rolling maintenance
Solution Approach 1:
The system segments compute nodes into multiple maintenance domains (MDs) and places VMs across different MDs based on maintenance policies. This segmentation allows rolling maintenance to proceed with minimal downtime by ensuring not all VMs are on the same compute node, enabling staggered maintenance windows across different MDs.
Solution Approach 2:
The placement algorithm performs preliminary action by considering future maintenance schedules when placing VMs initially. It proactively distributes VMs across compute nodes in a way that anticipates maintenance needs, ensuring that during any given maintenance window, only a subset of VMs will be affected, thereby reducing overall downtime.
2Reliability
If rolling maintenance is performed on compute nodes, then hypervisor patching is achieved, but VM downtime occurs
Solution Approach 1:
By segmenting the compute node population into multiple maintenance domains and intelligently distributing VMs across these domains, the system enables parallel maintenance operations. Different MDs can undergo maintenance simultaneously or in staggered fashion, reducing the total maintenance window while maintaining high availability through VM migration capabilities.
Solution Approach 2:
The system dynamically adjusts maintenance scheduling based on VM placement and workload conditions. The placement algorithm considers maintenance policies and can dynamically migrate VMs between compute nodes to optimize maintenance windows, making the maintenance process adaptive rather than static.
3Productivity
If VMs are concentrated on fewer compute nodes, then resource utilization increases, but vulnerability to single points of failure increases
Solution Approach 1:
The placement algorithm applies local quality by considering customer-specific maintenance policies and failure tolerance requirements when placing individual VMs. Different customers or VM clusters can have different placement strategies applied locally, allowing resource-efficient consolidation while maintaining appropriate redundancy for critical workloads.
Solution Approach 2:
The system adds the maintenance domain dimension to the traditional resource allocation problem. Instead of only considering compute node capacity, it distributes VMs across multiple dimensions (compute nodes, maintenance domains, customer policies), achieving both high resource utilization and fault tolerance by spreading VMs across diverse failure domains.
4Reliability
If maintenance domains are increased to reduce downtime, then availability improves, but maintenance frequency increases
Solution Approach 1:
The system applies partial action by allowing customers to specify maintenance policies that balance availability requirements against maintenance frequency tolerances. Rather than maximizing MDs for all customers, the placement algorithm adjusts the degree of MD utilization based on individual customer policies, applying just enough segmentation to meet availability targets without unnecessarily increasing maintenance operations.
Data Source
AI summary
Rolling maintenance involves partitioning the compute nodes of a host platform into multiple maintenance domains (MDs), and patching those MDs in a rolling fashion. Techniques are described herein for establishing the VM-to-compute-node placement in an “MD-aware” manner. Specifically, the VM-to-compute-node placement takes into account the MD-to-compute-node mapping, supports constraints and goals related to achieving the required levels of availability during rolling maintenance, and for any given customer, avoids having maintenance events (and corresponding notifications) at excessive frequencies.


