skip to main content
research-article

A compiler optimization to reduce soft errors in register files

Published:19 June 2009Publication History
Skip Abstract Section

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

  1. Todd Austin. SimpleScalar LLC. URL http://www.simplescalar.com/.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Kaiyu Chen, Sharad Malik, and David I. August. Retargetable static timing analysis for embedded software. In ISSS '01, pages 39--44, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Garey and D. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. ITRS. International technology roadmap for semiconductors 2007 executive summary. URL http://www.itrs.net/.Google ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Kernighan and S. Lin. An efficient heuristic procedure for partitioning graphs. Bell System Tech. Journal, 49:291--307, February 1970.Google ScholarGoogle Scholar
  10. Israel Koren and C.Mani Krishna. Fault-Tolerant Systems. Morgan Kaufmann Publishers, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Nahmsuk Oh, Philip P. Shirvani, and Edward J. McCluskey. Control-flow checking by software signatures. IEEE Transactions on Reliability, 51:111--122, 2002a.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Kristen R. Walcott, Greg Humphreys, and Sudhanva Gurumurthi. Dynamic prediction of architectural vulnerability from microarchitectural state. SIGARCH CA News, (2):516--527, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Youfeng Wu and James Larus. Static branch frequency and program profile analysis. In MICRO 27, pages 1--11, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Jun Yan and Wei Zhang. Compiler-guided register reliability improvement against soft errors. In EMSOFT '05, pages 203--209, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. K. C. Yeager. TheMIPS R10000 superscalar microprocessor. IEEE Micro, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A compiler optimization to reduce soft errors in register files

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!