面向多核处理系统的OpenMPI通信机制研究与优化实现
发布时间:2022-02-24 12:28
随着科学技术的飞速发展,越来越多的学科领域开始利用计算机通过科学计算,数值模拟的手段来解决各种重大问题。高性能计算直接影响国防能力和国家安全,成为衡量国家综合实力的一个重要标志。多核处理器的出现解决了处理器性能的瓶颈问题,被广泛运用于高性能计算系统的构建,成为高性能计算结点的主要组成部分。MPI作为目前主流的并行编程模式及分布式并行系统的主要编程环境,其实现系统的性能直接影响到高性能计算的效率。Open MPI是一个开源的、高效的组件式结构MPI实现,它不仅为第三方研究者提供了一个稳定的平台,而且可以在运行时增加所需插件,具有较高的灵活性。Open MPI结点间和结点内短消息的传递都具有良好性能,但是结点内长消息传递性能较差。为了进一步提高Open MPI在多核结构下的长消息传递性能,本文提出了两种优化方案,设计并实现了一种基于内核模块内存映射的消息传递组件KBDT,测试表明,KBDT组件可以有效的提高Open MPI的结点内长消息传递性能,并且较SM组件具有更好的可扩展性。论文主要工作主要包括:第一,研究结点内消息传递的通信协议并分析其优缺点,对目前应用较广泛的MPI实现MPICH2...
【文章来源】:国防科技大学湖南省211工程院校985工程院校
【文章页数】:75 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 课题背景
1.1.1 高性能计算的作用
1.1.2 处理器的发展及带来的挑战
1.1.3 主流并行编程模式—MPI
1.1.4 组件式结构MPI 实现Open MPI
1.2 研究现状
1.2.1 MPI 的研究及实现
1.2.2 结点间通信技术介绍
1.2.3 结点内通信技术研究
1.3 论文主要工作
1.4 本文结构
第二章 结点内MPI 消息传递机制的研究
2.1 结点内MPI 消息传递的通信协议
2.1.1 基于共享内存的消息传递协议
2.1.2 基于共享内存消息队列的消息传递协议
2.1.3 基于Ptrace 系统调用的消息传递协议
2.1.4 基于内核模块的消息传递协议
2.1.5 基于网络接口控制器(NIC)的消息传递协议
2.2 MPICH2 整体框架及nemesis 通道分析
2.2.1 MPICH2 结构
2.2.2 nemesis 通道中基于共享内存的通信协议
2.2.3 nemesis 中基于系统调用的vmsplice 模块
2.2.4 nemesis 中基于内核模块的KNEM
2.3 本章小结
第三章 基于组件结构的结点内消息传递优化方法研究与设计
3.1 Open MPI 及SM 组件分析
3.1.1 Open MPI 组件式通信结构
3.1.2 SM 组件基于共享内存的消息传递协议
3.2 nemesis 通道与SM 组件的性能比较
3.2.1 测试环境
3.2.2 点点通信测试结果
3.2.3 聚合通信测试结果
3.3 优化方案设计
3.3.1 基于二进制折半查找的接收队列状态判断方法
3.3.2 减少内存拷贝次数
3.4 本章小结
第四章 基于内核模块内存映射的通信机制在OpenMPI 中的设计和实现
4.1 基于内核模块内存映射消息传递方法设计分析
4.2 KBDT 组件关键技术
4.2.1 内存映射机制
4.2.2 消息传递协议
4.3 KBDT 组件的实现
4.3.1 组件初始化
4.3.2 进程选择阶段
4.3.3 消息传递实现阶段
4.3.4 关闭阶段
4.3.5 KBDT 组件的优化
第五章 性能测试与结果分析
5.1 测试环境与目标
5.2 点点通信性能测试
5.2.1 点点通信的延迟测试
5.2.2 点点通信的带宽测试
5.3 聚合通信性能测试
5.4 NPB 应用性能测试
5.5 本章小结
第六章 结束语
6.1 工作总结
6.2 下一步工作
致谢
参考文献
作者在学期间取得的学术成果
【参考文献】:
期刊论文
[1]MPICH2-CMEX:可扩展消息传递接口实现技术[J]. 谢旻,卢宇彤,周恩强. 计算机工程与应用. 2008(02)
本文编号:3642731
【文章来源】:国防科技大学湖南省211工程院校985工程院校
【文章页数】:75 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 课题背景
1.1.1 高性能计算的作用
1.1.2 处理器的发展及带来的挑战
1.1.3 主流并行编程模式—MPI
1.1.4 组件式结构MPI 实现Open MPI
1.2 研究现状
1.2.1 MPI 的研究及实现
1.2.2 结点间通信技术介绍
1.2.3 结点内通信技术研究
1.3 论文主要工作
1.4 本文结构
第二章 结点内MPI 消息传递机制的研究
2.1 结点内MPI 消息传递的通信协议
2.1.1 基于共享内存的消息传递协议
2.1.2 基于共享内存消息队列的消息传递协议
2.1.3 基于Ptrace 系统调用的消息传递协议
2.1.4 基于内核模块的消息传递协议
2.1.5 基于网络接口控制器(NIC)的消息传递协议
2.2 MPICH2 整体框架及nemesis 通道分析
2.2.1 MPICH2 结构
2.2.2 nemesis 通道中基于共享内存的通信协议
2.2.3 nemesis 中基于系统调用的vmsplice 模块
2.2.4 nemesis 中基于内核模块的KNEM
2.3 本章小结
第三章 基于组件结构的结点内消息传递优化方法研究与设计
3.1 Open MPI 及SM 组件分析
3.1.1 Open MPI 组件式通信结构
3.1.2 SM 组件基于共享内存的消息传递协议
3.2 nemesis 通道与SM 组件的性能比较
3.2.1 测试环境
3.2.2 点点通信测试结果
3.2.3 聚合通信测试结果
3.3 优化方案设计
3.3.1 基于二进制折半查找的接收队列状态判断方法
3.3.2 减少内存拷贝次数
3.4 本章小结
第四章 基于内核模块内存映射的通信机制在OpenMPI 中的设计和实现
4.1 基于内核模块内存映射消息传递方法设计分析
4.2 KBDT 组件关键技术
4.2.1 内存映射机制
4.2.2 消息传递协议
4.3 KBDT 组件的实现
4.3.1 组件初始化
4.3.2 进程选择阶段
4.3.3 消息传递实现阶段
4.3.4 关闭阶段
4.3.5 KBDT 组件的优化
第五章 性能测试与结果分析
5.1 测试环境与目标
5.2 点点通信性能测试
5.2.1 点点通信的延迟测试
5.2.2 点点通信的带宽测试
5.3 聚合通信性能测试
5.4 NPB 应用性能测试
5.5 本章小结
第六章 结束语
6.1 工作总结
6.2 下一步工作
致谢
参考文献
作者在学期间取得的学术成果
【参考文献】:
期刊论文
[1]MPICH2-CMEX:可扩展消息传递接口实现技术[J]. 谢旻,卢宇彤,周恩强. 计算机工程与应用. 2008(02)
本文编号:3642731
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3642731.html