VM Live Migration Stable Memory Page Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine live migration techniques face inefficiencies due to the need for repeated transmission of modified memory pages, which can disrupt the migration process and reduce overall efficiency, especially when the 'dirtying' rate exceeds the virtual machine state transfer rate.
Innovation Solution
Implementing a method where a migration agent identifies and transmits stable memory pages first, followed by unstable pages, until a convergence condition is met, where the virtual machine is stopped and dirty pages are copied, optimizing the transmission order based on virtual machine behavior and reducing the number of retransmitted pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory pages are transmitted in conventional live migration, then the virtual machine can be migrated between hosts, but repeated transmission of modified pages occurs reducing migration efficiency
Solution Approach 1:
The migration agent performs preliminary actions by identifying and transmitting stable memory pages before the virtual machine stops running. This preliminary transmission of stable pages reduces the burden during the final migration phase, as these pages are already transmitted and do not need to be retransmitted even if modified during the migration process.
Solution Approach 2:
The memory pages are segmented into stable pages and unstable (dirty) pages based on their modification status. The migration agent transmits stable pages first, then handles unstable pages separately after the virtual machine stops. This segmentation allows optimized transmission strategy where stable pages are transmitted once and unstable pages are transmitted only when necessary.
2Ease of operation
If all memory pages are transmitted together, then the migration process is simple, but the disruption to virtual machine operation increases
Solution Approach 1:
Memory pages are segmented into stable and unstable categories. Stable pages are transmitted during the live migration phase without stopping the virtual machine, maintaining operation continuity. Unstable pages are transmitted after the virtual machine stops, simplifying the overall process for these pages. This segmentation resolves the contradiction by applying different strategies to different page types.
Solution Approach 2:
Stable memory pages are transmitted as a preliminary action during the live migration phase before the virtual machine stops. This preliminary transmission completes the migration of non-modified pages, allowing the virtual machine to continue operating while only minimal retransmission of unstable pages is needed afterward.
3Reliability
If the virtual machine continues running during migration, then service disruption is minimized, but the number of retransmitted pages increases
Solution Approach 1:
The migration agent performs preliminary transmission of stable memory pages while the virtual machine continues running. This preliminary action transmits pages that will not be modified during the migration process, reducing the number of retransmissions needed afterward. The virtual machine can continue operating without interruption while the migration agent efficiently handles page transmission.
Solution Approach 2:
Different transmission strategies are applied to different memory pages based on their local characteristics. Stable pages are transmitted using the live migration approach (maintaining service continuity), while unstable pages are transmitted using the stop-and-copy approach (reducing retransmissions). This local quality differentiation optimizes both service continuity and retransmission reduction.
Data Source
AI summary
Systems and methods for virtual machine live migration. An example method may comprise: identifying, by a first computer system executing a virtual machine undergoing live migration to a second computer system, a plurality of stable memory pages comprised by an execution state of the virtual machine, wherein the plurality of stable memory pages comprises memory pages that have not been modified within a defined period of time; transmitting the plurality of stable memory pages to the second computer system; determining that an amount of memory comprised by a plurality of unstable memory pages is below a threshold value, wherein the plurality of unstable memory pages comprises memory pages that have been modified within the defined period of time; and transmitting the plurality of unstable memory pages to the second computer system.


