基于多GPU的通信优化的图数据处理系统
系统通过对数据划分之后,根据顶点分布的特征,对每个设备中的顶点和边进行分类,对不同的特征的顶点和边分配不同的计算任务,同时提出新的任务管理机制,基于计算掩盖通信的思想,有效协调不同类型的计算任务和通信任务的执行顺序,使得GPU和CPU的资源得到充分利用。首先介绍了实验测试的环境、测试所用的数据和图算法,然后将Purin系统与当前的基于CPU和基于GPU的图计算系统分别进行性能的对比和分析,最后实验
目 录
摘 要 I
Abstract II
1 绪论
1.1 研究背景 (1)
1.2 国内外研究现状 (2)
1.3 研究内容 (5)
1.4 论文框架结构 (6)
2 系统架构与设计
2.1 GPU概述 (7)
2.2 问题分析 (8)
2.3 系统架构与功能模块 (10)
2.4 系统关键问题与难点分析 (12)
2.5 小结 (14)
3 系统实现及关键技术
3.1 数据存储和数据划分 (15)
3.2 任务划分和任务管理 (18)
3.3 编程模型和编程接口 (24)
3.4 小结 (29)
4 系统测试和性能分析
4.1 实验测试环境、数据和算法 (30)
4.2 系统性能测试与分析 (32)
4.3 小结 (38)
5 总结与展望 (39)
致 谢 (42)
参考文献 (44)
1.3研究内容
当前基于GPU的图计算系统大部分是假设图数据可以全部存储在单个GPU的显存中,而实际上图数据的规模越来越大,单个GPU的显存大小并不能满足实际的存储需求。例如,具有约17亿节点的yahoo图数据仅存储顶点的值就需要7GB的内存空间,而我们常用作通用计算的GPU设备NVIDIA Tesla K20m的最大存储空间为6GB。因此,我们试图实现基于多GPU的高效图计算系统来满足实际的用户需求。GPU与CPU之间是通过PCIe总线连接,且GPU具有强大的并行计算能力。当前的基于多GPU的图计算系统通常采用同步的计算模型,该模型要求计算和通信过程顺序执行,而GPU和CPU之间通信效率又受PCIe带宽的影响,因此通信带来的开销制约着系统的性能。目前基于多GPU的图计算系统通常采用多跳副本的机制来减少通信开销,该方法虽然减少了通信的次数,但是每次通信量并没有减少,反而增加了数据存储的空间,且容易带来由于顶点分布的不均匀所导致的设备之间的负载不均的问题。
本课题针对通信过程进行优化,实现了高效的基于多GPU的图计算系统Purin。系统通过对数据划分之后,根据顶点分布的特征,对每个设备中的顶点和边进行分类,对不同的特征的顶点和边分配不同的计算任务,同时提出新的任务管理机制,基于计算掩盖通信的思想,有效协调不同类型的计算任务和通信任务的执行顺序,使得GPU和CPU的资源得到充分利用。同时,系统为用户隐藏了GPU复杂的编程细节,为用户提供API。其中,由于在GPU上即使实现相同图算法,选择不同的编程方式,系统所表现出的性能也不同,因此系统针对两种不同的编程方法提供了相应的API及优化策略,从而达到满足用户的需求和加速图计算的目的。
1.4论文框架结构
本节主要介绍文章后续各章节的内容安排:
第二章为系统架构与设计的介绍。首先,介绍系统相关的GPU概念和相关通信方法,接着对现有基于GPU的图计算框架存在的问题进行剖析,其次,针对当前基于GPU的图计算系统存在的问题提出解决方案,然后引出系统的整体架构和各个功能模块的设计。最后,针对系统实现存在的关键问题和难点技术进行分析和说明。
第三章详细介绍了系统的具体实现以及其中的关键技术。先介绍了数据存储和数据表示的方法,其次重点介绍了系统任务划分和任务管理的机制,最后,对系统提供的两种编程方法的编程接口进行详细描述。
第四章对系统的性能进行测试和分析。首先介绍了实验测试的环境、测试所用的数据和图算法,然后将Purin系统与当前的基于CPU和基于GPU的图计算系统分别进行性能的对比和分析,最后实验分析系统所提供两种不同编程方法对性能的影响,并对系统自身的可扩展性进行实验和评估。
第五章为总结和展望。本文转载自http://www.biyezuopin.vip/onews.asp?id=16892总结了系统的优势和系统性能提升的原因,并分析可能存在的问题以及未来的研究工作。
文章最后为致谢和参考文献,以及本人在硕士期间参与的科研项目、申请的国家专利和发表的论文的情况。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)