MapReduce против других решений параллельной обработки

StackOverflow https://stackoverflow.com/questions/7340435

  •  27-10-2019
  •  | 
  •  

Вопрос

Итак, вопросы: 1. Является ли накладные расходы MapReduce слишком высоки для следующей проблемы? Есть ли у кого -нибудь представление о том, как долго каждая карта/сокращение цикла (например, в диско) требуется для очень легкой работы? 2. Есть ли лучшая альтернатива MapReduce для этой проблемы?

С точки зрения карты моя программа состоит из 60 этапов карт, а 60 сокращают фазы, которые все вместе должны быть завершены через 1 секунду. Одной из проблем, которые мне нужно решить таким образом, является минимальный поиск с примерно 64000 переменными. Матрица гессиан для поиска представляет собой матрицу блока, 1000 блоков размера 64x64 вдоль диагонали и один ряд блоков в крайнем правом и дне. Последний раздел: Алгоритм инверсии блоков показывает, как это сделано. Каждый из Schur дополняет S_A и S_D может быть рассчитана на одном шаге MapReduce. Вычисление обратного занимает еще один шаг.

Из моих исследований MPI4PY кажется хорошей ставкой. Каждый процесс может сделать шаг вычислителя и отчитываться перед клиентом после каждого шага, и клиент может сообщить о новых переменных состояния для продолжения цикла. Таким образом, состояние процесса не теряется, вычисляет, можно продолжить с любыми обновлениями.http://mpi4py.scipy.org/docs/usrman/index.html

В этом вики есть некоторые предложения, но у кого -то есть направление на наиболее развитое решение:http://wiki.python.org/moin/parallelprocessing

Спасибо !

Это было полезно?

Решение

MPI - это протокол связи, который позволяет реализовать параллельную обработку путем передачи сообщений между узлами кластера. Модель параллельной обработки, которая реализована с помощью MPI, зависит от программиста.

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

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

Если вы можете рассказать нам больше о среде, в которой вы выполняете свою работу, и где ваша программа вписывается в Таксономия Флинна, Я мог бы дать несколько более полезных предложений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top