Fault Tolerant Multi-Threaded Processor for Real-Time Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Real-time fault tolerant systems, such as those in critical applications like control systems for cars, planes, and financial systems, face challenges in quickly identifying and resolving errors due to the limitations of existing fault tolerant processor designs that often rely on multiple cores or voting systems, which can be inefficient in terms of space and power consumption.
Innovation Solution
A fault tolerant multi-threaded processor design that uses temporal and/or spatial separation of instructions across two or more threads, where each instruction is fetched, decoded, and executed by multiple threads, with comparison hardware logic to quickly identify mismatches and raise errors, thereby allowing for rapid error detection and resolution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple cores or voting systems are used for fault tolerance, then reliability is improved, but device complexity and power consumption increase
Solution Approach 1:
The processor is segmented into multiple threads that can execute instructions independently. Each thread maintains separate register files and instruction streams, allowing the system to detect faults by comparing results from different thread executions of the same instruction, thereby achieving fault tolerance without requiring multiple complete processor cores
Solution Approach 2:
The processor design allows threads to share common execution resources such as execution units and memory interfaces while maintaining separate architectural state. This multi-functionality enables the same hardware resources to serve multiple threads, reducing overall device complexity compared to having separate cores for each thread while still providing fault detection capabilities
2Reliability
If multiple cores or voting systems are used for fault tolerance, then reliability is improved, but power consumption increases
Solution Approach 1:
Multiple threads are merged into a single processor context, sharing execution units, caches, and other hardware resources. The fault tolerance mechanism reuses the same execution pipeline for multiple threads rather than duplicating entire core structures, significantly reducing power consumption while maintaining the ability to detect and respond to faults through result comparison
3Reliability
If errors are detected using traditional fault tolerant methods, then reliability is maintained, but error detection speed is insufficient for real-time systems
Solution Approach 1:
The processor maintains continuous execution of multiple threads through the same pipeline, with fault detection occurring as a continuous side effect of normal execution. Comparison logic continuously monitors results from parallel thread executions, enabling real-time error detection without interrupting the flow of useful computational work
Solution Approach 2:
The system implements feedback through comparison logic that continuously compares results from different thread executions. When a mismatch is detected, the feedback mechanism triggers immediate error handling procedures, ensuring rapid error detection and response in real-time systems
Data Source
AI summary
A fault tolerant multi-threaded processor uses the temporal and/or spatial separation of instructions running in two or more different threads. An instruction is fetched, decoded and executed by each of two or more threads to generate a result for each of the two or more threads. These results are then compared using comparison hardware logic and if there is a mismatch between the results obtained, then an error or event is raised. The comparison is performed on an instruction by instruction basis so that errors are identified (and hence can be resolved) quickly.


