Главная
Вычислительные ресурсы
C чего начать
Вопросы - ответы
Документация
Исследования
Контакты

Команды СУППЗ МВС-1000/rsc4.

Авторы:     А.В. Баранов
А.О. Лацис
С.В. Сажин
М.Ю. Храмцов


Содержание

1.Запуск программ, использующих MPI.    mpirun
1.1.Запуск программ через паспорт задачи. mrunf
2.Получение информации о запущенных задачах. mps mlt
3.Завершение запущенной задачи. mkill mterm mcancel
4.Просмотр стандартного вывода задачи. mout
5.Получение информации о свободных процессорах. mfree
6.Команды работы с очередями.
6.1.Постановка в очередь mrunf mpirun mps
6.2.Удаление задачи из очереди mqdel mcancel
6.3. Просмотр очереди mqinfo
7.Определение статуса задачи. mqtest
8.Ожидание завершения задачи. mwait
9.Работа с интерактивными задачами. mattach
10.Поиск задачи в системе по данным паспорта. mfind
11.Коды возврата команд системы запуска. -rcode
12.Команда получения вычислительных модулей. getnodes mkill

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

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

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

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

-h, --help
интерактивная подсказка по параметрам команды mpirun.
-maxtime <максимальное_время>
Максимальное время счета. От этого времени зависит положение задачи в очереди. После истечения этого времени задача принудительно заканчивается.
-np <число_процессоров>
Число процессоров, требуемое программе.
-quantum <значение_кванта_времени>
Этот параметр указывает, что задача является фоновой, и задает размер кванта для фоновой задачи.
-machinefile <machinefile_pattern>
Использовать machinefile_pattern в качестве machinefile.
-restart
Указание этого ключа приведет к тому, что после своего завершения задача будет вновь поставлена в очередь. Для удаления из очереди такой задачи пользуйтесь стандартной командой mqdel, а для ее завершения - командами mkill или mterm.
-wait
Указание этого ключа приведет к тому, что в случае успешного старта задачи (либо постановки в очередь) команда mpirun "подвиснет" и будет ждать завершения задачи. Для обычной задачи под завершением понимается обычное завершение или снятие со счета. Для фоновой задачи - завершение последнего кванта либо полное снятие со счета по команде mterm. Кроме этого, дождаться завершения задачи можно, используя команду mwait (подробнее).
-stdiodir <имя_директории>
Этот параметр задает имя каталога стандартного ввода/вывода, в который будут записываться протокол запуска задачи, файл стандартного вывода и имена модулей, на которых запускалась задача.
-stdin <имя_файла>
Этот параметр задает имя файла, на который будет перенаправлен стандартный ввод задачи.
-stdout <имя_файла>
Этот параметр задает имя файла, на который будет перенаправлен стандартный вывод задачи.
-stderr <имя_файла>
Этот параметр задает имя файла, на который будет перенаправлен стандартный вывод сообщений об ошибках задачи.
-interactive
Задание этого ключа делает задачу интерактивной (подробнее), а также отменяет действия ключей stdin, stdout, stderr.
-termtime <дополнительное_время>
Дополнительное к maxtime время в минутах для сохранения данных на диск при завершении задачи
-termsignal <сигнал_для_завершения>
Этот параметр имеет действие только, если задано дополнительное время для завершения задачи (параметр termtime). Параметр termsignal задает сигнал, который будет разослан всем процессам задачи в качестве предупреждения о предстоящем завершении. Формат задания сигнала должен соответствовать команде kill (pkill). Пользователь должен самостоятельно определить обработчик сигнала в своей программе. О дополнительном времени (подробнее). Подробнее о сигналах см. описание системных вызовов kill() и signal().
Параметр вида xxx=yyy
Присвоить переменной окружения xxx значение yyy. Задача может прочитать значение этой переменной при помощи функции getenv(), например
char *xxx=getenv("xxx");
Переопределение этой переменной вне задачи (например изменением профайла пользователя) никак не влияет на значение переменной xxx для задачи.

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

При удачном старте система выдаст пользователю следующую информацию:
— имена свободных узлов в системе на момент запуска задачи;
— имена выделенных под задачу узлов;
— сведения о принятых системой установках по умолчанию.

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

Task "test.1" started successfully

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

Task "test.1" was queued

1.1. Запуск программ через паспорт задачи.

Сформировав паспорт задачи и сохранив его в файле, Вы можете запустить задачу с указанным в паспорте именем с помощью команды:

mrunf [-fo] <имя_файла-паспорта>

При запуске система проверяет корректность данных паспорта. При обнаружении ошибок выдается сообщение пользователю, а запуск останавливается.

Если пользователь задал в паспорте значение any для числа процессоров или номера консольного вывода, то система попросит пользователя явно указать значения этих параметров перед запуском задачи.

Задание ключа -fo (formal output) позволяет получить "формальную" выдачу. При успешном запуске (постановке в очередь) задачи, если задан ключ -fo, на стандартный вывод печатается полное имя задачи, включая полученный номер и имя логической системы.

2. Получение информации о запущенных задачах.

Информация о запущенных пользователем задачах можно получить с помощью команды:

mps [имя_задачи.номер_задачи]

При отсутствии параметра на экран будет выдан список всех запущенных пользователем и работающих или находящихся в очереди на момент выдачи команды задач. Если задача находится в очереди, это будет отмечено словом queued рядом с именем задачи.

Параметром для команды служит имя задачи и - через точку - ее номер. При задании параметра система выдаст информацию о задаче - время старта (и завершения, если задача уже завершилась), имена узлов, на которых выполняется задача, номер процесса-менеджера задачи.

Команда

pult t
выводит на стандартный вывод информацию о задачах, запущенных пользователем.

Команда

pult q
выводит на стандартный вывод информацию о задачах, запущенных всеми пользователями.

3. Завершение запущенной задачи.

Завершить запущенную задачу можно командой:

mkill [имя_задачи.номер_задачи]

Параметром для команды служит имя задачи и - через точку - ее номер. Данная команда допускает задание в качестве параметра маски Unix-формата с использованием символов-джокеров. По этой команде будут завершены все задачи, имена которых удовлетворят заданной маске. Завершить все свои задачи можно командой:

mkill '*'

При отсутствии параметра пользователю будет выдан список всех запущенных задач и предложено ввести номер (по списку) той задачи, которую нужно завершить. Перед завершением задачи в этом случае будет задан вопрос о полном завершении задачи. Полное завершение фоновой задачи означает ее завершение без возможности повторов. В противном случае завершится только текущая итерация, и, если заказанное время не исчерпалось, задача будет запущена вновь. Это же замечание относится к команде mkill с заданным параметром - команда производит завершение лишь текущей итерации.

Безусловное полное завершение задачи происходит по команде

mterm [имя_задачи.номер_задачи]

Значение параметра данной команды аналогично mkill, только mterm вызывает полное завершение всех задач, имена которых удовлетворят заданной маске. Вызов mterm без параметров аналогичен вызову mkill без параметров.

Следует отметить, что команды mkill и mterm лишь сообщают системе запуска о необходимости завершить задачу, но реально не дожидаются ее завершения. После выполнения данных команд задача может находиться в системе еще довольно продолжительное время, которое нужно системе для корректного освобождения вычислительных ресурсов.

Для ожидания завершения задачи нужно использовать команду

mcancel <имя_задачи.номер_задачи>

Заметим, что данная команда безусловно удаляет задачу из системы запуска, вне зависимости от того, находится она на выполнении или в очереди. Команда mcancel не закончит своего выполнения до тех пор, пока задача не покинет систему.

4. Просмотр стандартного вывода задачи.

Стандартный вывод (печать на экран) задачи можно просмотреть с помощью команды:

mout [имя_задачи.номер_задачи [что_выдавать]]

При отсутствии параметров будет предложен выбор из списка запущенных задач. При отсутствии параметра что_выдавать будет предложен вопрос. В качестве ответа можно задать либо out, что означает выдачу стандартного вывода, либо err, что означает просмотр стандартного вывода сообщений об ошибках, либо log. В случае задания log на экран будет выведен стандартный вывод специального системного процесса-менеджера задачи.

Если Вы задали параметры команде mout, то она выдаст вам запрошенную информацию, даже если задача уже завершилась на момент вызова команды.

Прервать выдачу команды mout можно нажатием клавиш Ctrl-C. Снятие вывода НЕ означает снятие задачи - задача продолжит счет.

При запуске задачи система создаст в указанном в паспорте каталоге стандартного ввода/вывода подкаталог, имя которого будет совпадать с именем запущенной задачи (включая номер через точку). В этом подкаталоге и будут непосредственно размещены файлы стандартного ввода/вывода задачи. Файл стандартного вывода имеет имя output, стандартного вывода сообщений об ошибках - errors, стандартного ввода - input. Файл стандартного вывода процесса-менеджера имеет имя manager.log. Система сама не уничтожает эти файлы и подкаталог, зато перезаписывает их, если задача будет запущена повторно с этим же номером. После завершения задачи данные файлы полностью доступны пользователю.

5. Получение информации о свободных процессорах.

Сколько на данный момент времени в системе имеется свободных процессоров можно узнать с помощью команды:

mfree

6. Команды работы с очередями.

6.1. Постановка в очередь

Постановка в очередь задачи осуществляется командами запуска задачи mrunf или mpirun.

По команде

mps
можно посмотреть все запущенные задачи, при этом стоящие в очереди задачи будут помечены атрибутом queued.

6.2. Удаление задачи из очереди

По команде mqdel задача удаляется из очереди:

mqdel <имя_задачи.номер_задачи>

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

mcancel <имя_задачи.номер_задачи>

Заметим, что данная команда безусловно удаляет задачу из системы запуска, вне зависимости от того, находится она на выполнении или в очереди. Команда mcancel не закончит своего выполнения до тех пор, пока задача не покинет систему.

6.3. Просмотр очереди

Осуществляется по команде

mqinfo

Данная команда не имеет параметров, примерная информация, выдаваемая ею, выглядит следующим образом:

Current time:  Mon Mar 22 13:10:07 2003
Queue state at Mon Mar 22 13:06:09 2003
    Current schedule: 2      
    Accumulation period: 168 hours
--- 22.03.00 07:30: R=1 total - 32 debug - 16/15, packet - 300, priority scale - (120 300)      
        img1.3 : guest     6.3  0*  15(tsk1)  150/15+1      16    >:03.22.02 18:03
-- queue --
        img1.4 : guest      6.5 0*  15(tsk1)  150/15+1      b~16    <:03.22.02 14:33
        tnet.7 : ivanov        1*   10  15/15      ~10   <:Mon Mar 22 13:31:09 2000
--- 22.03.00 19:00: R=5 total - 32 debug - 0/15, packet - 600, priority scale - (10000)       
        tnet.3 : ivanov        1*   24  500/500  ~312   <:Mon Mar 22 20:31:09 2000
--- 23.03.00 07:30: R=1 total - 32 debug - 16/15, packet - 300, priority scale - (120 300)
        tnet.1 : ivanov        1*   1  15/15      A~~~   <:Mon Mar 20 20:31:09 2000
Free: 6 proc   Available: 17  Locked: 9
        ivanov: Inf:3 R=1 run=0 wait=0/5 all=0/7   *1.00 Sr/Sf=10/26
	petrov: Inf:3 R=1 run=1 wait=0/5 all=1/7   *1.00 Sr/Sf=300/0

В заголовке выдачи сообщается, когда было в последний раз перезаписано состояние очереди, а также (Current schedule) - номер текущего расписания. Если администратор отключил часть процессоров от системы управления очередью, то в той же строке будет показано их количество. Кроме того, выдается учетный период (Accumulation period), за который производится суммирование времени счета завершившихся задач одного пользователя.

Если очередь блокирована (заморожена), то это отображается словом Hold при выдаче:

Queue state at Wed Mar 22 12:40:07 2000
   Current schedule: 2      Hold
Accumulation period: 168 hours
--- 22.03.00 07:30: R=3 total - 32 debug - 16/15, packet - 300, priority scale - (120 300)      
--- 22.03.00 19:00: R=2 total - 32 debug - 0/15,  packet - 600, priority scale - (10000)
--- 23.03.00 07:30: R=2 total - 32 debug - 16/15, packet - 300, priority scale - (120 300)
    tnet.7 : ivanov       1*   10  15/15     H~~~   <:Mon Mar 22 13:31:09 2000
    tnet.3 : ivanov       1*   24  500/500 H~~~   <:Mon Mar 22 20:31:09 2000
    tnet.1 : ivanov       1*   1  15/15        H~~~   <:Mon Mar 20 20:31:09 2000

Если блокирована система управления ресурсами ЛДП, то появляется индикатор NoLDM в той же строке, что и Hold. При этом старт задач, использующих ресурсы ЛДП, откладывается до принятия соответствующих мер администратором системы.

Информация о режимах начинается с '---' и содержит:

  • дата и время включения режима;
  • после R= - шкалу классов режимов, которым принадлежит данный ("1" означает нулевой класс, "fc" - классы со 2-го по 7-й включительно);
  • после total - общее число планируемых процессоров;
  • после debug - количество процессоров, отведенное под отладочные задачи/максимальное время (в минутах) для отладочных задач;
  • после packet - максимальное время (в минутах) для пакетных задач;
  • после priority scale - шкала приоритетов.

Следующий пример демонстрирует режим, который включается 22 марта 2000 г. в 7 часов 30 минут и имеет следующие параметры: всего планируется 32 процессора, максимальное время для отладочных задач - 15 минут, для пакетных - 300 минут, при этом под отладочные задачи отведено 16 процессоров, эти 16 процессоров не могут занимать пакетные задачи, шкала приоритетов определяет два приоритета - высокий для пользователей, считавших менее 180 минут, и низкий - для всех остальных. Данный режим относится лишь к нулевому классу (R=1), т.е. только те пользователи, которым разрешено считать в режимах нулевого класса, могут запускать здесь свои задачи. У администратора есть возможность создать режим, в котором всем пользователям режимов других классов дано разрешение запускать отладочные задачи. В настоящее время этот флаг при выдаче информации о режимах не отражается.

---22.03.00 07:30: R=1 total-32 debug-16/15, packet-300, priority scale-(180)

Информация о считающихся задачах содержит:

  • имя задачи;
  • имя пользователя;
  • составной индикатор порядка выделения ресурсов: номер (0 - 6) очереди при выделении ресурсов и (через '.') номер в списке задач - чем меньше получившее десятичное число, тем раньше планировщик пытался выделить ресурс данной задаче;
  • количество оставшихся повторов счета;
  • количество процессоров, занимаемых задачей;
  • заключенное в скобки имя ресурса ЛДП, если он используется задачей;
  • остаток времени счета в минутах;
  • квант счета в минутах;
  • число минут, зарезервированных для завершения, если есть;
  • количество минут до предполагаемого завершения задачи;
  • предполагаемое время завершения (после >:).

Следующий пример демонстрирует считающуюся задачу img1.3 пользователя guest. Задача занимает 15 процессоров, используя ресурс локального дискового пространства с именем tsk1, считается последний раз (более повторов не будет), оставшееся время счета - 150 минут, задача фоновая с квантом 15 минут, будет перепланирована системой через 15 минут 2 августа 2003 года в 18 часов 3 минуты. Задаче будет предоставлена 1 минута для завершения очередного кванта, если следующий квант может быть выдан задаче лишь после некоторого перерыва.

img1.3 : guest     6.3 0*  15(tsk1)  150/15+1      16    >:03.08.02 18:03

Информация о стоящих в очереди задачах отличается от информации о считающихся задачах тем, что вместо количества минут до завершения выдается код (причины) ожидания и количество минут до предполагаемого старта (разделенные символом ~), а вместо времени завершения - время постановки в очередь (после <:). Например:

img1.4 : guest     6.5 0*  15(tsk1)  150/15+1     b~16   <:03.08.02 14:33

Следующая выдача говорит о том, что задача находится в процессе запуска:

img1.3 : guest     6.3  0*  15(tsk1)  150/15+1      starting

Следующая выдача говорит о том, что задача находится в процессе завершения:

img1.3 : guest     6.3  0*  15(tsk1)  150/15+1      finishing

Задача может быть заморожена оператором или системой. В этом случае вместо времени, оставшегося до старта будет проставлено ~~~, например:

img1.2 : ivanov    6.7  1*  16 300/300    A~~~   <:03.08.02 14:03

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

Коды причин ожидания вмешательства со стороны администратора или пользователя:

  • A - задача заблокирована администратором;
  • D - задача отложена до завершения режима отладки, инициированного каким-либо пользователем (не поддерживается системой запуска);
  • Н - очередь в целом заблокирована администратором;
  • L - задача с заказом ресурса ЛДП ждет разрешения работы с (данным ресурсом) ЛДП;
  • O - рассматриваемых планировщиком режимов не хватает, чтобы сделать вывод о возможности или невозможности запуска задачи в одном из них;
  • P - в текущем расписании для данного пользователя запрещено запускать задачи с таким числом процессоров;
  • R - резервная задача не может быть запущена ни в одном из рассматриваемых планировщиком режимов;
  • T - квант задачи превышает время пакетных задач всех рассматриваемых планировщиком режимов;

Коды причин ожидания изменения ситуации (очередного цикла планирования):

  • e - старт отложен из-за несущественной ошибки при запуске;
  • l - старт отложен из-за ошибки при запросе ресурса ЛДП.

Коды причин ожидания, приводящих к откладыванию старта на вполне определенный срок:

  • b - занятость процессоров считающимися задачами;
  • d - при старте задача не оставила бы в одном из режимов нужного для отладочных задач количества процессоров на слишком длительное время;
  • m - в одном из режимов пользователю запрещено запускать задачи;
  • p - при запуске задача отодвинула бы старт более приоритетной задачи;
  • t - квант задачи превышает время пакетных задач одного из режимов;
  • w - ждет наступления определенного времени (пока не реализовано).

Имеется информация о свободных процессорах в виде:

Free: 6 proc   Available: 17  Locked: 9

В этой же строчке выдается информация о количестве доступных для счета (Available) и заблокированных (Locked) процессоров.

Затем выдается суммарная информация по пользователю:

  • login-имя;
  • информация о запрете (Block:) счета (Q) или запуска (R) задач (если он установлен администратором);
  • степень подробности выдачи информации (Inf:);
  • шкала классов режимов (R=), в которых разрешено запускать задачи, в виде 16-го числа;
  • после run - количество считающихся задач;
  • после wait - количество ждущих задач/ограничение на количество ждущих задач;
  • после all - суммарное количество задач в очереди/ограничение на суммарное количество задач в очереди;
  • коэффициент умножения при вычислении цены задачи;
  • после Sr/Sf - суммарная стоимость считающихся задач/суммарная стоимость закончившихся задач;

Например,

guest: Inf:2 run=1 wait=0/1 all=1/1   *1.00 Sr/Sf=15/14
u1125: Inf:2 R=1 run=0 wait=0/5 all=0/7   *1.00 Sr/Sf=0/365
u1310: Block:RQ Inf:2 R=1 run=0 wait=1/5 all=1/7   *1.00 Sr/Sf=0/0
u0319: Inf:2 R=3 run=0 wait=0/5 all=0/7   *1.00 Sr/Sf=0/88
u1305: Block:R Inf:2 R=1 run=1 wait=2/5 all=3/7   *1.00 Sr/Sf=0/0

Здесь показано, что пользователю u1310 запрещено ставить задачи в очередь, задачи его и пользователя u1305, стоящие в очереди, заморожены; всем пользователям информация выдается со степенью подробности 2 (т.е. вся за исключением имен задач других пользователей и информации о пользователях, которые в учетный период не считали и не имеют задач в очереди); всем пользователям разрешено запускать задачи в режимах класса 0, а пользователю u0319 еще и в режимах класса 1.

Специальное имя пользователя "::THE_OTHERS::" зарезервировано для выдачи информации о настройках обычных пользователей. Вообще говоря, настройки выдаются вместе с текущей информацией, но для тех пользователей, которые еще не считали, текущая информация не выдается.

После информации о настройках "::THE_OTHERS::" будут выданы настройки для специально выделенных пользователей, но только для тех, кто не имеет на текущий момент ни задач в очереди, ни накопленных сумм счета. Информация о настройках специальных пользователей имеющих задачи в очереди или накопленные суммы счета выдается (как и для обычных пользователей) вместе с информацией о текущих значениях до строки с "::THE_OTHERS::".

6.4. Просмотр расписания

Получить информацию о текущем расписании можно по команде

pult s

7. Определение статуса задачи.

Для определения статуса задачи ("в очереди", "запущена", "завершилась") можно использовать команду

mqtest <имя_задачи>

Данная команда определяет статус задачи и печатает соответствующее сообщение пользователю. Кроме этого, при задании ключа -rcode возможно получить статус задачи через код возврата (подробнее).

8. Ожидание завершения задачи.

Команда

mwait <имя_задачи>
позволяет дождаться завершения запущенной задачи. Данная команда "подвисает" до тех пор, пока задача полностью не завершится и не покинет систему. Для обычной задачи этот момент наступает во время завершения. Для фоновой задачи - во время завершения последнего кванта либо полного снятия со счета по команде mterm. Кроме этого, дождаться завершения задачи можно, задав ключ -wait в команде mpirun (подробнее).

9. Работа с интерактивными задачами.

При запуске задачи в команде mpirun может быть указан ключ interactive (подробнее), а в секции [Redirections] файла-паспорта задачи - задан соответствующий параметр (подробнее). Запущенная таким образом задача получает статус интерактивной, и для работы с ней необходимо соблюдать некоторые правила. После прохождения через очередь и запуска интерактивная задача при попытке чтения со стандартного ввода приостанавливается до тех пор, пока пользователь не выполнит команду

mattach [имя_задачи]

Если имя задачи не задано, система предложит выбрать его из списка запущенных. Команда mattach связывает свои стандартные потоки ввода, вывода и ошибок со стандартными потоками интерактивной задачи. После установления связи задача продолжит выполнение, при этом пользователь получает возможность в диалоге вводить требуемые задаче данные и просматривать ее вывод.

ВНИМАНИЕ! Для интерактивной задачи система игнорирует заданные перенаправления стандартных потоков (ввода, вывода и ошибок). Для перенаправления стандартных потоков своей интерактивной задачи пользователь должен перенаправить стандартные потоки команды mattach. Также следует обратить внимание на то, что для интерактивных задач команда mout позволит просмотреть лишь стандартный вывод процесса-менеджера задачи.

Интерактивная задача считается выполняющейся с момента своего запуска, а не с момента выполнения пользователем команды mattach. Если пользователь не выполнит mattach, то по истечении заказанного времени задача будет снята. В этом случае, а также тогда, когда интерактивная задача сама завершается до выполнения пользователем команды mattach, весь произведенный задачей вывод в потоки стандартных вывода и ошибок будет записан в файлы output и errors в каталоге стандартного ввода/вывода (так же, как и в случае обычной задачи (подробнее).

ВНИМАНИЕ! Так же, как и для команды mout, завершение команды mattach по нажатию <Ctrl-C> не приводит к завершению самой задачи. Команда mattach может быть выполнена и завершена несколько раз, при этом работа с отлаживаемой задачей каждый раз будет продолжаться с места, на котором была завершена предыдущая команда mattach. Вместе с этим одновременно для одной и той же задачи пользователь может выполнить лишь одну команду mattach.

10. Поиск задачи в системе по данным паспорта.

Команда

mfind <имя_секции> <имя_параметра> <маска_значения>
осуществляет поиск задачи в системе запуска по данным паспорта Параметр <имя_секции> задает секцию паспорта задачи, <имя_параметра> - параметр в данной секции, <маска_значения> - диапазон значений указанного параметра.

Команда mfind печатает на стандартный вывод полные имена задач, паспорта которых соответствуют критериям поиска. Например, получить список всех задач, которые используют ресурсы ЛДП с именами, начинающимися на букву g, можно с помощью следующей команды:

mfind Local_Disks ldm_name g*

11. Коды возврата команд системы запуска.

Все команды системы запуска по умолчанию имеют код возврата 0 (если завершение нормальное) или 1 (если авария). Указание ключа -rcode в команде заставит эту команду возвращать специальный код возврата. Специальный код возврата имеет место в следующих командах:

mpirun (mrunf) - возвращает номер запущенной (поставленной в очередь) задачи (действительно для номеров меньше 128), либо значение от 128 до 255, если авария.

mqtest - возвращает 1, если задача стоит в очереди, 0 - если задача запущена, 2 - если задача завершена, либо значение от 128 до 255 - если такой задачи нет или авария.

12. Команда получения вычислительных модулей.

Данная команда необходима в тех случаях, когда пользователю требуется вычислительный ресурс (один или несколько вычислительных модулей) на определенное время, но при этом нет необходимости запускать конкретную задачу. Команда получения вычислительных модулей имеет следующий формат:

getnodes -np <число_модулей> -maxtime <время>  <имя_запроса>

где число_модулей - число требуемых вычислительных модулей (не процессоров!);

время - время, на которые требуется получить указанное число модулей;

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

При выполнении этой команды запрос на требуемый ресурс будет поставлен в очередь, как обычная задача. При этом к имени запроса будет через точку добавлен уникальный номер. Как и для обычной задачи будет сформирован каталог стандартного ввода/вывода. После того, как запрос отстоит в очереди, пользователю будет выделено указанное число модулей на указанное время. При этом в файл стандартного вывода будет помещена информация о выделенных модулях. С момента выделения модулей любой из них становится доступен пользователю с помощью команд rlogin или rsh. Завершить работу с модулями можно командой

mkill <имя_запроса.номер>
 
 
 
 
 
 
 
  Тел. +7(499)220-79-72; E-mail: inform@kiam.ru