nZDC: A compiler technique for near Zero Silent Data Corruption
Exponentially growing rate of soft errors makes reliability a major concern in modern processor design. Since software oriented approaches offer flexible protection even in off the shelf processes, they are attractive solutions in protecting against soft errors. Among such approaches, in application instruction duplication based approaches have been widely used and are deemed to be the most effective. Such techniques duplicate the program assembly instructions and periodically check the results to identify possible errors. Even though early reports suggest that these achieve close to 100% protection from soft errors, we find several gaps in the protection. Existing techniques are unable to protect several important microarchitectural components, as well as a significant fraction of instructions, resulting in Silent Data Corruptions (SDCs) This paper presents nZDC or near Zero silent Data Corruption an effective instruction duplication based approach to protect programs from soft errors. Extensive fault injection experiments on almost all the unprotected microarchitectural components in simulated ARM Cortex A53, while executing benchmarks from MiBench suite, demonstrate that nZDC is extremely effective, without incurring any more performance penalty than the state of the art.
2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC)