基于并行复算的故障恢复技术,将故障恢复的计算任务分配至未发生故障的结点上并行执行,从而显著缩短复算时间,有效降低故障恢复开销,提高并行程序容错性能.基于该故障恢复技术,提出了一种针对OpenMP并行程序的容错机制PR-OMP,有效解决了分段复算、复算负载重分布等问题;此外,还扩展了传统编译数据流分析技术,提出了针对OpenMP并行程序的数据流分析技术,并基于该技术计算状态保存开销进行优化.设计实现了用于支持PR-OMP的编译工具GiFT-OMP,并通过实验证明了PR-OMP机制及其支持工具的有效性,评估并分析了其性能和可扩展性.
This paper proposes a fault tolerance approach for OpenMP programs, named PR-OMP, which makes use of a novel fault recovery scheme, parallel recomputing. By redistributing the workload of the failed thread to all the surviving threads, PR-OMP remarkably reduces the overhead for fault recovery. The paper discusses the key issues including program division, computational state saving, workload redistribution, and fault detection of PR-OMP and details concerning implementation. Furthermore, the paper also presents an extended data flow analysis for OpenMP, which is used to decrease the data amount of computational state saving. Through the experimental evaluation, it has been proven that this approach achieves a minor overhead in fault recovery.