Fault Tolerant Server Memory Synchronization

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

VSEngineering 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

Engineering Contradiction:
Improvesuspended period of virtual computerVSAvoidmemory synchronization management
Core Design Contradiction:
Loss of timeVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #15Dynamics

2Productivity

If bulk copy method is used for all memory pages, then synchronization is efficient, but writing performance is degraded due to write inhibition

Engineering Contradiction:
Improvesynchronization speedVSAvoidwriting performance
Core Design Contradiction:
ProductivityVSEase of operation

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

Inventive Principle:
Principle #3Local quality

3Ease of operation

If COW method is used for all memory pages, then writing performance is maintained, but synchronization efficiency is reduced

Engineering Contradiction:
Improvewriting performanceVSAvoidsynchronization speed
Core Design Contradiction:
Ease of operationVSProductivity

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

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9454445B2Fault tolerant server
Publication Date: 2016.09.27 NEC CORP
  • US9454445B2 patent drawing
  • US9454445B2 patent drawing
  • US9454445B2 patent drawing

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.