Partitioning big graph with respect to arbitrary proportions in a streaming manner 菜鸟解读

Partitioning big graph with respect to arbitrary proportions in a streaming manner

以流方式对大规模图按任意比例进行划分

H i g h l i g h t s

给出了一个任意比例图划分问题。

提出了一种任意比例流图划分方法。

设计了三种测量方案和八种启发式算法。

  实验验证了该方法的性能和灵活性。

Balanced graph partitioning (BGP).

Unbalancedgraphpartitioning(UGP).

Streaming graph partitioning (SGP).

平衡图划分(BGP)。目标是将一个图划分为k的子图,子图内部度量值相等,同时最小化子图之间的总体度量值。子图内部和子图之间的度量分别是顶点数和切边数。

不平衡图分区(UGP)。与平衡的不同的是,不平衡的图划分将一个图划分为不相等的子图,使其适用于更一般的分区场景。随着异构系统的兴起,它获得了极大的利益,但所做的工作却有限。

上面提到的分区方法都是离线的,而且对一个大的图进行分区过于“繁重”。流图划分方法,该方法在大规模图加载过程中对一个大规模图进行划分,具有轻量级、单遍性和可观的性能。

定义1(等规模图划分)k路图分区πk iso-scale图的分区如果所有子图的规模是相同的。这个规模是指子图的顶点数。

定义2 (Iso-workload Graph Partition)k路图分区πk iso-workload图的分区如果它所有的子图工作负载是相同的。工作负载定义为在子图上操作特定算法所需的基本操作数。

定义3(等处理时间图分区)。为k路图分区πk,假设每个子图被分配给一个独特的计算节点的集群大小k .πk iso-processing-time图的分区如果所有子图的处理时间是相同的。处理时间是节点完成相应工作负载所需的时间。

如果将G按一定的度量方案w.r划分为k个子图。

度量方案可以是测量给定集群上特定工作负载的图顶点数、图工作负载或图处理时间的方法。

 MS = { N V , L , T } , 也就是说,所有由这个MS的中的策略ms生成的子图,占整个图的比例加起来等于1。当伽马设置为整个集群的每个节点的通信能力的比率。得到一个与集群体系结构完全匹配的分区

定理1描述了AGP与等比例尺、等工作负载或等处理时间的划分之间的一般和特殊关系。因此,为获得AGP而设计的分区方法也适用于后三种图形分区的生成,这是我们工作的主要贡献之一。

•定理2k≥3时,得到严格满足AGP定义对于大规模图GK路划分问题是NP-hard。然后这个问题可以简化为分区问题,当k≥3时,这是一个众所周知的np难问题。 在实际应用中,得到严格满足AGP定义的大规模图是困难的,也是不必要的。因此,我们放松限制每个子图的度量通过引入松弛向量ε=(ε1,ε2,……εk),ε∈(0,1) Gi图的度量期望的近似误差的阈值。假设ε1:ε2:……:εk =γ1:γ2:……:γk。它是基于这样一种考虑,即具有较大期望度量的分区通常具有较高的错误阈值。

G分区的实际和预期的测量是不大于ε,并且所有差异的总和被最小化。

Ωk表示G的所有满足放松的AGP定义的k路分区,排K星是排k 里面最好的

为了综合评价我们的流启发式算法的性能,我们选取平衡因子、边切割率、划分度量标准偏差、划分时间,建立了一套准则如下:它度量所有子图实际测量值与期望测量值之间的差异程度;(4)分区时间τ的定义是获得的解决方案所需的时间(k, ms,γ,ε)-AGPP。

度量是图划分的前奏。其有效性和准确性直接影响着分区性能。由于度量图顶点数的简单性,论文忽略了对图顶点数的讨论,而将重点放在设计图工作量和图处理时间的测量方案上。然后讨论了如何选择合适的方法。通常,图工作负载可以定义为在给定的图上操作图算法所需的基本操作数。因此,它与图的拓扑结构和算法密切相关。但是,图拓扑的不规则性和图算法运行时行为的变化使得工作量的测量变得非常困难。图形算法可以分为两类:拓扑驱动算法和数据驱动算法。拓扑驱动算法的工作负载保持不变,而数据驱动算法通过在图上执行动态变化,使得后者的测量比前者困难得多。论文重点测量数据驱动的图算法A在大规模图G上的工作量,不失一般性,我们假设:

(1) A访问的顶点集合用V ' = {v1, v2…v n′}, v′⊆v;

2Vi的邻接边和那些被A访问的表示为

3)每次更新它的值需要的基本的计算操作的数量表示为欧米伽 是一个常数

4)每次广播顶点的值基本的通信操作的数量表示为斯塔也是一常数

子图之间的工作负载,与子图之间的割边有关

德尔塔表示数据在两个子图之间传输需要操作数的平均值。同样A算法已经访问过了的边就不需要再进行数据传输的操作。在还有利用价值的边上进行数据传输的操作。

对于图的操作有两部分组成,一部分是在子图内部结构上的操作,另一部分是在子图通信之间的操作!所以这里要分为两部分进行讨论。

处理时间不仅与图的工作负载有关,还与异构集群的计算和通信能力有关。 (2),假设它是由一个强大的计算处理节点p 0与计算能力S0和内存容量无限制,那么它的处理时间,用时间T,可以通过负荷计算T/ s 0

8种启发式算法

在本节中,我们设计了8种流启发法。它们中的每一个都对应于一种算法,其中分配了最新到达顶点vg,选择相应子图的索引ind

1. 总体均衡(GB)—t时刻,将vg赋值给子图,使其实际测量值与期望测量值的比值最小

•2小块优先(SCA)——用度量将流划分为块,Rand E (g1, ms, A)Rand E (g2, ms, A),分别为Rand E (G k, ms, A),并按顺序完全填充。

3大数据块优先(LCA)——用度量值将流划分为块Rand E (G k, ms, A)Rand E (G k - 1, ms, A),分别为Rand E (g1, ms, A),按顺序填满。

•4高内聚(HC) -t时刻,将v g分配给子图,其子图内度量的相对增量最大。根据预期的测量值,用罚函数对其进行加权。

5. 低耦合(LC)——t时刻,将vg分配给子图,使所有子图的子图间度量值增量之和最小化。根据预期的测量值,用惩罚函数对其进行加权。随机断绝这种关系。

6. 最小标准差(MSD)

7. 最小标准差增量(MSDI) -t时刻,将v g赋给子图,使标准差增量最小化。

8. 分化程度(DD)——设置一个合理的阈值η(艾塔)来区分高低度顶点,并分配v g使用HC如果它是一个低程度的顶点,否则使用GB

论文进行了一系列的实验来评估流启发式划分在解决(k, ms,γ,ε)-AGPP时的效率。首先,给出了实验建立的基础,包括数据集、图形算法和异构聚类。最后给出了实验结果,并对所提方法的性能进行了讨论。在论文的流启发算法中使用的一些参数被调优。

图表数据集。 我们使用3个来自多个来源的不同类型的图形数据集:roadNet-CA [26]Twitter [27]R-MAT [28]。 前两个是实图,而最后一个是由RMAT生成器生成的合成图,参数为[0.45,0.15,0.15,0.25] roadNet-CA [26]具有简单而规则的图形结构,具有较低的平均顶点度。 与最后两个数据集完全不同,因为后两个都是幂律图,其顶点度遵循幂律分布。

图算法。 论文选择DijkstraSSSP single source shortest paths )单源最短路径。算法作为论文大规模图的工作负载。论文设置⊗= +和α=β=χchi= 1.此外,论文使用渐近分析方法来估计3个数据集的θ和δ。论文将θ设置为 每一个的平均顶点度数和所有它们的δ为1

 

异构集群。 我们的异构集群ARC由一台Dell OptiPlex 330 PC,一台Thinkpad X220i笔记本电脑,一台4节点PowerEdge 6850服务器和一台4节点Transwarp TxData-4服务器组成。 它们通过千兆以太网连接。 为方便起见,它们的编号从110,其详细配置列于表2

2中每个节点的配置不能反映ARC在处理大图时的实际计算和通信能力,因此不能用于设计流式启发式。 为此,我们选择Graph500 Benchmark 1.0 [29]的内核3SSSP算法)作为测试其计算能力的基准测试程序。 此外,我们有5个数据传输实验来测试每对节点之间的通信带宽。平均结果分别如图2和图3所示。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值