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.
- Todd Austin. SimpleScalar LLC. URL http://www.simplescalar.com/.Google Scholar
- Jason A. Blome, Shantanu Gupta, Shuguang Feng, and Scott Mahlke. Cost-efficient soft error protection for embedded microprocessors. In CASES '06, pages 421--431, 2006. Google Scholar
Digital Library
- Kaiyu Chen, Sharad Malik, and David I. August. Retargetable static timing analysis for embedded software. In ISSS '01, pages 39--44, 2001. Google Scholar
Digital Library
- M. Garey and D. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, 1979. Google Scholar
Digital Library
- M. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, and R. B. Brown. Mibench: A free, commercially representative embedded benchmark suite. In IWWC, pages 3--14, 2001. Google Scholar
Digital Library
- M. Harrold, G. Rothermel, and S. Sinha. Computation of interprocedural control dependence. In Proc. ACMSIGSOFT Int'l Symp. on Software Testing and Analysis, pages 11--20, 1998. Google Scholar
Digital Library
- ITRS. International technology roadmap for semiconductors 2007 executive summary. URL http://www.itrs.net/.Google Scholar
- M. Kandala, W. Zhang, and L. Yang. An area-efficient approach to improving register file reliability against transient errors. In Proc. Int'l Conf. on Advanced Information Networking and Applications Workshops, pages 798--803, 2007. Google Scholar
Digital Library
- B. Kernighan and S. Lin. An efficient heuristic procedure for partitioning graphs. Bell System Tech. Journal, 49:291--307, February 1970.Google Scholar
- Israel Koren and C.Mani Krishna. Fault-Tolerant Systems. Morgan Kaufmann Publishers, 2007. Google Scholar
Digital Library
- Jongeun Lee and Aviral Shrivastava. Compiler-managed register file protection for energy-efficient soft error reduction. In Proceedings of Asia and South Pacific Design Automation Conference, pages 618--623, 2009a. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Xiaodong Li, Sarita V. Adve, Pradip Bose, and Jude A. Rivers. Online estimation of architectural vulnerability factor for soft errors. SIGARCH Comput. Archit. News, 36(3):341--352, 2008. Google Scholar
Digital Library
- G. Memik, M. H. Chowdhury, A. Mallik, and Y. I. Ismail. Engineering over-clocking: reliability-performance trade-offs for high-performance register files. Proc. Int'l Conf. on Dependable Systems and Networks, 2005. Google Scholar
Digital Library
- Subhasish Mitra, Norbert Seifert, Ming Zhang, Quan Shi, and Kee Sup Kim. Robust system design with built-in soft-error resilience. IEEE Computer, 38(2):43--52, 2005. Google Scholar
Digital Library
- Pablo Montesinos, Wei Liu, and Josep Torrellas. Using register lifetime predictions to protect register files against soft errors. In DSN '07, pages 286---296, 2007. Google Scholar
Digital Library
- Shubhendu S. Mukherjee, Christopher Weaver, Joel Emer, Steven K. Reinhardt, and Todd Austin. A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor. In Proc. International Symposium on Microarchitecture, Dec 2003. Google Scholar
Digital Library
- Nahmsuk Oh, Philip P. Shirvani, and Edward J. McCluskey. Control-flow checking by software signatures. IEEE Transactions on Reliability, 51:111--122, 2002a.Google Scholar
Cross Ref
- 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.Google Scholar
Cross Ref
- George A. Reis, Jonathan Chang, Neil Vachharajani, Ram Rangan, and David I. August. SWIFT: Software implemented fault tolerance. In Int'l Symp. Code Generation and Optimization, pages 243--254, 2005. Google Scholar
Digital Library
- Aviral Shrivastava, Eugene Earlie, Nikil D. Dutt, and Alexandru Nicolau. Operation tables for scheduling in the presence of incomplete bypassing. In CODES+ISSS, pages 194--199, 2004. Google Scholar
Digital Library
- K. Skadron, M. R. Stan, W. Huang, S. Velusamy, K. Sankaranarayanan, and D. Tarjan. Temperature-aware microarchitecture. In Proc. Int'l Symp. on Computer Architecture, pages 2--13, 2003. Google Scholar
Digital Library
- Timothy J. Slegel, Robert M. III Averill, 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, and Charles F.Webb. IBM's S/390 G5 microprocessor design. IEEE Micro, 19(2):12--23, 1999. Google Scholar
Digital Library
- Kristen R. Walcott, Greg Humphreys, and Sudhanva Gurumurthi. Dynamic prediction of architectural vulnerability from microarchitectural state. SIGARCH CA News, (2):516--527, 2007. Google Scholar
Digital Library
- Youfeng Wu and James Larus. Static branch frequency and program profile analysis. In MICRO 27, pages 1--11, 1994. Google Scholar
Digital Library
- Jun Yan and Wei Zhang. Compiler-guided register reliability improvement against soft errors. In EMSOFT '05, pages 203--209, 2005. Google Scholar
Digital Library
- K. C. Yeager. TheMIPS R10000 superscalar microprocessor. IEEE Micro, 1996. Google Scholar
Digital Library
Index Terms
A compiler optimization to reduce soft errors in register files
Recommendations
Compiler-guided register reliability improvement against soft errors
EMSOFT '05: Proceedings of the 5th ACM international conference on Embedded softwareWith the scaling of technology, transient errors caused by external particle strikes have become a critical challenge for microprocessor design. As embedded processors are widely used in reliability-sensitive environments, it becomes increasingly ...
A compiler optimization to reduce soft errors in register files
LCTES '09: Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systemsRegister 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 ...
Software-based register file vulnerability reduction for embedded processors
Special Section on ESTIMedia'10Register 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 ...







Comments