Каким было бы хорошее приложение для расширенной версии MapReduce, которая обменивается информацией между картографами?

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

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

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

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

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

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

5
задан Joseph Perla 12 January 2012 в 23:59
поделиться