论文部分内容阅读
长期以来,大规模计算的应用需求推动并行计算技术不断发展,并行计算机的峰值计算能力稳步提高。当前,基于共享存储的片上多核处理器搭建集群系统,成为并行体系结构的发展趋势,并行计算已经进入了千万亿次并行计算机的时代。但是,并行计算机的实际应用水平不高,应用程序实测性能远低于系统的峰值性能。因此,充分发挥并行计算机的计算能力,加速应用程序的执行速度,逐渐成为并行计算领域中亟需解决的一个关键问题。未来,共享存储系统是搭建大规模并行处理系统的基本单元。围绕提高并行计算机的实际应用效率,缩小实际应用性能与机器峰值性能之间的差异,本文以共享存储系统为目标平台,研究并行计算模型以及程序性能优化关键技术,主要研究工作分为两部分:一是研究分层的并行计算模型,为并行算法设计和并行程序执行提供理论基础和分析方法,其中重点研究片上多核系统的程序执行模型;二是研究共享存储系统上的程序性能优化技术,以提高并行应用程序的实际性能,同时为程序执行模型提供思路和借鉴。本文针对计算模型和优化技术的研究,可以有效地提高并行应用的性能,充分发挥并行计算机的计算能力,具有重要的学术价值和广泛的应用前景。具体而言,本文的主要研究成果、贡献和创新点可概括为以下几点:(1)提出分层的并行计算模型随着并行机体系结构的快速发展变化,传统单一的并行计算模型变得越来越复杂,难以使用。本文对并行计算模型分层研究,把并行计算模型分为并行算法设计模型、并行程序设计模型和并行程序执行模型三个层次,分别给出了各层模型的特点及研究内容。(2)优化共享存储系统上消息传递的通信性能MPI是一种流行的并行编程接口,同时支持分布存储并行机和共享存储并行机。针对MPI在共享存储上的驱动程序通信性能不高,本文提出一种共享存储系统上MPI消息传递优化方法,利用共享内存系统上进程间通讯机制和自旋等待同步策略,实现了进程间直接数据复制,减少了消息传递延迟,提高了共享存储系统上点对点和集合通信性能,优化了实际应用程序的通信性能。(3)优化共享存储系统上典型应用程序的性能本文研究两个典型的并行应用,分别在两种共享存储系统上的优化方法。一个是在对称多处理机上,基于MPI的生物信息领域的应用Mfold的并行优化;另一个是在片上多核系统上,基于OpenMP的信息检索领域的应用CBIR的并行优化。针对应用和系统特点,设计了高效的并行算法,挖掘共享存储系统的多级并行度,有效优化了应用的指令级并行性、数据级并行性和线程级并行性,加速了应用程序在共享存储系统上的速度,为这一类平台上开发高效应用程序提供了借鉴。(4)提出面向片上多核系统的定量程序执行模型结合对共享存储系统上应用程序性能优化的研究,本文提出面向片上多核系统的定量程序执行模型CRAM(h)。CRAM(h)模型考虑了指令执行行为、层次存储访问行为及并行处理行为,抽取关键性能参数,对程序执行时间进行建模。实验表明,模型评估的程序执行时间与实际程序运行时间基本一致。