Fault Tolerant Server Memory Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing fault-tolerant server systems face challenges in reducing the suspended period of virtual computers when using either the Copy On Write (COW) or bulk copy methods for memory synchronization, as these methods are inflexible and cannot effectively adapt to varying memory access patterns.
Innovation Solution
A fault-tolerant server system that divides memory into two groups, using a bulk copy method for frequently accessed pages and a COW method for less frequently accessed pages, with a checkpoint detection unit and transfer control unit to manage the synchronization process, and a boundary address determination unit to dynamically adjust the transfer method based on page fault exceptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a single synchronization method (COW or bulk copy) is used for all memory pages, then the system is simple to manage, but the suspended period of virtual computers cannot be effectively reduced
Solution Approach 1:
The memory is divided into two groups: frequently accessed pages and less frequently accessed pages. Different synchronization methods (bulk copy and COW respectively) are applied to each group, allowing optimized suspension time for each segment while managing complexity through structured classification
Solution Approach 2:
The boundary address between the two memory groups is dynamically adjusted based on page fault exceptions. This dynamic adaptation allows the system to optimize the suspended period by learning from actual access patterns while maintaining manageable complexity through automated adjustment
2Productivity
If bulk copy method is used for all memory pages, then synchronization is efficient, but writing performance is degraded due to write inhibition
Solution Approach 1:
Different synchronization methods are applied to different regions of memory based on access frequency. Frequently accessed pages use bulk copy for efficient synchronization, while less frequently accessed pages use COW to maintain good writing performance, optimizing both synchronization speed and write operations locally
3Ease of operation
If COW method is used for all memory pages, then writing performance is maintained, but synchronization efficiency is reduced
Solution Approach 1:
The system applies COW method specifically to less frequently accessed pages where write operations are not critical, maintaining good writing performance for these regions. Meanwhile, bulk copy is applied to frequently accessed pages to maximize synchronization efficiency, achieving local optimization for each memory region
Data Source
AI summary
The virtual computer of the active system includes a memory configured of small regions grouped in a first group and small regions grouped in a second group. When a checkpoint is detected by the checkpoint detection unit, the transfer control unit suspends the virtual computer, copies, to a transfer buffer (not shown), data of the small regions in the first group among the small regions of the memory having been updated after a previous checkpoint, and after inhibiting writing to the small regions in the second group, restarts the virtual computer. Further, the transfer control unit copies data of the small regions, in which writing is inhibited, to the transfer buffer and releases write inhibit, and transfers the data of the small regions, having been copied to the transfer buffer, to the physical computer.


