Evaluation of Compilers Effects on OpenMP Soft Error Resiliency

Software engineers are using different compilers and parallel programming models (e.g., Pthreads, OpenMP) to take the best performance offered by multicore systems. Both programming models and compilers have specific characteristics, which directly impact on applications code footprint, performance, power-efficiency and reliability. The occurrence of soft errors in multicore systems is a growing reliability issue in several domains (e.g., automotive, medical, avionics). In this scenario, this paper investigates the impact of widely adopted compilers on the soft error reliability of applications implemented with OpenMP library. Fault injection campaigns consider 3 open-source compilers (GNU/GCC 5.5.0, 7.3.1, Clang 6.0.1), 16 OpenMP benchmarks executing on single, dual and quad-core versions of the Arm Cortex-A72 processor. Results show that, on average, Clang is 15.85% more reliable than both versions of GCC, which demonstrate to be more sensitive to the optimisation flags when compared to Clang.

[1]  Paolo Rech,et al.  Register File Criticality and Compiler Optimization Effects on Embedded Microprocessor Reliability , 2017, IEEE Transactions on Nuclear Science.

[2]  Ricardo Reis,et al.  Evaluation of Compiler Optimization Flags Effects on Soft Error Resiliency , 2018, 2018 31st Symposium on Integrated Circuits and Systems Design (SBCCI).

[3]  Kevin Skadron,et al.  Rodinia: A benchmark suite for heterogeneous computing , 2009, 2009 IEEE International Symposium on Workload Characterization (IISWC).

[4]  Ricardo Reis,et al.  A fast and scalable fault injection framework to evaluate multi/many-core soft error reliability , 2015, 2015 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFTS).

[5]  Ricardo Reis,et al.  Evaluation of multicore systems soft error reliability using virtual platforms , 2017, 2017 15th IEEE International New Circuits and Systems Conference (NEWCAS).

[6]  Ricardo Reis,et al.  Extensive evaluation of programming models and ISAs impact on multicore soft error reliability , 2018, DAC.

[7]  Jacob A. Abraham,et al.  Quantitative evaluation of soft error injection techniques for robust system design , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[8]  Ricardo Reis,et al.  Analyzing the Impact of Fault-Tolerance Methods in ARM Processors Under Soft Errors Running Linux and Parallelization APIs , 2017, IEEE Transactions on Nuclear Science.

[9]  Lieven Eeckhout,et al.  Cole: compiler optimization level exploration , 2008, CGO '08.

[10]  Mark Bull,et al.  Development of mixed mode MPI / OpenMP applications , 2001, Sci. Program..

[11]  Roger Johansson,et al.  A Study of the Impact of Bit-Flip Errors on Programs Compiled with Different Optimization Levels , 2014, 2014 Tenth European Dependable Computing Conference.

[12]  Régis Leveugle,et al.  Statistical fault injection: Quantified error and confidence , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[13]  Rajeev Thakur,et al.  Hybrid parallel programming with MPI and unified parallel C , 2010, Conf. Computing Frontiers.

[14]  Antonio Martínez-Álvarez,et al.  On the influence of compiler optimizations in the fault tolerance of embedded systems , 2016, 2016 IEEE 22nd International Symposium on On-Line Testing and Robust System Design (IOLTS).

[15]  Ricardo Reis,et al.  Analyzing the impact of using pthreads versus OpenMP under fault injection in ARM Cortex-A9 dual-core , 2016, 2016 16th European Conference on Radiation and Its Effects on Components and Systems (RADECS).

[16]  Mary W. Hall,et al.  Analyzing the effects of compiler optimizations on application reliability , 2011, 2011 IEEE International Symposium on Workload Characterization (IISWC).