если узел в хост-файле выходит из строя, как работать с остальными узлами с помощью MPI
если узел в хост-файле выходит из строя, как работать с остальными узлами кластера в программе MPI
Ответы (2)
Стандарт MPI 3 включал проект предложения по «отказоустойчивости». Предложение не было принято, но рабочая группа продолжает работу. Ожидается, что это предложение будет принято в какой-то будущей версии стандарта.
Мне неизвестны какие-либо реализации MPI с открытым исходным кодом, которые предлагают поддержку проекта предложения. Я знаю один коммерческий MPI, который полностью реализует черновой вариант предложения по отказоустойчивости (в качестве отказа от ответственности... что MPI является тем, над которым я работаю).
Даже с предварительным предложением сбой «на уровне узла» останется ОЧЕНЬ трудным для восстановления. Текущий подход «поваренной книги» для сбоев на уровне узла заключается в использовании контрольной точки/перезапуска с планировщиком заданий для автоматического перезапуска задания. Если узел выйдет из строя, задание будет автоматически перепланировано для запуска на другом наборе узлов, чем последняя успешная контрольная точка.
Такой подход требует надежной инфраструктуры контрольных точек/перезапуска, отказоустойчивой общей файловой системы и активного участия приложения и реализации MPI в процессе контрольных точек/перезапуска. Кроме того, не каждый MPI и приложение можно будет перезапустить на другом наборе узлов... поэтому этот подход может потребовать восстановления отказавшего узла перед перезапуском задания.
Как уже говорилось в предыдущих постах, не существует «стандартного» способа справиться с этим, но проект, подготовленный рабочей группой по отказоустойчивости на форуме MPI, становится довольно зрелым. Если вы хотите попробовать это, в настоящее время доступна эталонная реализация, основанная на ветке Open MPI. Скоро будут и другие реализации, которые будут включать черновик, но на данный момент ваш единственный вариант с открытым исходным кодом доступен по адресу http://www.fault-tolerance.org. Там вы можете загрузить реализацию вместе с версией проекта стандарта и несколькими примерами для начала работы. Там же есть список рассылки, если у вас есть вопросы.