Любой Open Source Pregel как фреймворк для распределенной обработки больших графов? - PullRequest
21 голосов
/ 07 июня 2010

Google описал новую структуру для распределенной обработки на массовых графах.

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

Я хотел бы знать, есть ли аналог Hadoop (Map-Reduce) с открытым исходным кодом для реализации этой платформы?

Я на самом деле в процессе написания псевдораспространенного с использованием Python и модуля многопроцессорной обработки и, таким образом, хотел узнать, пытался ли кто-то еще реализовать его. Поскольку публичной информации об этой структуре крайне мало. (Ссылка выше и сообщение в блоге в Google Research)

Ответы [ 8 ]

15 голосов
/ 04 ноября 2011
4 голосов
/ 07 июня 2010

Основным проектом Hadoop для распределенной обработки графов является проект Hama . Это все еще в инкубации, хотя.

Проект разбил свою работу на две области; матричный пакет и графический пакет.

Обновление:

Лучшим вариантом будет проект Apache Giraph , основанный на Google Pregel.

3 голосов
/ 23 апреля 2011

Да, новый проект под названием Golden Orb, представляющий собой реализацию Pregel с открытым исходным кодом, написанную на Java, которая работает как на HBASE, так и на Cassandra.

Он был передан на утверждение в инкубатор Apache, и Равель, компания, стоящая за Golden Orb, заявила, что выпустит его в этом месяце (http://www.raveldata.com/goldenorb/).

См. http://www.quora.com/Graph-Databases/What-open-source-graph-databases-support-horizontal-scaling

ОБНОВЛЕНИЕ : GraphX ​​ это GraphLab2 на Spark реализовано Джои Гонсалес , создатель GraphLab2.

Уникальные примитивы Spark делают GraphX-Pregel самой быстрой реализацией Pregel на основе JVM. Spark написан на Scala, но Spark имеет API-интерфейс Java и Python .

См. ...

PS Есть также Бублик ,это был первый выпуск в Pregel на Spark. Он работает, однако GraphX ​​будет путь вперед.

2 голосов
/ 12 октября 2012

Существует также Signal / Collect Framework, написанный на Scala и теперь использующий Akka http://code.google.com/p/signal-collect/

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

С их сайта:

В Signal / Collect алгоритм написан с точки зрения вершин и ребер.Как только график будет указан, ребра будут сигнализировать, а вершины будут собираться.Когда ребро сигнализирует, оно вычисляет сообщение на основе состояния его исходной вершины.Это сообщение затем отправляется по ребру к целевой вершине ребра.Когда вершина собирается, она использует полученные сообщения для обновления своего состояния.Эти операции выполняются параллельно по всему графику, пока все сообщения не будут собраны и все вершинные состояния не сойдутся.

Многие алгоритмы имеют очень простые и элегантные реализации в Signal / Collect.Вы найдете больше информации о модели программирования и функциях в вики проекта.Пожалуйста, найдите время, чтобы изучить некоторые из приведенных ниже примеров алгоритмов.

2 голосов
/ 25 августа 2012

Два проекта из Университета Карнеги-Меллона обеспечивают вычисления в стиле Прегеля на графиках:

Модель программирования отличается от Pregel, поскольку она основана не на обмене сообщениями, а на непосредственном изменении данных графа (ребра, вершины). По сути, в этих рамках легко подражать Pregel.

1 голос
/ 04 ноября 2011

Apache Giraph в настоящее время находится в Инкубаторе и находится в процессе активной разработки, и коммиттеры из LinkedIn, Twitter, Facebook и научных кругов стремятся очень быстро довести его до уровня производства. Он довольно напрямую по образцу Pregel и был первоначально разработан в Yahoo! Исследование. Мы ищем новых участников и имеем несколько вводных выпусков JIRA , чтобы помочь людям начать работу с проектом. Мы будем рады, если вы примете участие.

1 голос
/ 04 декабря 2010

Я создаю фреймворк под названием Phoebus . Это реализация Pregel, написанная на Erlang. Оформите мою запись в блоге для применения модели Прегеля к поиску путей ..

0 голосов
/ 05 октября 2013

Стэнфордские студенты разработали реализацию Pregel с открытым исходным кодом. http://infolab.stanford.edu/gps/

...