DocumentCode
1565643
Title
Transient-fault recovery for chip multiprocessors
Author
Gomaa, Mohamed ; Scarbrough, Chad ; Vijaykumar, T.N. ; Pomeranz, Irith
Author_Institution
Sch. of Electr. & Comput. Eng., Purdue Univ., West Lafayette, IN, USA
fYear
2003
Firstpage
98
Lastpage
109
Abstract
To address the increasing susceptibility of commodity chip multiprocessors (CMPs) to transient faults, we propose Chip-level Redundantly Threaded multiprocessor with Recovery (CRTR). CRTR extends the previously-proposed CRT for transient-fault detection in CMPs, and the previously-proposed SRTR for transient-fault recovery in SMT. All these schemes achieve fault tolerance by executing and comparing two copies, called leading and trailing threads, of a given application. Previous recovery schemes for SMT do not perform well on CMPs. In a CMP, the leading and trailing threads execute on different processors to achieve load balancing and reduce the probability of a fault corrupting both threads; whereas in an SMT, both threads execute on the same processor. The interprocessor communication required to compare the threads introduces latency and bandwidth problems not present in an SMT. To hide interprocessor latency, CRTR executes the leading thread ahead of the trailing thread by maintaining a long slack, enabled by asymmetric commit. CRTR commits the leading thread before checking and the trailing thread after checking, so that the trailing thread state may be used for recovery. Previous recovery schemes commit both threads after checking, making a long slack suboptimal. To tackle interprocessor bandwidth, CRTR not only increases the bandwidth supply by pipelining the communication paths, but also reduces the bandwidth demand. By reasoning that faults propagate through dependences, previously-proposed dependence based checking elision (DBCE) exploits (true) register dependence chains so that only the value of the last instruction in a chain is checked. However, instructions that mask operand bits may mask faults and limit the use of dependence chains. We propose death-and dependence-based checking elision (DDBCE), which chains a masking instruction only if the source operand of the instruction dies after the instruction. Register deaths ensure that masked faults do not corrupt later computation. Using SPEC2000, we show that CRTR incurs negligible performance loss compared to CRT for interprocessor (one-way) latency as high as 30 cycles, and that the bandwidth requirements of CRT and CRTR with DDBCE are 5.2 and 7.1 bytes/cycle, respectively.
Keywords
fault tolerant computing; instruction sets; microprocessor chips; multiprocessing systems; redundancy; system recovery; CMP; CRTR; Chip level Redundantly Threaded multiprocessor with Recovery; DBCE; DDBCE; Death and Dependence Based Checking Elision; SMT; SPEC2000; SRTR; chip multiprocessor; dependence based checking elision; interprocessor latency; leading thread; trailing thread; transient-fault recovery; Bandwidth; Cathode ray tubes; Delay; Fault tolerance; Load management; Performance loss; Pipeline processing; Registers; Surface-mount technology; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer Architecture, 2003. Proceedings. 30th Annual International Symposium on
ISSN
1063-6897
Print_ISBN
0-7695-1945-8
Type
conf
DOI
10.1109/ISCA.2003.1206992
Filename
1206992
Link To Document