Skip to main content
Erschienen in: Computing 9/2018

16.02.2018

Programming guidelines for improving software resiliency against soft-errors without performance overhead

verfasst von: Bahman Arasteh, Jalal Najafi

Erschienen in: Computing | Ausgabe 9/2018

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

A large percentage of soft-errors which alters a computer system are inherently derated (masked) due to the structural features of software. The higher usage of error-derating structures in a computer program leads to the higher resiliency. Computer programming style, as a principle phase of software development, has inherent and hidden effects on the program resiliency. Hence, improving the resiliency of a computer system without using external redundancy and hardware modification and only by making a simple modification in the program source-code and structure is one of the main issues in this field of study. This paper investigates the inherent side effects of a subset of programming structures and styles on the rate of error-deration and consequently program resiliency; To attain this goal, four different benchmark programs were implemented by different programming structures. Profiling experiments were performed to identify the inherent effects of the programming structures on the rate of program vulnerability against soft-errors and the error-deration; then, in order to examine the effects of the programming structures on the program resiliency, about 10,080,000 faults were injected into the benchmark programs. The results reveal that using \(x{{++}}\) operator (rather than \(x=x+1\) and \(x+=1)\), do-while structure (rather than for structure) and inline functions (rather than normal and recursive functions) improves the program resiliency about 8%. This finding can enable software programmers to develop highly resilient programs without using external redundancy.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Fußnoten
1
  The terms “software” and “program” have been used interchangeably with the same meaning in this paper.
 
2
x is a data in the program source code.
 
3
The terms “benchmarks” and “benchmark-programs” have been used interchangeably and with the same meaning in this paper.
 
Literatur
1.
Zurück zum Zitat Ammann P, Mason G (2008) Introduction to software testing. Cambridge University Press, New YorkCrossRefMATH Ammann P, Mason G (2008) Introduction to software testing. Cambridge University Press, New YorkCrossRefMATH
2.
Zurück zum Zitat Arasteh B, Miremadi SG, Rahmani AM (2014) Developing inherently resilient software against soft-errors based on algorithm level inherent features. J Electron Test 30(2):193–212CrossRef Arasteh B, Miremadi SG, Rahmani AM (2014) Developing inherently resilient software against soft-errors based on algorithm level inherent features. J Electron Test 30(2):193–212CrossRef
3.
Zurück zum Zitat Arasteh B, Bouyer A, Pirahesh S (2015) An efficient vulnerability-driven method for hardening a program against soft-error using genetic algorithm. Comput Electr Eng 48:25–43CrossRef Arasteh B, Bouyer A, Pirahesh S (2015) An efficient vulnerability-driven method for hardening a program against soft-error using genetic algorithm. Comput Electr Eng 48:25–43CrossRef
4.
Zurück zum Zitat Austin T, Larson E, Ernst D (2002) SimpleScalar: an infrastructure for computer system modeling. IEEE Comput 35(2):59–67CrossRef Austin T, Larson E, Ernst D (2002) SimpleScalar: an infrastructure for computer system modeling. IEEE Comput 35(2):59–67CrossRef
5.
Zurück zum Zitat Benso A, Di Carlo S, Di Natale G, Prinetto P, Tagliaferri L (2003) Data criticality estimation in software application. In: International test conference, pp 802–810, October 2003 Benso A, Di Carlo S, Di Natale G, Prinetto P, Tagliaferri L (2003) Data criticality estimation in software application. In: International test conference, pp 802–810, October 2003
6.
Zurück zum Zitat Borodin D., Juurlink BHH (2010) Protective redundancy overhead reduction using instruction vulnerability factor. In: ACM international conference on computing frontiers, Italy, pp 319–326, May 2010 Borodin D., Juurlink BHH (2010) Protective redundancy overhead reduction using instruction vulnerability factor. In: ACM international conference on computing frontiers, Italy, pp 319–326, May 2010
7.
Zurück zum Zitat Butts JA, Sohi G (2002) Dynamic dead-instruction detection and elimination. In: 10th International conference on architectural support for programming languages and operating systems (ASPLOS X), pp 199–210, October, 2002 Butts JA, Sohi G (2002) Dynamic dead-instruction detection and elimination. In: 10th International conference on architectural support for programming languages and operating systems (ASPLOS X), pp 199–210, October, 2002
8.
Zurück zum Zitat Carlo SD, Gambardella G, Prinetto P, Reichenbach F, Lokstad T, Rafiq G (2014) On enhancing fault injection’s capabilities and performances for safety critical systems. In: 17th Euromicro conference on digital system design, Verona, pp 583–590 Carlo SD, Gambardella G, Prinetto P, Reichenbach F, Lokstad T, Rafiq G (2014) On enhancing fault injection’s capabilities and performances for safety critical systems. In: 17th Euromicro conference on digital system design, Verona, pp 583–590
9.
Zurück zum Zitat Casagrande LG, Kastensmidt FL (2016) Soft-error analysis in embedded software developed with without operating system. In: 17th Latin-American test symposium (LATS), pp 147–152 Casagrande LG, Kastensmidt FL (2016) Soft-error analysis in embedded software developed with without operating system. In: 17th Latin-American test symposium (LATS), pp 147–152
10.
Zurück zum Zitat Cook JJ, Zilles C (2008) A characterization of instruction-level error derating and its implications for error detection. In: IEEE international conference on dependable systems and networks (DSN), June 2008 Cook JJ, Zilles C (2008) A characterization of instruction-level error derating and its implications for error detection. In: IEEE international conference on dependable systems and networks (DSN), June 2008
11.
Zurück zum Zitat Dixit A, Wood A (2011) The impact of new technology on soft-error rates. In: Proceedings of the IEEE workshop on silicon errors in logic system, March 2011 Dixit A, Wood A (2011) The impact of new technology on soft-error rates. In: Proceedings of the IEEE workshop on silicon errors in logic system, March 2011
12.
Zurück zum Zitat Evers M (2000) Improving branch prediction by understanding branch behaviour. Ph.D. thesis, University of Michgan Evers M (2000) Improving branch prediction by understanding branch behaviour. Ph.D. thesis, University of Michgan
13.
Zurück zum Zitat Fazeli M, Farivar R, Miremadi SG (2005) A software-based concurrent error detection technique for PowerPC processor-based embedded systems. In: 20th IEEE international symposium on defect and fault tolerance in VLSI systems, pp 266–274, October 2005 Fazeli M, Farivar R, Miremadi SG (2005) A software-based concurrent error detection technique for PowerPC processor-based embedded systems. In: 20th IEEE international symposium on defect and fault tolerance in VLSI systems, pp 266–274, October 2005
14.
Zurück zum Zitat Hari SKS (2012) Low-cost program level detectors for reducing silent data corruptions. In: IEEE international conference on dependable systems and networks (DSN), June 2012 Hari SKS (2012) Low-cost program level detectors for reducing silent data corruptions. In: IEEE international conference on dependable systems and networks (DSN), June 2012
15.
Zurück zum Zitat Hiller M, Jhumka A, Suri N (2001) An approach for analyzing the propagation of data errors in software. In: IEEE international conference on dependable systems and networks (DSN), July 2001 Hiller M, Jhumka A, Suri N (2001) An approach for analyzing the propagation of data errors in software. In: IEEE international conference on dependable systems and networks (DSN), July 2001
17.
Zurück zum Zitat IEEE Standard Glossary of Software Engineering Terminology (1990) IEEE Std 610:12 IEEE Standard Glossary of Software Engineering Terminology (1990) IEEE Std 610:12
18.
Zurück zum Zitat Jantz MJ, Kulkarni PA (2012) Understand and categorize dynamically dead instructions for contemporary architectures. In: International conference on interaction between compilers and computer architectures (INTERACT), pp 25–32 Jantz MJ, Kulkarni PA (2012) Understand and categorize dynamically dead instructions for contemporary architectures. In: International conference on interaction between compilers and computer architectures (INTERACT), pp 25–32
19.
Zurück zum Zitat Jiesheng W, Rashid L, Pattabiraman K, Gopalakrishnan S (2011) Comparing the effects of intermittent and transient hardware faults on programs. In: International conference on dependable systems and networks (DSN), pp. 53–58, June 2011 Jiesheng W, Rashid L, Pattabiraman K, Gopalakrishnan S (2011) Comparing the effects of intermittent and transient hardware faults on programs. In: International conference on dependable systems and networks (DSN), pp. 53–58, June 2011
20.
Zurück zum Zitat Karnik T, Hazucha P, Patel J (2004) Characterization of soft-errors caused by single event upsets in CMOS process. IEEE Trans Dependable Secure Comput 1(2):128–143CrossRef Karnik T, Hazucha P, Patel J (2004) Characterization of soft-errors caused by single event upsets in CMOS process. IEEE Trans Dependable Secure Comput 1(2):128–143CrossRef
21.
Zurück zum Zitat Kleinberg J, Tardos E (2004) Algorithm design. Addison-Wesley, Boston ISBN: 0-321-29535-8 Kleinberg J, Tardos E (2004) Algorithm design. Addison-Wesley, Boston ISBN: 0-321-29535-8
22.
Zurück zum Zitat Li X (2009) Exploiting inherent program redundancy for fault tolerance. Ph.D. thesis in University of Maryland Li X (2009) Exploiting inherent program redundancy for fault tolerance. Ph.D. thesis in University of Maryland
23.
Zurück zum Zitat Lu JS, Li F, Degalahal V, Kandemir M, Vijaykrishnan N, Irwin MJ (2005) Compiler-directed instruction duplication for soft-error detection. In: Design, automation and test in Europe conference, pp 1056–1057 Lu JS, Li F, Degalahal V, Kandemir M, Vijaykrishnan N, Irwin MJ (2005) Compiler-directed instruction duplication for soft-error detection. In: Design, automation and test in Europe conference, pp 1056–1057
24.
Zurück zum Zitat Messer A (2004) Susceptibility of commodity systems and software to memory soft-errors. IEEE Trans Comput 53(12):1557–1568CrossRef Messer A (2004) Susceptibility of commodity systems and software to memory soft-errors. IEEE Trans Comput 53(12):1557–1568CrossRef
25.
Zurück zum Zitat Mukherjee SS, Weaver C, Emer J, Reinhardt SK, Austin T (2003) A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor. In: 36th Annual IEEE/ACM international symposium on micro architecture, pp 29–40, December 2003 Mukherjee SS, Weaver C, Emer J, Reinhardt SK, Austin T (2003) A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor. In: 36th Annual IEEE/ACM international symposium on micro architecture, pp 29–40, December 2003
26.
Zurück zum Zitat Nair A, John LK, Eeckhout L (2010) AVF stressmark: towards an automated methodology for bounding the worst-case vulnerability to soft-errors. In: 43rd Annual IEEE/ACM international symposium on microarchitecture (MICRO), pp 125–136, December 2010 Nair A, John LK, Eeckhout L (2010) AVF stressmark: towards an automated methodology for bounding the worst-case vulnerability to soft-errors. In: 43rd Annual IEEE/ACM international symposium on microarchitecture (MICRO), pp 125–136, December 2010
27.
Zurück zum Zitat Oh N, Mccluskey EJ (2002) Error detection by selective procedure call duplication for low energy consumption. IEEE Trans Reliab 51(4):392–402CrossRef Oh N, Mccluskey EJ (2002) Error detection by selective procedure call duplication for low energy consumption. IEEE Trans Reliab 51(4):392–402CrossRef
28.
Zurück zum Zitat Oh N, Shirvani PP, McCluskey EJ (2002) Error detection by duplicated instructions in super-scalar processors. IEEE Trans Reliab 51(1):63–75CrossRef Oh N, Shirvani PP, McCluskey EJ (2002) Error detection by duplicated instructions in super-scalar processors. IEEE Trans Reliab 51(1):63–75CrossRef
29.
Zurück zum Zitat Pattabiraman K (2004) Automated derivation of application-aware error and attack detectors. Ph.D. thesis in University of Illinois at Urbana-Champain Pattabiraman K (2004) Automated derivation of application-aware error and attack detectors. Ph.D. thesis in University of Illinois at Urbana-Champain
30.
Zurück zum Zitat Rebaudengo M, Sonza Reorda M, Torchiano M, Iolante M (2001) A source-to-source compiler for generating dependable software. In: IEEE international workshop on source code analysis and manipulation, pp 33–42, November 2001 Rebaudengo M, Sonza Reorda M, Torchiano M, Iolante M (2001) A source-to-source compiler for generating dependable software. In: IEEE international workshop on source code analysis and manipulation, pp 33–42, November 2001
31.
Zurück zum Zitat Rebaudengo M, Sonza Reorda M, Torchiano M, Violante M (1999) Soft-error detection through software fault-tolerance techniques. In: IEEE international symposium on defect and fault tolerance in VLSI systems, pp 210–218 Rebaudengo M, Sonza Reorda M, Torchiano M, Violante M (1999) Soft-error detection through software fault-tolerance techniques. In: IEEE international symposium on defect and fault tolerance in VLSI systems, pp 210–218
32.
Zurück zum Zitat Roberts MJ, Russo R (1999) A student’s guide to analysis of variance. Routledge Publication, Abingdon ISBN: 0-415-16564-2 Roberts MJ, Russo R (1999) A student’s guide to analysis of variance. Routledge Publication, Abingdon ISBN: 0-415-16564-2
33.
Zurück zum Zitat Rotenberg E (1999) Exploiting large ineffectual instruction sequences, Technical report, North Carolina State University, November 1999 Rotenberg E (1999) Exploiting large ineffectual instruction sequences, Technical report, North Carolina State University, November 1999
34.
Zurück zum Zitat Saggese GP, Vetteth A, Kalbarczyk Z, Iyer R (2005) Microprocessor sensitivity to failures: control vs. execution and combinational vs. sequential logic. In: International conference on dependable systems and networks (DSN), pp 760–769, July 2005 Saggese GP, Vetteth A, Kalbarczyk Z, Iyer R (2005) Microprocessor sensitivity to failures: control vs. execution and combinational vs. sequential logic. In: International conference on dependable systems and networks (DSN), pp 760–769, July 2005
35.
Zurück zum Zitat Saggese GP, Wang NJ, Kalbarczyk ZT, Patel SJ, Iyer RK (2005) An experimental study of soft-errors in microprocessors. IEEE Micro 25(6):30–39CrossRef Saggese GP, Wang NJ, Kalbarczyk ZT, Patel SJ, Iyer RK (2005) An experimental study of soft-errors in microprocessors. IEEE Micro 25(6):30–39CrossRef
36.
Zurück zum Zitat Sahoo SK (2008) Using likely program invariants to detect hardware errors. In: IEEE international conference on dependable systems and networks (DSN), June 2008 Sahoo SK (2008) Using likely program invariants to detect hardware errors. In: IEEE international conference on dependable systems and networks (DSN), June 2008
37.
Zurück zum Zitat Sangchoolei B, Ayatolahi F, Barbosa R, Karlson J (2013) Benchmarking the hardware error sensitivity of machine instructions. In: IEEE workshop on slicon errors in logic-system effects (SELSE), March 2013 Sangchoolei B, Ayatolahi F, Barbosa R, Karlson J (2013) Benchmarking the hardware error sensitivity of machine instructions. In: IEEE workshop on slicon errors in logic-system effects (SELSE), March 2013
38.
Zurück zum Zitat Savino A, Carlo SD, Politano G, Benso A, Dnatale G (2012) Statistical reliability estimation of microprocessor-based systems. IEEE Trans Comput 61(11):1521–1534MathSciNetCrossRefMATH Savino A, Carlo SD, Politano G, Benso A, Dnatale G (2012) Statistical reliability estimation of microprocessor-based systems. IEEE Trans Comput 61(11):1521–1534MathSciNetCrossRefMATH
39.
Zurück zum Zitat Shivakumar P, Kistler M, Keckler S, Burger D, Alvisi L (2002) Modeling the effect of technology trends on soft-error rate of combinational logic. In: International conference on dependable systems and networks (DSN), June 2002 Shivakumar P, Kistler M, Keckler S, Burger D, Alvisi L (2002) Modeling the effect of technology trends on soft-error rate of combinational logic. In: International conference on dependable systems and networks (DSN), June 2002
40.
Zurück zum Zitat Shuguang F, Shantanu G, Ansari A, Mahlke S (2010) Shoestring: probabilistic soft-error resilience on the cheap. In: 15th International conference on architectural support for programming languages and operating systems, March 2010 Shuguang F, Shantanu G, Ansari A, Mahlke S (2010) Shoestring: probabilistic soft-error resilience on the cheap. In: 15th International conference on architectural support for programming languages and operating systems, March 2010
41.
Zurück zum Zitat Skarin D, Karlson J (2008) Software implemented detection and recovery of soft-errors in a brake-by-wire system. In: IEEE international European dependable computing conference (EDCC), May 2008 Skarin D, Karlson J (2008) Software implemented detection and recovery of soft-errors in a brake-by-wire system. In: IEEE international European dependable computing conference (EDCC), May 2008
42.
Zurück zum Zitat Slegel TJ, Averill RM, Check MA, Giamei BC, Krumm BW, Krygowski CA, Li WH, Liptay JS, MacDougall JD, McPherson TJ, Navarro JA, Schwarz EM, Shum K, Webb CF (1999) IBM’s S/390 G5 microprocessor design. IEEE Micro 19(2):12–23CrossRef Slegel TJ, Averill RM, Check MA, Giamei BC, Krumm BW, Krygowski CA, Li WH, Liptay JS, MacDougall JD, McPherson TJ, Navarro JA, Schwarz EM, Shum K, Webb CF (1999) IBM’s S/390 G5 microprocessor design. IEEE Micro 19(2):12–23CrossRef
43.
Zurück zum Zitat Sridharan V, Kaeli DR (2010) Using PVF traces to accelerate AVF modeling. In: Proceedings of the IEEE workshop on silicon errors in logic-system effects, Stanford, California, March 2010 Sridharan V, Kaeli DR (2010) Using PVF traces to accelerate AVF modeling. In: Proceedings of the IEEE workshop on silicon errors in logic-system effects, Stanford, California, March 2010
44.
Zurück zum Zitat Tang L, Huang Z (2016) A method for issue queue soft-error vulnerability mitigation. In: 7th IEEE/ACIS international conference on software engineering. Artificial intelligence, networking and parallel/distributed computing (SNPD), pp 443–450 Tang L, Huang Z (2016) A method for issue queue soft-error vulnerability mitigation. In: 7th IEEE/ACIS international conference on software engineering. Artificial intelligence, networking and parallel/distributed computing (SNPD), pp 443–450
45.
Zurück zum Zitat Thaker D, Franklin D, Oliver J, Biswas S, Lockhart D, Metodi T, Chong FT (2006) Characterization of error-tolerant applications when protecting control data. In: IEEE international symposium on workload characterization, October 2006 Thaker D, Franklin D, Oliver J, Biswas S, Lockhart D, Metodi T, Chong FT (2006) Characterization of error-tolerant applications when protecting control data. In: IEEE international symposium on workload characterization, October 2006
46.
Zurück zum Zitat Vijayan A, Koneru A, Ebrahimit M, Chakrabarty K, Tahoori MB (2016) Online soft-error vulnerability estimation for memory arrays. In: IEEE 34th VLSI test symposium (VTS), Las Vegas, pp 1–6 Vijayan A, Koneru A, Ebrahimit M, Chakrabarty K, Tahoori MB (2016) Online soft-error vulnerability estimation for memory arrays. In: IEEE 34th VLSI test symposium (VTS), Las Vegas, pp 1–6
47.
Zurück zum Zitat Wang F, Agrawal VD (2009) Soft-error rates with inertial and logical masking. In: 22nd International conference on VLSI design, January 2009 Wang F, Agrawal VD (2009) Soft-error rates with inertial and logical masking. In: 22nd International conference on VLSI design, January 2009
48.
Zurück zum Zitat Wang N, Fertig M, Patel S (2003) Y-branches: when you come to a fork in the road, take it. In: International conference on parallel architectures and compilation techniques Wang N, Fertig M, Patel S (2003) Y-branches: when you come to a fork in the road, take it. In: International conference on parallel architectures and compilation techniques
49.
Zurück zum Zitat Xiong L, Tan Q, Xu J (2011) Soft-error mask analysis on program level. In: 10th International conference on network Xiong L, Tan Q, Xu J (2011) Soft-error mask analysis on program level. In: 10th International conference on network
50.
Zurück zum Zitat Xu X, Li M (2012) Understanding soft-error propagation using efficient vulnerability-driven fault injection. In: IEEE international conference on dependable systems and networks (DSN), June 2012 Xu X, Li M (2012) Understanding soft-error propagation using efficient vulnerability-driven fault injection. In: IEEE international conference on dependable systems and networks (DSN), June 2012
51.
Zurück zum Zitat Zhang M, Shanbhag N (2004) A soft-error rate analysis methodology. In: IEEE/ACM international conference on computer-aided design, November 2004 Zhang M, Shanbhag N (2004) A soft-error rate analysis methodology. In: IEEE/ACM international conference on computer-aided design, November 2004
52.
Zurück zum Zitat Zhang B, Wang WS, Orshansky M (2006) FASER: fast analysis of soft-error susceptibility for cell-based designs. In: 7th International symposium on quality electronic design, March 2006 Zhang B, Wang WS, Orshansky M (2006) FASER: fast analysis of soft-error susceptibility for cell-based designs. In: 7th International symposium on quality electronic design, March 2006
53.
Zurück zum Zitat Zheng B, Gao Y, Zhu Q, Gupta S (2015) Analysis and optimization of soft-error tolerance strategies for real-time systems. In: IEEE international conference on hardware/software codesign and system synthesis (CODES + ISSS), pp 55–64 Zheng B, Gao Y, Zhu Q, Gupta S (2015) Analysis and optimization of soft-error tolerance strategies for real-time systems. In: IEEE international conference on hardware/software codesign and system synthesis (CODES + ISSS), pp 55–64
Metadaten
Titel
Programming guidelines for improving software resiliency against soft-errors without performance overhead
verfasst von
Bahman Arasteh
Jalal Najafi
Publikationsdatum
16.02.2018
Verlag
Springer Vienna
Erschienen in
Computing / Ausgabe 9/2018
Print ISSN: 0010-485X
Elektronische ISSN: 1436-5057
DOI
https://doi.org/10.1007/s00607-018-0592-y