VM Live Migration Memory De-duplication via Hypervisor Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual machine live migration, the high network throughput requirements due to large virtual machine execution states, such as several gigabytes, can become a constraint, especially when multiple virtual machines are migrated concurrently, leading to inefficiencies in data transmission.
Innovation Solution
Implementing memory de-duplication by identifying and transmitting identical memory pages only once, and using a data structure on the destination hypervisor to map virtual memory ranges to the same physical memory range on the origin host, thereby avoiding the creation of duplicate memory pages and optimizing network data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory pages are copied during live migration, then the virtual machine execution state is transferred to the destination host, but duplicate memory pages are created increasing network data transmission volume
Solution Approach 1:
The patent merges duplicate memory pages by mapping multiple virtual memory ranges to the same physical memory range on the origin host. The destination hypervisor receives information about these mappings and creates a corresponding mapping structure, allowing multiple virtual memory pages to share the same physical copy, thereby reducing network transmission volume while maintaining reliable execution state transfer.
Solution Approach 2:
The patent uses selective copying by identifying which memory pages need to be copied and which can be shared. Instead of copying all memory pages, the system copies only unique pages while sharing duplicates through mapping relationships, reducing the quantity of data transmitted over the network during live migration.
2Reliability
If all memory pages are transmitted during live migration, then the destination host receives complete virtual machine state, but network throughput requirements become excessive
Solution Approach 1:
The patent merges duplicate memory pages by mapping multiple virtual memory ranges to the same physical memory range on the origin host. The destination hypervisor receives information about these mappings and creates a corresponding mapping structure, allowing multiple virtual memory pages to share the same physical copy, thereby reducing network transmission volume while maintaining reliable execution state transfer.
Solution Approach 2:
The patent applies partial action by transmitting only the necessary unique memory pages during live migration rather than all memory pages. The destination hypervisor uses mapping information to reconstruct the complete virtual machine state without requiring transmission of duplicate pages, thus reducing network throughput requirements while maintaining state completeness.
3Quantity of substance
If memory de-duplication is implemented, then network data transmission is optimized, but the destination hypervisor must maintain mapping data structures
Solution Approach 1:
The patent applies universality by using a memory mapping data structure that serves multiple functions: it tracks which virtual memory ranges map to which physical memory ranges on the origin host, enables the destination hypervisor to create appropriate mappings, and facilitates memory de-duplication. This single structure handles multiple requirements without proportionally increasing complexity.
Solution Approach 2:
The patent uses the memory mapping data structure as an intermediary that mediates between the origin and destination hypervisors. It contains information about memory page relationships and enables the destination hypervisor to make intelligent decisions about which pages to copy and which to share, optimizing network transmission while managing complexity through structured information exchange.
Data Source
AI summary
Systems and methods for memory de-duplication in a virtual machine undergoing live migration. An example method may comprise: receiving, by a hypervisor executing on a destination host computer system, a first virtual address and a corresponding physical memory range identifier, the physical memory range identifier identifying a first physical memory range on an origin host computer system, the first virtual address identifying a first virtual memory range mapped to the first physical memory range in a virtual address space of a first virtual machine undergoing live migration from the origin host computer system to the destination host computer system; identifying a second virtual address corresponding to the physical memory range identifier, the second virtual address identifying a second virtual memory range in a virtual address space of a second virtual machine undergoing live migration from the origin host computer system to the destination host computer system; identifying a destination physical address corresponding to the second virtual address, the destination physical address identifying a second physical memory range on the destination host computer system; and mapping, on the destination host computer system, the first virtual address to the destination physical address.


