Loosely Lock-Stepped Non-Deterministic Processor Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Emerging non-deterministic processor execution in multi-processor systems makes it difficult to implement strict or even loose lock-step fault tolerance, as processors executing the same software application may not perform the same sequence of instructions due to advances like speculative execution and out-of-order processing, rendering traditional fault tolerance methods ineffective.

Innovation Solution

A computing system with multiple processors executes duplicate copies of user programs in a logical processor, using synchronization logic to manage reads and writes, handle interrupts, and ensure time consistency across processors, allowing for loosely lock-stepped execution and fault tolerance without requiring cycle-by-cycle or wall clock time synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If strict lock-step execution is implemented to ensure fault tolerance, then system reliability is improved, but device complexity and difficulty of implementation increase due to phase difference control in clocking signals

Engineering Contradiction:
Improvefault toleranceVSAvoidclocking signal synchronization
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the synchronization requirement from the clocking signal domain and relocates it to the software instruction domain. By using a barrier synchronization mechanism implemented in software rather than hardware clocking, the system achieves fault tolerance without requiring complex phase-synchronized clocking signals across processors.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical/electrical synchronization mechanism (phase-synchronized clocking signals) with a software-based barrier synchronization mechanism. This substitution eliminates the need for complex hardware timing control while maintaining the essential fault detection and correction capabilities.

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

2Productivity

If speculative execution and out-of-order processing are used to improve processor performance, then productivity is improved, but strict lock-step execution becomes impossible as processors execute instructions in different orders

Engineering Contradiction:
Improveprocessor execution speedVSAvoidlock-step execution consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces dynamic barrier synchronization points that can be adaptively placed within the software code. These barriers allow processors to execute instructions out-of-order and speculatively between barrier points, while ensuring that critical synchronization points maintain consistency across all processors. This dynamic approach reconciles performance optimization with fault tolerance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the execution flow into multiple instruction regions separated by barrier synchronization points. Within each segment, processors can execute instructions independently and out-of-order to maximize performance. The barriers ensure that critical sections maintain synchronization, allowing both high productivity and reliability.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If processors are allowed to execute at different wall clock times to simplify implementation, then device complexity is reduced, but maintaining synchronization becomes difficult requiring instruction counting and stalling mechanisms

Engineering Contradiction:
Improveclocking signal controlVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces barrier synchronization points as intermediary mechanisms that mediate between independent processor execution and coordinated fault tolerance. These barriers act as checkpoints where processors synchronize without requiring continuous clocking signal coordination or instruction counting, eliminating the need for stalling while maintaining synchronization where needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If continuous monitoring and comparison of processor outputs is implemented to detect computational faults, then reliability is improved, but loss of time increases due to synchronization overhead

Engineering Contradiction:
Improvefault detection capabilityVSAvoidsynchronization overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements periodic barrier synchronization instead of continuous monitoring. Processors execute independently between barriers, and synchronization/fault comparison occurs only at barrier points. This periodic approach maintains reliable fault detection while minimizing synchronization overhead, as processors are not continuously stalled for comparison.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS7426656B2Method and system executing user programs on non-deterministic processors
Publication Date: 2008.09.16 VALTRUS INNOVATIONS LTD
  • US7426656B2 patent drawing
  • US7426656B2 patent drawing
  • US7426656B2 patent drawing

AI summary

A method and system of loosely lock-stepped non-deterministic processors. Some exemplary embodiments may be a processor-based method comprising executing fault tolerant copies of a user program, one copy of the user program executed in a first processor performing non-deterministic execution, and a duplicate copy of the user program executing in a second processor performing non-deterministic execution, with the executing in the first processor and second processor not in cycle-by-cycle lock-stepped.