没有合适的资源?快使用搜索试试~ 我知道了~
7_计算机科学与探索_2014_图划分_BHP1
需积分: 0 0 下载量 169 浏览量
2022-08-04
16:33:06
上传
评论
收藏 3.67MB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86334812/0001-6939530f515dc5a6b17a61b9dbf141fa_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
11页
引言近年来,BSP(bulk synchronous parallel)模型[1]被广泛用于大图数据的并行分布式处理中,它是一种基于消息通信的整体同步并行计算模
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86334812/bg1.jpg)
BHP:面向 BSP 模型的负载均衡 Hash 图数据划分
周 爽
1
,鲍玉斌
1+
,王志刚
1
,冷芳玲
1
,于 戈
1
,邓 超
2
,郭磊涛
2
1. 东北大学 信息科学与工程学院,沈阳 110819
2. 中国移动通信研究院 业务支撑研究所,北京 100053
BHP:BSP Model Oriented Hash Graph Data Partition with Load Balancing
ZHOU Shuang
1
, BAO Yubin
1+
, WANG Zhigang
1
, LENG Fangling
1
, YU Ge
1
, DENG Chao
2
, GUO Leitao
2
1. College of Information Science and Engineering, Northeastern University, Shenyang 110819, China
2. Division for Business Support, China Mobile Institute, Beijing 100053, China
+ Corresponding author: E-mail: baoyubin@ise.neu.edu.cn
ZHOU Shuang, BAO Yubin, WANG Zhigang, et al. BHP: BSP model oriented Hash graph data partition
with load balancing. Journal of Frontiers of Computer Science and Technology, 2014, 8(1):40-50.
Abstract: Graph data partition is a critical technical problem in the large-scale graph processing system based on
bulk synchronous parallel (BSP) model. Traditional graph partition technology requires many iterations, the time com-
plexity is too high, and the partition results don’t have the mapping information from vertexes to partitions. So those
algorithms are not suitable for partitioning graph data for the BSP model based systems. This paper presents a new
Hash partition algorithm that implements load balance, called balanced Hash partition (BHP). In order to achieve the
balance of the number of out degrees in each partition as much as possible, the concept of virtual bucket is introduced.
Then these virtual buckets are reorganized into desired partitions by using a greedy algorithm. In this way, the algorithm
can ensure the load balance of each partition. At the same time, the data localization strategy makes the data on the
split locate on the corresponding node as much as possible. So, the overhead of data migration during the data loading
can be reduced. This paper does some experiments to compare the performance between BHP and the classic Hash
algorithm from multiple aspects. The results show that the BHP algorithm can improve the job executing efficiency,
* The National Natural Science Foundation of China under Grant Nos. 61033007, 61173028 (国家自然科学基金); the Fundamental
Research Funds for the Central Universities of China under Grant No. N100704001 (中央高校基本科研业务费专项资金); the Ministry
of Education of China and China Mobile Foundation under Grant No. MCM20125021 (教育部-中国移动科研基金).
Received 2013-04, Accepted 2013-06.
CNKI 网络优先出版:2013-07-18, http://www.cnki.net/kcms/detail/11.5602.TP.20130718.1603.003.html
ISSN 1673-9418 CODEN JKYTA8
Journal of Frontiers of Computer Science and Technology
1673-9418/2014/08(01)-0040-11
doi: 10.3778/j.issn.1673-9418.1305052
E-mail: fcst@vip.163.com
http://www.ceaj.org
Tel: +86-10-89056056
周 爽,鲍玉斌,王志刚,等.BHP:面向BSP模型的负载均衡Hash 图数据划分[J].计算机科学与探索,2014,8(1):40-50.
![](https://csdnimg.cn/release/download_crawler_static/86334812/bg2.jpg)
1 引言
近年来,BSP(bulk synchronous parallel)模型
[1]
被
广泛用于大图数据的并行分布式处理中,它是一种基
于消息通信的整体同步并行计算模型。BSP 模型把
并行计算抽象为三个模块:处理器集合、发送消息的
全局通讯网络和各处理器间的路障同步机制。BSP
模型中将一个超步(SuperStep)作为并行计算的基本
执行单元。一个 BSP 程序包含多个超步,通过消息
机制实现超步中各个计算任务间的信息传递。BSP
模型迭代执行每一个超步,直到满足终止条件或者达
到一定的超步数强制终止。在集群环境下进行大规
模图数据的分布式并行处理的一个重要任务就是图
数据的划分
[2]
,即决定一个图顶点应该属于哪个子图
或分区,并将各个图分区数据分配给各个处理器进
行处理。因为图数据本身具有连通性,所以为了实
现高效的图数据分布式并行处理,进行合理的图数
据划分十分重要。图数据划分的原则有两点:一是
降低划分后子图间的交互边,从而降低计算过程中
发送的消息量;二是保证子图处理的均衡性,即并行
计算中各处理任务的负载均衡问题。图数据划分时
应尽可能考虑满足上述原则。
虽然有很多种经典的图划分算法,例如Kernighan-
Lin 算法
[3-4]
、METIS 算法
[5]
、基于 Laplace 图特征值谱
二分法
[6-7]
等,但是这些划分技术都需要多次迭代,时
间复杂度过高,而且划分结果不保留图顶点到分区的
映射信息,因此并不适用于 BSP 模型下的数据划分。
而经典的 Hash 划分算法对于海量的,特别是顶点 ID
类型不确定(例如整型或字符串类型)的图数据往往
会造成数据偏斜,或者划分时数据可能被完全散列
到所有节点上,而没有考虑图顶点之间的关联性,使
得分区间交互边过多。因此,如何快速实现图数据的
划分是基于 BSP 模型大图数据处理的难点,具有极
大的挑战性。
基于上述问题,本文提出了一种适合于 BSP 模
型的负载均衡 Hash 图数据划分算法(balanced Hash
partition,BHP),该算法在一定程度上实现了各个计
算任务的负载均衡,有效地降低了水桶效应。本文从
消息通信(即网络 IO),集群中节点负载均衡,图数据
加载用时,以及以 PageRank
[8]
应用为例的计算耗时等
方面,将本文提出的 BHP 算法与经典的 Hash 算法进
行了实验对比,分析总结了 BHP 算法的优缺点。
本文组织结构如下:第2章简要介绍了相关工作,
并回顾了几种经典的图划分算法;第 3 章分析了经典
Hash 划分算法及其优缺点;第 4 章提出了一种近似的
BSP 作业运行的时间代价评估模型;第 5 章详细描述
了本文提出的负载均衡 Hash 图数据划分算法;第 6
reduce the number of sending messages, and effectively solve the problems of load imbalance and too many interac-
tive edges among partitions.
Key words: bulk synchronous parallel (BSP); graph partition; distributed system; load balance; virtual bucket
摘 要:图数据划分是基于 BSP(bulk synchronous parallel)编程模型的大规模图处理系统中一个关键技术问
题。传统的图划分技术需要多次迭代,时间复杂度过高,且划分结果不具有图顶点到分区的映射信息,因此这
些算法并不适用于 BSP 模型下的数据划分。提出了一种新的面向 BSP 模型的负载均衡 Hash 数据划分算法
(balanced Hash partition,BHP)。为了实现各个分区的出边数尽可能均衡,该算法引入了虚拟桶的概念,通过
贪婪算法将虚拟桶重组为实际分区,保证了每个实际分区负载均衡,同时数据本地化策略使本分片上的数据
尽可能地保留在本节点上,从而减小在数据加载时的数据迁移开销。从三个方面对比了 BHP 算法和经典 Hash
算法的性能,结果表明 BHP 算法能够提高作业的执行效率,减少消息发送的数量,有效解决了经典 Hash 算法
的负载不均衡和分区间交互边过多的问题,当数据量变大时,效果尤为明显。
关键词:BSP 模型;图划分;分布式系统;负载均衡;虚拟桶
文献标志码:A 中图分类号:TP311
周 爽 等:BHP:面向 BSP 模型的负载均衡 Hash 图数据划分
41
![](https://csdnimg.cn/release/download_crawler_static/86334812/bg3.jpg)
Journal of Frontiers of Computer Science and Technology 计算机科学与探索 2014, 8(1)
章给出了与经典 Hash 划分算法的对比实验;最后总
结了全文的工作。
2 相关工作
由于社会媒体和 Web 搜索应用的出现,许多应
用(例如网页的 PageRank 计算)需要处理海量的数
据,而一个大搜索引擎一年内爬取下载的网页有近一
万亿个顶点及十万亿个出边
[9]
。因此,对海量图数据
处理的解决方案是将图数据集划分到计算机集群的
各个节点上,然后采用分布式算法进行处理。这就需
要考虑数据的分布及划分。这里图划分定义为将一
个图
G =(VE)
作为输入,并将图
G
划分成
k
个子图
G
1
=(V
1
E
1
)G
2
=(V
2
E
2
)G
k
=(V
k
E
k
)
满足
V
i
V
j
=
Φ(i ¹ j)
且
i = 1
k
V
i
= V ,最后将
k
个子图分配给集群中的
k 个任务。基于 BSP 模型的图处理系统中图划分的
一个关键要求是图数据划分时耗时尽量小,划分后各
个任务的负载尽可能均衡,而且划分后能够根据一个
顶点的 ID 计算出其位于哪个分区上。
Pregel
[10]
、Hama
[11]
、Giraph
[12]
、GraphLab
[13-14]
和 Power-
Graph
[15]
是目前比较流行的基于 BSP 模型的大图处理
系统。Pregel 是由 Google 提出的用于分布式图计算
的计算框架。Hama 是 Apache 的 Hadoop
[16]
中的子项
目,被看做 Pregel 的开源实现。Giraph 是 Yahoo 提出
实现的,建立在 Hadoop 基础上的面向图处理的算法
库。GraphLab 和 PowerGraph 是面向机器学习的高性
能的并行流处理框架。它们都采用了 BSP 模型,其
中 Pregel、Hama 和 GraphLab 采用了经典的 Hash 取模
静态划分算法。
Pregel、Hama 和 GraphLab 中处理的图以邻接表
的方式存储。每个顶点有一个 ID 作为唯一的标识,
采用直接取余法,将一个顶点利用 Hash(ID) mod p=k
的方式把该顶点映射到第 k 个存储分区,p 代表分
区的数目。这种划分不能保证每个分区中的图顶点
数量均衡,亦不能保证分区内边数的均衡。
Giraph提出了一种动态的图划分算法。Giraph中
主控节点以顶点分片(VertexSplit)的逻辑概念将图
数据划分为多个分片。每个工作节点负责处理一个
顶点分片。工作节点对自己负责的顶点分片进一步
划分为一系列的顶点范围(VertexRange)对象。随后
工作节点将划分后的信息上报给主控节点。在每个
计算超步前,主控节点把这些顶点范围对象根据一
定的策略分配给参与计算的机器并形成一张映射
表。这样做的好处是处理粒度大,重划分以顶点范
围为基本单元进行整体的迁移,易于实现重新定位。
但是由于在每个超步前都要进行重划分,并不适用
于迭代次数较少的作业。
PowerGraph 的核心思想是对顶点进行切分。一
个顶点可以被部署到多台机器,其中一台作为主控
顶点,其余的作为镜像顶点。主控顶点是所有镜像
顶点的管理者,镜像顶点与主控顶点保持数据一致。
PowerGraph 将每条边唯一地部署在某一节点上,从
而避免了边的冗余。
在上述五个系统中,划分方法的使用场景与本
文讨论算法的使用场景是一样的,这些算法都很简
单,但是前四个没有考虑边的负载均衡问题,Power-
Graph 考虑了边的负载均衡问题,主要用于具有超大
边表的图数据处理。
图作为一种经典的数据结构得到了广泛的研
究,在图划分方面已经有一些经典的算法被提出。
Kernighan-Lin 算法是一种试探优化法,利用贪婪算
法将复杂网络划分为两个子图的二分法。分割过程
中既考虑每个子图的聚簇特性,同时又要保证分割
后的子图在数据规模上的均衡性。不过 K-L 算法的
时间复杂度较高,为 O(n
2
lb n) ,其中
n
是图顶点的数
量。METIS 是一个实现了很多算法的程序包,其中
提供了一个图划分算法。METIS 采用多级别图划分
技术,将划分过程分为粗化阶段、划分阶段和反粗化
三个阶段。由于划分过程分为三个阶段,且在划分
阶段仍采用已有的图划分算法(如 K-L 算法)进行数
据划分,它依旧保留了许多经典算法的缺点。基于
Laplace 图特征值谱二分法
[17-18]
也是一个经典的图划
分算法,基本思想是找到 Laplace 矩阵中不为 0 的特
征值,并取得对应的特征向量的线性组合。该方法
只能对图进行二分,且时间复杂度较大,最坏情况下
为 O(n
3
) 。GN 算法
[19]
是一种分裂算法。通过不断地
从网络中删掉介数(betweeness)最大的边从而实现
划分。GN 算法考虑了网络全局,划分得到的社区的
42
剩余10页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![avatar](https://profile-avatar.csdnimg.cn/bae03a7b996f41a68df7e39f18b57186_weixin_35815766.jpg!1)
IYA1738
- 粉丝: 23
- 资源: 270
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0