Virtual Machine Checkpoint Partial Memory Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestandby virtual machine readinessVSAvoidactive virtual machine operational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvestate synchronization completenessVSAvoidcheckpoint operation duration
Core Design Contradiction:
Loss of informationVSLoss of time

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10241874B2Checkpoint method for a highly available computer system
Publication Date: 2019.03.26 STRATUS TECH IRELAND LTD
  • US10241874B2 patent drawing
  • US10241874B2 patent drawing
  • US10241874B2 patent drawing

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.