| A compiler optimization to reduce soft errors in register files |
| Full text |
Pdf
(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
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 20, Downloads (12 Months): 88, Citation Count: 0
|
|
|
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
|
Jason A. Blome , Shantanu Gupta , Shuguang Feng , Scott Mahlke, Cost-efficient soft error protection for embedded microprocessors, Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems, October 22-25, 2006, Seoul, Korea
[doi> 10.1145/1176760.1176811]
|
 |
3
|
|
| |
4
|
|
| |
5
|
M. R. Guthaus , J. S. Ringenberg , D. Ernst , T. M. Austin , T. Mudge , R. B. Brown, MiBench: A free, commercially representative embedded benchmark suite, Proceedings of the Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop, p.3-14, December 02-02, 2001
[doi> 10.1109/WWC.2001.15]
|
 |
6
|
Mary Jean Harrold , Gregg Rothermel , Saurabh Sinha, Computation of interprocedural control dependence, Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis, p.11-20, March 02-04, 1998, Clearwater Beach, Florida, United States
|
| |
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
|
Kevin Skadron , Mircea R. Stan , Wei Huang , Sivakumar Velusamy , Karthik Sankaranarayanan , David Tarjan, Temperature-aware microarchitecture, Proceedings of the 30th annual international symposium on Computer architecture, June 09-11, 2003, San Diego, California
|
| |
23
|
Timothy J. Slegel , Robert M. Averill III , Mark A. Check , Bruce C. Giamei , Barry W. Krumm , Christopher A. Krygowski , Wen H. Li , John S. Liptay , John D. MacDougall , Thomas J. McPherson , Jennifer A. Navarro , Eric M. Schwarz , Kevin Shum , Charles F. Webb, IBM's S/390 G5 Microprocessor Design, IEEE Micro, v.19 n.2, p.12-23, March 1999
[doi> 10.1109/40.755464]
|
 |
24
|
|
 |
25
|
|
 |
26
|
|
| |
27
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.4
Processors
Subjects:
Code generation
Additional Classification:
B.
Hardware
B.8
Performance and Reliability
B.8.1
Reliability, Testing, and Fault-Tolerance
C.
Computer Systems Organization
C.3
SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS
Subjects:
Real-time and embedded systems
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.4
Processors
Subjects:
Compilers;
Optimization
General Terms:
Algorithms,
Performance,
Reliability
Keywords:
architectural vulnerability factor,
compilation,
embedded system,
link-time optimization,
register file,
soft error,
static analysis
|