Я создаю усовершенствование платформы Spark (http://www.spark -project.org /).Spark - это проект из Калифорнийского университета в Беркли, который быстро выполняет MapReduce в оперативной памяти.Spark встроен в Scala.
Улучшение, которое я создаю, позволяет обмениваться некоторыми данными между мапперами во время их вычислений.Это может быть полезно, например, если каждый из картографов ищет оптимальное решение и все они хотят поделиться текущим лучшим решением (чтобы заранее исключить плохие решения).Решение может быть немного устаревшим по мере его распространения, но это все равно должно ускорить решение.В общем, это называется подходом ветвления и ограничения.
Мы можем делиться монотонно растущими числами, но также мы можем делиться массивами и словарями.
Мы также изучаем машинное обучениеприложения, в которых картографы описывают локальную информацию о естественном градиенте, а затем новое наилучшее текущее оптимальное решение используется всеми узлами.
Какие еще существуют хорошие приложения такого рода для улучшения в реальном мире?Какие реальные полезные приложения могут выиграть от вычислений Map Reduce с небольшим обменом информацией между картографами.Какие приложения сейчас используют MapReduce или Hadoop, но работают слишком медленно из-за ограничения независимости фазы карты?
Преимущество может состоять в том, чтобы либо ускорить фазу карты, либо улучшить решение.