任何开源Pregel喜欢的框架,用于大型图的分布式处理?

时间:2010-06-06 21:44:49

标签: language-agnostic graph hadoop distributed-computing

Google描述了一种用于Massive Graphs的分布式处理的新颖框架。

http://portal.acm.org/citation.cfm?id=1582716.1582723

我想知道类似于Hadoop(Map-Reduce)是否有这个框架的任何开源实现?

我实际上是在使用python和多处理模块编写伪分布式的,因此想知道其他人是否也尝试过实现它。 由于关于这个框架的公共信息非常稀缺。 (上面的链接和Google Research的博客文章)

8 个答案:

答案 0 :(得分:15)

答案 1 :(得分:4)

分布式图形处理的主要Hadoop项目是Hama项目。它仍在孵化中。

该项目已将其工作分为两个方面;矩阵包和图表包。

<强>更新

更好的选择是基于Google Pregel的Apache Giraph项目。

答案 2 :(得分:3)

是的,一个名为Golden Orb的新项目,这是一个用Java编写的开源Pregel实现,可以在HBASE和Cassandra上运行。

它已被提交给Apache孵化器批准,而Golden Orb背后的公司Ravel表示他们将在本月发布它(http://www.raveldata.com/goldenorb/)。

请参阅http://www.quora.com/Graph-Databases/What-open-source-graph-databases-support-horizontal-scaling

更新GraphX GraphLab2 Spark Joey GonzalezSpark has a Java and Python API实施,是GraphLab2的创建者。

Spark的独特原语使GraphX-Pregel成为基于JVM的最快Pregel实现。 Spark是用Scala编写的,但GraphX: A Resilient Distributed Graph System on Spark

请参阅...

P.S。还有{{3}},这是Spark上Pregel的第一次剪辑。有用;然而,GraphX将是前进的方向。

答案 3 :(得分:2)

卡内基梅隆大学的两个项目提供了Pregel风格的计算 在图表上:

编程模型与Pregel不完全相同,因为它们不是基于消息传递,而是直接修改图形(边缘,顶点)数据。基本上,在这些框架中很容易模仿Pregel。

答案 4 :(得分:2)

还有Signal / Collect用Scala编写的框架,现在使用Akka http://code.google.com/p/signal-collect/

https://github.com/uzh/signal-collect

From their website:

在Signal / Collect中,从顶点和边的角度编写算法。一旦指定了图形,边缘将发出信号并且顶点将被收集。当边缘发信号时,它根据其源顶点的状态计算消息。然后,此消息沿边缘发送到边缘的目标顶点。当顶点收集它时,它使用收到的消息来更新其状态。这些操作在整个图中并行发生,直到收集到所有消息并且所有顶点状态都已收敛。

许多算法在Signal / Collect中都有非常简单和优雅的实现。您可以在项目Wiki中找到有关编程模型和功能的更多信息。请花时间探索下面的一些示例算法。

答案 5 :(得分:1)

我创建了一个名为Phoebus的框架。它是用Erlang编写的Pregel的实现。查看我的blog条目,以便将Pregel模型应用于路径查找..

答案 6 :(得分:1)

Apache Giraph目前处于孵化器领域,并且处于非常活跃的发展阶段,来自LinkedIn,Twitter,Facebook和学术界的提交者希望能够很快将其提升到生产规模。它非常直接模仿Pregel,最初是在Yahoo!开发的。研究。我们正在寻找新的贡献者,并有几个introductory JIRA issues来帮助人们开始这个项目。我们很乐意让你参与进来。

答案 7 :(得分:0)

斯坦福大学学生已开发出Pregel的开源实施方案。 http://infolab.stanford.edu/gps/