Что было бы хорошим приложением для расширенной версии MapReduce, которая делится информацией между Mappers? - PullRequest
5 голосов
/ 13 января 2012

Я создаю усовершенствование платформы Spark (http://www.spark -project.org /).Spark - это проект из Калифорнийского университета в Беркли, который быстро выполняет MapReduce в оперативной памяти.Spark встроен в Scala.

Улучшение, которое я создаю, позволяет обмениваться некоторыми данными между мапперами во время их вычислений.Это может быть полезно, например, если каждый из картографов ищет оптимальное решение и все они хотят поделиться текущим лучшим решением (чтобы заранее исключить плохие решения).Решение может быть немного устаревшим по мере его распространения, но это все равно должно ускорить решение.В общем, это называется подходом ветвления и ограничения.

Мы можем делиться монотонно растущими числами, но также мы можем делиться массивами и словарями.

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

Какие еще существуют хорошие приложения такого рода для улучшения в реальном мире?Какие реальные полезные приложения могут выиграть от вычислений Map Reduce с небольшим обменом информацией между картографами.Какие приложения сейчас используют MapReduce или Hadoop, но работают слишком медленно из-за ограничения независимости фазы карты?

Преимущество может состоять в том, чтобы либо ускорить фазу карты, либо улучшить решение.

1 Ответ

4 голосов
/ 13 января 2012

Усовершенствование, которое я создаю, позволяет разделять некоторые данные между картографами во время их вычислений.

Apache Giraph основан на Google Pregel , который основан на BSP и используется для обработки графиков. В BSP существует обмен данными между процессами в фазе связи.

Giraph зависит от Hadoop для реализации. В общем случае в MapReduce нет связи между мапперами, но в Giraph мапперы связываются друг с другом на этапе коммуникации BSP.

Возможно, вас также заинтересует Apache Hama , который реализует BSP и может использоваться не только для обработки графиков.

Может быть какая-то причина, почему картографы не общаются в MR. Рассматривали ли вы эти факторы в своем улучшении?

Каковы другие хорошие практические приложения такого рода улучшения?

Обработка графиков - это одна вещь, о которой я могу думать, похожая на Giraph. Ознакомьтесь с различными вариантами использования BSP, некоторые из них могут быть применимы для такого рода улучшений. Мне также очень интересно, что другие могут сказать по этому поводу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...