基于Lustre文件系统的MPI检查点系统实现技术与性能测试
- 格式:pdf
- 大小:503.04 KB
- 文档页数:8
计算机研究与发展 Journal of Computer Research and Development ISSN 1000.1239|CN 11-1777|1P
44(10):1709~1716,2007
基于Lustre文件系统的MPI检查点系统实现技术与性能测试 谢 雯 卢宇彤 周恩强 曹宏嘉 杨学军 (国防科学技术大学计算机学院 长沙410073) (xmxmxie@gmail.corn)
Implementation and Evaluation of MPI Checkp0inting System over Lustre File System
Xie Min,Lu Yutong,Zhou Enqiang,Cao Hongjia,and Yang Xuejun (School ofComputer Science,National University ofDefense Technology,Changsha 410073)
Abstract As one of the most important fault—tolerant techniques,coordinated checkpoint based rollback— recovery has been adopted in large scale parallel computer systems.Coordinating protocol and checkpoint image storage are tWO major factors that affect the overhead of parallel checkpointing systems.A novel application—transparent parallel checkpointing system implemented in MPICH2 is proposed.Compared with the existing techniques,the advantages of this system are summarized as follows:1)Utilize the feature of near—neighbor communication in applications and virtual connection method to reduce the number of internal messages exchanged in coordinating stage,and hence to reduce the latency of protocol processing;2)Store checkpoint images using Lustre file system to simplify the checkpoint files management;and 3)Implement parallel I/O in image storage stage to improve the system performance.Experiments suggest that the approach proposed results in low runtime overhead and enhances system scalability.
Key words fault—tolerant;MPICH2;rollback—recovery;coordinated checkpoint;Lustre file system
摘要基于协同式检查点的回卷恢复是在大规模并行计算机系统中得到采用的一项重要容错技术,其 性能开销主要为协同协议和检查点映像存储所决定.描述了一个在MPICH2中实现的应用透明的并行 检查点系统,相比已有的技术,该系统有以下特点:1)协同协议操作利用了并行应用的近邻通信特性, 通过虚连接方法减少协议的处理开销;2)采用Lustre文件系统简化检查点映像文件管理的复杂性;3) 通过并行I/O操作提高性能,优化检查点映像的存储过程.实际应用的测试表明,该检查点系统具有较 小的运行时间开销和良好的可扩展性.
关键词容错技术;MPICH2;回卷恢复;协同式检查点;Lustre文件系统 中图法分类号TP316.4
并行计算机系统在规模扩大的同时带来系统可 靠性的降低,一些大规模并行系统的平均故障间隔 时间(mean time to interrupt,MTTI)甚至只有几小 时,但如果系统不能提供容错支持,也将严重影响应 用的可扩展性和系统可用性.MPI是事实上的消息 传递并行编程接口标准,但缺乏容错相关的接口,因 此MPI并行应用在系统出现故障时,通常只能终止 运行,然后再从头开始重新执行,这不仅浪费大量计 算时间,而且如果系统的MTTI时间小于并行应用 的执行时间,则应用将始终无法成功完成.基于检 查点的回卷恢复是实现容错的一个重要技术,通过 检查点,应用的状态被保存到稳定存储设备上,当系
收稿日期:2007—02—25;修回日期:2007—07—30 基金项目:国家自然科学基金项目(60621003,60573135);国家“八六三”高技术研究发展计划基金项目(2006AA01A106)
维普资讯 http://www.cqvip.com 计算机研究与发展2007,44(1o) 统出现故障时,应用可以从检查点映像中恢复执行. MPIC 一CMEX是基于MPICI ̄和Contmunication Express(CMEX)通信软件接口实现的可扩展、高性 能的MPI并行编程环境,本文描述了在MPICH2一 CMEX中实现的并行检查点系统,它使用协同式检 查点协议实现应用的所有任务间全局一致的状态, 利用单机检查点系统生成每个任务的检查点映像, 检查点映像利用Lustre文件系统_l J进行存储.并行 检查点操作对用户完全透明,不需要修改应用程序 代码.实际应用的测试表明,该检查点系统具有较 小的运行时间开销,对大规模并行应用的长期可靠 运行提供了有效的支持. 1 背 景 1.1 基于检查点的回卷恢复技术 文献[2]对消息传递系统中回卷恢复协议进行 了对比分析,包括检查点和消息日志两种技术途径, 检查点又分为非协同式、协同式和通信诱导式.非 协同式检查点会产生很多不具有全局一致状态的检 查点映像,造成较多的存储开销,而且回卷恢复时可 能产生多米诺效应_2j,浪费大量的计算时间.在高 性能计算系统中,并行应用任务间通常有频繁大量 的消息通信,但和外界很少进行消息交换,因此消息 日志方法会引入非常多的日志存储开销,影响任务 间通信性能.协同式检查点产生的是全局一致可恢 复的检查点状态,只需保留最近一次的检查点映像 就可以用于回卷恢复,这有利于减少存储开销,而且 很多MPI并行应用算法表现出近邻通信特性,利用 这一特性能进一步简化协同协议开销.考虑目标平 台特性和实现复杂度开销,我们采用阻塞式协同式 检查点技术. 从是否对用户透明的角度,检查点技术又可分 为应用级和系统级检查点.应用级检查点E3 是在应 用程序源代码中插入保存和恢复状态的代码,可移 植性较好,可根据程序特性减少需要存储的数据量, 但加重了开发人员的负担,对编译分析技术要求较 高,在应用正常执行时也会引入一些开销.系统级 检查点通过存储整个应用任务的物理内存映像来保 存应用执行的中间状态,数据存储开销较高,但这种 方式不需要修改应用程序.我们采用系统级检查 点,以便实现完全用户透明的并行检查点系统,多次 检查点的存储开销可以通过增量式检查点技术来进 行优化。 1.2 MPICH2.CMEX实现技术 MPICH2是一个层次化结构的MPI实现,包括 MPI语义接口层、抽象设备接口层ADI3以及通道接 口层CH3.MPICH2一CMEX的CH3层使用CMEX通 信软件接口实现,通过采用混合RDMA读和RDMA 写的数据传输方式,实现MPICH2内部的Eager和 Rendezvous通信协议,在保证任务间消息传递的高 性能同时,具有良好的可扩展性. MPI并行应用的任务之间逻辑上组成一个全 连通图,但很多并行算法的特性决定了每个MPI任 务只会与部分其他任务通信.MPICH2一CMEX采用 了虚连接(virtual connection,VC)方法描述任务间 通信状态,每个MPI任务维护一张VC表,每个VC 表项的状态反映了和应用中一个MPI任务的通信 关系.初始时所有VC表项处于未连接状态,任务之 问第1次通信前,将执行一个连接协议操作,将VC 表项修改成连接状态,因此这是一个按需连接的过 程,从VC表项的状态可以了解到任务间实际通信 状态. 每个VC表项中有一条消息发送队列,记录暂 时无法由底层通信系统处理的消息发送请求,等待 前进引擎(progress engine)进行处理.前进引擎的主 要操作是在已连接的VC上推动消息数据的发送和 接收处理,前进引擎的调用时机对MPI任务实现通 信与计算重叠的能力有较大的影响,对并行检查点 的协同操作过程也有重要的作用. 1.3单机检查点与映像存储 我们采用的单机检查点是基于BLCR_4 修改简 化而来,提供简单的库函数调用接口,主要是cr— checkpoint(),用于生成检查点映像和cr—restart(), 用于任务的重启动执行.由于从检查点恢复运行时 任务所处的结点环境可能会发生变化,部分资源需 要重新申请使用,因此任务使用的一些资源需要做 相应处理,不能保存在单机检查点映像中. 检查点映像存储是影响并行检查点性能的重要 因素,已有的一些系统将映像存储到结点的本地磁 盘中,虽然分布了文件I/O,但带来映像文件管理和 定位的复杂度,另外在很多大规模的并行计算机系 统中,计算结点并不带有本地磁盘,文件I/O需要通 过网络传输到文件服务器中进行.Lustre是近年来 面向大规模并行计算机系统设计实现的高性能全局 共享文件系统,采用了元数据和文件数据存储相分 离的方式,文件数据存储在OST(object storage target)中,当配置多个OST时,不同结点对不同文
维普资讯 http://www.cqvip.com