论文部分内容阅读
在高性能计算技术研究领域,机群系统具有良好的可扩展性与高性价比,受到越来越多的大学及科研机构的青睐。随着计算机集成技术的不断发展,多核技术开始大行其道,双核及四核的处理器随处可见。以多核PC机为节点组合而成的机群系统,不仅能够提供强大的计算能力,而且方便易用。然而适合于多核机群的并行编程模型相对滞后,使用传统单一的MPI消息传递并行模型无法充分的发挥节点上多处理器的运算能力,从而使得整个机群系统不能取得理想的性能。
针对该多核机群系统既有分布式存储又有共享存储的硬件结构特点,在节点间应用MPI消息传递、节点内部应用OpenMP共享存储的混合并行编程模型。MPI+OpenMP混合模型贴近于多核机群的体系结构,结合了消息传递与共享存储两种编程模型的优点,优化了节点内部通信。
本文在详细介绍多核处理器体系结构和机群系统的基础上,分析了基于MPI+OpenMP的两种混合模型,即MPI+OpenMP粗粒度混合模型与MPI+OpenMP细粒度混合模型。在MPI+OpenMP粗粒度混合模型程序中,加入OpenMP制导语句时必须整体上考虑程序的并行方案,要解决MPI通信的线程安全、数据竞争、线程的交互、程序语义的正确等问题,需要引入大量的同步点,使得程序的耗费增加,综合于程序的系统开销与程序开发难度这两个因数,我们选择了MPI+OpenMP细粒度混合编程模型。重点讨论了基于混合模型机群系统的时间开销,对程序进行性能单元分析,提出了一系列相对应的优化策略。构建了多核机群系统的软、硬件环境,并且对机群进行通讯性能测试与分析。在多核机群单节点上进行纯MPI程序与纯OpenMP程序测试比较,多个节点上进行纯MPI程序与MPI+OpenMP细粒度混合编程模型程序测试比较,根据实验数据分析,MPI+OpenMP细粒度混合编程模型比传统的纯MPI编程模型更适合于多核机群,更能充分地利用好多核机群的硬件资源。最后,总结了本论文所做的工作,并指出有待进一步研究的问题。