论文部分内容阅读
并行程序在科学计算、金融股票、国防安全等领域应用日益广泛,其执行周期往往以月为单位。为了应对随机错误、蓄意攻击等威胁,并行程序必须具有容错机制以确保其正确运行至结束。微重启技术作为一种有效容错手段,其核心思想就是在影响尽可能少的进程的前提下,将局部进程的错误状态恢复至正确状态,并保证整体执行结果的一致性。受目前重启框架尤其是检查点策略的影响,微重启主要面向串行程序,对并行环境的硬件故障容错具有局限性,例如硬件故障后检查点文件丢失、硬件故障恢复后集群负载不均衡。为此建立了一种高效、可对硬件故障容错的通用并行微重启架构,并提出了多级检查点策略及其存储与周期优化方法。首先,设计了一种高效、对硬件故障容错的通用并行微重启框架,重点解决了现有检查点策略对并行环境硬件故障不支持的问题。针对现有检查点策略对于硬件故障容错的局限性,将磁盘检查点与内存检查点优势相结合,提出了一种面向并行微重启的多级检查点策略。该策略以磁盘检查点为基础,融合使用双内存检查点,解决了硬件故障后检查点文件丢失的问题。在此基础上,利用内存检查点通信方面的优势,实现一种面向内存检查点的进程迁移机制,解决了硬件故障恢复后服务器集群负载不均衡的问题。同时,设计了一种内存检查点设置周期动态调整算法,降低了内存检查点的计算资源开销。其次,提出了一种面向多级检查点策略的检查点文件存储优化方法,对多级检查点内存布局进行了研究,减小了检查点文件体积。依据科学计算程序的数据分布特点,利用哈希函数跟踪内存变化,实现了一种带零块检测的多级增量检查点,有效减少了检查点文件的体积。进而结合已有的压缩算法,设计了一种多级检查点压缩算法,对压缩效率与系统开销做出均衡,进一步降低了检查点文件的磁盘和I/O开销。实验结果显示,该存储优化方法可以提高并行微重启的运行效率和恢复速度。最后,提出了一种多级检查点近似最优周期计算方法。通过引入检查点成本的定义,将一个并行程序的执行过程符号化。在此基础上,将多级检查点周期优化问题抽象为一个非线性的检查点成本模型。根据多级检查点结构的特点,分析在检查点设置过程中可能出现故障的位置,由该模型得到多级检查点成本公式。最终,引入三个影响因子模拟消息日志对多级检查点带来的影响,得出多级检查点近似最优周期计算方法。实验结果显示,该方法可以提高并行微重启的运行效率。