美文网首页python机器学习爬虫
分布式图计算中的点切分和边切分

分布式图计算中的点切分和边切分

作者: Nicky_Ye | 来源:发表于2017-05-26 14:34 被阅读449次

介绍点切分和边切分之前,我们先引入一个概念:Natural Graphs ---实际应用中不同平台里产生的图,就像是新浪微博或者Twitter里的粉丝/follow关系图谱。

image.png

以上是一张密率度分布图,可以发现该分布图有明显的幂率现象。对于幂率现象,形象的解释是,只有少数明星的微博和twitter是有大量人关注的,同时大部分用户只有少部分的粉丝/follower。该幅图中,只有一个邻居点(粉丝)数量过10^8的节点,同时仅有的那1%的节点(大V用户),占据了整个图的50%的边(粉丝关系)。这些点被称为高纬度点。

image.png

能有奥巴马这样多粉丝的人,是极少的,但是又在整个图谱中占据极重要地位。大部分人的粉丝都寥寥无几。

image.png

高纬度点的切分,切分过后形成新的抽象。可以观察,边切分策略下节点是单一完整的,节点拥有所有邻居节点的信息,可以独立完成该一节点的程序运算。但是在节点切分策略下,每个节点看到的只有部分邻居节点,无法完成这个单点的完整计算。

image.png

在节点切分策略下,分布在不同的CPU或者机器上的节点如何对其进行编程?目前最具代表性的图计算方法,主要通过两种方式对图进行并行化抽象计算:
——使用消息 Pregel
——共享状态 GraphLab
GraphLab的方法简单却低效:序列化处理边,即便利所有相邻节点。
Pregel的方法是使用消息,处理高纬度点时单个worker会发送大量消息给邻居节点。
GraphLab的坏处是,会接触到图的大部分,且对于单台机器元数据量太大。此外,GraphLab共享状态为异步执行,需要大量锁操作。
对于Pregel来说,它同步执行但是容易产生Stragglers,即执行较慢的节点会拖累集群效率,即木桶的短板效应。

点切分和边切分的实例:

点切分和边切分的实例

如上,我们现在要将一个有4个顶点的图存储到3台机器上,这三台机器分别叫1,2,3。那么按照边切分的方式,这些边被切分在3台机器的分布如a图。 从图中可以看出,切分的过程中,总共有AB,BC,CD三条边被切开,保存到3台机器后,边的总数目由原来的3条,变成了6条,多了一倍,外加5个节点副本。第二种方式是点切分方式,同样是4个节点的图,我们将B、C节点切分开来。存储到3台机器后,得到b图,可以看出我们的边的数目还是3台,只多了两个节点的副本。当边的数量比节点数量大很多的情况下,这种两种切分方式差异会更加明显。

相关文章

  • 分布式图计算中的点切分和边切分

    介绍点切分和边切分之前,我们先引入一个概念:Natural Graphs ---实际应用中不同平台里产生的图,就像...

  • mysql数据库优化 摘要

    数据库优化 sql语句优化 索引优化 加缓存 读写分离 分区 分布式数据库(垂直切分) 水平切分 MyISAM和I...

  • 2. 大型网站架构模式

    网站架构模式: 分层(横向切分,应用层,服务层,数据层,类似MVC) 分割(纵向切分) 分布式(分布式意味着可以使...

  • Mycat 分片规则

    概述 在数据切分处理中,特别是水平切分中,中间件最终要的两个处理过程就是数据的切分、数据的聚合。选择合适的切分规则...

  • 【分库分表】水平切分方式的路由过程和分片维度

    水平切分方式是我们日常开发中最熟悉的分库分表方法。水平切分中需要注意的两点应该就是路由过程和分片维度 了。 水平切...

  • 数据库分库分表操作

    1、谈数据库分布式 其核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合工作,解决单一数据...

  • 切分

    事非经过不知难。如果说之前一直是心存侥幸,总想着说等一下,等时机成熟了,一切终将是水到渠成的事。等到拖,拖,拖,到...

  • 从制作做导航栏中应该学会的东西

    1.原则 1.1 学会分割任务不停的切分部件部件:本例中先切分为logo 与导航链接将样式切分为部件本身独立的样式...

  • 搜索笔记 ---- 1

    分词 完全切分 完全切分指的是,找出一段文本中的所有单词。 商品和服务 - > 商 商品 品 和 和服 服 服务 ...

  • 切分和细化

    心理学家米哈里用心流这个词,定义一种将个人精神力完全投注在某种活动上的感觉,而达到这种状态,需要一些条件。 我们倾...

网友评论

本文标题:分布式图计算中的点切分和边切分

本文链接:https://www.haomeiwen.com/subject/ejmzxxtx.html