Virtual Machine Checkpoint Partial Memory Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Highly available computer systems using virtual machines experience performance degradation during checkpoint operations due to the need to synchronize large memory pages, leading to prolonged pauses and inefficiencies.
Innovation Solution
Implementing a checkpoint operation that only partially synchronizes the state of an active virtual machine with a standby virtual machine by distinguishing between virtual memory regions backed by different page sizes, specifically allocating and synchronizing only non-huge pages during the checkpoint process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full memory synchronization is performed during checkpoint operations, then reliability of the standby virtual machine is improved, but productivity of the active virtual machine deteriorates due to prolonged pauses
Solution Approach 1:
The patent divides virtual memory into two distinct segments: huge pages and non-huge pages. During checkpoint operations, only non-huge pages are synchronized between active and standby virtual machines, while huge pages are excluded. This segmentation allows the system to maintain reliability for critical data (non-huge pages) while avoiding the performance penalty of synchronizing large amounts of huge page memory, thus resolving the contradiction between reliability and productivity.
2Loss of information
If large memory pages are synchronized during checkpoint, then completeness of state transfer is improved, but time required for checkpoint operation increases
Solution Approach 1:
The patent extracts huge pages from the checkpoint synchronization process, removing them from the set of memory pages that require transfer. By taking out only the non-essential huge pages from the synchronization scope, the system achieves faster checkpoint operations without losing critical state information contained in non-huge pages, thereby reducing checkpoint time while maintaining sufficient state completeness.
Solution Approach 2:
The patent applies partial action by synchronizing only a subset of memory pages (non-huge pages) rather than all memory pages. This partial synchronization approach provides sufficient state transfer for reliable virtual machine failover while significantly reducing the time required for checkpoint operations, as huge pages which consume the most time to transfer are excluded from the process.
Data Source
AI summary
A HA computer system is configured to support the operation of an active and a standby virtual machine, and the active virtual machine supports one or more first computer processes and the standby virtual machines supports duplicates of the one or more first computer processes. Each active virtual machine monitors and stores a state of the first computer processes and periodically pauses to only synchronize some of the state of the first computer processes running on the active VM with state associated with the duplicate processes running on the standby VM stored in a first region of virtual memory.


