Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Cache vulnerability equations for protecting data in embedded processor caches from soft errors

Published: 13 April 2010 Publication History

Abstract

Continuous technology scaling has brought us to a point, where transistors have become extremely susceptible to cosmic radiation strikes, or soft errors. Inside the processor, caches are most vulnerable to soft errors, and techniques at various levels of design abstraction, e.g., fabrication, gate design, circuit design, and microarchitecture-level, have been developed to protect data in caches. However, no work has been done to investigate the effect of code transformations on the vulnerability of data in caches. Data is vulnerable to soft errors in the cache only if it will be read by the processor, and not if it will be overwritten. Since code transformations can change the read-write pattern of program variables, they significantly effect the soft error vulnerability of program variables in the cache. We observe that often opportunity exists to significantly reduce the soft error vulnerability of cache data by trading-off a little performance. However, even if one wanted to exploit this trade-off, it is difficult, since there are no efficient techniques to estimate vulnerability of data in caches. To this end, this paper develops efficient static analysis method to estimate program vulnerability in caches, which enables the compiler to exploit the performance-vulnerability trade-offs in applications. Finally, as compared to simulation based estimation, static analysis techniques provide the insights into vulnerability calculations that provide some simple schemes to reduce program vulnerability.

References

[1]
A. Agarwal, B. Paul, and K. Roy. Process variation in nano-scale memories: failure analysis and process tolerant architecture. pages 353--356, Oct. 2004.
[2]
R. Baumann, T. Hossain, S. Murata, and H. Kitagawa. Boron compounds as a dominant source of alpha particles in semiconductor devices. In Anual proceedings of IEEE symposium on Reliability Physics, pages 297--302, 1995.
[3]
J. A. Blome, S. Gupta, S. Feng, and S. Mahlke. Cost-efficient soft error protection for embedded microprocessors. In CASES '06: Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems, pages 421--431, New York, NY, USA, 2006. ACM Press. ISBN 1-59593-543-6.
[4]
D. Burger and T. M. Austin. The simplescalar tool set, version 2.0. SIGARCH Comput. Archit. News, 25(3):13--25, 1997. ISSN 0163-5964.
[5]
Y. Cai, M. T. Schmitz, A. Ejlali, B. M. Al-Hashimi, and S. M. Reddy. Cache size selection for performance, energy and reliability of timeconstrained systems. In ASP-DAC '06: Proceedings of the 2006 Asia and South Pacific Design Automation Conference, pages 923--928, Piscataway, NJ, USA, 2006. IEEE Press. ISBN 0-7803-9451-8.
[6]
E. Cannon, D. Reinhardt, M. Gordon, and P. Makowenskyj. SRAM SER in 90, 130 and 180 nm bulk and SOI technologies. Reliability Physics Symposium Proceedings, 2004. 42nd Annual. 2004 IEEE International, pages 300--304, April 2004.
[7]
S. Chatterjee, E. Parker, P. J. Hanlon, and A. R. Lebeck. Exact analysis of the cache behavior of nested loops. SIGPLAN Notices, 36(5):286--297, 2001. ISSN 0362-1340.
[8]
L. Chen and A. Avizienis. N-version programming: A fault-tolerance approach to reliability of software operation. In Twenty-Fifth International Symposium on Fault-Tolerant Computing, pages 113--119, Jun 1995.
[9]
J. Gaisler. Evaluation of a 32-bit microprocessor with builtin concurrent error-detection. Fault-Tolerant Computing, International Symposium on, 0:42, 1997. ISSN 0731-3071.
[10]
S. Ghosh, M. Martonosi, and S. Malik. Cache miss equations: an analytical representation of cache misses. In ICS'97, pages 317--324, 1997. ISBN 0-89791-902-5.
[11]
M. A. Gomaa and T. N. Vijaykumar. Opportunistic transient-fault detection. SIGARCH Comput. Archit. News, 33(2):172--183, 2005. ISSN 0163-5964.
[12]
L. Hung, M. Goshima, and S. Sakai. Mitigating soft errors in highly associative cache with cam-based tag. pages 342--347, Oct. 2005.
[13]
S. Kayali. Reliability considerations for advanced microelectronics. In PRDC '00: Proceedings of the 2000 Pacific Rim International Symposium on Dependable Computing, page 99, Washington, DC, USA, 2000. IEEE Computer Society. ISBN 0-7695-0975-4.
[14]
J. Lee and A. Shrivastava. Static analysis to mitigate soft errors in register files. In Design, Automation and Test in Europe Conference and Exhibition, 2009. DATE '09., pages 1367--1372, April 2009.
[15]
K. Lee, A. Shrivastava, I. Issenin, N. Dutt, and N. Venkatasubramanian. Mitigating soft error failures for multimedia applications by selective data protection. In CASES '06: Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems, pages 411--420, New York, NY, USA, 2006. ACM. ISBN 1-59593-543-6.
[16]
J.-F. Li and Y.-J. Huang. An error detection and correction scheme for rams with partial-write function. In Memory Technology, Design, and Testing, 2005. MTDT 2005. 2005 IEEE International Workshop on, pages 115--120, Aug. 2005.
[17]
P. Liden, P. Dahlgren, R. Johansson, and J. Karlsson. On latching probability of particle induced transients in combinational networks. In Fault-Tolerant Computing, 1994. FTCS-24. Digest of Papers., Twenty-Fourth International Symposium on, pages 340--349, Jun 1994.
[18]
S. Mitra, N. Seifert, M. Zhang, Q. Shi, and K. S. Kim. Robust system design with built-in soft-error resilience. Computer, 38(2):43--52, 2005. ISSN 0018-9162.
[19]
S. Mukherjee, C. T. Weaver, J. Emer, S. K. Reinhardt, and T. Austin. Measuring architectural vulnerability factors. IEEE Micro, 23(6):70--75, 2003. ISSN 0272-1732.
[20]
S. S. Mukherjee, J. Emer, T. Fossum, and S. K. Reinhardt. Cache scrubbing in microprocessors: Myth or necessity? Pacific Rim International Symposium on Dependable Computing, IEEE, 0:37-42, 2004.
[21]
A. Nourivand, A. Al-Khalili, and Y. Savaria. Aggressive leakage reduction of srams using error checking and correcting (ecc) techniques. pages 426--429, Aug. 2008.
[22]
N. Oh, S. Mitra, and E. McCluskey. Ed4i: error detection by diverse data and duplicated instructions. Computers, IEEE Transactions on, 51(2):180--199, Feb 2002. ISSN 0018-9340.
[23]
R. Phelan. Addressing soft errors in armcore-based designs. Technical report, ARM, 2003.
[24]
polylib. URL http://icps.u-strasbg.fr/polylib. PolyLib - A library of polyhedral functions.
[25]
D. K. Pradhan, editor. Fault-tolerant computer system design. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1996. ISBN 0-13-057887-8.
[26]
W. Pugh. The Omega test: a fast and practical integer programming algorithm for dependence analysis. In Supercomputing '91: Proceedings of the 1991 ACM/IEEE conference on Supercomputing, pages 4--13, New York, NY, USA, 1991. ACM. ISBN 0-89791-459-7.
[27]
W. Pugh. Counting solutions to Presburger formulas: how and why. SIGPLAN Notices, 29(6):121--134, 1994. ISSN 0362-1340.
[28]
G. A. Reis, J. Chang, N. Vachharajani, R. Rangan, and D. I. August. Swift: Software implemented fault tolerance. In CGO'05: Proceedings of the international symposium on Code generation and optimization, pages 243--254, Washington, DC, USA, 2005. IEEE Computer Society. ISBN 0-7695-2298-X.
[29]
L. R. Rockett Jr. Simulated SEU hardened scaled CMOS SRAM cell design using gated resistors. Nuclear Science, IEEE Transactions on, 39(5):1532--1541, Oct 1992. ISSN 0018-9499.
[30]
K. Shepard, V. Narayanan, and R. Rose. Harmony: static noise analysis of deep submicron digital integrated circuits. IEEE Trans. on CAD, (8):1132--1150, 1999.
[31]
P. Shivakumar, M. Kistler, S. W. Keckler, D. Burger, and L. Alvisi. Modeling the effect of technology trends on the soft error rate of combinational logic. Dependable Systems and Networks, International Conference on, 0:389, 2002.
[32]
V. Sridharan, H. Asadi, M. B. Tahoori, and D. Kaeli. Reducing data cache susceptibility to soft errors. IEEE Transactions on Dependable and Secure Computing, 3(4):353--364, 2006.
[33]
S. Verdoolaege, R. Seghir, K. Beyls, V. Loechner, andM. Bruynooghe. Counting integer points in parametric polytopes using Barvinok's rational function. Algorithmica, 48(1):37--66, 2007.
[34]
M. E. Wolf and M. S. Lam. A data locality optimizing algorithm. In PLDI '91, pages 30--44, 1991. ISBN 0-89791-428-7.
[35]
J. Yan and W. Zhang. Compiler-guided register reliability improvement against soft errors. In EMSOFT '05, pages 203--209, 2005. ISBN 1-59593-091-4.

Cited By

View all
  • (2015)Performance and Energy Efficient Asymmetrically Reliable Caches for Multicore ArchitecturesProceedings of the 2015 IEEE International Parallel and Distributed Processing Symposium Workshop10.1109/IPDPSW.2015.113(1025-1032)Online publication date: 25-May-2015
  • (2013)Dynamic code duplication with vulnerability awareness for soft error detection on VLIW architecturesACM Transactions on Architecture and Code Optimization10.1145/2400682.24007079:4(1-24)Online publication date: 20-Jan-2013
  • (2012)PICAACM Transactions on Embedded Computing Systems10.1145/2220336.222033811:2(1-27)Online publication date: 1-Jul-2012
  • Show More Cited By

Index Terms

  1. Cache vulnerability equations for protecting data in embedded processor caches from soft errors

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 45, Issue 4
        LCTES '10
        April 2010
        170 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/1755951
        Issue’s Table of Contents
        • cover image ACM Conferences
          LCTES '10: Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems
          April 2010
          184 pages
          ISBN:9781605589534
          DOI:10.1145/1755888
        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 ACM 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

        Publication History

        Published: 13 April 2010
        Published in SIGPLAN Volume 45, Issue 4

        Check for updates

        Author Tags

        1. cache vulnerability
        2. code transformation
        3. compiler technique
        4. embedded processors
        5. soft errors
        6. static analysis

        Qualifiers

        • Research-article

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)8
        • Downloads (Last 6 weeks)7
        Reflects downloads up to 12 Nov 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2015)Performance and Energy Efficient Asymmetrically Reliable Caches for Multicore ArchitecturesProceedings of the 2015 IEEE International Parallel and Distributed Processing Symposium Workshop10.1109/IPDPSW.2015.113(1025-1032)Online publication date: 25-May-2015
        • (2013)Dynamic code duplication with vulnerability awareness for soft error detection on VLIW architecturesACM Transactions on Architecture and Code Optimization10.1145/2400682.24007079:4(1-24)Online publication date: 20-Jan-2013
        • (2012)PICAACM Transactions on Embedded Computing Systems10.1145/2220336.222033811:2(1-27)Online publication date: 1-Jul-2012
        • (2012)Thread vulnerability in parallel applicationsJournal of Parallel and Distributed Computing10.1016/j.jpdc.2012.05.00272:10(1171-1185)Online publication date: 1-Oct-2012
        • (2011)Static Analysis of Register File VulnerabilityIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2010.209563030:4(607-616)Online publication date: 1-Apr-2011
        • (2018)Vulnerability-aware Energy Optimization for Reconfigurable Caches in Multitasking SystemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2018.2834410(1-1)Online publication date: 2018
        • (2017)Analytical modeling of cache behavior for affine programsProceedings of the ACM on Programming Languages10.1145/31581202:POPL(1-26)Online publication date: 27-Dec-2017
        • (2016)A Survey of Techniques for Modeling and Improving Reliability of Computing SystemsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2015.242617927:4(1226-1238)Online publication date: 1-Apr-2016
        • (2014)ASACACM SIGPLAN Notices10.1145/2666357.259781249:5(95-104)Online publication date: 12-Jun-2014
        • (2014)ASACProceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems10.1145/2597809.2597812(95-104)Online publication date: 12-Jun-2014
        • Show More Cited By

        View Options

        Get Access

        Login options

        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