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...

Descripción completa

Detalles Bibliográficos
Autores: Arslan, Sanem, Unsal, Osman Sabri
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
Descripción
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.