基于SMP集群的MPI+OpenMP混合并行编程模型研究与应用

基于SMP集群的MPI+OpenMP混合并行编程模型研究与应用

论文摘要

随着计算机集成技术的不断发展,越来越多的CPU可以同时访问同一内存空间,共享内存体系结构(SMP)逐渐在并行计算领域占据主导地位。另外,制造商热衷于将SMP集群化,来构建远胜于单一结构的并行系统。在Top500前十名超级计算机中,大部分是SMP集群(SMP Cluster)。然而,适合于SMP集群的并行编程模型研究相对滞后。为了找到一种适合于现有平台及应用的编程模型,往往需要做大量试验,不断的对比、分析和修正。针对这一突出问题,本文做了如下研究工作:(1)以MPI+OpenMP为代表详细描述了适用于SMP集群的混合并行编程模型。它贴近于SMP集群的体系结构且综合了消息传递和共享内存两种编程模型的优势,能够得到更好的性能表现。在此基础上,重点讨论了混合模型的实现机制、并行化粒度选择、循环选择、线程数控制、优化措施以及相对于纯MPI模型的优势。最后指出,在一定条件下混合并行编程模型是SMP集群的最优选择。(2)性能评测和建模是使得优化并行程序得以进行的关键步骤。混合并行编程模型,例如MPI+OpenMP,需要分析确定两种性能效率和特定硬件平台下的最佳处理器和线程数。为了研究这些问题,我们提出基于少量参数却能较好逼近运行时系统复杂性的性能评测模型。我们结合两种不同的技术,包括静态分析和并行开销度量基准。静态分析的作用在于通过OpenUH编译器获得应用标识,而并行开销度量基准通过Sphinx和Perfsuite搜集系统特征。最后,我们提出了一种用于确定通讯和计算效率的性能评测度量模型。(3)通过一个具体的应用案例详细描述了混合并行程序的设计过程和试验分析方法。通过对结果的分析展示了上述研究工作的有效性,结果是令人满意的。多核体系结构的出现直接导致了多核SMP集群的出现。这一新兴的复杂体系结构,无论是对于企业级服务器还是大规模科研应用,都已经成为性价比最高的首选解决方案。本文最后,对(多核)SMP集群的编程模型及优化进行了展望。

论文目录

  • 摘要
  • Abstract
  • 第1 章 绪言
  • 1.1 研究背景与现状
  • 1.1.1 并行硬件体系结构
  • 1.1.2 并行程序设计模型
  • 1.2 并行计算所面临的关键问题
  • 1.3 本文研究内容与组织结构
  • 第2 章 基于SMP 集群的混合并行编程模型研究
  • 2.1 混合模型及实现
  • 2.1.1 实现机制
  • 2.1.2 并行化粒度
  • 2.1.3 循环选择的问题
  • 2.1.4 线程数的确定
  • 2.2 混合程序优化
  • 2.2.1 优化措施
  • 2.2.2 OpenMP+MPI 需要注意的问题
  • 2.3 混合编程模型的其他实现方式
  • 2.4 混合编程模型的优势
  • 2.5 小结
  • 第3 章 SMP 集群性能评测模型研究
  • 3.1 性能评测模型
  • 3.1.1 通讯模型
  • 3.1.2 计算模型
  • 3.1.3 通讯-计算模型
  • 3.2 改进的通讯-计算模型
  • 3.3 性能度量
  • 3.3.1 建模构架
  • 3.4 案例研究
  • 3.5 小结
  • 第4 章 混合编程模式的应用分析
  • 4.1 问题描述
  • 4.2 串行算法
  • 4.3 混合并行算法设计与实现
  • 4.4 曙光4000L 高性能计算集群系统
  • 4.5 试验及结果分析
  • 4.6 小结
  • 第5 章 结论与展望
  • 5.1 本文工作总结
  • 5.2 进一步研究的展望
  • 参考文献
  • 致谢
  • 攻读硕士学位期间发表的学术论文
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于SMP集群的MPI+OpenMP混合并行编程模型研究与应用
    下载Doc文档

    猜你喜欢