Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2491899.2465568acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Low cost control flow protection using abstract control signatures

Published: 20 June 2013 Publication History

Abstract

The continual trend of shrinking feature sizes and reducing voltage levels makes transistors faster and more efficient. However, it also makes them more susceptible to transient hardware faults. Transient faults due to high energy particle strikes or circuit crosstalk can corrupt the output of a program or cause it to crash. Previous studies have reported that as much as 70% of the transient faults disturb program control flow, making it critical to protect control flow. Traditional approaches employ signatures to check that every control flow transfer in a program is valid. While having high fault coverage, large performance overheads are introduced by such detailed checking. We propose a coarse-grain control flow checking method to detect transient faults in a cost effective way. Our software-only approach is centered on the principle of abstraction: control flow that exhibits simple run-time properties (e.g., proper path length) is almost always completely correct. Our solution targets off-the-shelf commodity embedded systems to provide a low cost protection against transient faults. The proposed technique achieves its efficiency by simplifying signature calculations in each basic block and by performing checking at a coarse-grain level. The coarse-grain signature comparison points are obtained by the use of a region based analysis. In addition, we propose a technique to protect control flow transfers via call and return instructions to ensure all control flow is covered by our technique. Overall, our proposed technique has an average of 11% performance overhead in comparison to 75% performance overhead of previously proposed signature based techniques while maintaining approximately the same degree of fault coverage.

References

[1]
M. Abadi, M. Budiu, U. Erlingsson, and J. Ligatti. Control-flow integrity principles, implementations, and applications. ACM Trans. Inf. Syst. Secur., 13 (1): 4:1--4:40, Nov. 2009. ISSN 1094--9224.
[2]
A. Aho, M. Lam, R. Sethi, and J. Ullman. Compilers: principles, techniques, and tools, volume 1009. Pearson/Addison Wesley, 2007.
[3]
Z. Alkhalifa, V. Nair, N. Krishnamurthy, and J. Abraham. Design and evaluation of system-level checks for on-line control flow error detection. TDPS, jun 1999.
[4]
T. Ball and J. R. Larus. Efficient path profiling. In ACM/IEEE Micro, 1996.
[5]
W. Bartlett and L. Spainhower. Commercial fault tolerance: A tale of two systems. In TDSC, pages 87--96, 2004.
[6]
D. Bernick, B. Bruckert, P. D. Vigna, D. Garcia, R. Jardine, J. Klecka, and J. Smullen. Nonstop advanced architecture. In DSN, pages 12--21, June 2005.
[7]
N. Binkert et al. The gem5 simulator. SIGARCH Comput. Archit. News, 39 (2), Aug. 2011.
[8]
E. Borin, C. Wang, Y. Wu, and G. Araujo. Software-based transparent and comprehensive control-flow error detection. In CGO, 2006.
[9]
M. Chu, K. Fan, and S. Mahlke. Region-based hierarchical operation partitioning for multicluster processors. In PLDI, pages 300--311, June 2003.
[10]
S. Feng, S. Gupta, A. Ansari, and S. Mahlke. Shoestring: Probabilistic soft-error reliability on the cheap. In ASPLOS, Mar. 2010.
[11]
S. Feng, S. Gupta, A. Ansari, S. A. Mahlke, and D. I. August. Encore: low-cost, fine-grained transient fault recovery. In MICRO, pages 398--409, 2011.
[12]
B. T. Gold, J. C. Smolens, B. Falsafi, and J. C. Hoe. The granularity of soft-error containment in shared memory multiprocessors. IEEE Workshop on SELSE, 2006.
[13]
O. Goloubeva, M. Rebaudengo, M. Sonza Reorda, and M. Violante. Soft-error detection using control flow assertions. In DFT, pages 581 -- 588, nov. 2003.
[14]
M. Gomaa and T. Vijaykumar. Opportunistic transient-fault detection. In ISCA, pages 172--183, June 2005.
[15]
D. S. Khudia, G. Wright, and S. Mahlke. Efficient soft error protection for commodity embedded microprocessors using profile information. In LCTES, pages 99--108, New York, NY, USA, 2012. ACM.
[16]
C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In CGO, pages 75--86, 2004.
[17]
R. Leveugle, A. Calvez, P. Maistri, and P. Vanhauwaert. Statistical fault injection: quantified error and confidence. In DATE, pages 502--506, 2009.
[18]
M. Li, M. Pradeep, R. S. Sahoo, S. Adve, V. Adve, and Y. Y. Zhou. Swat: An error resilient system. In IEEE Workshop on SELSE, pages 8--13, 2008.
[19]
X. Li and J.-L. Gaudiot. A compiler-assisted on-chip assigned-signature control flow checking. In Advances in Computer Systems Architecture, volume 3189 of LNCS, pages 554--567. Springer Berlin, 2004.
[20]
X. Li and D. Yeung. Application-level correctness and its impact on fault tolerance. In HPCA, pages 181--192, Feb. 2007.
[21]
D. Lu. Watchdog processors and structural integrity checking. IEEE Transactions on Computers, C-31 (7): 681--685, july 1982.
[22]
A. Mahmood and E. J. McCluskey. Concurrent error detection using watchdog processors-a survey. IEEE Trans. Comput., 37 (2): 160--174, Feb. 1988.
[23]
T. May and M. Woods. Alpha-particle-induced soft errors in dynamic memories. IEEE Transactions on Electron Devices, 26 (1): 2--9, Jan. 1979.
[24]
A. Meixner, M. Bauer, and D. Sorin. Argus: Low-cost, comprehensive error detection in simple cores. IEEE Micro, 28 (1): 52--59, 2008.
[25]
T. Michel, R. Leveugle, and G. Saucier. A new approach to control flow checking without program modification. In FTC, pages 334 --341, jun 1991.
[26]
S. Muchnick. Advanced Compiler Design Implementation. Morgan Kaufmann Publishers, 1997.
[27]
S. Mukherjee. Architecture Design for Soft Errors. Morgan Kaufmann, 2008.
[28]
S. S. Mukherjee, C. Weaver, J. Emer, S. Reinhardt, and T. Austin. A systematic methodology to compute the architectural vulnerability factors for a high performance microprocessor. In MICRO, pages 29--42, Dec. 2003.
[29]
N. Oh, P. Shirvani, and E. McCluskey. Control-flow checking by software signatures. IEEE Transactions on Reliability, 51 (1): 111 --122, mar 2002.
[30]
N. Oh, P. Shirvani, and E. McCluskey. Error detection by duplicated instructions in super-scalar processors. Reliability, IEEE Transactions on, 51 (1): 63--75, 2002.
[31]
S. K. Reinhardt and S. S. Mukherjee. Transient fault detection via simulataneous multithreading. In Proc. of the 27th ISCA, pages 25--36, June 2000.
[32]
G. Reis, J. Chang, N. Vachharajani, R. Rangan, and D. I. August. SWIFT: Software implemented fault tolerance. In CGO, pages 243--254, 2005.
[33]
G. A. Reis, J. Chang, N. Vachharajani, R. Rangan, D. I. August, and S. S. Mukherjee. Software-controlled fault tolerance. ACM TACO, 2 (4): 366--396, 2005.
[34]
E. Rotenberg. AR-SMT: A microarchitectural approach to fault tolerance in microprocessors. In International Symposium on Fault Tolerant Computing, 1999.
[35]
P. Shivakumar, M. Kistler, S. Keckler, D. Burger, and L. Alvisi. Modeling the effect of technology trends on the soft error rate of combinational logic. In DSN, pages 389--398, June 2002.
[36]
R. Vemu and J. Abraham. Ceda: Control-flow error detection using assertions. IEEE Transactions on Computers, 60 (9): 1233--1245, sept. 2011.
[37]
R. Venkatasubramanian, J. Hayes, and B. Murray. Low-cost on-line fault detection using control flow assertions. In IOLTS 2003., july 2003.
[38]
N. J. Wang and S. J. Patel. ReStore: Symptom-based soft error detection in microprocessors. In TDSC, 3 (3): 188--201, June 2006.
[39]
N. J. Wang, J. Quek, T. M. Rafacz, and S. J. Patel. Characterizing the Effects of Transient Faults on a High-Performance Processor Pipeline. In DSN, June 2004.
[40]
J. F. Ziegler and H. Puchner. SER-History, Trends, and Challenges: A Guide for Designing with Memory ICs. Cypress Semiconductor Corp., 2004.

Cited By

View all
  • (2024)Versatile Datapath Soft Error Detection on the Cheap for HPC ApplicationsSC24: International Conference for High Performance Computing, Networking, Storage and Analysis10.1109/SC41406.2024.00061(1-15)Online publication date: 17-Nov-2024
  • (2023)A configurable control flow error detection method based on basic block repartitionMicroelectronics Reliability10.1016/j.microrel.2023.115070147(115070)Online publication date: Aug-2023
  • (2022)Software-based Control-Flow Error Detection with Hardware Performance Counters in ARM Processors2022 CPSSI 4th International Symposium on Real-Time and Embedded Systems and Technologies (RTEST)10.1109/RTEST56034.2022.9850096(1-8)Online publication date: 30-May-2022
  • Show More Cited By

Index Terms

  1. Low cost control flow protection using abstract control signatures

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      LCTES '13: Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
      June 2013
      184 pages
      ISBN:9781450320856
      DOI:10.1145/2491899
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 48, Issue 5
        LCTES '13
        May 2013
        165 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2499369
        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 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]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 20 June 2013

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. control flow checking
      2. fault injection
      3. soft errors

      Qualifiers

      • Research-article

      Conference

      LCTES '13

      Acceptance Rates

      LCTES '13 Paper Acceptance Rate 16 of 60 submissions, 27%;
      Overall Acceptance Rate 116 of 438 submissions, 26%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 25 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Versatile Datapath Soft Error Detection on the Cheap for HPC ApplicationsSC24: International Conference for High Performance Computing, Networking, Storage and Analysis10.1109/SC41406.2024.00061(1-15)Online publication date: 17-Nov-2024
      • (2023)A configurable control flow error detection method based on basic block repartitionMicroelectronics Reliability10.1016/j.microrel.2023.115070147(115070)Online publication date: Aug-2023
      • (2022)Software-based Control-Flow Error Detection with Hardware Performance Counters in ARM Processors2022 CPSSI 4th International Symposium on Real-Time and Embedded Systems and Technologies (RTEST)10.1109/RTEST56034.2022.9850096(1-8)Online publication date: 30-May-2022
      • (2021)Impact of Selective Implementation on Soft Error Detection Through Low-level Re-execution2021 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech)10.1109/DASC-PICom-CBDCom-CyberSciTech52372.2021.00031(112-117)Online publication date: Oct-2021
      • (2017)REMORA: A hybrid low-cost soft-error reliable fault tolerant architecture2017 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT)10.1109/DFT.2017.8244454(1-6)Online publication date: Oct-2017
      • (2016)Compiler-Directed Soft Error Detection and Recovery to Avoid DUE and SDC via Tail-DMRACM Transactions on Embedded Computing Systems10.1145/293066716:2(1-26)Online publication date: 19-Dec-2016
      • (2016)Towards Resiliency Evaluation of Vector Programs2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW.2016.187(1319-1328)Online publication date: May-2016
      • (2015)CloverACM SIGPLAN Notices10.1145/2808704.275495950:5(1-10)Online publication date: 4-Jun-2015
      • (2015)CloverProceedings of the 16th ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems 2015 CD-ROM10.1145/2670529.2754959(1-10)Online publication date: 4-Jun-2015
      • (2015)Bit-Flip Aware Control-Flow Error DetectionProceedings of the 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing10.1109/PDP.2015.114(215-221)Online publication date: 4-Mar-2015
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media