Запуск программ, использующих MPI

Запуск исполнения MPI-программы производится с помощью команды:

mpirun [параметры_mpirun...] <имя_программы>[парамет-ры_программы...] [-host ]

Параметры команды mpirun слелующие:

-h

интерактивная подсказка по параметрам команды mpirun.

-maxtime <максимальное_время>

Максимальное время счета. От этого времени зависит положение задачи в очереди. После истечения этого времени задача принудительно заканчивается.

-np <число_процессоров>

Число процессоров, необходимое в программе.

-quantum <значение_кванта_времени>

Этот параметр указывает, что задача является фоновой, и задает размер кванта для фоновой задачи.

-restart

Указание этого ключа приведет к тому, что после своего завершения задача будет вновь поставлена в очередь. Для удаления из очереди такой задачи пользуйтесь стандартной командой mqdel, а для ее завершения - командами mkill или mterm.

-stdiodir <имя_директории>

Этот параметр задает имя каталога стандартного ввода/вывода, в который будут записываться протокол запуска задачи, файл стандартного вывода и имена модулей, на которых задача запускалась.

-stdin <имя_файла>

Этот параметр задает имя файла, на который будет перенаправлен стандартный ввод задачи.

-stdout <имя_файла>

Этот параметр задает имя файла, на который будет перенаправлен стандартный вывод задачи.

-stderr <имя_файла>

Этот параметр задает имя файла, на который будет перенаправлен стандартный вывод сообщений об ошибках задачи.

-interactive

Задание этого ключа делает задачу интерактивной, а также отменяет действия ключей stdin, stdout, stderr.

-ldmname <имя_ресурса_ЛДП>

Этот параметр указывает на то, что задача будет использовать ресурс локальной дисковой памяти вычислительных модулей (ЛДП) с указанным именем. Если на момент запуска задачи ресурс ЛДП с указанным именем не существует, он будет временно создан, о чем пользователь извещается специальным сообщением, например:

Warning! LDM resource ldm does not exists, it will be created temporary

Для временного ресурса пользователь обязан задать размер требуемой дисковой памяти на каждом модуле (параметр ldmspace).

Для любых типов ресурсов (как разовых, создаваемых на время счета задачи, так и постоянных, т.е. уже выделенных на момент запуска задачи) требуется указание каталога монтирования (параметр mountdir).

Если в очереди или в счете у пользователя уже есть задача, использующая (или требующая) временный ресурс с таким же именем, то система выдаст сообщение об ошибке, и данная задача не будет поставлена в очередь.

Система планирует ЛДП как отдельный вычислительный ресурс. Основными характеристиками ресурса ЛДП являются:

  1. Уникальное имя ресурса ЛДП
  2. Пользователь - владелец ресурса ЛДП
  3. Количество вычислительных модулей в ресурсе ЛДП
  4. Размер ЛДП на одном вычислительном модуле

-ldmspace <размер_ресурса_ЛДП_на_одном_модуле>

Этот параметр оказывает влияние, только если указано имя ресурса ЛДП (параметр ldmname) и ресурс ЛДП с заданным именем не существует (т.е. для задачи требуется разовый или временный ресурс ЛДП). Параметр ldmspace задает размер локальной дисковой памяти на одном модуле, требуемой под временный ресурс ЛДП. Локальная дисковая память заданного размера будет выделена на каждом модуле. Размер ресурса ЛДП задается в килобайтах.

-mountdir <имя_каталога_монтирования>

Этот параметр оказывает влияние, только если указано имя ресурса ЛДП (параметр ldmname). Параметр mountdir задает имя каталога монтирования для ресурса ЛДП. Монтирование ресурса ЛДП к указанному Пользователем каталогу будет производиться перед стартом задачи на каждом вычислительном модуле. ВНИМАНИЕ! Монтирования ресурса ЛДП на сервер доступа или управляющую ЭВМ при старте задачи не производится!

-termtime <дополнительное_время>

Этот параметр задает дополнительное время для завершения задачи. Время задается в минутах.

-termsignal <сигнал_для_завершения>

Этот параметр оказывает влияние, только если задано дополнительное время для завершения задачи (параметр termtime). Параметр termsignal задает сигнал, который будет разослан всем процессам задачи в качестве предупреждения о предстоящем завершении. Формат задания сигнала должен соответствовать команде kill (pkill). Пользователь должен самостоятельно определить обработчик сигнала в своей программе. Подробнее о сигналах см. описание системных вызовов kill() и signal().

-transform <имя_командного_файла>

При запуске задачи происходит преобразование списка выделенных задаче вычислительных модулей в формат среды программирования MPICH. По умолчанию системой используется командный файл /common/runmvs/bin/p4togm.sh. Параметр имя_командного_файла задает командный файл, который выполнит указанное преобразование вместо стандартного файла p4togm.sh. Необходимо учесть, что при вызове данный командный файл получит два параметра: файл со списком узлов выделенных задаче и полное имя файла запускаемой программы. Подробнее форматы этих файлов и описание ключа transform можно найти в разделе "Интерфейс между средой для разработки параллельных программ и системой управления прохождением задач" Руководства администратора.

-width

Использовать альтернативный способ нумерации процессоров. По умолчанию процессы задачи распределяются по процессорам выделенных модулей в следующем порядке: 1-й процесс - на 1-й процессор 1-го модуля, 2?й процесс - на 1-й процессор 2-го модуля, 3-й процесс - на 1-й процессор 3-го модуля и т.д. После занятия всех 1-х процессоров всех выделенных модулей занимаются 2-е процессоры в том же порядке.

При указании ключа width используется другой способ нумерации: 1-й процесс - на 1-й процессор 1-го модуля, 2?й процесс - на 2-й процессор 1-го модуля, 3-й процесс - на 1-й процессор 2?го модуля и т.д.

Удачно запущенная задача получает определенный номер, который добавляется к имени задачи. Это позволяет пользователю запускать одновременно несколько экземпляров задачи с одним и тем же именем - система присвоит каждому экземпляру задачи уникальный номер. Для каждого экземпляра будет создан отдельный каталог стандартного ввода/вывода. По завершении задачи ее номер "освобождается" и будет использован повторно. При удачном старте система выдаст пользователю следующую информацию:

- имена свободных узлов в системе на момент запуска задачи;

- имена выделенных под задачу узлов;

- сведения о принятых системой установках по умолчанию.

Удачный старт задачи завершается выдачей сообщения, причем в сообщении указывается присвоенный задаче номер, например:

Task "test.1" started successfully

Может случиться так, что задача не будет запущена сразу, а поставлена в очередь. В этом случае реакция системы будет следующей:

Task "test.1" was queued

В процессе работы команды mpirun образуется файл паспорта задачи <имя_программы>.img. Данный файл может быть использован в команде mrunf.