论文部分内容阅读
随着多核处理器体系结构的出现以及对称多处理机和集群体系结构的逐渐推广,出现了新型多核集群体系架构,因其性价比较高和可扩展性较好,而成为高性能计算领域的研究重点。多核处理器结构和高速互联网络的持续高速发展,多核集群结构也在不断改进之中,开发人员也将面对更加复杂的编程环境。本文以多核集群为平台,针对其特有的体系结构,研究相应的编程模型、映射机制、实现机制、编程方法以及优化策略。论文首先介绍了课题的研究背景、并行计算的发展概况。其次介绍了并行计算机的主要体系结构,对它们的主要特点进行了分析并给出系统结构的抽象图。再次对并行编程的三种编程模型进行了介绍,分析了它们各自的特点。最后介绍了多核并行编程环境下的两种主要并行编程模型:共享存储编程模型OpenMP与消息传递编程模型MPI,针对这两种编程模型特点进行了深入分析,包括它们的执行模式、编程的优缺点,并提出了相应的优化策略。论文对多核集群下的混合编程着重进行了研究,引入混合OpenMP/MPI编程模型并分析了混合编程的优势,针对多核集群的体系架构,提出了混合编程模型与多核集群架构的映射机制对集群性能的影响,并给出了混合模型程序设计的实现机制和优化策略,提出了混合编程过程中需要注意的问题。论文在实验环节介绍了曙光TC5000集群的软硬件环境,重点研究了共轭梯度算法求解线性方程组在多核集群上混合并行实现并进行相关实验,通过对实验数据的比较分析得出在多核集群上混合编程模型相对于单一并行编程模型更能直观的匹配其独有的体系架构并具有更好的性能,混合模型中进程的数量显著减少,并且等价于节点数量而不是MPI模型中的处理器总数,而最有效的加速求解线程数量等于节点内处理器数。此外,通过研究分析多核集群上影响MPI/OpenMP编程模型性能的因素,提出改进性能的优化策略和方法。论文最后对上述研究内容进行了总结,并对下一步的工作进行了展望。