Online Fault Detection in Safety Critical Systems Using Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Testing multi-core processors in safety-critical systems poses challenges in coordinating testing while maintaining consistent availability of processors to execute system functionality, leading to performance degradation and potential safety impacts.
Innovation Solution
The implementation of online fault detection techniques using isolation and process migration, where execution of operations is transferred between virtual processors hosted by different processing units, allowing for testing of one processing unit while others continue to operate, thereby minimizing downtime and maintaining system performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If testing is performed on a processing unit, then fault detection capability is improved, but system availability deteriorates due to processor unavailability during testing
Solution Approach 1:
The system divides processing units into separate testable segments (individual cores or processing units) that can be isolated and tested independently. This segmentation allows one processing unit to undergo testing while others continue to execute application operations, resolving the contradiction between fault detection and system availability.
Solution Approach 2:
A virtualization layer acts as an intermediary between application operations and physical processing units. This virtualization layer enables the migration of virtual processors between physical processing units, allowing testing to occur on one unit while maintaining service continuity through migration to another unit.
2Reliability
If testing is performed on multi-core processors, then safety is improved, but system performance deteriorates due to coordination complexity
Solution Approach 1:
The virtualization layer serves as a mediator that abstracts the complexity of multi-core coordination from the testing process. It manages the migration of workloads between cores and coordinates testing activities, thereby maintaining system performance while enabling comprehensive safety testing.
Solution Approach 2:
The system performs preliminary actions by migrating application operations to standby virtual processors before initiating testing on the current processing unit. This preliminary migration ensures that testing can commence immediately without performance degradation, as the workload is already positioned on alternative processing units.
3Reliability
If processing units are taken offline for testing, then testing completeness is improved, but system availability deteriorates
Solution Approach 1:
The system segments the processing architecture into multiple independent processing units, each capable of being tested individually while others remain operational. This segmentation enables complete testing of all processing units over time without requiring the entire system to be taken offline simultaneously.
Solution Approach 2:
The system temporarily discards the use of a processing unit for testing purposes, performs comprehensive testing on it, and then recovers it for normal operation. Meanwhile, previously tested units are reused to maintain system availability, creating a rotating testing schedule that achieves complete testing without prolonged system unavailability.
Data Source
AI summary
Apparatuses, systems, and techniques for testing processing units of a computing system are disclosed herein. A request to initiate a testing process for each of a set of processing units is received. A first processing unit includes a first virtual processor executing first operations. A second processing unit includes a second virtual processor executing second operations. Execution of the first operations is transferred from the first virtual processor to the second virtual processor. Execution of the testing process is initiated at the first processing unit while the second virtual processor executes the first and second operations. In response to a detection that the execution of the testing process is completed, execution of the first and second operations is transferred to the first virtual processor. Execution of the testing process is initiated at the second processing unit while the first virtual processor running executes the first and second operations.


