Virtual Machine Migration Through Coherent Shared Memory Pooling

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata transfer completenessVSAvoidmigration latency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveservice continuityVSAvoidbrown-out phase duration
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If black-out phase is used to copy remaining dirty pages, then data consistency is ensured, but customer workloads are completely stopped

Engineering Contradiction:
Improvedata consistencyVSAvoidblack-out phase duration
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If shared memory pool with cache coherence is used, then memory coherence between nodes is maintained, but system complexity increases

Engineering Contradiction:
Improvememory coherenceVSAvoidshared memory pool complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250335226A1Virtual machine migration using shared memory pooling
Publication Date: 2025.10.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250335226A1 patent drawing
  • US20250335226A1 patent drawing
  • US20250335226A1 patent drawing

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.