pagerank如何以分布式方式计算?

Los*_*oul 12 algorithm graph-theory pagerank graph

我理解pagerank背后的想法并实现了它(当阅读"编程集体智慧"一书时).

但我读到它可以分布在几个服务器上(我猜谷歌正在做).我有点困惑,因为根据我的理解,你需要整个图表才能对其进行页面排名,因为每个排名都与其他排名相关.

我发现了维基文章,但没有解释太多.

有关如何做到这一点的任何建议?另外,奖励问题:是否可以将分布式pagerank专用于pagerank,或者将所使用的方法应用于应用于图形的其他机器学习算法?

Tho*_*lut 8

计算PageRank的最先进方式是使用Google Pregel框架.我很确定他们现在有更复杂的东西,但这是最近公布的努力.

您可以在研究博客中阅读有关它的更多详细信息.或者在这里阅读发表的论文.

我正在开发一个名为Apache HamaBulk Synchronous Parallel范例的开源版本.还有Apache Giraph,它专注于图形用例和许多其他用户.

与mfrankli提到的一样,还有可用于计算PageRank的MapReduce框架(例如Apache Hadoop),但它对迭代算法效率不高.

值得注意的是,两个解决方案(MapReduce和BSP)都是批处理解决方案,因此它们可能会用于重新计算完整网页的PageRank.由于Google更新比批处理算法快得多,因此您可以预期它们会经常在子图上重新计算PageRank.