RDMA-Based State Transfer for Virtual Machine Live Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional virtual machine live migration systems face inefficiencies due to the need for synchronizing, pinning, and registering the entire execution state before migration, which can lead to memory overcommitment and reduced performance, especially when handling large virtual machine states.
Innovation Solution
Implementing RDMA-based state transfer with pipelined processing of modified memory blocks, where memory blocks are selectively pinned, registered, and transferred using an RDMA-enabled network interface controller, allowing for efficient memory management and reducing the total amount of pinned memory, thereby preventing memory overcommitment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire execution state is synchronized, pinned, and registered before migration, then migration completeness is ensured, but memory overcommitment occurs and performance deteriorates
Solution Approach 1:
The patent segments the virtual machine execution state into multiple memory blocks that can be processed independently. Instead of synchronizing the entire state before migration, the system divides it into manageable chunks that can be transferred progressively, reducing the total pinned memory required while maintaining migration completeness.
Solution Approach 2:
The patent implements preliminary actions by detecting modified memory blocks and preparing them for transfer before the actual migration event. This allows the system to advance the migration process in stages, pinning only the necessary memory blocks rather than the entire execution state, thereby preventing memory overcommitment.
2Stability of the object's composition
If the entire execution state is pinned before migration, then state integrity is maintained, but device complexity increases and performance decreases
Solution Approach 1:
The patent introduces dynamic memory management where the pinning and registration operations are performed on-demand based on actual migration needs rather than all at once. The system dynamically selects and processes only the modified memory blocks, reducing the complexity of memory management while maintaining state integrity throughout the migration process.
Solution Approach 2:
The patent ensures continuity of useful action by implementing pipelined processing where memory block detection, selection, pinning, registration, and transfer occur in continuous overlapping operations. This eliminates idle waiting periods and maintains productive memory management operations throughout the migration process, reducing overall complexity.
3Reliability
If conventional synchronization methods are used, then migration reliability is ensured, but loss of time increases and productivity decreases
Solution Approach 1:
The patent performs preliminary detection and processing of modified memory blocks before the actual migration. By identifying and preparing only the necessary memory blocks in advance, the system reduces the time required for the actual migration operation while maintaining reliability, as only changed states need to be transferred.
Solution Approach 2:
The patent implements continuous pipelined processing where memory block detection, selection, pinning, registration, and transfer operations overlap and proceed concurrently. This eliminates sequential waiting periods and maintains continuous productive action throughout the migration process, significantly reducing migration time while preserving reliability through comprehensive state transfer.
Data Source
AI summary
Systems and methods for RDMA-based state transfer in virtual machine live migration. An example method may comprise: determining, by a first computer system, that a memory block has been modified by a virtual machine undergoing live migration from the first computer system to a second computer system; designating the modified memory block for transfer via a remote direct memory access (RDMA) adapter to the second computer system; selecting, asynchronously with respect to the designating, a memory block from a plurality of memory blocks designated for RDMA transfer to the second computer system, wherein a sum of an amount of pinned physical memory in the first computer system and a size of the selected memory block does not exceed a pre-defined value; registering the selected memory block with the RDMA adapter; and transmitting the selected memory block to the second computer system via the RDMA adapter.


