21

谷歌描述了一种用于大规模图分布式处理的新框架。

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

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

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

4

8 回答 8

4

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

该项目将其工作分为两个领域;矩阵包和图形包。

更新:

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

于 2010-06-07T04:00:16.920 回答
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-horizo​​ntal-scaling

更新GraphX是由GraphLab2的创建者Joey GonzalezSpark上实现的 GraphLab2。

Spark 独特的原语使 GraphX-Pregel 成为最快的基于 JVM 的 Pregel 实现。Spark 是用 Scala 编写的,但Spark 有 Java 和 Python API

看...

PS 还有Bagel,这是 Pregel on Spark 的第一次切割。有用; 然而,GraphX 将是前进的方向。

于 2011-04-23T11:14:03.887 回答
2

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

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

从他们的网站:

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

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

于 2012-10-11T20:18:27.450 回答
2

卡内基梅隆大学的两个项目提供了 Pregel 式的图计算:

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

于 2012-08-24T22:27:36.437 回答
1

我创建了一个名为Phoebus的框架。它是用 Erlang 编写的 Pregel 的实现。查看我的博客文章,了解如何将 Pregel 模型应用于路径查找。

于 2010-12-04T06:06:33.140 回答
1

Apache Giraph目前处于孵化器中并处于非常活跃的开发阶段,来自 LinkedIn、Twitter、Facebook 和学术界的提交者希望将其快速提升到生产规模。它非常直接地以 Pregel 为蓝本,最初是在 Yahoo! 开发的。研究。我们正在寻找新的贡献者,并且有几个介绍性的 JIRA 问题来帮助人们开始这个项目。我们很乐意让您参与进来。

于 2011-11-04T17:13:45.747 回答
0

斯坦福学生开发了 Pregel 的开源实现。 http://infolab.stanford.edu/gps/

于 2013-10-05T18:57:29.620 回答