高性能计算中的故障检测与恢复策略
立即解锁
发布时间: 2025-10-21 00:34:02 阅读量: 13 订阅数: 55 AIGC 

并行计算教育与实践
# 高性能计算中的故障检测与恢复策略
## 1. 负载均衡成本与恢复策略选择
在高性能计算系统中,负载均衡成本与故障数量密切相关。当我们研究收缩(shrinking)和非收缩(non - shrinking)恢复方法的效率时,发现负载均衡成本会随着故障数量的变化而变化。
以图 8 为例,它展示了在 N = 1024,α = 0.02 的情况下,使收缩和非收缩效率相等的负载均衡成本与故障数量的函数关系。曲线下方区域是收缩方法的优势区间,上方则是非收缩方法更优。比如,当有 1 次故障时,收缩方法要想胜出,负载均衡成本需小于运行时间的 2%;有 2 次故障时,该比例需降至 1%。这意味着对于 1 小时的运行任务,负载均衡应在 72 秒内完成。
随着故障数量的增加,允许的负载均衡成本急剧下降。这表明在高故障率的情况下,若要使收缩方法具有竞争力,就需要更高质量的负载均衡器。
## 2. 不同恢复策略的性能分析
### 2.1 收缩与非收缩恢复策略对比
收缩和非收缩是两种常见的恢复策略。研究发现,收缩方法在邻域通信模式下表现最佳,因为它能较好地维持网络局部性。而非收缩方法在集体通信模式下更具优势,但随着替换节点距离的增加,其通信性能会下降。
当面对集体通信结构时,两种恢复方案的性能都会严重下降。这说明在采用这两种方案之前,可能需要改进 MPI 集体实现或算法。
### 2.2 相关工作对比
不同的研究从不同角度探讨了恢复策略。例如:
- Teranishi 等人提出了使用 ULFM 实现本地故障本地恢复的软件框架,采用非收缩恢复方法。但他们观察到性能波动较大,可能是 ULFM 在管理进程丢失后的新通信模式时存在问题。
- Laguna 等人从可编程性角度讨论了不同应用类型的合适恢复模型,认为收缩方法对主从应用容易实现,非收缩方法对主从和 BSP 应用只需进行微小修改。而我们的研究从效率角度出发,揭示了不同通信模式和故障率下两种方案的优势区间。
- Bhatele 等人研究了通过任务映射提高 5D 环面网络上并行应用性能的方法,发现不同分区会导致性能差异,仔细选择映射可以显著提高性能。我们的工作则聚焦于恢复后的性能,发现集体通信对节点故障导致的网络拓扑变化敏感,5D 网络拓扑会影响恢复模型的选择。
## 3. 应用级检查点检测内存故障
### 3.1 背景与动机
在高性能计算领域,容错是超大规模系统面临的重大挑战。随着系统规模和复杂性的增加,故障发生的可能性也越来越大。当前高性能计算系统中,协调检查点/重启是事实上的容错标准,但它依赖于两个假设:故障不常见且系统能收到故障通知(即静默数据损坏罕见)。然而,对于下一代超大规模系统,这些假设是否仍然成立并不明确。
静默数据损坏(未检测到的位翻转)是未来系统特别关注的问题,传统的检查点/重启方法无法缓解这一问题。因此,基于应用和算法的容错方法成为研究热点,但这些方法通常需要保护应用的整个内存空间,开销较大。
### 3.2 利用检查点检测的优势
与传统算法方法不同,我们提出通过分析应用写入的检查点文件来检测错误,而不是检查应用的整个内存空间。这种方法具有以下优势:
- **易于集成**:当前的超大规模算法已经使用检查点进行容错,因此采用该方法几乎不需要修改。
- **代表关键状态**:检查点代表了应用的关键状态,整个内存空间可以从这个关键状态中再生。
- **低保护开销**:检查点通常比应用的内存空间小得多,因此保护它们的开销可能更低。
- **忽略无关错误**:那些不影
0
0
复制全文


