学位论文 > 优秀研究生学位论文题录展示
机群系统OpenMP研究
作 者: 吴少刚
导 师: 胡伟武
学 校: 中国科学院研究生院(计算技术研究所)
专 业: 计算机系统结构
关键词: 机群系统 OpenMP 软件分布式共享存储 数据分布 循环调度算法 JIAJIA
分类号: TP338.6
类 型: 博士论文
年 份: 2004年
下 载: 560次
引 用: 7次
阅 读: 论文下载
内容摘要
由于性能价格比高和可扩展好等特点,基于COTS技术的机群系统逐渐成为并行计算的主流平台。目前消息传递编程是机群系统上主流的编程模型,而在机群系统上寻求共享存储编程乃至支持自动并行一直是并行计算的研究热点。OpenMP是共享存储体系结构的并行编程标准,易于编程且支持增量并行,因此研究在机群系统上支持OpenMP的共享存储计算环境非常有意义。可扩展性和可编程性是用来衡量并行系统处理能力的两个重要指标。这种并行计算环境结合了OpenMP语言的可编程性,以及机群系统的可扩展性,将极大地推动并行应用的开发和普及。本文采用编译时和软件DSM运行时相结合的技术路线实现机群OpenMP。其中软件DSM系统在机群的消息传递硬件上提供共享虚拟存储抽象,而编译器实现OpenMP语言到该编程抽象的翻译及优化。本文实现了一个机群OpenMP系统原型OpenMP/JIAJIA,具体组件包括一个源对源的编译器前端(OMP2JIA)和一个支持fork-join执行模式的OMP JIAJIA运行库后端。在透明支持OpenMP并行应用方面,本文的OpenMP/JIAJIA计算环境使得机群系统像硬件cc-NUMA结构的机器一样易用。本文着重研究了如何提高机群OpenMP系统的性能,分别从数据分布、循环调度和系统优化三个方面提出了增强性能的方法。OpenMP标准所针对的UMA体系结构与类NUMA的机群体系结构存在着本质差异。例如,机群系统的内存层次结构以及互连的商品网络使得数据的本地访问和远程访问速度相差很大,所以数据分布模式和进程访问模式是否匹配直接决定了OpenMP应用的性能。本文以语言扩展的形式,提出了适合机群体系结构特点的数据分布策略、静态和动态循环调度算法,能方便有效地实现拥有者计算。另外,本文从程序员、编译器和运行库三个环节上阐述了提高系统性能的途径,尤其是针对后端运行库做了许多优化工作,例如扩展OpenMP语言支持JIAJIA的写向量协议、Home迁移和数据预取,结合消息传递机制优化reduction归约操作等。对机群OpenMP系统进行客观评价需要一个覆盖面较广的测试程序集。本文收集了十二个应用程序,分别来自不同基准程序集,例如NAS、SPLASH2和SPEC等。该程序集包括用来测试制导开销的微程序,支持矩阵和偏微分方程等数值计算的核心算法程序,以及带有输入/输出、解决特定问题的应用级程序等。从程序的访存行为和通信模式看,这些程序包括规则和非规则应用、内存密集型和通信密集型应用等。本文从两个方面分析评价了机群OpenMP系统的实现。一方面比较了该计算环境和一个支持OpenMP的硬件cc-NUMA系统(SGI 2100服务器)的性能;另一方面比较了OpenMP和MPI两种编程模型在机群系统上的性能。测试结果表明,本文的OpenMP/JIAJIA原型系统在八个结点的PC机群平台上获得了与SGI 2100服务器相当的性能;在共享存储和消息传递的比较中,获得了MPI 82%的性能。本文的机群OpenMP
|
全文目录
摘要 3-5 英文摘要 5-13 第一章 引言 13-23 1.1 并行处理系统 13-15 1.2 并行程序设计方法 15-18 1.2.1 并行算法设计方法 15-16 1.2.2 并行编程模型 16-18 1.3 可扩展性和可编程性 18 1.4 共享存储机群系统 18-20 1.5 本文的贡献 20-22 1.6 论文的组织 22-23 第二章 OpenMP 和JIAJIA 23-39 2.1 OpenMP 介绍 23-30 2.1.1 独孤制导 24 2.1.2 执行模型 24-25 2.1.3 OpenMP C/C++ API 2.0 25-29 2.1.4 OpenMP 的未来 29-30 2.2 JIAJIA 介绍 30-37 2.2.1 存储组织方式 31-32 2.2.2 基于锁的Cache 一致性协议 32-36 2.2.3 JIAJIA 的编程接口 36 2.2.4 JIAJIA 的具体实现 36-37 2.3 小结 37-39 第三章 机群OpenMP 的设计与实现 39-55 3.1 OpenMP/JIAJIA 设计 40 3.2 OMP2JIA 编译器 40-49 3.2.1 SUIF 介绍 41-45 3.2.2 OMP2JIA 构成 45-49 3.3 OMP JIAJIA 49-52 3.3.1 执行模式 49-51 3.3.2 编程接口 51-52 3.4 翻译机制举例 52-53 3.5 小结 53-55 第四章 适合机群结构的OpenMP 扩展 55-61 4.1 OpenMP 的隐式数据分布策略 55-56 4.2 NUMA 系统的OpenMP 制导扩展 56-57 4.3 机群系统的OpenMP 制导扩展 57-59 4.4 小结 59-61 第五章 有效循环调度算法 61-75 5.1 OpenMP 的调度模式 61-62 5.2 LBS 调度算法 62-69 5.2.1 设计考虑 62-63 5.2.2 LBS 算法描述 63-65 5.2.3 LBS 进行循环调度例子 65-66 5.2.4 算法分析 66-69 5.3 LBDS 调度算法 69-74 5.3.1 设计考虑 69-70 5.3.2 LBDS 算法描述 70-72 5.3.3 算法分析 72-74 5.4 小结 74-75 第六章 性能优化技术 75-87 6.1 理解OpenMP 制导特点 75-76 6.2 理解软件DSM 系统性能 76-77 6.3 OpenMP/JIAJIA 的时间开销分析 77-79 6.4 性能优化技术 79-84 6.4.1 JIAJIA 的实现优化 79-81 6.4.2 OMP JIAJIA 的实现优化 81-82 6.4.3 编程风格的选择 82-84 6.5 小结 84-87 第七章 性能分析评价 87-109 7.1 测试程序集 87-92 7.1.1 程序介绍 87-91 7.1.2 程序分类 91-92 7.2 测试平台 92-93 7.2.1 SGI 2100 92 7.2.2 PC Cluster 92 7.2.3 OpenMP 同步开销 92-93 7.3 OpenMP/JIAJIA 与OpenMP/SGI 2100 比较 93-99 7.4 OpenMP/JIAJIA 与MPI 比较 99-104 7.5 OpenMP/JIAJIA 的SMP 与非SMP 比较 104-108 7.6 小结 108-109 第八章 结束语 109-113 8.1 本文工作总结 109-111 8.2 下一步研究方向 111-113 参考文献 113-121 致谢 121-122 作者简历 122-123
|
相似论文
- 基于云计算的分布式智能语义搜索方法研究,TP391.1
- 基于OpenMP的遗传退火算法的并行化,TP301.6
- 多分辨率图像锥结合FCM的多核并行图像分割算法研究,TP391.41
- FDTD与MPSTD并行算法在电磁散射中的应用研究,O441.4
- BSD协议栈性能分析和并行优化,TP393.04
- 软件优化技术在软件开发项目中的应用研究,TP311.52
- 海量空间数据的分布式存储管理及并行处理技术研究,TP333
- 基于MPI和OpenMP的三维FDTD并行算法的研究,TN011
- 电网调度中心在线数据整合的研究和实践,TM73
- 月球科学数据编目处理与集成管理技术研究,V446.9
- 基于H.264/AVC的视频编码器设计与优化,TN762
- 并行小波高速计算研究及其在电力系统中的应用,TP338
- 多纹理图像分割并行算法研究与实现,TP391.41
- OpenMP并行编程模型与性能优化方法的研究及应用,TP311.11
- 基于任务并行策略的多核程序优化研究,TP332
- 基于正交变换和安全点积的隐私保护支持向量机研究,TP18
- 多核模式下地震勘探并行计算研究,TP338.6
- 多核技术在网络入侵检测中的应用研究,TP393.08
- 基于机群技术的中尺度数值气象预报监控管理系统的研究与实现,TP311.52
- 基于多核系统的程序优化技术的研究,TP332
- 不确定数据聚集查询的分布式处理算法,TP311.13
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 电子数字计算机(不连续作用电子计算机) > 各种电子数字计算机 > 并行计算机
© 2012 www.xueweilunwen.com
|