One Flag to Rule Them All? On the Quest for Compiler Optimizations to Improve Fault Tolerance

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

Contributors

Abstract

Soft errors pose a threat to all types of software-controlled electronic devices and can result in silent data corruptions (SDCs). Compiler optimizations usually target program execution time or memory footprint. They are oblivious of the fault tolerance of the resulting code, yet they might still be beneficial in this regard. However, it is non-trivial to pick a SDC-minimizing subset from the plethora of compiler flags for an individual program. Ideally, a developer could collectively enable reliability-improving optimizations with a single compiler flag.In this paper, we analyze the impact of compiler optimizations on the occurrence of SDCs. We consider nearly all GCC optimizations on x86 under CPU-register faults. We show that the same compiler optimizations can have a positive or negative effect depending on the target program. We search for a beneficial flag combination using a genetic algorithm, accelerated by a machine-learning based SDC predictor. Our findings suggest that while this leads to an improvement over -O0 of 7.1%, -O3 is a good default alternative.

Details

Original languageEnglish
Title of host publicationProceedings - 2024 19th European Dependable Computing Conference, EDCC 2024
PublisherIEEE
Pages33-40
Number of pages8
ISBN (print)979-8-3503-6069-1
Publication statusPublished - 11 Apr 2024
Peer-reviewedYes

Conference

Title2024 19th European Dependable Computing Conference
Abbreviated titleEDCC 2014
Conference number19
Duration8 - 11 April 2024
Website
Degree of recognitionInternational event
LocationKU Leuven
CityLeuven
CountryBelgium

External IDs

ORCID /0000-0002-1427-9343/work/160953549
Scopus 85194878322
Mendeley c3fd1d09-e52f-3844-a93b-892ce32a176e

Keywords

Keywords

  • Fault tolerance, Program processors, Codes, Fault tolerant systems, Europe, Machine learning, Optimization, fault tolerance, soft error, random forests, genetic algorithm, compiler optimizations, silent data corruption