DocumentCode
970906
Title
Thread Relocation: A Runtime Architecture for Tolerating Hard Errors in Chip Multiprocessors
Author
Khan, Omer ; Kundu, Sandip
Author_Institution
Univ. of Massachusetts Amherst, Framingham, MA, USA
Volume
59
Issue
5
fYear
2010
fDate
5/1/2010 12:00:00 AM
Firstpage
651
Lastpage
665
Abstract
As the semiconductor industry continues its relentless push for nano-CMOS technologies, device reliability and occurrence of hard errors have emerged as a dominant concern in multicores. Although regular memory structures are protected against hard errors using error correcting codes or spare rows and columns, many of the structures within the cores are left unprotected. Even if the location of hard errors is known a priori, disabling faulty cores results in a substantial performance loss. Several proposed techniques use microarchitectural redundancy to allow defective cores to continue operation. These techniques are attractive, but limited due to either added cost of additional redundancy that offers no benefits to an error-free core, or limited coverage, due to the natural redundancy offered by the microarchitecture. We propose to exploit the intercore redundancy in chip multiprocessors for hard-error tolerance. Our scheme combines hardware reconfiguration to ensure reduced functionality of cores, and a runtime layer of software (microvisor) to manage mapping of threads to cores. Microvisor observes the changing phase behavior of threads and initiates thread relocation to match the computational demands of threads to the capabilities of cores. Our results show that in the presence of degraded cores, microvisor mitigates performance losses by an average of two percent.
Keywords
computer architecture; error correction codes; hardware-software codesign; microprocessor chips; reliability; chip multiprocessors; device reliability; error correcting codes; hard-error tolerance; microarchitectural redundancy; nano-CMOS technologies; redundancy; runtime architecture; semiconductor industry; thread relocation; tolerating hard errors; Electronics industry; Error correction codes; Microarchitecture; Multicore processing; Nanoscale devices; Performance loss; Redundancy; Runtime; Semiconductor device reliability; Yarn; Chip multiprocessor (CMP); hard-error tolerance; hardware/software codesign; hypervisor; virtualization.;
fLanguage
English
Journal_Title
Computers, IEEE Transactions on
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/TC.2009.76
Filename
5010431
Link To Document