(DGR)图划分算法总结
介绍
整个图网络太大,无法在一个机器上处理,所有采用分布式的框架。将整个图网络划分为不同的范围,以往的方法只关注单个顶点作为基本单位移动的情况不同,我们证明了一些紧密连接顶点作为一组移动可以进一步提高图再划分结果的质量。
静态划分和动态划分
静态划分,图网络不怎么变化
动态网络:像社交网络不停地变化,增加和删除边。
目前动态网络划分:它们在异步模式下执行顶点移动,这将导致迁移干扰。此外,我们发现以单个顶点作为运动的基本单位将限制图的再划分结果的质量。
提出一种轻量级,基于顶点群的移动。
相关工作
不需要对整个图数据进行处理,标签的分配和更新只从给定分区中选定的边界顶点开始.
传统图划分方法:Metis
缺点: 它们需要在执行图划分之前访问整个图的全局结构;
'流图划分’已经被提出用于非常大的图数据,流技术不能直接用于处理动态环境下的图重划分,本文在此基础上进行改进。
本文算法是轻量级的,轻量级意味着它们只依赖于关于图结构的少量信息,从而在动态图数据上执行图重新分区.
在动态环境中采用现有的轻量级方法存在以下几个方面的问题:
- 采用异步方式迁移顶点会产生迁移干扰;
- 将单个顶点作为基本单元处理,在一定程度上限制了图划分结果的质量;
- 图重划分缺乏负载均衡和交叉边之间的均衡机制。
本文主要解决了动态环境下的图重划分问题。
概念定义
采用metis或者基于流的方法,将图划分为k个分区,每个分区不相交。
边界顶点
该分区内的顶点与其他分区又边相连,这些顶点就叫边界顶点。
边切
两个分区之间相交的边的集合。
e(S, S):两个分区之间的交叉边集合。
过载:分区顶点数大于平均数
欠载:分区顶点数小于平均数
不平衡率
总不平衡率
目标:Tib(P′) and Tec(P′) 都达到最小
是一个权值,用来控制不同分区的边切值和负载不平衡之间的平衡。
migration interference:一个顶点的移动会造成其他顶点联动。
边切收获:
migration interference (MI):迁移干扰,这些点的移动将带来其他顶点的移动。
total migrations ™:总迁移干扰,由于其他顶点的移动,而不得不移动的顶点。
算法
算法一 :基本分区算法
1、如果分区没有达到平衡状态,则开始进行
2、从k个分区中,查找哪个分区顶点数最多(最好的状态,每个分区定点数相同)
3、在该分区中查找边缘顶点(因为边缘顶点影响边切值,减少分区之间的联系),找到边切值最大的顶点,如该顶点满足边切收益值大于0,且该分区顶点数大于平均数,所移动到的分区小于平均数,则开始移动(如成功移动,它在原分区的邻接顶点就成分了边缘顶点,准备移动)。
顶点组
一个分区中,一组顶点。
查找顶点组的方法
使用LPA传播算法,本文使用的传播算法是从分区的边缘顶点开始,每个顶点有不同的标签。每个顶点标签更新规则:
规则5:
c(v) :顶点的新标签,是该顶点组邻接顶点中最多的标签。
边缘顶点最初的标签是与外部分区连接最多的分区ID。
规则6同上面标签更新规则
通过打标签,可以把分区内相同标签的顶点汇聚到一起,并且边切值大于0,组成顶点组。
算法二:顶点组检测
1、对每个分区的边界顶点,分配新标签
2、执行LPA算法,对顶点标签进行更新。找出顶点组,条件满足则进行移动,(因为顶点组有多个,选择切边值最大的进行移动)
复杂度分析
实验
7个网络,70%用于分割,剩下的数据模拟动态添加。
三个指标
边界削减、负载平衡和迁移效率
共测试三个算法
DGR-V(点个顶点移动)、DGR-G(顶点组移动)、DGR-B(调整参数)
这个调整参数:因为切边值和不平衡性总是矛盾的,所通过DGR-B 选取一个最优的参数,来进行DGR-V、DGR-G这两个算法的测试。
后面有空会补上