Checkpoint Replication Using Hierarchical Page Trackers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtual machine migration and checkpoint replication methods result in inefficient use of memory and network resources due to the transfer of redundant data, as they typically replicate entire pages even if only a small portion has changed, leading to increased memory and network traffic and processing costs.
Innovation Solution
Implementing fine-grained and coarse-grained modified page trackers to identify and replicate only the changed data at either a cache line or page level, reducing redundant data transfer by using sparse and dense modified page tracker entries that track changes at varying granularities, allowing for efficient checkpoint data replication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If entire pages are replicated during checkpoint replication, then reliability is improved through complete state replication, but network traffic and memory usage increase due to redundant data transfer
Solution Approach 1:
The patent extracts only the modified portions of memory pages (e.g., modified cache lines or words) from the complete page data during checkpoint replication. Instead of copying entire pages, the system identifies and transfers only the changed data units, significantly reducing network traffic while maintaining replication reliability.
Solution Approach 2:
The patent segments memory pages into smaller units (cache lines, words, or bytes) and tracks modifications at this granular level. This segmentation allows the system to identify and replicate only the specific segments that have changed, rather than transferring entire pages, thus reducing redundant data transfer.
2Loss of energy
If fine-grained change detection is used, then network traffic is reduced by transmitting only modified data, but processing overhead increases due to detailed tracking requirements
Solution Approach 1:
The patent introduces intermediary data structures (modification tracking bitmaps, change logs, or metadata tables) that mediate between memory operations and checkpoint replication. These intermediaries record which data units have been modified without requiring complex real-time analysis of memory accesses, simplifying the tracking mechanism while enabling fine-grained change detection.
Solution Approach 2:
The patent performs preliminary tracking of memory modifications during normal operation before checkpoint replication is triggered. By maintaining modification records in advance (e.g., setting dirty bits or logging changes), the system prepares the information needed for selective data transfer, reducing the processing overhead during the actual replication event.
3Device complexity
If coarse-grained page level tracking is used, then device complexity is reduced through simpler tracking mechanisms, but network traffic increases due to transmission of unmodified data
Solution Approach 1:
The patent segments pages into smaller trackable units (cache lines or words) while maintaining a hierarchical tracking structure. This allows the system to use simpler per-unit tracking mechanisms rather than complex page-level analysis, and simultaneously enables selective replication of only modified segments, reducing network traffic compared to coarse-grained approaches.
4Loss of energy
If modification tracking is implemented at cache line granularity, then network traffic is minimized by transferring only changed data, but processing latency increases due to detailed change detection
Solution Approach 1:
The patent leverages existing hardware mechanisms (such as dirty bits in cache or memory management units) that automatically track modifications without requiring software intervention. This self-service approach to change detection minimizes processing latency while enabling fine-grained tracking at cache line or word level, as the hardware independently maintains modification information.
Data Source
AI summary
Examples herein relate to checkpoint replication and copying of updated checkpoint data. For example, a memory controller coupled to a memory can receive a write request with an associated address to write or update checkpoint data and track updates to checkpoint data based on at least two levels of memory region sizes. A first level is associated with a larger memory region size than a memory region size associated with the second level. In some examples, the first level is a cache-line memory region size and the second level is a page memory region size. Updates to the checkpoint data can be tracked at the second level unless an update was previously tracked at the first level. Reduced amounts of updated checkpoint data can be transmitted during a checkpoint replication by using multiple region size trackers.


