The Community for Technology Leaders
Green Image
Issue No. 10 - October (2009 vol. 20)
ISSN: 1045-9219
pp: 1471-1486
Xuejun Yang , National University of Defense Technology, Changsha
Yunfei Du , National University of Defense Technology, Changsha
Jia Jia , National University of Defense Technology, Changsha
Hongyi Fu , National University of Defense Technology, Changsha
Panfeng Wang , National University of Defense Technology, Changsha
ABSTRACT
As the size of large-scale computer systems increases, their mean-time-between-failures are becoming significantly shorter than the execution time of many current scientific applications. To complete the execution of scientific applications, they must tolerate hardware failures. Conventional rollback-recovery protocols redo the computation of the crashed process since the last checkpoint on a single processor. As a result, the recovery time of all protocols is no less than the time between the last checkpoint and the crash. In this paper, we propose a new application-level fault-tolerant approach for parallel applications called the Fault-Tolerant Parallel Algorithm (FTPA), which provides fast self-recovery. When fail-stop failures occur and are detected, all surviving processes recompute the workload of failed processes in parallel. FTPA, however, requires the user to be involved in fault tolerance. In order to ease the FTPA implementation, we developed Get it Fault-Tolerant (GiFT), a source-to-source precompiler tool to automate the FTPA implementation. We evaluate the performance of FTPA with parallel matrix multiplication and five kernels of NAS Parallel Benchmarks on a cluster system with 1,024 CPUs. The experimental results show that the performance of FTPA is better than the performance of the traditional checkpointing approach.
INDEX TERMS
Fault tolerance, fault-tolerant parallel algorithm, fast self-recovery, parallel recomputing.
CITATION
Xuejun Yang, Yunfei Du, Jia Jia, Hongyi Fu, Panfeng Wang, "FTPA: Supporting Fault-Tolerant Parallel Computing through Parallel Recomputing", IEEE Transactions on Parallel & Distributed Systems, vol. 20, no. , pp. 1471-1486, October 2009, doi:10.1109/TPDS.2008.231
99 ms
(Ver )