Virtual Machine Migration Through Coherent Shared Memory Pooling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine (VM) migration techniques experience significant latency and disruption due to intensive input/output operations during the 'brown-out' and 'black-out' phases, particularly when migrating VMs between server nodes with memory failures and inefficiencies, leading to noticeable customer workload disruptions.
Innovation Solution
Implementing a shared memory pool that is cache and memory coherent with both the source and target nodes, allowing temporary storage of VM source memory during migration, and utilizing a high-speed coherent data interface to facilitate rapid transfer and immediate visibility of VM memory at the target node, thereby reducing the duration of the brown-out and black-out phases.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all VM data is moved directly from source node to target node during migration, then complete data transfer is achieved, but intensive I/O operations cause noticeable latencies in customer workload
Solution Approach 1:
A shared memory pool is introduced as an intermediary storage location between the source node and target node. The source node copies VM memory pages to the shared memory pool during brown-out phase, and the target node retrieves pages from this shared pool, eliminating direct intensive I/O operations between source and target nodes that cause workload latency.
Solution Approach 2:
The migration process is segmented into distinct phases: brown-out phase where source node copies data to shared memory pool, black-out phase where target node retrieves data and VM is stopped, and post-migration phase where VM resumes. This segmentation allows optimization of each phase independently to minimize overall disruption.
2Productivity
If VM migration is performed during customer workload execution, then service continuity is maintained, but brown-out phase causes intensive I/O operations and noticeable latencies
Solution Approach 1:
The shared memory pool acts as a buffer that decouples the source node's copy operations from the target node's retrieval operations. During brown-out phase, source node writes to the shared pool without blocking the target node, allowing the target node to prepare simultaneously without causing intensive I/O latency during active workload.
Solution Approach 2:
The target node performs preliminary actions by allocating resources and preparing to retrieve data from the shared memory pool before the actual VM migration completes. This allows the target node to be ready to receive the VM immediately after source node finishes copying, minimizing the brown-out phase duration.
3Reliability
If black-out phase is used to copy remaining dirty pages, then data consistency is ensured, but customer workloads are completely stopped
Solution Approach 1:
The shared memory pool serves as the intermediary where all dirty pages are copied during black-out phase. Because the pool is memory-coherent with both nodes, the target node can access these pages immediately after migration without requiring additional synchronization, ensuring data consistency while minimizing black-out duration.
4Reliability
If shared memory pool with cache coherence is used, then memory coherence between nodes is maintained, but system complexity increases
Solution Approach 1:
The shared memory pool is designed to serve multiple functions: it acts as temporary storage during migration, maintains cache coherence between nodes, provides memory coherence for both source and target nodes, and enables parallel read/write operations. This multi-functionality justifies the added complexity by eliminating the need for multiple separate coherence mechanisms.
Data Source
AI summary
A method of VM migration includes allocating a designated system memory for a guest VM on a target node and reserving a shared physical memory region on a transfer node that is part of a shared memory pool that is memory coherent and cache coherent with a source node and the target node. The VM system memory of the guest VM is re-mapped from a first physical memory region on a source node to the shared physical memory region on the transfer node and the system memory of the guest VM is copied from the first physical memory region on the source node to the shared physical memory region on the transfer node. The designated system memory on the target node is mapped to the shared physical memory region on the transfer node; the guest VM is stopped on the source node and then resumed on the target node.


