Динамические узлы в OpenMPI

Можно ли в MPI добавлять новые узлы после его запуска? Например, у меня есть 2 компьютера, на которых уже запущено параллельное приложение MPI. Я запускаю другой экземпляр этого приложения на третьем компьютере и добавляю его в существующий коммуникатор. Все компьютеры находятся в локальной сети.


person stokastik    schedule 02.08.2011    source источник


Ответы (2)


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

Ведется работа (например, на MPI-3) по обработке узлов которые идут вниз. Возможно, если вы сможете добавить неисправные узлы обратно, то сможете добавить и новые, но это самое близкое, что я могу придумать. См. этот ответ для получения дополнительной информации о подходах к отказоустойчивости MPI.

person Steve Blackwell    schedule 12.08.2011

Программа MPI2 может создавать новые ранги. Функция MPI_Comm_spawn и пускает детей на новый MPI коммуникатор. Другими словами, новые ранги имеют MPI_COMM_WORLD, отличный от предыдущих рангов. Тем не менее, должна быть возможность создать новый коммуникатор, содержащий все текущие ранги.

person qsc    schedule 22.09.2011
comment
Я думаю, что это верно для уже подключенных узлов, но не для внешних, новых для мира коммуникаций узлов. - person ivotron; 18.07.2013