Fault-detecting computer system
AssigneeHewlett-Packard Development Company, L.P.
InventorsBenjamin Daniel Osecky, Blaine Douglas Gaither
Life of this patent
Estimating the term…
Abstract
A method for detecting computational errors in a digital processor executing a program. Initially, the program is divided into computation segments, and source code for at least one of the segments is compiled to generate two redundant code sections. Comparison code is generated for comparing results produced by execution of the two code sections. Each of the code sections is then executed in a different computational domain to generate respective results. The results of the computation are executed to alter further flow of the program only if the respective results are identical.
Claims36
A method for detecting computational errors in a system comprising a digital processor executing a program, the method comprising steps of:
- separating the program in computation segments;
- compiling source code for at least one of the segments to generate two code sections, one of which is functionally redundant with respect to the other;
- and
- generating comparison code for comparing results produced by execution of the two code sections;
- wherein the processor is configured to:
- execute each of the code sections in a different computational domain to generate respective results;
- compare the respective results using the comparison code to detect said computational errors;
- and
- execute one of the code sections to alter further flow of execution of the program only if the respective results are identical.
A system for detecting computational errors in a digital processor executing a program, the system comprising a compiler executing on a processor configured to:
- separate the program into computation segments;
- compile source code for at least one of the computation segments to generate output comprising two redundant code sections, each of which is configured to execute in a different computational domain;
- and generate comparison code for
- comparing respective results produced by execution of the two code sections;
- indicate that one of said computational errors has been detected when the respective results are different.
A system for detecting computational errors in a digital processor executing a program, the system comprising;
- means for compiling source code for at least part of the program to generate two code sections, one of which is functionally redundant with respect to the other;
- means for generating comparison code for comparing results produced by execution of the two code sections;
- wherein each of the code sections is executed by the processor in a different computational domain to generate respective results;
- means for comparing the respective results using the comparison code to detect said computational errors;
- and
- means for performing error handling, if a discrepancy between the respective results is found.
Computer product code in a system comprising instructions, stored on a computer-readable storage media, wherein the instructions, when executed by a digital processor, perform steps for detecting computational errors in a the digital processor executing a program, comprising:
- compiling source code for at least part of the program to generate two code sections, one of which is functionally redundant with respect to the other;
- generating comparison code for comparing results produced by execution of the two code sections;
- wherein the processor is configured to:
- execute each of the code sections in a different computational domain to generate respective results;
- compare the respective results using the comparison code to detect said computational errors;
- an perform error handling, if a discrepancy between the respective results is found.
Dependencies are inferred from the claim text.