基于PGAS模型和数据流模型的并行优化的研究及应用

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:jimiwison
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着多核处理器和分布式集群的流行,并行编程在高性能计算领域和互联网软件开发中的作用越来越大。但是到目前为止,并行编程的开发环境还较为落后,传统的并行编程技术以及科学计算库难以充分利用如今计算机体系架构下的多核机和分布式集群的性能,造成计算资源的浪费,难以达到优秀的性能提升效果。  MPI作为分布式内存下并行编程的标准已经有二十多年的历史,它有很多明显的缺点:需要通过显示的消息传递实现控制流的并行执行,使用难度较高,而且不能充分利用单机中的多核,往往需要结合多线程编程技术如pthread和OpenMP等,这样的话又要考虑共享内存环境下线程安全等问题。使用MPI和OpenMP在多核节点构成的分布式集群进行并行编程,不仅编程复杂,而且调试困难,将给开发人员带来极大的挑战。如何代替开发人员在多核和分布式环境下进行并行优化,提高计算资源的利用率和程序的性能,是亟待解决的问题。  从并行计算模型上来看,BSP计算模型简化了并行算法的设计和分析,但是牺牲了运行时间,因为整体同步会导致同一超步内的所有控制流必须等待最慢的执行单元结束后才能继续推进。当分布式节点或节点不同核心的计算时间差异较大时,会造成更多的运行时间的浪费。相比之下,数据流模型则克服了这个缺点。数据流模型是一种天然的并行模型,不需要集中控制,对于任何一个任务,只要它的输入就绪,当运行时有可用资源就可以开始运行,这样就大大提高了计算资源的利用效率,可以实现超大规模的并行。  从并行编程模型上来看,OpenMP是当今科学计算领域最重要的共享内并行编程模型,共享内存具有统一的地址空间,可以直接访问数据,易于编程,但是要考虑线程安全等问题;MPI是当今面向分布式内存计算的最重要的并行编程模型,分布式内存的地址空间是分散的,数据的共享要用过消息传递来实现,编程比较复杂,但是可以获得更好的可扩展性。而分区全局地址空间(PGAS,Partitioned Global Address Space)编程模型则结合了共享内存和分布式内存的优点,同时具备了共享内存编程模型的高效率、易编程性和分布式内存编程模型的可扩展性。  本文分析了目前并行编程技术的发展和面临的挑战,从并行计算模型和并行编程模型两个方面找到了构建更加高效、易用的并行优化工具的方向:采用数据流计算模型解决传统BSP模型全局同步造成的计算资源浪费的问题,采用PGAS并行编程模型来结合共享内存并行编程模型的易编程性和分布式内存并行编程模型的可扩展性。之后按照这个思路分别实现了共享内存下基于线程池和数据流计算模型的并行优化工具star_tp和分布式内存下基于PGAS和数据流计算模型的star-d,并对它们进行了性能测试。
其他文献
教育是关系国家和民族前途命运的大事,和我们每个人都有着极为密切的关系。特别作为教育者,每一名教师更应当关注教育,关注教育改革。作为教师,如何适应课程改革,如何提高教学质量
数控系统的发展趋势对开放式控制器人机交互界面系统HMI提出了越来越高的要求,数控加工过程中的刀具轨迹显示系统已经成为数控HMI系统的重要组成部分,本文以此为背景,研究与
非真实感绘制(Non-Photorealistic Rendeirng,NPR)是近些年来快速发展的一种绘制技术。不同于传统的真实感绘制方法,它主要采用某种艺术风格对物体进行绘制。这种绘制技术完美
AD HOC网络是一种没有基础设施支持的自组无线移动网络,被广泛应用于各种应急场合。在AD HOC网络中,信道带宽非常有限,在数据链路层,多个节点共用一个信道。当前,很多AD HOC
计算机技术几十年的发展历史积累了丰富的软件,其中绝大多数软件都是以二进制的形式存在。处理器的ISA是软件的二进制表示形式,因此与主流的ISA保持兼容是处理器结构设计的首要
大规模双语语料库的建设与获取存在着很大的困难,虽然各国都投入了大量的人力、物力和财力来加强双语语料库的建设,但现有双语语料库在规模、时效性和领域平衡性等方面还不能满
纹理分析是计算机视觉和数字图像处理中的一个重要的研究课题,而如何获得纹理特征是其中的重要环节。本文主要围绕图像特征提取、BP神经网络技术和遗传算法在图像分类与检索
矢量图形检索在建筑、机械、自动化等领域都有着广泛的应用,是学术界和工业界的研究热点。目前,基于语义的矢量图形检索方法成为矢量图形检索研究的新趋势,如何挖掘和表达用
近年来,数字家庭的概念持续升温,全球数字家庭产品市场也随着数字家庭技术的发展而展开。伴随着这股热潮,家庭网络市场显示出了巨大的潜力和广阔的前景。在此背景下,国内外涌现出
关系数据库设计主要是确定在关系数据库中应有哪些关系变量,以及每个关系变量中应该有哪些属性。 自从E.F.Codd于1972年提出规范化理论后,规范化理论已经得到了不断完善。规