Multi-processor failure detection via shared memory timestamps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-processor systems face challenges in detecting processor failures, particularly when the master CPU fails, and current heartbeat algorithms can cause inefficiencies due to message-based communication, which may lead to undetectable failures and operational interruptions.

Innovation Solution

A method that involves retrieving and comparing timestamps from shared memory across CPUs to determine delta values, with additional time accounting for message transfer and clock synchronization, allowing for timely detection of failures and initiating error handling, including non-critical and critical interrupts to manage master and slave CPU roles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a master CPU monitors slave CPUs using message-based heartbeat algorithms, then CPU failure detection is implemented, but system efficiency decreases due to message interruptions and master CPU failure becomes undetectable

Engineering Contradiction:
ImproveCPU failure detection capabilityVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the failure detection function by having each CPU independently monitor its own heartbeat status and the heartbeats of other CPUs through shared memory timestamps, rather than relying on a single master CPU. This distributes the monitoring responsibility across all processors, eliminating the bottleneck and single point of failure while reducing message-based interruptions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces shared memory with timestamp registers as an intermediary mechanism for heartbeat communication. Instead of direct CPU-to-CPU messaging that causes interruptions, CPUs write timestamps to shared memory locations, and other CPUs read these timestamps to detect failures. This intermediary approach eliminates message interruptions while maintaining failure detection capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If message-based communication is used for heartbeat algorithms, then CPU functionality monitoring is achieved, but operational interruptions occur reducing system performance

Engineering Contradiction:
ImproveCPU operational monitoringVSAvoidoperational interruptions
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces the mechanical message-passing system with a memory-based timestamp comparison system. Instead of sending messages that interrupt CPU operations, each CPU simply writes its current timestamp to a shared memory location, and other CPUs read and compare these timestamps without causing interruptions. This substitution eliminates operational interruptions while maintaining monitoring capability.

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

3Ease of operation

If a master CPU architecture is used for failure detection, then centralized control is achieved, but the master CPU failure becomes undetectable creating a single point of failure

Engineering Contradiction:
Improvecentralized controlVSAvoidmaster CPU failure detection
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent inverts the traditional master-slave monitoring model by having each CPU monitor itself and other CPUs through shared memory timestamps, rather than having the master monitor slaves. This inversion eliminates the single point of failure problem while maintaining centralized error handling through the kernel module that receives notifications from any CPU detecting a failure.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS8850262B2Inter-processor failure detection and recovery
Publication Date: 2014.09.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8850262B2 patent drawing
  • US8850262B2 patent drawing
  • US8850262B2 patent drawing

AI summary

An approach to detecting processor failure in a multi-processor environment is disclosed. The approach may include having each CPU in the system responsible for monitoring another CPU in the system. A CPUn reads a timestampn+1 created by CPUn+1 which CPUn is monitoring from a shared memory location. The CPUn reads its own timestampn and compares the two timestamps to calculate a delta value. If the delta value is above a threshold, the CPUn determines that CPUn+1 has failed and initiates error handling for the CPUs in the system. One CPU may be designated a master CPU, and be responsible for beginning the error handling process. In such embodiments, the CPUn may initiate error handling by notifying the master CPU that CPUn+1 has failed. If CPUn+1 is the master CPU, the CPUn may take additional steps to initiate error handling, and may broadcast a non-critical interrupt to all CPUs, triggering error handling.