
24
|
第
3
章
有些图平台包含了高度集成的解决方案,优化了算法、处理和内存检索,使之能够紧密协
调工作。
3.1.2
处理注意事项
处理数据的方式有多种,例如针对基于记录的数据,可以采用流处理或批处理,抑或采用
MapReduce
方式;而对图数据而言,目前也有一些方法可将图结构中的固有数据依赖整合
到处理中。
节点中心式
这种方式将节点作为处理单元,保存节点的累加结果和计算状态,并通过消息将通信状
态变化情况传递给其邻节点。这种模型使用现成的转换函数可以更简单地实现每种算法。
关系中心式
这种方式与节点中心式模型有相似之处,但它也可用于子图和序贯分析。
图中心式
采用这种方式的模型在处理某个子图中的节点时独立于其他子图,通过消息传递与其他
子图进行通信(极少)。
遍历中心式
采用这种方式的模型把遍历器在图上穿行时积累的数据用于计算。
算法中心式
这种方式使用各种方法优化每个算法的实现。这是前述几种模型的混合模式。
Pregel
是由谷歌公司创建的一种容错式并行处理框架,以节点为中心,可
用于分析大型图的性能。
Pregel
基于整体同步并行模型(
bulk synchronous
parallel model
,以下简称
BSP
模型),而
BSP
模型具有独特的计算阶段和通
信阶段,以此简化并行编程。
Pregel
在
BSP
模型之上添加了一个节点中心式抽象层,算法可以借此计算由
每个节点的邻节点通过消息传入的值。每次迭代都会执行一次这样的计算,
之后可以更新节点值并向其他节点发送消息。在通信阶段,节点还可以组合
要传输的消息,这有助于减少网络通信量。当不再发送新的消息或达到某一 ...