GPU上图处理并行框架的设计与实现

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:li63991923
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
图是一种强大的数据结构,它可以表达现实世界中事物之间错综复杂的关系,如城市之间道路的连接关系,网页之间的引用关系,人与人之间的社交关系。近年来GPU体系结构的蓬勃发展让人们看到了用GPU来进行通用计算的可能性。由于GPU能够提供大量并行线程,于是很自然地想到用它来处理图这种蕴含海量数据并行性的数据。但在GPU上实现一个高效的图应用程序仍旧面临着许多方面的挑战,其中包括串行化与工作量之间的矛盾,规则与不规则之间的矛盾,以及GPU并行编程本身的复杂度。为了解决这些问题,本文提出了一个轻量级GPU图处理框架。本文的研究工作和成果包括以下两点:  (1)设计并实现了轻量级GPU图编程并行框架——Olive。Olive向用户提供了vertexSubset(顶点子集)数据类型和两组计算函数:用来进行边计算的edgeFilter和edgeMap,以及用来进行顶点计算的vertexFilter和vertexMap。使用Olive编程框架进行图编程就是对一系列的vertexSubset调用这两组函数的过程。所有的底层细节都被隐藏在了系统背后,用户只需要关注发生在边和顶点上的计算即可,而不需要关心和GPU有关的任何编程细节。vertexSubset在底层使用了两种不同的物理实现:基于队列的紧凑型表示和基于布尔数组的松散型表示。使用紧凑型表示作为edgeFilter的输入可以最小化工作量,使用松散型表示作为edgeFilter的输出则可以提高系统的并行性。为了证明Olive的实用性和有效性,本文基于Olive实现了三种常用的图算法(BFS、PageRank和Bellman-Ford单源最短路径),并通过实验评测了Olive系统的性能。实验表明,Olive的实现对串行版本的加速比最高可以达到20倍。  (2)研究了图不规则性和GPU执行模型之间的关系。由于GPU中的线程以SIMD的方式执行,在边计算(edgeFilter和edgeMap)过程中,输入数据的不规则性会对性能产生很大的影响。为了理解输入数据对硬件利用率的影响,本文分析了15个来自不同应用领域的图的不规则度,并对图拓扑结构和SIMD利用率的关系进行了建模(以BFS算法为例)。由于现实世界中的图的结构往往有着有很大的差异,Olive框架采用了分组映射方案(用一组线程处理一个顶点),并允许用户调整线程组的大小,从而找到最高效(GPU硬件利用率最高)的实现版本。实验表明,使用可变大小的线程组映射方案能够显著提高系统性能。  
其他文献
时间可预测系统要求系统中的计算任务在有限的时间内必须完成,也就是说要求系统有可预测的硬件延迟、可预测的软件系统以及可预测的程序响应时间。Minicore是基于服务体执行
当今无线传感器网络技术正飞速地发展,越来越多的传感器应用被投入到生产和生活中。WSN其本质是基于Ad hoc技术的自组织网络。传统无线网络的首要目标是提供高的服务质量和高
近些年来,随着云计算、大数据等技术与概念的广泛兴起与发展,用户数据和新型应用以爆炸式的速度增长。这就给作为其基础设施的存储系统提出了越来越高的要求,其中包括数据的
实时系统主要面向现实世界中与时间因素相关的应用需求。它所关注的不仅是计算结果在逻辑上的正确性,而且还有输出结果时间的及时性。相应的处理过程必须在规定的时间限制内完
面向对象的开发方法是当今企业级应用中的主流开发方法,关系数据库则是永久存放数据的主流数据存储系统。由于面向对象模型和关系模型之间存在对象一关系不匹配障碍,而且面向对
随着以太网技术的发展和普及,将以太网技术用于工业控制的底层网络,直接将现场设备接入工业以太网进行管理、监控和通信已成为必然趋势。目前,在很多工业现场仍旧有大量采用串行
LonWorks总线作为一种工业总线在工业控制监控系统中得到广泛应用,LNS作为其操作系统也逐渐在普及。传统基于DDE技术的访问方式已经不能满足客户端访问服务器对LNS网络进行监
人脸表情识别是近几十年来才逐渐发展起来的一个科研热点,指利用计算机分析特定人的脸部表情及变化,进而确定其内心情绪或思想活动,实现人机之间更自然更智能化的交互。它在
虚拟森林生长仿真从生态系统的角度出发,采用虚拟现实技术对森林生长的动态变化过程进行模拟,模拟结果可对林业生产的管理起到指导作用。传统的森林仿真系统往往侧重于场景的
在传统的电工电子学的实验教学中,很多学校都存在着资源不足、投资大、见效低、实验环境及过程具有一定的危险性等问题。随着多媒体技术和网络技术的迅速发展,通过网络和虚拟的