Fault tolerance at system level based on RADIC architecture

The increasing failure rate in High Performance Computing encourages the investigation of fault tolerance mechanisms to guarantee the execution of an application in spite of node faults. This paper presents an automatic and scalable fault tolerant model designed to be transparent for applications an...

Descripción completa

Detalles Bibliográficos
Autores: Castro Leon, Marcela|||0000-0002-5265-073X, Meyer, Hugo Daniel, Rexachs, Dolores|||0000-0001-5500-850X, Luque, Emilio|||0000-0002-2884-3232
Tipo de recurso: artículo
Fecha de publicación:2015
País:España
Institución:Universitat Autònoma de Barcelona
Repositorio:Dipòsit Digital de Documents de la UAB
Idioma:inglés
OAI Identifier:oai:ddd.uab.cat:157786
Acceso en línea:https://ddd.uab.cat/record/157786
https://dx.doi.org/urn:doi:10.1016/j.jpdc.2015.08.005
Access Level:acceso abierto
Palabra clave:Software fault tolerance
Resilience
RADIC
Message passing
Semi-coordinated checkpoint
Uncoordinated checkpoint
Socket
Descripción
Sumario:The increasing failure rate in High Performance Computing encourages the investigation of fault tolerance mechanisms to guarantee the execution of an application in spite of node faults. This paper presents an automatic and scalable fault tolerant model designed to be transparent for applications and for message passing libraries. The model consists of detecting failures in the communication socket caused by a faulty node. In those cases, the affected processes are recovered in a healthy node and the connections are reestablished without losing data. The Redundant Array of Distributed Independent Controllers architecture proposes a decentralized model for all the tasks required in a fault tolerance system: protection, detection, recovery and masking. Decentralized algorithms allow the application to scale, which is a key property for current HPC system. Three different rollback recovery protocols are defined and discussed with the aim of offering alternatives to reduce overhead when multicore systems are used. A prototype has been implemented to carry out an exhaustive experimental evaluation through Master/Worker and Single Program Multiple Data execution models. Multiple workloads and an increasing number of processes have been taken into account to compare the above mentioned protocols. The executions take place in two multicore Linux clusters with different socket communications libraries.