Fault tolerance at system level based on RADIC architecture
Journal of Parallel and Distributed Computing
h i g h l i g h t s • A system-level fault-tolerant mechanism for message passing applications. • Fully decentralized and transparent, for applications and communication library. • Protection, detection and recovery functions, implemented at socket API level. • Semi-coordinated vs. uncoordinated checkpoints: performance based election. a b s t r a c t The increasing failure rate in High Performance Computing encourages the investigation of fault tolerance mechanisms to guarantee the execution
... 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.