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

我理解pagerank背后的想法并已实现它(阅读“编程集体智慧”一书时)。

但我读过它可以分布在多个服务器上(正如我猜Google一样)。 我有点困惑,因为根据我的理解,你需要整个图表才能进行页面排名,因为每个排名都与其他排名相关。

我找到了这篇wiki文章,但没有多少解释。

有关这可能的任何建议? 另外,奖金问题:做pagerank专有的分布式pagerank的技术还是可以应用于应用于图形的其他机器学习算法的方法?


计算PageRank的最先进方式是使用Google Pregel框架。 我很确定他们现在有更复杂的东西,但这是最新发布的成果。

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

我正在开发名为Apache Hama的Bulk Synchronous Parallel范例的开源版本。 还有Apache Giraph,它只关注图形用例以及其他许多。

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

值得注意的是,两种解决方案(MapReduce和BSP)都是批处理解决方案,所以它们可以用来重新计算整个webgraph的PageRank。 由于Google更新比批量算法快得多,因此您可以期望他们经常重新计算子图的PageRank。


MapReduce提供了一些有趣的背景,并可能会澄清你将如何并行化这项任务。

链接地址: http://www.djcxy.com/p/65287.html

上一篇: How is pagerank calculated in a distributed way?

下一篇: Square of a directed graph