Hybrid Checkpointing for Multiprocessor Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multiprocessor systems face challenges in reliability due to transient faults, with existing solutions like memory Error Correcting Codes being limited to memory errors, spatial duplication being costly and performance-detrimental, and checkpointing approaches facing issues with synchronization and storage overhead in complex systems.

Innovation Solution

A hybrid checkpointing method that groups processes into data dependency spheres for coordinated checkpointing within groups and uncoordinated checkpointing between them, allowing for error-free state restoration without full memory restoration, using memory management units to confine error propagation and manage access rights.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If coordinated checkpointing is used across the entire system, then system reliability is improved through consistent error detection, but synchronization overhead and storage requirements increase significantly

Engineering Contradiction:
Improvesystem reliabilityVSAvoidsynchronization overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides processes into multiple groups (first group and second group) with separate checkpointing mechanisms for each group. This segmentation allows independent checkpoint management for each group, reducing the synchronization overhead associated with system-wide coordinated checkpointing while maintaining reliability through group-level consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to checkpointing by implementing both group-level checkpointing and individual process checkpointing. This multi-level approach allows the system to achieve reliability through group coordination without requiring full system-wide synchronization at every checkpoint, thus reducing overall synchronization overhead.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If uncoordinated checkpointing is used for each process independently, then synchronization overhead is reduced, but system reliability deteriorates due to inconsistent error detection across processes

Engineering Contradiction:
Improvesynchronization overheadVSAvoidsystem reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

By segmenting processes into distinct groups with dedicated checkpointing mechanisms, the system achieves independent checkpointing within each group (reducing synchronization overhead) while maintaining group-level consistency through the group checkpoint manager, thus preserving system reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The group checkpoint manager acts as an intermediary that coordinates checkpointing within each group without requiring full system-wide coordination. This intermediary structure enables semi-independent checkpointing that reduces synchronization overhead while maintaining reliability through group-level error detection and recovery.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If full memory restoration is performed after an error, then system reliability is ensured through complete state recovery, but recovery time and system performance decrease

Engineering Contradiction:
Improveerror-free state restorationVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system extracts and restores only the checkpoint data relevant to the affected group rather than performing full memory restoration. This selective restoration approach maintains reliability by recovering the necessary error-free state while significantly reducing recovery time by avoiding unnecessary data transfer and processing.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements local quality by restoring checkpoint data at the group level rather than system-wide. Each group has its own checkpoint data that can be independently restored, allowing the system to recover from errors with minimal disruption to other groups and reduced overall recovery time.

Inventive Principle:
Principle #3Local quality

4Reliability

If spatial duplication is implemented to detect transient errors, then error detection capability is improved, but hardware cost and surface area increase significantly

Engineering Contradiction:
Improveerror detection capabilityVSAvoidhardware cost
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system creates logical copies of process state data in the form of checkpoint data rather than physical duplication of hardware circuits. This virtual copying approach provides error detection and recovery capability without the substantial hardware cost and surface area requirements of physical spatial duplication.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical hardware duplication approach with a software-based checkpointing and recovery mechanism. Instead of duplicating physical circuits and components, the system uses data copying and restoration techniques that achieve similar reliability benefits with minimal additional hardware overhead.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9135110B2Method and device for enhancing the reliability of a multiprocessor system by hybrid checkpointing
Publication Date: 2015.09.15 COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
  • US9135110B2 patent drawing
  • US9135110B2 patent drawing
  • US9135110B2 patent drawing

AI summary

The present invention relates to a method and a device for enhancing the reliability of a system comprising a plurality of processors and a memory. The method comprises a step of grouping processes into a plurality of groups and a step of saving, individually for each group of processes, data stored in the memory which can be used by at least one of the processes belonging to said group, so as to restore an error-free global state of the system following an error occurring in a processor executing one of the processes belonging to said group without having to restore the entire memory.