Горячее подключение дополнительного узла в кластере OpenMPI - PullRequest
1 голос
/ 27 мая 2011

Возможно ли горячее подключение дополнительного узла (хоста) к работающему приложению OpenMPI?Мы говорим о производственной среде, где мы не можем позволить себе даже 5 секунд простоя.Меня интересуют два сценария:

  1. Мы просто хотели бы повысить вычислительную мощность, добавив еще одного широковещательного прослушивателя.
  2. Узел умер, главный узел обрабатывает егону и переназначает задачу кому-то еще.Входит системный администратор, перезапускает мертвый узел и подключает его обратно в кластер.

Какая реализация MPI, не зависящая от платформы, подойдет для сценария выше?OpenMPI здесь не обязателен.

1 Ответ

2 голосов
/ 27 мая 2011

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

Трюки здесь - ничто автоматически не обнаружит новый узел. Вы должны иметь какой-то процесс, следящий за ними, SPAWN что-то на них. Если новые узлы будут просто слушателями главного узла, это, вероятно, лучший случай, так как только главный узел действительно должен знать об этом. Вызов, чтобы гарантировать, что порождение происходит на новом узле, а не где-то еще, будет выполнено через аргумент info для порождения, и может зависеть от реализации.

...