异构GPU集群的并行编程模型及实现

来源 :复旦大学 | 被引量 : 0次 | 上传用户:yyw2dy2001
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于超强的计算能力,支持大规模数据级并行程序设计以及高速的访存带宽等特点,GPU集群已经成为现代高性能计算的主流技术和研究热点。但GPU给集群带来了复杂的体系结构特征,不仅在节点层面呈现异构化,节点内也呈现异构化,使得集群的并行计算能力成为多层面、不同类型的特点,包括节点之间,节点内部CPU和GPU之间,GPU内的数据并行,极大地增加了编程和运行部署的复杂性。目前没有现成的编程模型完全应对这种体系结构,主流的异构GPU集群系统大多采用针对GPU的异构计算编程模型与面向分布式内存的消息传递模型(MPI)松散的耦合方式,用户将应用描述成一系列彼此交互的MPI进程,并部署到各个节点中运行,如果MPI进程是一个串行程序,则在节点中的CPU中运行,如果MPI进程包含数据并行处理过程,则在包含GPU的节点中运行,但是这种方式将应用如何划分、划分多少并行进程缺乏依据,难以保证分配给含GPU的节点的子任务是一个能发挥GPU计算能力的数据并行计算过程。同时,MPI+CUDA本身并不是一个有着充分理论依据的计算模型,不具备可分析性。同串行执行不同,并行、分布式执行是一种不确定执行,如何在各种情况下保证程序行为正确特别是不出现诸如死锁、活锁等现象需要编程模型具备可分析性,而这些是MPI+CUDA无法提供的。另外,在充分利用GPU集群多个层面的并行计算能力方面,由于实现异步控制的复杂性,MPI+CUDA的进程之间一般通过发消息实现同步控制,这可能造成大量等待,严重影响性能;而异步控制需要程序员人工实现进程间数据缓冲及复杂的上下文传递,使得编程非常困难。为了解决上述问题,我们基于DFG设计和实现一种能契合GPU异构集群体系结构的新型编程框架DISPAR。DISPAR编程框架的基本思想是基于数据流模型描述应用,引导用户以数据流为核心将应用分解成一系列以异步方式工作的VNODE,构成数据并行子任务(进程),发挥GPU的并行计算能力。DFG是一种主流的应用于描述数据密集型应用的模型,具有层次化描述能力,因此适合描述复杂的应用,相比其它计算模型,DFG能以最自然的方式显式表达应用中的并行性,并且以数据为核心描述应用,是目前公认的最能够体现应用中数据并行性的计算模型。另外,VNODE的数据驱动控制方式能最大程度实现异步并发运行,减少因同步操作对性能的影响,各个节点异步运行,摒弃全局控制和最小化同步需求。DISPAR编程框架取代了MPI编程模型中的随意、盲目的显式进程划分,自动生成的MPI+CUDA进程与运行平台之间的相关性小,带来可移植性、可扩展性等优势。本文通过采用扩展语言方法实现DISPAR编程模型,通过简单的两个构件VNODE和PIPE来描述应用程序的系统级结构,成为C语言的一个扩充。DISPAR编程模型异步化子任务运行,对基本操作进行标准化封装,实现异步控制,使得编程非常容易,实现异步控制的上下文、缓冲等有效封装,使得编程容易,应用程序简洁。为实现这种新型语言,规避了重新设计编译器的复杂性,论文提出了一种源程序至源程序转换方式,即StreamCC预处理器,能有效地将一个DISPAR程序转化成一个符合一定规范的MPI+CUDA程序,为在GPU集群中有效部署和异步运行奠定基础。实际应用表明,DISPAR编程模型取得良好的结果。
其他文献
学位
OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。在数据仓库应用中,OLAP应用一般是数据仓库
身份认证是安全系统中的第一道关卡,当用户访问一个系统的时候,首先要向系统表明自己的身份,然后才能进行下一步的访问和控制。单点登录是将多个不同的应用的身份认证和登录系统
嵌入式系统首先是一个实时系统,它具有实时系统的特点,即能够确定及时响应事件,系统响应外界不定事件不仅要快,而且要确定,即系统响应时间要求是确定的和可预测的。随着Inter
在研究过程中常常会遇到一些时间复杂度相当高的问题,比如说网络理论中的Mesh网络连通性问题等。这些问题很难由单个PC在较短时间内求解。而另一方面,网络上的大量计算资源被
随着移动互联网的日益普及和移动智能终端的迅猛发展,智能交互系统已在日常生活工作领域中得到了广泛应用,如在线客服和金融咨询等。作为智能交互系统中的一种重要存在形式,
随着Web技术的日益成熟,Browser/Server结构的应用系统由于其易于维护和升级的优势已成为一种全新的技术,而基于B/S的N层体系结构的DSS系统也将成为今后决策支持系统主要的发
分布式虚拟现实(Distributed Virtual Reality,简称DVR),就是大规模的、网络化的、基于计算机的虚拟系统。在DVR环境下,许多分布在各地的人和计算机控制的实体能够进行交互作用
随着千兆网络的建设和升级,传统防火墙在硬件和结构上不能满足性能的要求,本课题采用INTEL IXA架构开发的新一代防火墙,不仅能够更好地保护防火墙内部网络的安全,而且也保证
学位
Femto是一种工作在授权频段、发射功率低、小范围覆盖、以固定宽带接入网络为回程的微蜂窝式基站设备。Femto技术的提出为解决蜂窝移动通信系统中室内覆盖效果不佳和容量低的