VM Checkpointing via Page Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Checkpointing in fault-tolerant virtual machine systems leads to increased processing demands and network latency due to uneven distribution of memory pages that need to be checkpointed, causing delays and inefficiencies during high processor demand periods.
Innovation Solution
Implementing a page forwarding mechanism that identifies and transfers infrequently modified memory pages from the primary virtual machine to the secondary virtual machine while the primary machine is running, reducing the need for pausing operations and distributing the checkpointing load, thereby reducing overall checkpointing time and network latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If memory pages are checkpointed while the primary virtual machine is running, then network latency is reduced and processing continuity is maintained, but the complexity of the checkpointing system increases due to the need for page forwarding mechanisms
Solution Approach 1:
The system performs preliminary actions by identifying and forwarding infrequently modified memory pages to the secondary virtual machine before the checkpoint operation. This preliminary page forwarding reduces the amount of data that needs to be transferred during the actual checkpoint, thereby reducing checkpointing time while maintaining system continuity.
Solution Approach 2:
The checkpointing process is segmented into two phases: (1) preliminary page forwarding of infrequently modified pages during normal operation, and (2) the actual checkpoint operation. This segmentation allows the system to prepare data in advance, reducing the time and complexity of the critical checkpoint operation.
2Reliability
If all memory pages are transferred during checkpointing, then data consistency is ensured, but network bandwidth is consumed and processing is delayed
Solution Approach 1:
The system applies local quality by differentiating between frequently modified and infrequently modified memory pages. Infrequently modified pages are forwarded in advance during normal operation, while frequently modified pages are handled during the checkpoint operation. This selective approach ensures data consistency for all pages while optimizing network bandwidth usage and processing efficiency.
Solution Approach 2:
Infrequently modified memory pages are transferred to the secondary virtual machine in advance before the checkpoint operation. This preliminary action reduces the total data volume that needs to be transferred during checkpointing, thereby improving processing efficiency while maintaining data consistency through the combination of pre-forwarded and checkpointed pages.
3Measurement precision
If the primary virtual machine is paused during checkpointing, then accurate state capture is achieved, but network latency increases and processing continuity is disrupted
Solution Approach 1:
The system performs preliminary forwarding of infrequently modified memory pages to the secondary virtual machine before the checkpoint operation. This allows the primary virtual machine to remain running during the transfer, avoiding pausing and reducing network latency. The checkpoint operation then only needs to handle frequently modified pages, maintaining state capture accuracy with minimal disruption.
Solution Approach 2:
The primary virtual machine continues to run and process requests without interruption during the page forwarding operation. The checkpointing system maintains continuity of useful action by separating the page forwarding phase (during normal operation) from the checkpoint operation, thereby eliminating pauses and reducing network latency while preserving state capture accuracy.
Data Source
AI summary
In one aspect, the invention relates to a fault tolerant computing system. The system includes a primary virtual machine and a secondary virtual machine, wherein the primary and secondary virtual machines are in communication, wherein the primary virtual machine comprises a first checkpointing engine and a first network interface, wherein the secondary virtual machine comprises a second network interface, wherein the first checkpointing engine forwards a page of memory of the primary virtual machine to the second virtual machine such that the first checkpointing engine can checkpoint the page of memory without pausing the primary virtual machine.


