next up previous contents
Next: Запуск задач mpich под Up: Быстрый запуск через многоцелевого Previous: Примеры   Contents

Как работают демоны

Как только демоны запускаются, они соединяются в кольцо: "консольный" процесс (mpirun, mpdtrace, mpdallexit, и т.д.) может соединиться с любым mpd через именованный сокет Unix, установленный в /tmp локальным mpd. Если это процесс mpirun, он требует, чтобы было запущено определенное число процессов, начиная с машины, заданной -MPDLOC-, как было указано выше. По умолчанию место размещения - следующий mpd в кольце после того, который был запрошен с консоли. После этого происходят следующие события. С этого момента ситуация выглядит подобно показанной на рис. 1. Когда клиенту необходимо соединиться с другим клиентом, они используют менеджеры, чтобы найти подходящий процесс на машине-приемнике. Процесс mpirun может быть приостановлен - в этом случае останавливаются и его клиенты, однако mpd и менеджеры продолжают выполняться, чтобы они смогли разбудить клиентов после пробуждения mpirun. Уничтожение процесса mpirun уничтожает и клиентов, и менеджеров.

Одно и то же кольцо mpd может использоваться для запуска множества задач с множества консолей в одно и то же время. При обычных условиях необходимо, чтобы для каждого пользователя существовало отдельное кольцо mpd. Для целей безопасности каждый пользователь должен иметь в своем домашнем каталоге доступный для чтения только ему файл `.mpdpasswd', содержащий пароль. Файл будет считываться при запуске mpd. Только mpd, знающие этот пароль, могут войти в кольцо существующих mpd.

Новой является возможность конфигурировать систему mpd, чтобы демоны могли загружаться как root. Чтобы сделать это после конфигурирования mpich Вам нужно повторно переконфигурировать ее в каталоге mpid/mpd с опцией $-$$-$enable-root и пересобрать. Тогда mpirun будет инсталлирован как программа setuid. Несколько пользователей могут использовать одно и то же множество mpd, которые были запущены root, несмотря на то, что их mpirun, менеджеры и клиенты будут запущены от имени пользователя, вызвавшего mpirun.

Figure: Система mpd с консолью, менеджерами и клиентами
\includegraphics[width=12cm]{usfig2.good.eps}


Alex Otwagin 2002-12-16