2014-10-17 2 views
0

Я новичок в кластерной технологии, и я тестирую кластерное решение MPICH2 для своей компании.MPI на одном процессе

Мы переменный ток программа, которая на самом деле действовать таким образом:

  • Существует один главный процесс, который подключение к объявлению базы данных подготовить данные
  • Главного процесса создания несколько дочерних процессов с различным аргументом командной строки (подчиненные процессы создаются с помощью команды fork())

Возможно ли запустить этот процесс на кластере MPICH2 без изменений? В противном случае, какие изменения необходимы для запуска этой программы в кластере?

Спасибо всем

ответ

0

Не запутаться между параллельными процессами на одной машине и распределенных процессов (через MPI), потому что они не то же самое. Был еще один вопрос, заданный сегодня, который имел ту же проблему, поэтому я отнесю вас к этому ответу: https://stackoverflow.com/a/26428033/491687.

Вызов fork() будет создавать больше процессов на той же машине, что и основной процесс. Если вы собираетесь использовать только общую память и несколько процессов, это нормально. Однако, если вам нужно обрабатывать большое количество данных с помощью большого количества процессов (количество процессов> количество ядер, примерно), тогда MPI может быть полезен, поскольку он позволяет вам подключать несколько компьютеров вместе и передавать данные между ними.

Итак, короткий ответ: Нет, вы не можете использовать MPI без изменений. Существует огромное количество изменений, необходимых для преобразования программы fork/join в программу MPI. Это по дизайну. Они не пытаются решить ту же проблему.

+0

Спасибо, ваш отзыв очень полезен – bdn02

Смежные вопросы