A characterization of instruction-level error derating and its implications for error detection
Authors:
- 1 June 2008
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 15300889,p. 482-491
Abstract
In this work, we characterize a significant source of software derating that we call instruction-level derating. Instruction-level derating encompasses the mechanisms by which computation on incorrect values can result in correct computation. We characterize the instruction-level derating that occurs in the SPEC CPU2000 INT benchmarks, classifying it (by source) into six categories: value comparison, sub-word operations, logical operations, overflow/precision, lucky loads, and dynamically-dead values. We also characterize the temporal nature of this derating, demonstrating that the effects of a fault persist in architectural state long after the last time they are referenced. Finally, we demonstrate how this characterization can be used to avoid unnecessary error recoveries (when a fault will be masked by software anyway) in the context of a dual modular redundant (DMR) architecture.Keywords
This publication has 23 references indexed in Scilit:
- Paceline: Improving Single-Thread Performance in Nanoscale CMPs through Core Overclocking16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007), 2007
- Examining ACE analysis reliability estimates using fault-injection2007
- Microprocessor Sensitivity to Failures: Control vs Execution and Combinational vs Sequential Logic2005
- Parameter variations and impact on circuits and microarchitecture2003
- Razor: a low-power pipeline based on circuit-level timing speculation2003
- Optimization of error detecting codes for the detection of crosstalk originated errors2002
- SimpleScalar: an infrastructure for computer system modelingComputer, 2002
- Slipstream processors2000
- A gate-level simulation environment for alpha-particle-induced transient faultsIEEE Transactions on Computers, 1996
- FERRARI: a flexible software-based fault and error injection systemIEEE Transactions on Computers, 1995