skip to main content
research-article

Software-based register file vulnerability reduction for embedded processors

Published:06 December 2013Publication 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. Software approaches would be ideal in this case, but previous approaches based on instruction scheduling are only moderately effective due to local scope. In this article we present a compiler approach, based on interprocedural program 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. Further we present an iterative optimization method based on Kernighan-Lin's graph partitioning algorithm. Our experiments demonstrate that our proposed techniques can reduce the vulnerability of a RF by 33 ∼ 37% on average and up to 66%, with a small 2% increase in runtime. In addition, our overhead reduction optimization can effectively reduce the code size overhead, by more than 40% on average, to a mere 5 ∼ 6%, compared to highly optimized binaries.

References

  1. Blome, J. A., Gupta, S., Feng, S., and Mahlke, S. 2006. Cost-efficient soft error protection for embedded microprocessors. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES'06). 421--431. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Chen, K., Malik, S., and August, D. I. 2001. Retargetable static timing analysis for embedded software. In Proceedings of the 14th International Symposium on System Synthesis (ISSS'01). 39--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dodd, P. and Massengill, L. 2003. Basic mechanisms and modeling of single-event upset in digital microelectronics. IEEE Trans. Nucl. Sci. 50, 583--602.Google ScholarGoogle ScholarCross RefCross Ref
  4. Fazeli, M., Ahmadian, S. N., and Miremadi, S. G. 2008. A low energy soft error-tolerant register file architecture for embedded processors. In Proceedings of the 11th IEEE High Assurance Systems Engineering Symposium. IEEE, 109--116. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Guthaus, M., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, T., and Brown, R. B. 2001. Mibench: A free, commercially representative embedded benchmark suite. In Proceedings of the International Workshop on Workload Characterization. 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Harrold, M., Rothermel, G., and Sinha, S. 1998. Computation of interprocedural control dependence. In Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis. 11--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Kandala, M., Zhang, W., and Yang, L. 2007. An area-efficient approach to improving register file reliability against transient errors. In Proceedings of the International Conference on Advanced Information Networking and Applications Workshops. 798--803. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kernighan, B. and Lin, S. 1970. An efficient heuristic procedure for partitioning graphs. Bell Syst. Tech. J. 49, 291--307.Google ScholarGoogle ScholarCross RefCross Ref
  9. Lee, J. and Shrivastava, A. 2009. A compiler optimization to reduce soft errors in register files. ACM SIGPLAN Noti. 44, 7, 41--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Lee, J. and Shrivastava, A. 2010. A compiler-microarchitecture hybrid approach to soft error reduction for register files. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 29, 7, 1018--1027. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lee, J. and Shrivastava, A. 2011. Static analysis of register file vulnerability. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 30, 607--616. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Li, X., Adve, S. V., Bose, P., and Rivers, J. A. 2008. Online estimation of architectural vulnerability factor for soft errors. SIGARCH Comput. Archit. News 36, 3, 341--352. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Memik, G., Chowdhury, M. H., Mallik, A., and Ismail, Y. I. 2005. Engineering over-clocking: reliability-performance trade-offs for high-performance register files. In Proceedings of the International Conference on Dependable Systems and Networks. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Mitra, S., Seifert, N., Zhang, M., Shi, Q., and Kim, K. S. 2005. Robust system design with built-in soft-error resilience. IEEE Computer 38, 2, 43--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Montesinos, P., Liu, W., and Torrellas, J. 2007. Using register lifetime predictions to protect register files against soft errors. In Proceedings of the International Conference on Dependable Systems and Networks (DSN'07). 286--296. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mukherjee, S. S., Weaver, C., Emer, J., Reinhardt, S. K., and Austin, T. 2003. A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor. In Proceedings of the International Symposium on Microarchitecture. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Naseer, R., Bhatti, R. Z., and Draper, J. 2006. Analysis of soft error mitigation techniques for register files in IBM cu-08 90nm technology. In Proceedings of the 49th IEEE International Midwest Symposium on Circuits and Systems (MWSCAS'06). 515--519.Google ScholarGoogle Scholar
  18. Oh, N., Shirvani, P. P., and Mccluskey, E. J. 2002a. Control-flow checking by software signatures. IEEE Trans. Reliab. 51, 111--122.Google ScholarGoogle ScholarCross RefCross Ref
  19. Oh, N., Shirvani, P. P., and Mccluskey, E. J. 2002b. Error detection by duplicated instructions in super-scalar processors. IEEE Trans. Reliab. 51, 63--75.Google ScholarGoogle ScholarCross RefCross Ref
  20. Reis, G. A., Chang, J., Vachharajani, N., Rangan, R., and August, D. I. 2005. SWIFT: Software implemented fault tolerance. In Proceedings of the International Symposium on Code Generation and Optimization. 243--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Walcott, K. R., Humphreys, G., and Gurumurthi, S. 2007. Dynamic prediction of architectural vulnerability from microarchitectural state. SIGARCH CA News 2, 516--527. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Wu, Y. and Larus, J. 1994. Static branch frequency and program profile analysis. In Proceedings of the Annual ACM/IEEE International Symposium on Microarchitecture. 1--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Yan, J. and Zhang, W. 2005. Compiler-guided register reliability improvement against soft errors. In Proceedings of the International Conference on Embedded Software (EMSOFT'05). 203--209. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Yeager, K. C. 1996. The MIPS R10000 superscalar microprocessor. IEEE Micro. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Software-based register file vulnerability reduction for embedded processors

        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!