Ответ 1
Там могут быть хорошие технические критерии для этого решения, но я не видел ничего опубликованного на нем. Кажется, что существует культурный разрыв, когда он понимает, что MapReduce используется для просеивания данных в корпоративных средах, в то время как научная рабочая нагрузка использует MPI. Это может быть связано с низкой чувствительностью этих рабочих нагрузок к производительности сети. Вот несколько мыслей о том, как узнать:
Многие современные реализации MPI могут работать в нескольких сетях, но сильно оптимизированы для Infiniband. Канонический прецедент для MapReduce, похоже, находится в кластере "белых ящиков" товарных систем, подключенных через ethernet. Быстрый поиск по "MapReduce Infiniband" приводит к http://dl.acm.org/citation.cfm?id=2511027, который предполагает, что использование Infiniband в среде MapReduce является относительно новой вещью.
Итак, почему вы хотите запускать систему, оптимизированную для Infiniband? Это значительно дороже, чем Ethernet, но имеет более высокую пропускную способность, более низкую задержку и масштабирование в случаях высокой конкуренции в сети (ref: http://www.hpcadvisorycouncil.com/pdf/IB_and_10GigE_in_HPC.pdf).
Если у вас есть приложение, которое будет чувствительно к тем эффектам оптимизации для Infiniband, которые уже испекли во многих библиотеках MPI, возможно, это было бы полезно для вас. Если ваше приложение относительно нечувствительно к производительности сети и тратит больше времени на вычисления, которые не требуют связи между процессами, возможно, MapReduce - лучший выбор.
Если у вас есть возможность запускать тесты, вы можете сделать прогноз в зависимости от того, какая система у вас есть, чтобы увидеть, насколько поможет улучшенная производительность сети. Попробуйте дросселировать вашу сеть: downclock GigE до 100 мбит или QDDR от Infiniband до DDR, например, проведите линию по результатам и посмотрите, сможет ли покупка более быстрого межсоединения, оптимизированного MPI, получить вас туда, куда вы хотите пойти.