ACM Home Page
Please provide us with feedback. Feedback
A compiler optimization to reduce soft errors in register files
Full text PdfPdf (611 KB)
Source
Language, Compiler and Tool Support for Embedded Systems archive
Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems table of contents
Dublin, Ireland
SESSION: Programming languages and compiler table of contents
Pages 41-49  
Year of Publication: 2009
ISBN:978-1-60558-356-3
Also published in ...
Authors
Jongeun Lee  Arizona State University, Tempe, AZ, USA
Aviral Shrivastava  Arizona State University, Tempe, AZ, USA
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 20,   Downloads (12 Months): 88,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542452.1542459
What is a DOI?

ABSTRACT

Register file (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes to protect the RF are prohibitive not only because RF is often in the timing critical path of the processor, but also since it is one of the hottest blocks on the chip, and therefore adding any extra circuitry to it is not desirable. Pure software approaches would be ideal in this case, but previous approaches that are based on program duplication have very significant runtime overheads, and others based on instruction scheduling are only moderately effective due to local scope. We show that the problem of protecting registers inherently requires inter-procedural analysis, and intra-procedural optimization are ineffective. This paper presents a pure compiler approach, based on inter-procedural code analysis to reduce the vulnerability of registers by temporarily writing live variables to protected memory. We formulate the problem as an integer linear programming problem and also present a very efficient heuristic algorithm. Our experiments demonstrate that our proposed technique can reduce the vulnerability of the RF by 33 ~ 37% on average and up to 66%, with a small 2% increase in runtime. In addition, our overhead reduction optimizations can effectively reduce the code size overhead, by more than 40% on average, to a mere 5 ~ 6%, as compared to highly optimized binaries.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Todd Austin. SimpleScalar LLC. URL http://www.simplescalar.com/.
2
3
 
4
 
5
6
 
7
ITRS. International technology roadmap for semiconductors 2007 executive summary. URL http://www.itrs.net/.
 
8
 
9
B. Kernighan and S. Lin. An efficient heuristic procedure for partitioning graphs. Bell System Tech. Journal, 49:291--307, February 1970.
 
10
 
11
 
12
Jongeun Lee and Aviral Shrivastava. Static analysis to mitigate soft errors in register files. In Proc. Int'l Conf. Design Automation and Test in Europe (DATE), 2009b.
13
 
14
 
15
 
16
 
17
 
18
Nahmsuk Oh, Philip P. Shirvani, and Edward J. McCluskey. Control-flow checking by software signatures. IEEE Transactions on Reliability, 51:111--122, 2002a.
 
19
Nahmsuk Oh, Philip P. Shirvani, and Edward J. McCluskey. Error detection by duplicated instructions in super-scalar processors. IEEE Transactions on Reliability, 51:63--75, 2002b.
 
20
21
22
 
23
24
25
26
 
27

Collaborative Colleagues:
Jongeun Lee: colleagues
Aviral Shrivastava: colleagues