大规模图的网页链接关系和各种社交关系
计算模型
程序使用一系列的迭代过程来表达,在每一次迭代中,每个顶点都会收到来自上一次迭代的信息,
并发送信息给其他顶点,同时可能修改其自身状态以及以它为订单的出边的状态,或者改变整个图的
拓扑结构。这种以顶点为中心的策略非常灵活。
顶点为中心
分布式相关的细节被隐藏在一组抽象出来的API下面
最短路径算法 各种page rank算法变种 图计算问题,比如最小切割,连通分支
内存访问局部性
mapreduce就是一个对许多大规模计算问题都非常合适的计算框架
图算法这种更适合用消息传递模型
我们搭建了一套可扩展,有容错机制的平台,该平台提供了一套非常灵活的API,可以描述各种各样的图计算
对Pregel计算系统的灵感来自Valiant提出的BSP(Bluk Synchronous Parallell)模型[45]。
该函数描述的是一个顶点V在一个superstep S中需要执行的操作。该函数可以读取前一个超级步(S-1)中发送给V的消息,并发送消息给其他顶点,这些消息将会在下一个超级步(S+1)中被接收,并且在此过程中修改顶点V及其出边的状态。消息通常沿着顶点的出边发送,但一个消息可能会被发送到任意已知ID的顶点上去。
就不会增加过多的延迟