Live VM Migration With Assigned Devices and On-Demand Page Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine migration technologies face challenges in efficiently managing memory access and data transfer during live migration, leading to inefficiencies and increased downtime.
Innovation Solution
A method for live migration that involves receiving data from a source device, updating memory and storage drive mapping tables, and copying memory pages or logical block addresses to a destination device, while pausing commands for unavailable data, using a migration manager and memory manager to ensure seamless access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory pages are copied during live migration, then data availability is improved, but migration time increases
Solution Approach 1:
The system performs preliminary copying of memory pages to the destination device before the VM actually needs them. The memory manager pre-fetches and transfers memory pages during the migration process, so that when the VM accesses them, they are already available in the destination memory, reducing access delays and overall migration time.
Solution Approach 2:
The patent introduces a memory manager as an intermediary component that handles memory page copying and management during migration. This intermediary coordinates between the source and destination devices, managing the transfer of memory pages and handling page faults, thereby improving data availability while optimizing the migration process.
2Stability of the object's composition
If storage drives wait for memory pages to be copied, then data consistency is improved, but command execution speed decreases
Solution Approach 1:
Storage drives receive preliminary notification about upcoming memory page copies through the mapping table updates. The system proactively prepares storage operations by updating the mapping table to reflect that certain memory pages will be copied, allowing storage drives to queue or pause commands appropriately without waiting passively, thus maintaining data consistency while minimizing execution delays.
Solution Approach 2:
The mapping table serves as a feedback mechanism that informs storage drives about the status of memory pages. When the memory manager updates the mapping table to indicate that memory pages are being copied or are unavailable, storage drives receive this feedback and adjust their command execution accordingly, pausing only when necessary to maintain data consistency.
3Measurement precision
If mapping tables are updated to reflect unavailable data, then access accuracy is improved, but system complexity increases
Solution Approach 1:
The mapping table is designed to serve multiple functions: it tracks memory page locations, indicates data availability status, and provides feedback to storage drives. This multi-functional approach improves access accuracy by providing comprehensive information about memory page status while avoiding the need for separate tracking mechanisms, thereby limiting the increase in system complexity.
Solution Approach 2:
The mapping table automatically updates itself through the memory manager's operations. When memory pages are copied or their status changes, the mapping table is updated to reflect the new state, providing self-service functionality that improves access accuracy without requiring complex external management systems.
Data Source
AI summary
Provided are systems, methods, and apparatuses for systems and methods for live migration with assigned devices. In one or more examples, the systems, devices, and methods include receiving, at a destination memory, first data from a source; indicating in a mapping table that second data from the source memory is unavailable; sending, to the memory manager, a first message requesting to access on the memory of the destination device one or more memory pages associated with the second data; sending, to a migration manager, a second message requesting the one or more memory pages associated with the second data; receiving, from the memory manager, a third message indicating the one or more memory pages are transferred; and accessing the one or more memory pages on the memory of the destination device.


