Advertisement

Predicting SDC Vulnerability of Instructions Based on Random Forests Algorithm

  • LiPing Liu
  • LinLin Ci
  • Wei Liu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11336)

Abstract

Silent Data Corruptions (SDCs) is a serious reliability issue in many domains of computer system. Selectively protecting of the program instructions that have a higher SDC vulnerability is one of the research hot spots in computer reliability field at present. A number of algorithms have already been presented to tackle this problem. However, many of them require tens of thousands of fault injection experiments, which are highly time and resource intensive. This paper proposes SDCPredictor, a novel solution that identify the SDC-vulnerable instructions based on random forests algorithm. SDCPredictor are based on static and dynamic features of the program alone, and do not require fault injections to be performed. SDCPredictor selectively protects the most SDC-vulnerable instructions in the program subject to a given performance overhead bound. Our experimental results show that SDCPredictor can obtain higher SDC detection efficiency than previous similar techniques.

Keywords

Fault tolerance Error detection Reliability SDC vulnerability Random forests 

Notes

Acknowledgment

This research was supported by the National Natural Science Foundation of China under grant No. 61370134, the National High Technology Research and Development Program of China (863 Program) under grant No. 2013AA013901.

References

  1. 1.
    Bhattacharya, K., Ranganathan, N.: RADJAM: a novel approach for reduction of soft errors in logic circuits. In: International Conference on VlSI Design, pp. 453–458 (2009)Google Scholar
  2. 2.
    Racunas, P., Constantinides, K., Manne, S., et al.: Perturbation-based fault screening. In: IEEE, International Symposium on High PERFORMANCE Computer Architecture, pp. 169–180. IEEE Computer Society (2007)Google Scholar
  3. 3.
    Rivers, J.A., et al.: Configurable detection of SDC-causing errors in programs. ACM Trans. Embed. Comput. Syst. 16(3), 88 (2017)Google Scholar
  4. 4.
    Restrepocalle, F., Martnezlvarez, A., Cuencaasensi, S., et al.: Selective SWIFT-R: a flexible software-based technique for soft error mitigation in low-cost embedded systems. J. Electron. Test. 29(6), 825–838 (2013)CrossRefGoogle Scholar
  5. 5.
    Chielle, E., Azambuja, J.R., Barth, R.S., et al.: Evaluating selective redundancy in data-flow software-based techniques. Radiation and ITS Effects on Components and Systems (2012)Google Scholar
  6. 6.
    Cong, J., Gururaj, K.: Assuring application-level correctness against soft errors, 47(10), 150–157 (2011)Google Scholar
  7. 7.
    Sundaram, A., Aakel, A., Lockhart, D., et al.: Efficient fault tolerance in multi-media applications through selective instruction replication. In: The Workshop on Radiation Effects and Fault Tolerance in Nanometer Technologies, pp. 339–346. ACM (2008)Google Scholar
  8. 8.
    Hari, S.K.S., Adve, S.V., Naeimi, H.: Low-cost program-level detectors for reducing silent data corruptions. In: IEEE/IFIP International Conference on Dependable Systems and Networks, pp. 1–12. IEEE (2012)Google Scholar
  9. 9.
    Thomas, A., Pattabiraman, K.: Error detector placement for soft computation. In: IEEE/IFIP International Conference on Dependable Systems and Networks, pp. 1–12. IEEE Computer Society (2013)Google Scholar
  10. 10.
    IEEE: Understanding soft error propagation using efficient vulnerability-driven fault injection. In: IEEE/IFIP International Conference on Dependable Systems and Networks, pp. 1–12. IEEE Computer Society (2012)Google Scholar
  11. 11.
    Hari, S.K.S., Adve, S.V., Naeimi, H., et al.: Relyzer: application resiliency analyzer for transient faults. IEEE Micro 33(3), 58–66 (2013)CrossRefGoogle Scholar
  12. 12.
    Li, J., Tan, Q.: SmartInjector: exploiting intelligent fault injection for SDC rate analysis. In: IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems, pp. 236–242. IEEE (2013)Google Scholar
  13. 13.
    Feng, S., Gupta, S., Ansari, A., et al.: Shoestring: probabilistic soft error reliability on the cheap. In: Fifteenth Edition of ASPLOS on Architectural Support for Programming Languages and Operating Systems, pp. 385–396. ACM (2010)Google Scholar
  14. 14.
    Pattabiraman, K., Nakka, N.M., Kalbarczyk, Z.T., et al.: SymPLFIED: symbolic program-level fault injection and error detection framework. IEEE Trans. Comput. 62(11), 2292–2307 (2013)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Arasteh, B., Bouyer, A., Pirahesh, S.: An efficient vulnerability-driven method for hardening a program against soft-error using genetic algorithm. Comput. Electr. Eng. 48, 25–43 (2015)CrossRefGoogle Scholar
  16. 16.
    Rivers, J.A., Rivers, J.A., Rivers, J.A., et al.: Configurable detection of SDC-causing errors in programs. ACM Trans. Embed. Comput. Syst. 16(3), 88 (2017)Google Scholar
  17. 17.
    Cook, J.J., Zilles, C.: A characterization of instruction-level error derating and its implications for error detection, pp. 482–491 (2008)Google Scholar
  18. 18.
    Laguna, I., Schulz, M., Richards, D.F., et al.: IPAS: intelligent protection against silent output corruption in scientific applications. In: IEEE/ACM International Symposium on Code Generation and Optimization, pp. 227–238. IEEE (2016)Google Scholar
  19. 19.
    Wei, J., Thomas, A., Li, G., et al.: Quantifying the accuracy of high-level fault injection techniques for hardware faults. In: IEEE/IFIP International Conference on Dependable Systems and Networks, pp. 375–382. IEEE Computer Society (2014)Google Scholar
  20. 20.
    Henning, J.L.: SPEC CPU2006 benchmark descriptions. ACM SIGARCH Comput. Archit. News 34(4), 1–17 (2006)CrossRefGoogle Scholar
  21. 21.
    Hsueh, M.C., Tsai, T.K., Iyer, R.K.: Fault injection techniques and tools. Computer 30(4), 75–82 (1997)CrossRefGoogle Scholar
  22. 22.
    Stratton, J.A., Rodrigues, C., Sung, I.J., et al.: Parboil: a revised benchmark suite for scientific and commercial throughput computing (2012)Google Scholar
  23. 23.
    Bienia, C., Kumar, S., Singh, J.P., et al.: The PARSEC benchmark suite: characterization and architectural implications. In: International Conference on Parallel Architectures and Compilation Techniques, pp. 72–81. IEEE (2017)Google Scholar
  24. 24.
    Weiser, M.: Program slicing. IEEE Trans. Software Eng. SE-10(4), 352–357 (1984)CrossRefGoogle Scholar
  25. 25.
    Breiman, L.: Random forests. Mach. Learn. 45(1), 5–32 (2001)CrossRefGoogle Scholar
  26. 26.
    Ye, Y., Li, H., Deng, X., et al.: Feature weighting random forest for detection of hidden web search interfaces. J. Comput. Linguist. Chin. Lang. Process. 13(4), 387–404 (2008)Google Scholar
  27. 27.
    Martello, S., Toth, P.: Knapsack problems. Accessed Nov 1990Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Computer Department, Beijing Institute of TechnologyBeijingChina

Personalised recommendations