Fault-Tolerant Matrix Multiplication With Slice-Coded Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current fault-tolerant numerical linear algebra computations in parallel systems are inefficient due to high communication costs and require a significant increase in the number of processors, especially when handling soft and hard errors, and existing solutions do not adapt well to fast matrix multiplication algorithms.

Innovation Solution

A method and system that utilize a controller to split tasks among processors, assign additional processors for error correction, and employ slice-coded or posterior-recovery algorithms to minimize the number of additional processors and communication costs, while maintaining high performance and resource efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If fault-tolerant algorithms are implemented in parallel systems, then reliability is improved, but device complexity and communication costs increase significantly

Engineering Contradiction:
Improvefault toleranceVSAvoidnumber of additional processors
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the fault tolerance mechanism into two distinct phases: (1) embedding error correction codes during the computation process using minimal additional processors, and (2) performing recovery operations only when faults are detected. This segmentation allows the system to maintain reliability while avoiding the continuous overhead of full fault-tolerant processor arrays, thus reducing device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by embedding error correction codes (such as parity bits or more sophisticated codes) into the data during the computation process. This preliminary encoding allows the system to detect and correct faults without requiring additional fault-tolerant processors, thereby reducing device complexity while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If fault-tolerant algorithms are implemented in parallel systems, then reliability is improved, but communication costs increase

Engineering Contradiction:
Improvefault toleranceVSAvoidcommunication costs
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments communication operations into regular computation-related communications and separate error correction code transmissions. By transmitting error correction codes sparsely and only when necessary (e.g., at checkpoint intervals or when faults are detected), the patent minimizes communication overhead while maintaining fault tolerance capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses lightweight, disposable error correction codes that can be quickly generated and transmitted without significant communication overhead. These codes act as temporary protective layers that are regenerated as needed, rather than requiring persistent, resource-intensive fault-tolerant communication protocols.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If error correction codes are generated and transmitted frequently, then reliability is improved, but productivity decreases due to overhead

Engineering Contradiction:
Improvefault detection and recoveryVSAvoidcomputation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic action by generating and transmitting error correction codes at predetermined intervals (checkpoints) or triggered by specific events (detected anomalies), rather than continuously. This periodic approach ensures reliable fault detection while minimizing the overhead impact on computation efficiency, as the system can operate at full speed between checkpoint operations.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent enables self-service by incorporating error detection and correction capabilities directly into the computation flow, allowing the system to automatically identify and correct faults without external intervention. This self-service mechanism reduces the need for frequent external verification and recovery operations, thereby maintaining productivity while ensuring reliability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11080131B2High performance method and system for performing fault tolerant matrix multiplication
Publication Date: 2021.08.03 YISSUM RESEARCH DEVELOPMENT COMPANY OF THE HEBREW UNIVERSITY OF JERUSALEM LTD
  • US11080131B2 patent drawing
  • US11080131B2 patent drawing
  • US11080131B2 patent drawing

AI summary

A computer implemented method for performing fault tolerant numerical linear algebra computation task consisting of calculation steps that include at least classic or fast matrix multiplication, according to which, a controller splits the task among P processors, which operate in parallel. Additional processors are assigned according to execution and resources parameters, which are also used to select a slice-coded recovery algorithm or a posterior-recovery algorithm for executing the task. Pipelined-reduce operations are used to generate error correcting codes to protect the input blocks and outer products from faults. Upon detecting faults in one or more processors, if the slice-coded recovery algorithm has been selected, a slice-coded recovery algorithm is executed to recover lost input blocks and outer products that. If the posterior-recovery algorithm has been selected, error correcting codes are used for recovering lost input blocks and after the last step, recalculating outer products that correspond to faulty processors. In case when fast multiplication is needed, l DFS down-recursion steps are iteratively performed by the P processors and by the additional processors r times, for which the error correction codes will be valid, and after r times, recalculating the error correction codes for the next r times. Then by each processor of the P processors performs local block multiplication between a pair of blocks, while recalculating a new error correction code. Then the output matrix is created by iteratively performing d BFS up-recursion decoding steps on the multiplication product r times, the error correction codes will be valid only for the r times and after each group of r times, recalculating the error correction codes for the next r times, while at the end all iterations, blocks to be decoded obtaining and a code block that is held by the additional code processors, such that each processor holds a pair of blocks. Upon detecting faults in one or more processors, a recovery algorithm is executed, for recovering lost input blocks and multiplication results that correspond to faulty processors or correcting miscalculations of the processors by recalculation.