Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Software-based register file vulnerability reduction for embedded processors

Published: 06 December 2013 Publication History

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.
[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.
[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.
[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.
[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.
[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.
[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.
[8]
Kernighan, B. and Lin, S. 1970. An efficient heuristic procedure for partitioning graphs. Bell Syst. Tech. J. 49, 291--307.
[9]
Lee, J. and Shrivastava, A. 2009. A compiler optimization to reduce soft errors in register files. ACM SIGPLAN Noti. 44, 7, 41--49.
[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.
[11]
Lee, J. and Shrivastava, A. 2011. Static analysis of register file vulnerability. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 30, 607--616.
[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.
[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.
[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.
[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.
[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.
[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.
[18]
Oh, N., Shirvani, P. P., and Mccluskey, E. J. 2002a. Control-flow checking by software signatures. IEEE Trans. Reliab. 51, 111--122.
[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.
[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.
[21]
Walcott, K. R., Humphreys, G., and Gurumurthi, S. 2007. Dynamic prediction of architectural vulnerability from microarchitectural state. SIGARCH CA News 2, 516--527.
[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.
[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.
[24]
Yeager, K. C. 1996. The MIPS R10000 superscalar microprocessor. IEEE Micro.

Cited By

View all
  • (2021)An Ultra-Low-Cost Soft Error Protection Scheme Based on the Selection of Critical VariablesElectronics10.3390/electronics1017210110:17(2101)Online publication date: 30-Aug-2021
  • (2018)Understanding the Effects of Lecturer Intervention on Computer Science Student BehaviourProceedings of the 2017 ITiCSE Conference on Working Group Reports10.1145/3174781.3174787(105-124)Online publication date: 30-Jan-2018
  • (2017)RSVP: Soft Error Resilient Power Savings at Near-Threshold Voltage Using Register Vulnerability2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W)10.1109/DSN-W.2017.19(91-98)Online publication date: Jun-2017
  • Show More Cited By

Index Terms

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

        Recommendations

        Comments

        Please enable JavaScript to view thecomments powered by Disqus.

        Information & Contributors

        Information

        Published In

        cover image ACM Transactions on Embedded Computing Systems
        ACM Transactions on Embedded Computing Systems  Volume 13, Issue 1s
        Special Section on ESTIMedia'10
        November 2013
        354 pages
        ISSN:1539-9087
        EISSN:1558-3465
        DOI:10.1145/2536747
        Issue’s Table of Contents
        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Journal Family

        Publication History

        Published: 06 December 2013
        Accepted: 01 January 2013
        Revised: 01 October 2012
        Received: 01 February 2012
        Published in TECS Volume 13, Issue 1s

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. Soft error
        2. compilation
        3. embedded system
        4. link-time optimization
        5. register file
        6. static analysis
        7. vulnerability

        Qualifiers

        • Research-article
        • Research
        • Refereed

        Funding Sources

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)2
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 10 Nov 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2021)An Ultra-Low-Cost Soft Error Protection Scheme Based on the Selection of Critical VariablesElectronics10.3390/electronics1017210110:17(2101)Online publication date: 30-Aug-2021
        • (2018)Understanding the Effects of Lecturer Intervention on Computer Science Student BehaviourProceedings of the 2017 ITiCSE Conference on Working Group Reports10.1145/3174781.3174787(105-124)Online publication date: 30-Jan-2018
        • (2017)RSVP: Soft Error Resilient Power Savings at Near-Threshold Voltage Using Register Vulnerability2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W)10.1109/DSN-W.2017.19(91-98)Online publication date: Jun-2017
        • (2016)A multi-institutional study of peer instruction in introductory computingACM Inroads10.1145/29381427:2(76-81)Online publication date: 16-May-2016
        • (2016)Results from a Survey of Faculty Adoption of Process Oriented Guided Inquiry Learning (POGIL) in Computer ScienceProceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education10.1145/2899415.2899471(186-191)Online publication date: 11-Jul-2016
        • (2016)A Multi-institutional Study of Peer Instruction in Introductory ComputingProceedings of the 47th ACM Technical Symposium on Computing Science Education10.1145/2839509.2844642(358-363)Online publication date: 17-Feb-2016
        • (2015)New Horizons in the Assessment of Computer Science at School and BeyondProceedings of the 2015 ITiCSE on Working Group Reports10.1145/2858796.2858801(117-147)Online publication date: 4-Jul-2015
        • (2015)Using the Readiness Assurance Process and Metacognition in an Operating Systems CourseProceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education10.1145/2729094.2742594(183-188)Online publication date: 22-Jun-2015
        • (2015)Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science EducationundefinedOnline publication date: 22-Jun-2015
        • (2014)In-Flow Peer ReviewProceedings of the Working Group Reports of the 2014 on Innovation & Technology in Computer Science Education Conference10.1145/2713609.2713612(59-79)Online publication date: 23-Jun-2014
        • Show More Cited By

        View Options

        Get Access

        Login options

        Full Access

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media