Shoestring

Aggressive technology scaling provides designers with an ever increasing budget of cheaper and faster transistors. Unfortunately, this trend is accompanied by a decline in individual device reliability as transistors become increasingly susceptible to soft errors. We are quickly approaching a new era where resilience to soft errors is no longer a luxury that can be reserved for just processors in high-reliability, mission-critical domains. Even processors used in mainstream computing will soon require protection. However, due to tighter profit margins, reliable operation for these devices must come at little or no cost.

Shoestring is a minimally invasive software solution that provides high soft error coverage with very little overhead, enabling its deployment even in commodity processors with "shoestring" reliability budgets. Leveraging intelligent analysis at compile time, and exploiting low-cost, symptom-based error detection, Shoestring is able to focus its efforts on protecting statistically-vulnerable portions of program code. Shoestring effectively applies instruction duplication to protect only those segments of code that, when subjected to a soft error, are likely to result in user-visible faults without first exhibiting symptomatic behavior. Shoestring is able to recover from an additional 33.9% of soft errors that are undetected by a symptom-only approach, achieving an overall user-visible failure rate of 1.6%. This reliability improvement comes at a modest performance overhead of 15.8%.

Additional Work

In an effort to improve upon Shoestring, a profile-based software-only application analysis and transformation solution to detect soft-errors has been underway. The goal of this work is to develop a low cost solution which can be deployed for off-the-shelf commodity processors. The solution works by intelligently duplicating instructions which are likely to affect the program output. A comparison instruction is added to compare the results of the original and the duplicated instruction to detect any mismatch in computation and control flow of the program. We have developed compiler techniques to utilize memory profiling information and value profiling to intelligently duplicate critical instructions. The solution presented in this work is able to achieve a similar level of fault coverage of unmasked transient faults in comparison to Shoestring at 50% of the performance overhead.


Page last modified January 22, 2016.