论文摘要
随着系统规模的不断扩大和COTS器件制造工艺的不断发展,高性能计算机面临着严峻的可靠性挑战。应用级checkpointing技术是应对这一挑战的关键技术。但是,当前应用级checkpointing技术面临着性能优势无法充分发挥以及不方便使用的问题。本文致力于高效易用的应用级checkpointing技术的研究与实现,着重研究了应用级checkpoint的优化保存问题,应用级checkpoint全局状态一致性问题,多checkpoint的总开销最优化问题和应用级checkpointing技术易用性问题。本文的主要贡献可概括为以下几点:1、针对现有活跃变量分析方法不能对MPI并行程序进行准确分析的问题,我们定义了MPI并行程序进程间和进程内的定值-引用关系,并提出了MPI并行程序活跃变量分析方法——LAMP。LAMP克服了传统活跃变量分析方法既不能区分同一个变量在各进程上不同的活跃性、也不能分析跨进程定值-引用关系的缺点,它是优化应用级checkpoint数据量从而减小checkpoint开销的基础技术。2、深入研究了应用级checkpoint的优化保存问题。我们首先分析了MPI并行程序计算状态的组成,确定了对其中占主要部分的各进程计算状态进行优化的思想;然后提出了一种基于LAMP的应用级checkpointing技术。实验结果表明该技术能够有效减小checkpoint数据量和减小checkpoint开销。3、深入研究了全局checkpoint数据的一致性问题。我们提出了一个基于编译分析保持应用级checkpoint数据一致性的新方法。该方法不需要记录checkpointing期间的early或late消息,而是通过静态分析找出MPI程序中安全的checkpointing区域的方法,在安全的checkpointing区内保存应用级checkpoint时不需要记录任何消息。实验证明该方法简单有效。4、深入研究了多个checkpoint的总开销最小化问题,提出了一种优化设置多个checkpoint位置的方法。由于应用级checkpointing开销主要来自写checkpoint文件的时间,我们首先将求解最小的checkpoint总开销近似为求解最小的checkpoint总数据量。然后将多checkpoint的优化设置问题抽象为一个类似于0-1整数规划的数学问题。最后给出了两种求解算法。5、针对应用级checkpointing的易用性问题,我们设计并实现了一个源到源的预编译器ALEC,它可以非常方便地将普通的Fortran77/MPI程序转换成具有高效的应用级checkpointing功能的容错程序。
论文目录
摘要ABSTRACT第一章 绪论1.1 课题背景1.1.1 高性能计算的普及应用1.1.2 高性能计算面临的可靠性挑战1.2 相关研究工作1.2.1 容错的基本概念和常用方法1.2.2 Rollback-recovery 容错技术分析1.2.3 优化checkpoint 开销的相关研究1.2.4 相关工作小结1.3 课题研究内容1.3.1 课题来源1.3.2 课题研究重点1.3.3 课题研究难点1.4 本文的主要工作和创新1.5 Checkpointing 技术的几个术语1.6 论文结构第二章 MPI 并行程序活跃变量分析方法——LAMP2.1 MPI 并行程序分析2.1.1 并行编程模型2.1.2 并行程序的实现方式2.1.3 MPI 程序设计与执行的特点2.2 MPI 程序的应用级checkpoint 数据2.2.1 一个MPI 程序实例2.2.2 并行程序活跃变量的定义2.3 LAMP2.3.1 分析块与MPI 程序流图2.3.2 LAMP 分析方法2.3.3 LAMP 方法举例2.4 本章小节第三章 基于LAMP 的应用级checkpointing 技术3.1 求解指定checkpoint 位置各进程上的活跃变量集合的算法3.1.1 初始分析3.1.2 更新3.1.3 Checkpoint 数据量最小化问题3.1.4 增量式checkpointing3.2 选择合适的checkpoint 位置3.2.1 一般算法3.2.2 简化算法3.3 应用级checkpoint 的保存和恢复3.3.1 保存和恢复应用程序的执行位置3.3.2 保存和恢复应用状态3.3.3 处理MPI 库状态3.3.4 应用状态保存和恢复方法的特点3.4 实验评估3.4.1 实验方法3.4.2 实验结果3.5 本章小结第四章 应用级checkpoint 数据的一致性问题研究4.1 问题背景4.1.1 一致性问题的几个基本概念4.1.2 现有解决方法分析4.1.3 小结4.2 安全的checkpointing 区4.2.1 强一致性的概念4.2.2 安全的checkpointing 区4.3 识别安全的checkpointing 区4.3.1 MPI 程序特征分析4.3.2 识别通信线/区4.4 实验评估4.4.1 实验设置4.4.2 实验结果4.5 本章小结第五章 多checkpoint 的优化设置5.1 问题背景5.2 数学模型及求解5.2.1 问题一:程序中已有N 个checkpoint 指令5.2.2 问题二:程序中没有checkpoint 指令5.3 实验评估5.3.1 实验设置5.3.2 实验结果5.4 本章小结第六章 ALEC 系统的设计与实现6.1 ALEC 的结构和实现6.1.1 词法分析6.1.2 分块并创建流图6.1.3 识别安全的checkpointing 区6.1.4 活跃变量分析6.1.5 Checkpoints 选择6.1.6 插入保存与恢复代码6.2 ALC-Tool 的设计方案6.3 本章小结第七章 结束语7.1 工作总结7.2 研究展望致谢参考文献攻读博士学位期间已发表和待发表的论文攻读博士学位期间参与的科研项目
相关论文文献
- [1].异构系统的异步应用级Checkpointing技术[J]. 计算机工程与科学 2011(11)
- [2].地震叠前逆时偏移的有效边界存储策略[J]. 地球物理学报 2012(07)
标签:高性能计算论文; 容错论文; 应用级论文; 程序活跃变量分析论文; 一致性问题论文;