学位论文 > 优秀研究生学位论文题录展示

高可用MPI并行编程环境及并行程序开发方法的研究与实现

作 者: 谢旻
导 师: 杨学军
学 校: 国防科学技术大学
专 业: 计算机科学与技术
关键词: 高可用 用户级通信 消息传递接口MPI 基于检查点的回卷恢复 容错并行算法
分类号: TP338.6
类 型: 博士论文
年 份: 2007年
下 载: 518次
引 用: 3次
阅 读: 论文下载
 

内容摘要


科学技术的发展进步使得越来越多的学科领域开始采用科学计算、数值模拟的手段来解决科学研究和工程实践中遇到的各种问题,这些应用问题往往具有大计算量,大数据存储量,以及大数据交换量的需求,大规模并行计算机系统是当前满足这些高性能计算需求的主流计算机系统结构实现方式。随着并行计算机系统规模的扩展,随之而来的是并行应用的可扩展性难题和系统可靠性的降低,一些超大规模并行计算系统的平均故障间隔时间甚至只有几小时,在这种情况下,如果不能提供高性能、具有容错能力的并行软件开发和运行环境,那么很多大规模的并行应用将无法高效率地运行,并最终成功完成,这将严重影响系统和应用的可用性。消息传递是开发并行应用的主要编程模型,MPI是消息传递编程接口的事实标准,具有并行算法实现灵活、性能高和可移植性好等特点。本论文紧密围绕提高大规模并行计算机系统和应用的可用性这一中心目标,对实现高可用MPI并行编程环境的相关问题展开研究,包括性能、可扩展性和容错能力。另外,考虑到未来并行计算系统的规模还将进一步扩大,为了更有效的进行容错处理,论文还从MPI并行程序开发的角度,研究探讨了高效的容错并行算法设计方法。论文的主要研究成果和创新包括:1)提出了一个面向大规模并行计算机系统的新型通信硬件接口CNI的结构设计,并在其上实现了Communication Express(CMEX)通信软件接口,该软件接口能够提供保护的、并发的、完全用户级的通信操作,支持进程间的零拷贝数据传输,并且采用无连接的语义实现了报文传输和RDMA两种通信机制,具有很好的数据传输性能,对实现具有良好可扩展性的软件系统提供了重要支持。我们也提出了采用静态程序分析和模型检验技术对CMEX通信软件接口进行验证的基本方法,以保证通信软件接口本身的正确性和可靠性。2)基于CMEX通信软件接口和MPICH2系统,本文研究了通过RDMA通信机制实现高性能、可扩展MPI并行编程环境MPICH2-CMEX的技术途径。面向性能需求,设计和实现了基于RDMA读和写操作的高效消息数据传输方法;面向可扩展性需求,一是提出了动态反馈信用流控算法,允许频繁通信的任务间通信资源的动态扩展,从而更有效地配置通信资源;二是结合并行应用的近邻通信模式,实现了组合通道数据传输方法,在并行应用的规模扩展时,能够在保证计算性能的同时,控制MPI系统内部的通信和内存资源消耗。我们在大规模并行计算机系统中进行了实际MPI并行应用的测试,取得了很好的计算加速比。3)为提高MPI并行应用的容错能力,在MPICH2-CMEX并行编程环境中设计实现了一个完全用户透明的系统级并行检查点,采用阻塞式协同检查点协议。针对并行检查点操作过程的主要开销来源,一是提出了结合并行应用的近邻通信模式特性,利用虚连接技术优化的低延迟协同协议实现技术,二是设计了利用全局并行文件系统的检查点系统结构,通过全局共享目录和并行I/O操作,简化检查点映像文件的管理,减少检查点映像数据的存储开销。通过一些并行应用的测试表明,该并行检查点系统具有较低的检查点运行时间开销,协同协议具有良好的可扩展性,检查点映像存储过程时间较短,为并行应用的长期可靠运行提供了有效的支持。4)面向未来超大规模并行计算机系统的并行应用容错需求,提出了一种面向MPI并行程序的新型容错并行算法(FTPA)的设计方法,该方法的核心思想在于它是通过并行应用中无故障任务并行复算故障任务的工作来应对系统中出现的故障。本文讨论了FTPA算法的设计思路和算法实现中的关键问题,提出了指导FTPA算法设计的进程间定值—引用分析方法和相关原则,并通过具体的并行应用实例说明了在不同并行应用中FTPA算法的实现细节。在大规模并行计算系统中的实际测试表明,FTPA算法的运行时间开销较低,具有较好的可扩展性。FTPA算法和检查点系统相结合,将是一种解决大规模并行应用容错的有效技术途径。

全文目录


摘要  12-14
ABSTRACT  14-16
第一章 绪论  16-28
  1.1 课题研究背景  16-20
    1.1.1 高性能计算机的作用与形式  16-17
    1.1.2 大规模并行计算机系统的发展趋势和面临的挑战  17-19
    1.1.3 大规模并行计算机系统的可用性  19-20
  1.2 相关研究工作  20-25
    1.2.1 高性能互连通信软硬件接口  20-21
    1.2.2 高性能、可扩展、容错MPI系统  21-22
    1.2.3 消息传递系统中基于检查点的回卷恢复  22-25
  1.3 本文的研究内容和创新  25-27
  1.4 论文结构  27-28
第二章 面向大规模并行计算机系统的互连通信接口  28-50
  2.1 研究背景  28-29
  2.2 CNI互连通信硬件接口  29-32
    2.2.1 通信机制  29-30
    2.2.2 结构设计  30-32
  2.3 CMEX通信软件接口  32-38
    2.3.1 设计目标  32-33
    2.3.2 总体结构  33-34
    2.3.3 关键实现技术  34-38
  2.4 性能评测  38-43
    2.4.1 测试平台  38
    2.4.2 测试方法  38-39
    2.4.3 测试结果  39-43
  2.5 与相关工作的对比  43-44
  2.6 CMEX通信软件接口的验证  44-49
    2.6.1 静态程序分析  45
    2.6.2 模型检验  45-49
  2.7 小结  49-50
第三章 高性能、可扩展MPI并行编程环境  50-77
  3.1 研究背景  50-54
    3.1.1 MPI实现相关问题  50-51
    3.1.2 MPICH2系统结构  51
    3.1.3 数据传输协议  51-52
    3.1.4 虚连接与消息队列  52-53
    3.1.5 通道接口  53-54
  3.2 基于RDMA的数据传输  54-55
  3.3 基于RDMA写的消息数据传输  55-59
    3.3.1 传输算法  55-57
    3.3.2 实现细节  57-59
    3.3.3 流控策略  59
    3.3.4 资源消耗  59
  3.4 基于RDMA读的消息数据传输  59-65
    3.4.1 传输算法  59-63
    3.4.2 流控策略  63
    3.4.3 动态反馈信用流控  63-65
  3.5 组合通道消息数据传输  65-67
    3.5.1 并行应用的近邻通信模式  65-66
    3.5.2 通道选择方法  66-67
    3.5.3 资源消耗  67
  3.6 性能评测  67-75
    3.6.1 测试平台  67
    3.6.2 测试程序  67-68
    3.6.3 通信延迟和带宽  68-70
    3.6.4 流控测试  70-72
    3.6.5 组合通道性能对比  72-73
    3.6.6 NPB应用性能  73-75
  3.7 与相关工作的对比  75
  3.8 小结  75-77
第四章 完全用户透明的MPI并行检查点系统  77-97
  4.1 研究背景  77-80
    4.1.1 基于检查点的回卷恢复  78
    4.1.2 单机检查点  78-79
    4.1.3 检查点映像文件存储  79-80
  4.2 设计思想  80-83
    4.2.1 全局一致状态  80
    4.2.2 并行检查点系统结构  80-82
    4.2.3 检查点操作流程  82-83
  4.3 协同协议的实现  83-87
    4.3.1 信号与临界区处理  83-85
    4.3.2 通道清空操作过程  85-86
    4.3.3 协议消息的处理  86
    4.3.4 通道的关闭和重建  86-87
  4.4 性能评测  87-91
    4.4.1 测试环境  87
    4.4.2 测试方法  87-88
    4.4.3 检查点开销  88-90
    4.4.4 回卷恢复开销  90-91
  4.5 I/O操作的优化策略  91-92
  4.6 周期性检查点  92-93
  4.7 用户主动的并行检查点  93-94
  4.8 与相关工作的对比  94-96
  4.9 小结  96-97
第五章 面向MPI程序的容错并行算法设计方法  97-114
  5.1 面向MPI并行应用的容错方法  97-101
    5.1.1 系统级容错方法  97-98
    5.1.2 用户级检查点技术  98
    5.1.3 Diskless检查点方法  98-99
    5.1.4 容错MPI环境  99-100
    5.1.5 针对特定应用的容错算法  100
    5.1.6 研究思路  100-101
  5.2 容错并行算法FTPA  101-111
    5.2.1 FTPA算法的故障模型  101-102
    5.2.2 FTPA算法设计思想和流程  102-104
    5.2.3 FTPA算法中的容错处理  104-105
    5.2.4 进程间定值—引用分析方法  105-107
    5.2.5 实例研究  107-109
    5.2.6 反映处理器失效故障的加速比  109-111
  5.3 性能评测  111-112
    5.3.1 容错印程序测试  111-112
    5.3.2 容错 FT程序测试  112
  5.4 小结  112-114
第六章 结束语  114-117
  6.1 工作总结  114-115
  6.2 研究展望  115-117
致谢  117-118
参考文献  118-126
作者在学期间取得的学术成果  126-127
攻读博士学位期间参加的科研项目和获奖情况  127

相似论文

  1. 一种无主控制的云存储架构的研究,TP333
  2. 海量存储系统中高可用服务管理的设计与实现,TP333
  3. 面向星载计算机的容错并行算法研究与实现,TP302.8
  4. 遗传连锁群中分子标记排序研究,TP18
  5. 高性能服务器自主管理板的设计与实现,TP393.05
  6. 银行计算机网络高可用模型研究,TP399-C2
  7. 高可用集群系统仲裁机构设计,TP338.6
  8. 多机集群心跳技术研究,TP338
  9. 面向新型无人机的高可用覆盖网模型的研究,TP393.02
  10. 集群系统的通信性能分析与优化,TN929.52
  11. 高可用性虚拟化管理中心的设计与实现,TP311.52
  12. 基于MPI的可视化并行程序开发平台的研究与实现,TP311.52
  13. 某集团SAP系统基础架构分析与设计,TP399-C2
  14. 数据库高可用中间件关键技术研究与实现,TP311.13
  15. 虚拟机设备的高可用技术研究及应用,TP311.52
  16. 基于CORBA的分布式服务高可用技术研究与实现,TP311.52
  17. 面向容灾的失效检测技术研究与实现,TP309
  18. 快速产生安全椭圆曲线的研究,TN918.1
  19. 分布式并行数据库系统DPSQL中智能化重构的研究与实现,TP311.13
  20. 基于集群的高可靠服务器研究,TP393.05
  21. 并行文件系统元数据管理研究,TP316

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 电子数字计算机(不连续作用电子计算机) > 各种电子数字计算机 > 并行计算机
© 2012 www.xueweilunwen.com