Dissimilar Processor Testing via Bitwise Comparison and Tolerance Thresholds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high-integrity processing platforms, such as flight deck systems, the use of dissimilar commercial-off-the-shelf processors raises concerns about producing identical outputs due to round-off errors and design differences, despite following conventional mathematical standards, making it challenging to ensure identical results without proprietary design data.
Innovation Solution
A method is developed to test dissimilar processors by generating and comparing machine data bits and result bits across multiple processors, determining their operational similarity based on comparison results, using pseudo-random and exhaustive testing inputs to confirm identical outputs with a low error probability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dissimilar COTS processors are used to compute independent outputs, then system reliability is improved through fault detection capability, but output consistency deteriorates due to round-off errors and design differences
Solution Approach 1:
The patent applies preliminary action by conducting exhaustive testing of all possible input combinations before deployment to identify and document all potential output differences between dissimilar processors. This advance characterization allows the system to accommodate variations while maintaining reliability, as the testing framework预先 identifies which differences are acceptable and which indicate faults.
2Measurement precision
If bit-for-bit comparison is used for dissimilar processors, then output precision is improved, but the assumption of identical results becomes invalid due to processor design variations
Solution Approach 1:
The patent changes the comparison parameters by transitioning from bit-for-bit comparison to comparison based on predefined tolerance thresholds. The testing framework identifies acceptable variation ranges for each output parameter, allowing dissimilar processors to produce slightly different results while still meeting system requirements. This parameter transformation resolves the contradiction by making the comparison criterion adaptable to processor variations.
3Reliability
If exhaustive testing of all input combinations is performed, then processor similarity validation is improved, but testing time and computational resources increase significantly
Solution Approach 1:
The patent applies segmentation by dividing the exhaustive testing process into manageable segments: (1) systematic testing of individual input variables, (2) testing of combinations of variables, and (3) final integration testing. This segmented approach allows comprehensive validation while enabling parallel execution and resource management, reducing the overall time loss compared to monolithic exhaustive testing.
4Adaptability or versatility
If dissimilar processors are deployed without detailed design data, then system versatility is improved, but analytical verification of identical results becomes impossible
Solution Approach 1:
The patent creates a virtual copy of the testing and validation framework that can be applied uniformly across different processor types. Instead of requiring proprietary design data, the system uses a standardized testing methodology that generates empirical performance data for each processor configuration. This copied framework enables analytical verification through measured performance characteristics rather than theoretical design analysis.
Data Source
AI summary
A method for testing processors includes generating, from a set of input bits, a first set of machine data bits in a first processor and a second set of machine data bits in a second processor dissimilar to the first processor, and comparing the first and second sets of machine data bits to output a first comparison result. The method also includes generating, from a third set of machine data bits, a first and second sets of machine result bits, and comparing the first and second sets of machine result bits to output a second comparison result. The method further includes generating, from a fourth set of machine data bits, a first and second sets of output bits, and comparing the first and second sets of output bits to output a third comparison result. The method also includes determining whether the first and second processors operate substantially similar to each other based on at least one of the first, second, and third comparison results.


