On Rust and C Variability of Fault Sensitivity across Different Runtimes and Cache-Aware Source Codes
This paper explores how cache-optimized C and Rust source code impact the performance of a critical system under radiation. Several implementations of the matrix multiplication algorithm have been tested to show how the variability of fault sensitivity is affected. The versions exposed to radiation were those presenting the highest dissimilarities in terms of the following static and dynamic software metrics: initialized and uninitialized required data memory and code, L1 and L2 data cache impact, and execution time. Static and dynamic measures from the generated binary executable were collected and correlated with radiation-induced effects. Results show that cache optimization has a positive impact on fault tolerance, regardless of the selected language, compiler, or runtime. Particularly, Rust implementation emerged as the top-performing version under radiation, surpassing the C versions. Rust exhibited the highest Mean Work To Failure (MWTF) without negatively affecting the cross section. These results suggest Rust as a promising option for implementing fault-tolerant applications.
Authors
- Alejandro Serrano-Cases (ORCID: https://orcid.org/0000-0001-9794-8495)
- Sergio Cuenca-Asensi (ORCID: https://orcid.org/0000-0002-5830-6104)
- Rodrigo Possamai Bastos (ORCID: https://orcid.org/0000-0002-9964-0424)
- Antonio Martínez-Álvarez (ORCID: https://orcid.org/0000-0002-1500-857X)
- Darío González-Montesoro
Institutions
- Institut polytechnique de Grenoble (FR)
- Centre National de la Recherche Scientifique (FR)
- University of Alicante (ES)
- Techniques of Informatics and Microelectronics for Integrated Systems Architecture (FR)
- Université Grenoble Alpes (FR)
Publication Details
- Published
- 2024-09-16
- DOI
- https://doi.org/10.1109/radecs61970.2024.11298588
- Primary Topic
- Distributed and Parallel Computing Systems
- Type
- article
- Field-Weighted Citation Impact
- 0.00