GPU Error Detection via Redundant Computation and Checkpointing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High performance computing applications, such as financial and scientific modeling, are sensitive to bit errors but many GPUs lack hardware support for error checking and correction, leaving them vulnerable to errors caused by manufacturing defects, environmental factors, and other anomalies.

Innovation Solution

Implementing software-based error detection and recovery mechanisms by duplicating computations on multiple hardware resources, comparing results, and using checkpointing to roll back to a previous valid state in case of errors, with the option to scale up redundancy for critical computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software-based error detection and recovery mechanisms are implemented by duplicating computations on multiple hardware resources, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveerror detection and recoveryVSAvoidcomputation duplication
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements error detection by creating duplicate copies of the computation on different hardware resources (first and second hardware resources). These copies execute the same computational task independently, allowing for comparison of results to detect errors. This copying approach provides reliability through redundancy while maintaining the same computational logic.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The computational task is segmented into multiple independent execution instances that run on separate hardware resources. By dividing the computation into separable copies that can be executed independently and then compared, the system achieves error detection capability. The segmentation allows each copy to be verified against the others.

Inventive Principle:
Principle #1Segmentation

2Reliability

If computations are duplicated on multiple hardware resources for error detection, then reliability is improved, but productivity decreases

Engineering Contradiction:
Improvecomputation correctnessVSAvoidcomputation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system creates duplicate computation copies on different hardware resources to enable error detection through result comparison. This copying mechanism ensures computation correctness by verifying that independent executions produce matching results, thereby improving reliability at the cost of additional computational overhead.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent merges the results from multiple duplicate computations by comparing them. When the results match, the system confidently accepts the outcome. This merging approach through comparison provides a efficient verification mechanism that confirms correctness without requiring complex validation procedures.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If checkpointing is implemented to enable rollback to previous valid state, then reliability is improved, but loss of time increases

Engineering Contradiction:
Improveerror recoveryVSAvoidcomputation restart time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by creating and storing checkpoint data at intermediate points during computation execution. These checkpoints capture the state of the computation at specific moments, enabling the system to rollback to a known good state if errors are detected, rather than restarting from the beginning.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements beforehand cushioning by pre-establishing checkpoint data that serves as a safety buffer. When errors are detected through result comparison, the system can revert to previously saved checkpoint states, providing protection against computation failure and reducing the impact of errors on overall execution time.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS9836354B1Automated error detection and recovery for GPU computations in a service environment
Publication Date: 2017.12.05 AMAZON TECH INC
  • US9836354B1 patent drawing
  • US9836354B1 patent drawing
  • US9836354B1 patent drawing

AI summary

A service provider system may implement ECC-like features when executing computations on GPUs that do not include sufficient error detection and recovery for computations that are sensitive to bit errors. During execution of critical computations on behalf of customers, the system may automatically instrument program instructions received from the customers to cause each computation to be executed using multiple sets of hardware resources (e.g., different host machines, processor cores, or internal hardware resources). The service may provide APIs with which customers may instrument their code for execution using redundant resource instances, or specify parameters for applying the ECC-like features. The service or customer may instrument code to perform (or cause the system to perform) checkpointing operations at particular points in the code, and to compare intermediate results produced by different hardware resources. If the intermediate results do not match, the computation may be restarted from a checkpointed state.