Powergraph -- 贪心法在图划分任务中的应用

本文介绍了Powergraph在分布式图计算中的应用,它通过贪心算法解决图划分问题,旨在减少通信开销和负载不均衡。文中详细阐述了边割和点割两种图划分方法,并给出了Powergraph的贪心算法伪代码,讨论了其实现负载均衡的策略。
摘要由CSDN通过智能技术生成

Powergraph – 贪心法在图划分任务中的应用

  • 背景

    大数据时代中,用户所收集到并希望进行分析和处理的数据集的规模正以极快的速度进行增长,这一规律也体现在图数据中。由于单机容量的限制,大规模的图数据无法被单机的内存完全容纳,因此分布式图计算系统成为解决方案之一,即将待处理的超大规模图划分成若干个子图,并分配到不同的计算节点中进行处理,划分成子图的过程就是图划分问题(graph partition)问题。无论是早期的BSP编程模型还是之后的GAS编程模型中,graph partition 问题的优化目标都是两个:减少负载不均衡和减少通信的开销,然而,这两个优化目标往往呈现 tradeoff 的关系[1],事实上,早在1992年,同时考虑通信量和负载均衡的图划分最优算法就被证明是 NP-hard 问题[2]

    现有的图划分算法可以分为两大类:边割(edge-cut)和点割(vertex-cut)。

    • 边割

      边割算法中(又称为以点为中心的划分算法),顶点被均匀地分配给机器,并且最小化跨越节点的边的数量。如下图所示,A、B、C、D顶点被均匀分配给三台机器,阴影节点为 ghosts。边割集的大小直接影响通信量的大小。

      pregel系统使用的边割方法,即将图中的点均匀地分给不同的节点,每个点与他所有的邻边都存储在一起。这种情况下,如果一条边的两个点被分到了不同的机器上,他就会产生一次远程通讯。换句话说,在这种分割方式下,最终的通讯量和被分割的边

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值