TY - JOUR
T1 - Cache vulnerability equations for protecting data in embedded processor caches from soft errors
AU - Shrivastava, Aviral
AU - Lee, Jongeun
AU - Jeyapaul, Reiley
PY - 2010/4
Y1 - 2010/4
N2 - Continuous technology scaling has brought us to a point, where transistors have become extremely susceptible to cosmic radiation strikes, or soft errors. Inside the processor, caches are most vulnerable to soft errors, and techniques at various levels of design abstraction, e.g., fabrication, gate design, circuit design, and microarchitecture-level, have been developed to protect data in caches. However, no work has been done to investigate the effect of code transformations on the vulnerability of data in caches. Data is vulnerable to soft errors in the cache only if it will be read by the processor, and not if it will be overwritten. Since code transformations can change the read-write pattern of program variables, they significantly effect the soft error vulnerability of program variables in the cache. We observe that often opportunity exists to significantly reduce the soft error vulnerability of cache data by trading-off a little performance. However, even if one wanted to exploit this trade-off, it is difficult, since there are no efficient techniques to estimate vulnerability of data in caches. To this end, this paper develops efficient static analysis method to estimate program vulnerability in caches, which enables the compiler to exploit the performance-vulnerability trade-offs in applications. Finally, as compared to simulation based estimation, static analysis techniques provide the insights into vulnerability calculations that provide some simple schemes to reduce program vulnerability.
AB - Continuous technology scaling has brought us to a point, where transistors have become extremely susceptible to cosmic radiation strikes, or soft errors. Inside the processor, caches are most vulnerable to soft errors, and techniques at various levels of design abstraction, e.g., fabrication, gate design, circuit design, and microarchitecture-level, have been developed to protect data in caches. However, no work has been done to investigate the effect of code transformations on the vulnerability of data in caches. Data is vulnerable to soft errors in the cache only if it will be read by the processor, and not if it will be overwritten. Since code transformations can change the read-write pattern of program variables, they significantly effect the soft error vulnerability of program variables in the cache. We observe that often opportunity exists to significantly reduce the soft error vulnerability of cache data by trading-off a little performance. However, even if one wanted to exploit this trade-off, it is difficult, since there are no efficient techniques to estimate vulnerability of data in caches. To this end, this paper develops efficient static analysis method to estimate program vulnerability in caches, which enables the compiler to exploit the performance-vulnerability trade-offs in applications. Finally, as compared to simulation based estimation, static analysis techniques provide the insights into vulnerability calculations that provide some simple schemes to reduce program vulnerability.
KW - Cache vulnerability
KW - Code transformation
KW - Compiler technique
KW - Embedded processors
KW - Soft errors
KW - Static analysis
UR - http://www.scopus.com/inward/record.url?scp=77951237912&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77951237912&partnerID=8YFLogxK
U2 - 10.1145/1755951.1755910
DO - 10.1145/1755951.1755910
M3 - Article
AN - SCOPUS:77951237912
SN - 1523-2867
VL - 45
SP - 143
EP - 152
JO - ACM SIGPLAN Notices
JF - ACM SIGPLAN Notices
IS - 4
ER -