大规模图数据的高效计算关键技术研究

大规模图数据的高效计算关键技术研究"

作者:章明星
ISBN:9787302542537
定价:¥89
字数:千字
页数:
出版时间:2020.05.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

由于具有良好的表达能力,图数据结构被广泛用来对元素间具有复杂联系的数据进行建模,如社交网络、知识图谱等。因此,可以对大规模图数据进行分析的处理技术逐渐成为当前学术界和业界的热门研究话题之一。目前,已有为数众多的图计算系统被提出和应用,并取得了巨大的商业成功。本书通过将不同环境下图计算系统的数据载入途径分为四个阶段分别进行了研究,总结出了一系列的优化方法,可为相关研究人员提供参考。

前言

导师序言

由于具有良好的表达能力,图数据结构被广泛用来对元素间具有复杂联系的数据进行建模。因此,可以对大规模图数据进行分析的处理技术逐渐成为当前学术界和业界的热门研究课题。已有为数众多的图计算系统被提出和应用,并取得了巨大的商业成功。在前人的基础上,本书作者章明星博士持续创新,通过不断地优化图数据在各种不同场景下的载入速度,在多个方向上都取得了重要成果,并在 OSDI、ASPLOS、VLDB、ATC、HPCA、ICS等国际高水平会议上发表了多篇论文。此外他的博士学位论文还获评 ACM SIGSOFT杰出论文,清华大学优秀博士学位论文,北京市优秀博士学位论文, IEEE TCSC卓越奖(优秀博士学位论文)。

更重要的是,章明星博士在研究图计算这一领域的过程中总结出了一整套的系统优化方法。他通过深入分析,根据图计算本身具有数据局部性差、单个点 /边的计算开销小的特点,发现其性能的主要瓶颈在于图数据的载入。基于这一发现,章明星博士将不同场景下的图计算优化统一成一套一致的优化思路,即将整个分布式系统想象成一个多阶的体系结构 (Cache/PIM→内存 →磁盘 /网络 ),然后通过优化每两层之间的局部性来提升整体的运行效率。通过这一思路,在并行图计算、单机内存图计算、单机外存图计算、存算融合加速等多个场景下进行了针对载入瓶颈的细致优化,因而都取得了较大的性能提升。

本书首先描述了现有的图计算系统主要基于一些简单化假设实现这一现象,如点权不可分割、单个计算操作可以孤立地执行等,因此很难达到下层硬件所能支持的最高计算效率。为解决这一问题,作者通过分析发现图计算的主要效率瓶颈在于数据载入速度,于是将不同环境下图计算系统的数据载入途径分为四个阶段分别进行了研究。其主要创新成果包括:①提出了一种三维图计算应用任务划分方法。该方法基于数据图中点权可进一步划分这一发现,最高可以减少 90.6%的通讯量,达成 4.7倍的提速。这一成果发表于 OSDI 2016,为该会议上并列首篇以国内大学为第一单位且有国内大学教师署名的论文。②提出了一种分层的图数据组织格式。通过在外存设备上分层存储图数据,最高可达 6.4倍的加速比。③提出了一种矩阵图计算引擎的自动优化算法。该算法主要基于循环融合优化的原理,并同时考虑了分布式环境下关于数据一致性的要求,最高可将原程序加速 5.8倍。④提出了一种针对新型存算融合器件的图计算模型。针对存算融合这一全新的支持直接在内存器件上进行计算的体系结构,提出了与之相适配的新型图计算模型,最高可以减少近 95%的通讯量。

摘要

由于具有良好的表达能力,图数据结构被广泛用来对元素间具有复杂联系的数据进行建模,如社交网络、知识图谱等。随着信息化技术的迭代更新和互联网应用的蓬勃发展,可以对大规模图数据进行分析的处理技术逐渐成为当前学术界和业界的热门研究课题之一。已有为数众多的图计算系统被提出和应用,并取得了巨大的商业成功。

然而,现有的图计算系统主要基于一些简单化假设实现,如点权不可分割、单个计算操作可以孤立地执行等,因此很难达到下层硬件所能支持的最高计算效率。为解决这一问题,本书通过分析,发现大量图计算应用的主要效率瓶颈在于数据载入速度,于是将不同环境下图计算系统的数据载入途径分为四个方面分别进行了研究。本书的主要创新成果如下。

(1)提出了一种三维图计算应用任务划分方法。该方法基于数据图中点权可进一步划分这一发现,拓展了一个全新的任务划分维度。与传统的一维和二维划分方法不同,三维划分方法允许将数据图中的点进一步划分为子点,并分配给不同的计算节点。测试结果显示,三维划分方法最高可以减少 90.6%的通讯量,从而达成提升整体运行效率的目的。

(2)提出了一种分层的图数据组织格式。通过在外存设备上分层存储图数据,计算系统可以一次性载入更多的点,从而降低单个点重复读取的次数,达到提高计算效率的目的。测试表明基于这一设计实现的新型外存图计算系统比已有系统有明显的性能提升,最高可达 6.4倍的加速比。

(3)提出了一种矩阵图计算引擎的自动优化算法。该算法主要基于循环融合优化的原理,并同时考虑了分布式环境下数据一致性的要求。在保证计算正确性的同时,该算法可以通过自动流水线化的方法提升图计算应用

的数据局部性,从而减少内存带宽压力。实验表明该方法最高可将原程序加速 5.8倍。

(4)提出了一种针对新型存算融合器件的图计算模型。针对存算融合这一全新的支持直接在内存器件上进行计算的体系结构,提出了与之相适配的新型图计算模型。该模型通过限定用户的编程接口,使得自动的通讯去冗余成为可能。并进一步提出了基于广播树的更新传播算法,可以有效减少瓶颈链路上的通讯量。计算结果显示,上述两种方法最高可以减少近 95%的通讯量。

关键词:图计算;分布式计算;矩阵计算;局部性; PIM 

Abstract 

Due to its good expressivity, graph has been widely used to model the relationship among data elements. As a result, many large-scale graph processing systems have been proposed and deployed in the real world, and have achieved great successes. The optimization for these systems is also a hot research topic in both the academic and industry. 

However, the current implementation of graph processing systems are typically based on certain simpli?cation assumptions, such as “vertex is indivisible” and “each compute operation can be executed isolatedly”, and hence cannot achieve the best performance that the hardware can deliver. To resolve this problem, we investigate the ?eld and found that the bottleneck of most graph applications is the speed of loading data. Based on this observation, we partition the load path of graph data into four stages and propose optimizations for them respectively. The main innovations of this book are as follows. 

(1) 

We design a novel 3D graph partition algorithm. This algorithm is based on the fact that the vertex property of many graph applications is actually divisible. Through exploring this novel dimension that have never been considered by existing methods, our algorithm can reduce up to 90.6% of the original communication cost. 

(2) 

We de?ne a layered graph organization format. This format enables the processing system to load more vertices at a time, and hence reduce the average loading times of each vertex. As a result, our method can decrease total disk I/O for out-of-the-core graph processing systems and leads to up 

to a 6.4 times speedup. 

(3) We propose an automatic optimization algorithm for matrix execution engine. This algorithm is mainly based on loop fusion and has also considered the consistency requirement of a distributed environment. It is able to assure the correctness, and simultaneously, achieve a speedup up to 

5.8 times. 

(4) We implement a process-in-memory-oriented graph processing framework. By enforcing certain constraints in the programming model, our framework makes it possible to automatically remove redundancy in the communication. It also provides a broadcast-based optimization that reduce communication load on bottleneck links. According to our calculation, it can reduce the communication cost to as low as only 5% of the original. 

Key words: graph computing; distributed computing; matrix computing; locality; PIM 

目录

第 1章引言 .......................................................................................1 

1.1大规模图计算 .........................................................................1 

1.2图计算系统的分类 ...................................................................2 

1.3图数据高效计算的挑战 ............................................................5 

1.3.1图计算的特点 ...............................................................6 

1.3.2现状和主要优化方向 .....................................................7 

1.4主要贡献 ................................................................................9 

1.5本书组织结构 ....................................................................... 11

第 2章相关工作 ............................................................................... 13 

2.1基于分布式集群的图计算系统 ................................................ 13 

2.1.1分布式图计算中的基本概念 ......................................... 13 

2.1.2分布式图计算中任务的划分算法 .................................. 15 

2.2基于外存的图计算系统 .......................................................... 18 

2.2.1外存图计算系统的意义和挑战 ..................................... 18 

2.2.2以点为中心的外存图计算系统 ..................................... 20 

2.2.3以边为中心的外存图计算系统 ..................................... 21 

2.3基于矩阵的图计算引擎 .......................................................... 23 

2.4基于存算融合硬件的图计算系统 ............................................. 26

第 3章分布式图计算系统的三维任务划分 .......................................... 31 

3.1概述 ..................................................................................... 31 

3.2实例研究:协同过滤问题 ....................................................... 33 

3.3三维划分的基本概念 ............................................................. 34 

3.4三维划分下的编程模型 .......................................................... 37 

3.4.1数据模型 ................................................................... 37 

3.4.2 UPPS下的三维划分 ................................................... 39 

3.4.3计算模型 ................................................................... 40 

3.4.4二部图 ....................................................................... 41 

3.4.5与 GAS模型的比较 .................................................... 41 

3.4.6例程 .......................................................................... 42 

3.5系统实现 .............................................................................. 47 

3.5.1数据载入和划分 ......................................................... 47 

3.5.2 Update操作的实现 .................................................... 48 

3.5.3 Push,Pull和 Sink操作的实现 ................................... 49 

3.5.4基于矩阵的数据结构 ................................................... 49 

3.6实验结果 .............................................................................. 50 

3.6.1测试环境 ................................................................... 51 

3.6.2微型测试集 ................................................................ 52 

3.6.3实际应用 ................................................................... 57 

3.6.4其他讨论 ................................................................... 62 

3.7小结 ..................................................................................... 66

第 4章外存图计算系统的分层数据组织 ............................................. 67 

4.1概述 ..................................................................................... 67 

4.2背景介绍 .............................................................................. 69 

4.2.1外存图计算系统中的一维划分: GraphChi .................... 69 

4.2.2外存图计算系统中的二维划分: GridGraph.................... 70 

4.3 3DGridGraph ........................................................................ 72 

4.3.1分层存储优势 ............................................................. 72 

4.3.2编程模型 ................................................................... 74 

4.3.3实例研究 ................................................................... 75 

4.3.4实现 .......................................................................... 76 

4.4测试结果 .............................................................................. 77 

4.4.1定量分析 ................................................................... 77 

 15 

4.4.2实测结果 ................................................................... 78 

4.5小结 ..................................................................................... 79

第 5章矩阵计算引擎的自动优化 ....................................................... 81 

5.1概述 ..................................................................................... 81 

5.1.1背景介绍 ................................................................... 81 

5.1.2挑战 .......................................................................... 82 

5.1.3我们的工作 ................................................................ 83 

5.2设计思路与原理 .................................................................... 84 

5.3 Kasen的编程模型 ................................................................ 86 

5.3.1数据 .......................................................................... 86 

5.3.2数据的操作 ................................................................ 87 

5.3.3实例: PageRank ........................................................ 89 

5.3.4应用范围 ................................................................... 90 

5.4 Kasen模型的具体实现 ......................................................... 91 

5.4.1三种数据存储状态 ...................................................... 91 

5.4.2显式的存储状态转化 ................................................... 93 

5.4.3约束条件 ................................................................... 94 

5.5优化方法 .............................................................................. 96 

5.5.1循环融合 ................................................................... 96 

5.5.2内部操作 ................................................................... 98 

5.5.3 DDAG...................................................................... 100 

5.5.4优化算法 ................................................................. 101 

5.5.5实例研究 ................................................................. 104 

5.6估算公式 ............................................................................ 105 

5.7实现细节 ............................................................................ 107 

5.8性能测试 ............................................................................ 108 

5.8.1定量分析 ................................................................. 108 

5.8.2性能测试 ................................................................. 110 

5.8.3与已有系统的性能对比 ............................................. 112 

5.9小结 ................................................................................... 113 

第 6章拓扑感知的存算融合图计算方法 ........................................... 115 

6.1概述 ................................................................................... 115 

6.2背景介绍 ............................................................................ 118 

6.2.1互联拓扑结构 ........................................................... 118 

6.2.2网络瓶颈 ................................................................. 120 

6.2.3已有的 PIM图计算系统 ............................................ 121 

6.3 PGIM系统 ........................................................................ 123 

6.3.1两阶段点程序 ........................................................... 123 

6.3.2广播 ........................................................................ 128 

6.3.3计算和通讯的重合 .................................................... 129 

6.4测试 ................................................................................... 129 

6.4.1划分对通讯量的影响 ................................................. 130 

6.4.2广播对瓶颈链路通讯量的影响 ................................... 131 

6.5小结 ................................................................................... 131

第 7章总结与展望 ......................................................................... 133 

7.1总结 ................................................................................... 133 

7.2展望 ................................................................................... 134

参考文献 ........................................................................................... 137

在学期间发表的学术论文与研究成果 ................................................... 145

致谢 .................................................................................................. 147 

作者简介

编辑推荐

“清华大学优秀博士学位论文丛书”(以下简称“优博丛书”)精选自2014年以来入选的清华大学校级优秀博士学位论文(Top 5%)。每篇论文经作者进一步修改、充实并增加导师序言后,以专著形式呈现在读者面前。“优博丛书”选题范围涉及自然科学和人文社会科学各主要领域,覆盖清华大学开设的全部一级学科,代表了清华大学各学科最优秀的博士学位论文的水平,反映了相关领域最新的科研进展,具有较强的前沿性、系统性和可读性,是广大博硕士研究生开题及撰写学位论文的必备参考,也是科研人员快速和系统了解某一细分领域发展概况、最新进展以及创新思路的有效途径。

作者寄语

“清华大学优秀博士学位论文丛书”(以下简称“优博丛书”)精选自2014年以来入选的清华大学校级优秀博士学位论文(Top 5%)。每篇论文经作者进一步修改、充实并增加导师序言后,以专著形式呈现在读者面前。“优博丛书”选题范围涉及自然科学和人文社会科学各主要领域,覆盖清华大学开设的全部一级学科,代表了清华大学各学科最优秀的博士学位论文的水平,反映了相关领域最新的科研进展,具有较强的前沿性、系统性和可读性,是广大博硕士研究生开题及撰写学位论文的必备参考,也是科研人员快速和系统了解某一细分领域发展概况、最新进展以及创新思路的有效途径。

电子资料

www.luweidong.cn

下一个