Открытый MPI / MPICH - Что произойдет, если узел завершается? - PullRequest
5 голосов
/ 16 ноября 2010

Я хотел бы знать, что произойдет, если узел кластера OpenMPI / MPICH2 завершит работу?Есть ли какой-то механизм, который терпим к этому делу и продолжает выполнение?

Спасибо за ваши ответы Генрих

Ответы [ 2 ]

3 голосов
/ 16 ноября 2010

Обратите внимание, что функция, существующая с MPI 1.x дней, заключается в том, что вы можете установить обработчик ошибок: например,

http://www.mpi -forum.org / docs / mpi-11-html / node148.html

Как отмечает Марк, большинство из нас просто используют MPI_ERRORS_ARE_FATAL (это значение по умолчанию), потому что наши алгоритмы очень тяжелые и не могут быть легко восстановлены (кроме как с помощью контрольных точек,что большинство из нас делает в любом случае).

Но это не обязательно так;Вы можете заставить функции MPI возвращать сообщения об ошибках и пытаться восстановить их как можно лучше.

Существует несколько отказоустойчивых пакетов MPI - http://icl.cs.utk.edu/ftmpi/ (что является старыми только реализует функциональность MPI 1.2).Совсем недавно http://osl.iu.edu/research/ft/cifts/ - это один из подходов, который был добавлен в OpenMPI в качестве отдельного проекта, и есть также пакет контрольной точки / перезапуска на уровне ОС, BLCR, который может представлять интерес.

На форуме MPI-3 обсуждается стандартный отказоустойчивый API в MPI, поэтому скорость таких проектов ускоряется.

1 голос
/ 16 ноября 2010

Не совсем, MPI не обеспечивает встроенную отказоустойчивость.Вы могли бы написать свои программы, чтобы справиться со сбоем процесса, но большинство из нас этого не делает, мы живем со сбоями наших программ, когда умирает оборудование.Эта ситуация меняется с появлением суперкомпьютеров с сотнями тысяч процессоров, а время наработки на отказ порядка секунды.

...