论文部分内容阅读
近年来,为了应对各应用领域飞速增长的计算能力需求,高性能计算HPC(High Performance Computing)系统的规模不断增大导致可靠性问题逐渐凸显,容错已成为新型HPC系统的必备能力。然而,系统规模增长导致故障率增加的同时,又会引起容错开销不断增大。如何解决容错导致HPC系统实际性能大幅下降的问题,已成为高性能计算面临的主要挑战之一。基于故障预测对可能出现的故障进行提前处理的容错方式被称为主动容错。与被动容错相比,主动容错能够降低相关容错操作的执行频率,在容错开销方面具备一定优势。随着HPC系统规模进一步增大,由于缺乏高效的主动故障处理方法PA(Proactive Action)和相应的优化策略,现有主动容错方法的开销依然不理想。本文面向大规模HPC系统,对主动容错的开销优化方法进行了研究。本文的主要贡献和创新点有:1.提出了一种基于预测故障类型的主动容错方法PTFPF。针对PTFPF的优化问题,提出了开销平衡的PA选择策略OBPASS以及收益感知的两级主动检查点存储策略GTPCS。由于HPC系统会发生多种类型的故障,且目前尚不存在一种能够以较小开销处理所有类型故障的PA,采用单一PA的主动容错方法的开销并不理想。由于超大规模系统的故障率很高,这种主动容错方法被用于此类系统中时容错开销较大。本文对主动协同CR和任务迁移相结合的主动容错方法进行了研究,提出了一种基于预测故障类型的主动容错方法PTFPF,并提出了相应的优化方法。首先,针对预测故障类型失误问题对PTFPF开销的影响,本文建立了PTFPF的性能模型,并基于模型提出了开销平衡的PA选择策略OBPASS。OBPASS通过对不同PA的开销期望进行估计,使系统始终能够选择开销期望较小的PA处理预测结果。然后,本文针对PTFPF中检查点存储开销较大的问题,研究了多级主动检查点存储方法,并针对预测引擎误判故障等级的问题提出了收益感知的两级主动检查点存储策略GTPCS。GTPCS能够估算存储不同等级检查点可能产生的优化收益和额外开销,并能够基于估算结果推导存储等级的切换时机。针对PTFPF的有效性评估表明:在预测引擎无法准确判断故障类型的情况下,OBPASS能够降低PTFPF约8%的容错开销;系统物理处理器数量超过一百万的情况下,PTFPF相比于现有主动容错方法最多能够降低约20%的容错开销。针对多级主动检查点存储方法的有效性评估表明:GTPCS能够减少故障等级误判对两级PTFPF容错开销的影响;系统物理处理器数量达到两百万的情况下,基于GTPCS的两级主动检查点存储方法能够进一步降低PTFPF约12%的容错开销。2.研究了面向预测时间失真的主动非协同CR方法PUCRD,提出了极小集消息记录法MSL以及主动消息存储优化策略SPPML。由于潜在的多米诺效应问题,非协同CR需要与消息记录方法配合工作。针对现有消息记录方法开销较大的问题,本文面向主动容错提出了极小集消息记录法MSL,并基于MSL提出了主动消息记录方法PML。MSL能够基于预测引擎的定位能力,通过仅记录故障相关消息的方法减少消息记录开销。然后,为了进一步优化PUCRD的容错开销,本文研究了PML的消息存储优化问题,提出了一种主动消息存储优化策略SPPML。SPPML通过估计不同消息存储方式对PUCRD容错开销的影响,指导系统按需地调整消息存储方式。仿真结果表明:MSL能够降低PML约83%的消息记录开销;与HMPL方法相比,基于MSL的PML能够降低超过95%的消息记录开销;相对于传统消息存储策略,SPPML能够降低PUCRD约6%的容错开销。综合评估表明,在系统物理处理器数量超过一百万的情况下,PUCRD的容错开销比现有主动容错方法低约25%。3.研究了统一主动时间冗余容错方法UTPF,提出了常用时间冗余PA的统一性能模型UMTPA、常用时间冗余PA的统一运算周期优化方法UPOTP以及面向PML的UTPF最少分组策略MGSUP。由于现阶段缺乏能够统一描述主动时间冗余容错方法开销的抽象模型,本文基于层次化CR思路,研究了统一的主动时间冗余容错方法UTPF,并提出了常用时间冗余PA的统一性能模型UMTPA。UMTPA适用于三种常用的基于时间冗余的PA——主动协同CR、主动非协同CR以及任务迁移。为了进一步优化UTPF的开销,本文提出了常用时间冗余PA的统一运算周期优化方法UPOTP。UPOTP通过模型微分的方法对UTPF的最优运算周期进行估计。虽然本文通过研究发现PML的开销会随着分组数量的增加而降低,但由于增加分组数量会增加故障定位失误的概率,并且UTPF的开销无法随分组数量的增加而线性降低,UTPF不适合使用最大分组策略。为了平衡它们之间的关系,本文面向PML提出了UTPF的最少分组策略MGSUP。MGSUP通过对UTPF的容错开销与分组数量之间的关系进行评估,使系统能够在尽量减少分组数量的情况下获得较好的开销优化效果。仿真结果表明:UMTPA能够较准确地描述三种时间冗余PA的容错开销;UPOTP能以较小误差估计常用时间冗余PA的最优运算周期。此外,虽然基于MGSUP获得的分组数量G*的值较小,却能够有效优化UTPF的开销。如果最大分组策略能够获得的优化效果为1,那么UTPF通过G*获得的优化效果超过0.98。综合评估表明,与PTFPF和PUCRD方法相比,在系统物理处理器数量达到两百万的情况下UTPF能够分别获得约22%和17%的开销优势。4.提出了基于时间片和相关性表的稀疏表示方法SRTC,并提出了基于SRTC的日志预处理方法SRCP。日志预处理方法中过滤无效记录的准确率和召回率不仅会影响事件路径法仿真实验中基于日志的事件路径的有效性,还会影响预测引擎的虚警率和漏警率。针对现有日志预处理方法过滤准确率较低的问题,本文提出了改进的稀疏表示方法SRTC。SRTC不仅能够提高日志预处理方法的过滤准确率,而且能够保障过滤召回率所受的影响很小。实验结果表明:相对于现有预处理方法,SRCP能够在过滤召回率降低幅度小于2%的情况下提高约8%的过滤准确率以及3.5%的F1测度。因此,SRCP能够改善事件路径仿真方法中基于日志的事件路径的有效性。进一步实验表明,与现有预处理方法相比,使用SRCP预处理后的日志构建预测引擎能够降低故障漏警率约7%,同时虚警率几乎不受影响。