图计算学习笔记

通用图数据产品分类:

1.基于遍历算法的、实时的图数据库:Neo4j、DEX、OrientDB、Infinite Graph

2.以图顶点为中心的、基于消息父老乡亲批处理的并行引擎:GoldenOrb、Giraph、Pregel和Hama。基于BSP(Bult Synchronous Parallel Computing Model,即“大同步”模型)模型实现并行图处理作业。

BSP过程包括一系列全局超步(迭代),每个迭代包含局部计算(各处理器计算自己的任务,相互之间互不干涉的异步执行,只处理本地存储的数据)、通讯(处理器集群相互交换信息)和栅栏同步(遇栅栏则等待以同步,然后一同进入下一次迭代)三个过程。

Pregel,Google的分布式图计算框架,主要用于图遍历、最短路径计算和PageRank计算等。

Pregel的输入图的顶点,都有一个String作为ID,每个顶点都可以附带一个可修改的用户自定义值,每条有向边都会和顶点关联,并记录相关的顶点ID(源顶点和目标顶点),边上也可以附带一个可修改的用户自定义值以表示关联关系。

Pregel的全部计算过程都集中在顶点上,在边上是不会进行运算的。

顶点之间是采用消息传递的模式进行通信的,而没有采用通过RPC远程读取或共享内存的方式进行通信。远程读取延迟高,而共享内存扩展性不好。

当全面顶点都处于“非活跃”状态,并且不再有消息通讯时,则图计算结束。

多个顶点向一个顶点传递消息时,可以先经过Combiner过程(默认不开启),以合并要传递的消息内容,以压缩传递数据的大小。要开启Combiner过程需要,消息之间内容需要满足交换律和结合律时才能开启。因为不能确定消息顺序。

猜你喜欢

转载自blog.csdn.net/junweishiwo/article/details/82912209