Efficient selective replication of critical code regions for SDC mitigation leveraging redundant multithreading
Redundant multithreading (RMT) is an effective reliability solution that provides thread-level replication; however, it imposes additional overheads in terms of performance loss or energy consumption. Partial-RMT is an alternative solution that provides partial redundancy of an executing thread to r...
| Autores: | , |
|---|---|
| Tipo de recurso: | artículo |
| Fecha de publicación: | 2021 |
| País: | España |
| Institución: | Universitat Politècnica de Catalunya (UPC) |
| Repositorio: | UPCommons. Portal del coneixement obert de la UPC |
| Idioma: | inglés |
| OAI Identifier: | oai:upcommons.upc.edu:2117/345961 |
| Acceso en línea: | https://hdl.handle.net/2117/345961 https://dx.doi.org/10.1007/s11227-021-03804-6 |
| Access Level: | acceso abierto |
| Palabra clave: | Fault tolerance (Engineering) Multitasking (Computer science) Soft errors (Computer science) Redundant multithreading Fault tolerance Soft error reliability Software reliability Programari Àrees temàtiques de la UPC::Informàtica::Enginyeria del software |
| Sumario: | Redundant multithreading (RMT) is an effective reliability solution that provides thread-level replication; however, it imposes additional overheads in terms of performance loss or energy consumption. Partial-RMT is an alternative solution that provides partial redundancy of an executing thread to reduce such overheads while trading off full coverage from faults. In this study, we propose a software-level RMT approach that offers lightweight replication of partial code regions within the same application process. Our software-level RMT approach is particularly suitable for applications with varying code criticality, where we determine the critical code regions by performing a fault injection campaign in addition to execution time profile analysis. Using the results of the previous step, the application programmer annotates the source code to indicate the specific code regions that should be executed redundantly without re-implementing the application program from scratch. Our lightweight software-level RMT tool improves the average silent data corruption (SDC) rate of 30 applications of the PolyBench benchmark suite by around 7.6× with average performance and energy consumption overheads of 22 and 37%, respectively, compared to the original version of the program. |
|---|