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

Справочник по командам СУППЗ

1.Запуск и завершение заданий.
1.1.Запуск задания программ, использующих MPI.    mpirun
1.2.Запуск задания с произвольным паспортомmrunf
1.3.Удаление поставленного в очередь задания.mqdel
1.4.Завершение выполняющегося задания.mkill mterm
1.5.Завершение выполняющегося задания или задания из очереди.mcancel
1.6.Ожидание завершения задания.mwait
1.7.Просмотр стандартного вывода задачи.mout
2.Просмотр очереди СУППЗ.
2.1Просмотр очереди СУППЗ в подробном виде.mqinfo
2.2Просмотр очереди СУППЗ в сокращённом виде.pult q
2.3Просмотр расписания СУППЗ.pult s
3.Получение информации о заданиях и ресурсах СУППЗ.
3.1.Краткая информация о направленных в СУППЗ заданиях пользователя.mps
3.2.Подробная информация о направленных в СУППЗ заданиях пользователя.pult t
3.3.  Полное имя последнего поставленного в очередь задания.mlt
3.4.Текущий статус задания.mqtest
3.5.Число свободных процессоров.mfree
3.6.Общее число процессоров.mproc
3.7.Подробная информация о вычислительных ресурсах.mninfo
4.Получение дополнительных возможностей СУППЗ.
4.1.Выделение ВМ решающего поля без запуска задания.getnodes
4.2.Приостанoвление чтения из стандартного потока ввода интерактивного задания.mattach
4.3.Поиск задания в СУППЗ по данным паспорта.mfind

1. Запуск и завершение заданий.

1.1. Запуск задания параллельной MPI-программы.
mpirun –np <nproc> [mpirun_args] <MPI_prog> [MPI_prog_args]
nproc – число требуемых для задания процессоров (ядер);
mpirun_args – параметры команды mpirun;
MPI_prog – имя исполняемого модуля MPI-программы;
MPI_prog_args – параметры MPI-программы.

Команда mpirun автоматически формирует паспорт задания и направляет его в очередь СУППЗ. Завершение команды mpirun не означает завершение или запуск задания (за исключением случая, рассмотренного в 3.1.1.4 Руководства), а лишь завершение постановки задания в очередь. При успешном завершении команда mpirun возвращает 0, иначе – отличное от 0 значение с выдачей диагностического сообщения в сандартный поток ошибок. Исключение составляет случай, рассмотренный в 3.1.1.17 Руководства.

Все параметры команды mpirun являются ключевыми, т.е. предваряются ключевым словом со знаком -.

1.1.1. Параметр -maxtime <максимальное_время> задает максимальное время выполнения задания в минутах. После истечения этого времени задание будет принудительно завершено. Сообщение о принудительном завершении задания будет выведено в журнал процесса-менеджера задания в соответствии с 4.2.6. Указанное в параметре -maxtime время будет участвовать в расчете приоритета задания в соответствии с 2.2.4.6 – 2.2.4.8 Руководства. Если параметр -maxtime не будет задан, максимальное время выполнения задания будет взято из пользовательского конфигурационного файла в соответсвии с 4.1.2.3 Руководства.
1.1.2. Параметр -quantum <значение_кванта_времени> задает время (в минутах) кванта для фонового задания. Если параметр ‑quantum не будет задан, значение кванта для фонового задания будет взято из пользовательского конфигурационного файла в соответсвии с 4.1.2.3 Руководства.
1.1.3. Параметр -restart указывает, что после своего завершения задание будет вновь поставлено в очередь. Для удаления из очереди такого задания необходимо воспользоваться командой mqdel в соответствии с 3.1.3 Руководства, а для завершения выполняющегося задания – командами mkill или mterm в соответствии с 3.1.4 Руководства. Если параметр не задан, по умолчанию будет применяться значение параметра restart секции [Mpirun] пользовательского конфигурационного файла в соответствии с 4.1.2.3 Руководства
1.1.4. Параметр -wait указывает, что в случае успешного запуска задания (либо постановки в очередь) команда mpirun будет ожидать его завершения. Для отладочных и пакетных заданий под завершением здесь понимается обычное завершение или принудительное снятие с выполнения (по команде программиста или оператора, либо по истечении времени). Для фонового задания – завершение последнего кванта, либо снятие с выполнения командой mterm в соотвествии с 3.1.4. Руководства.
1.1.5. Параметр -stdiodir <имя_каталога> задает имя текущего каталога задания, в котором в соответствии с 2.1.9 будет созаваться каталог ввода-вывода задания. Если параметр не задан, его значение будет взято из пользовательского конфигурационного файла в соответсвии с 4.1.2.3 Руководства.
1.1.6. Параметр -stdin <имя_файла> задает имя файла, на который будет перенаправлен поток стандартного ввода процессов задания. На указанный файл в каталоге ввода-вывода задания автоматически будет создана символическая ссылка с именем input. Если параметр не указан, стандартный ввод для процессов задания будет недоступен и не должен использоваться в параллельной программе.
1.1.7. Параметр -stdout <имя_файла> задает имя файла, в который будет перенаправлен стандартный поток вывода процессов задания.
1.1.8. Параметр -stderr <имя_файла> задает имя файла, в который будет перенаправлен стандартный поток ошибок процессов задания.
1.1.9. Параметр -interactive делает задачу интерактивной в соответствии с 3.4.3 Руководства, а также отменяет действия параметров -stdin, -stdout, -stderr.
1.1.10. Параметр -termtime <дополнительное_время> задает дополнительное время для завершения задания в соответствии с 2.2.6 Руководства. Дополнителное время задается в минутах. Если параметр –termtime не будет задан, значение дополнительного времени для завершения задания будет взято из пользовательского конфигурационного файла в соответсвии с 4.1.2.3.
1.1.11. Параметр -termsignal <сигнал_для_завершения> имеет действие только, если задано дополнительное время для завершения задания в соответствии с 3.1.1.10 Руководства.

Параметр -termsignal задает сигнал, который будет разослан всем процессам задания в качестве предупреждения о предстоящем завершении в соответствии с 2.2.6.2. Формат задания сигнала должен соответствовать команде ОС Linux kill. Если параметр –termsignal не будет задан, значение сигнала будет взято из пользовательского конфигурационного файла в соответсвии с 4.1.2.3 Руководства.

1.1.12. Параметр -machinefile <имя_файла_шаблона> задает имя файла-шаблона, позволяющего изменять порядок распределения MPI-процессов по вычислительным модулям в соответствии с 4.1.3.
1.1.13. Параметр –resource "имя_ресурса=значение_ресурса" задает требования к дополнительному ресурсу с именем имя_ресурса и значением значение_ресурса для всех ВМ, выделяемых заданию. Имена и значения дополнительных ресурсов определяются в соответствии с 3.3.6 Руководства. Задание будет назначено только на те ВМ, которые обладают указанным в параметре –resource ресурсом с именем имя_ресурса. При этом числовые ресурсы подбираются системой так, чтобы их значения на выделяемых ВМ были не меньше заданного в параметре –resource значения значение_ресурса. Строковые ресурсы подбираются системой так, чтобы их значения на выделяемых ВМ точно соответствовали заданному в параметре –resource значению значение_ресурса.

Пусть конфигурация дополнительных ресурсов соответствует примеру из 3.3.6. Допустим, для программы с именем cpi, рассчитанной на выполнение на 10 процессорах, требуется, чтобы на всех выделенных ВМ было не менее 16 Гб оперативной памяти. Команда mpirun в этом случае должна выглядеть следующим образом

mpirun –np 10 –resource "mem=16" cpi

В результате для задания будут выделены модули node2 и node3, т.к. на каждом имеется не менее 16 Гб памяти. Если же задать значение ресурса 32 Гб, то будет выдана ошибка, т.к. задаче требуется минимум 2 модуля (10 процессоров), но в системе есть только один (node2), обладающий необходимым ресурсом.

Параметр –resource может при необходимости повторяться в команде mpirun для возможности указания нескольких вычислительных ресурсов, например

mpirun –np 8 –resource "mem=16" –resource "OS=Windows" cpi

В этом случае для задачи будет выделен модуль node3 (16 Гб оперативной памяти и наличие ОС Windows).

1.1.14. Параметр –resourcefile <имя_файла_спецификации_ресурсов> задает файл-спецификацию дополнительных ресурсов для задания в соответствии с 4.1.4 Руководства.
1.1.15. Параметр –host <имя_управляющей_ЭВМ> задает имя управляющей ЭВМ, куда необходимо направить задание. Если параметр не задан, имя управляющей ЭВМ будет определено из пользовательского конфигурационного файла в соответствии с 4.1.2.2.
1.1.16. Параметр –s <имя_логической_системы> задает имя логической системы в соответствии с 2.1.7 Руководства. Если параметр не задан, будет выбрана логическая система по умолчанию.
1.1.17. Параметр –retcode предписывает команде mpirun в случае удачного завершения возвращать не 0, а номер запущенного (поставленного в очередь) задания (действительно для номеров меньше 128). Возвращаемый номер определяется в соответствии с 2.1.8. В случае возникновения ошибки при заданном параметре –retcode команда mpirun вернет значение от 128 до 255.
1.1.18. Параметр –ppn <число_процессов_на_ВМ> предписывает изменить число процессов на вычислительном модуле в соответствии с указанной в параметре величиной. По умолчанию число процессов на ВМ равно числу процессоров (ядер), параметр –ppn позволяет изменить это число.

Допустим, число процессоров (ядер) на каждом ВМ равно 8. Тогда по команде

mpirun –np 16 myprog
заданию myprog будет выделено 2 вычислительных модуля, и на каждом будет запущено по 8 процессов. Используя параметр –ppn, можно управлять числом процессов. Например, по команде
mpirun –np 16 –ppn 4 myprog
заданию myprog будет выделено 4 вычислительных модуля, и на каждом будет запущено по 4 процесса. Кроме этого управлять размещением процессов на ВМ можно с помощью файла-шаблона в соответствии с 4.1.3 Руководства.
1.2.

Постановка в очередь (запуск) задания с произвольным паспортом

mrunf [-fo] <паспорт>
где паспорт – имя файла-паспорта задания, сформированного в соотвествии с 4.1.1 Руководства

Если задан параметр –fo, то при успешном запуске (постановке в очередь) задания команда mrunf выведет полное имя задания в соответствии с 2.1.8 Руководства в стандартный поток вывода.

1.3.

Удаление поставленного в очередь задания

осуществляется командой
mqdel <имя_задания>
где имя_задания – полное имя задания в соотвествии с 2.1.8 Руководства.

Команда mqdel применима лишь к тем заданиям, которые ожидают выполнения в очереди.

Удаление всех поставленных в очередь заданий осуществляется командой

mqdel '*'
1.4.

Завершение выполняющегося задания

осуществляется одной из двух команд
mkill [имя_задания]
mterm [имя_задания]
где имя_задания – полное имя задания в соотвествии с 2.1.8 Руководства.

Команды mkill и mterm применимы только к выполняющимся заданиям.

Завершение всех выполняющихся заданий осуществляется одной из двух команд

mkill '*'
mterm '*'

Если задание фоновое, по команде mkill оно завершит очередной квант и будет заново поставлено в очередь. Команда mterm завершает задания без возврата в очередь, т.е. производит полное завершение задания.

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

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

1.5.

Завершение задания, независимо от того, находится оно в очереди или выполняется

осуществляется командой
mcancel [имя_задания]
где имя_задания – полное имя задания в соотвествии с 2.1.8 Руководства.

Команда mcancel не закончит своего выполнения до тех пор, пока задание не покинет систему, т.е. команда mcancel, в отличие от команд mkill и mterm, рассмотренных в 3.1.4 Руководства, ожидает завершения задания.

1.6.

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

осуществляется командой
mwait [имя_задания]
где имя_задания – полное имя задания в соотвествии с 2.1.8 Руководства.

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

1.7.

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

Стандартный вывод (печать на экран) задачи можно просмотреть с помощью команды
mout [имя_задачи.номер_задачи [что_выдавать]]

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

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

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

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

2. Просмотр очереди СУППЗ

2.1.1. Просмотр очереди СУППЗ осуществляется командой
mqinfo [-s system]
где system – имя логической системы в соответствии с 2.1.7 Руководства.
2.1.2. Примерный вывод команды просмотра очереди СУППЗ:
Current time:  Mon Mar 22 13:10:07 2014
Queue state at Mon Mar 22 13:06:09 2014
     Current schedule: 2      
     Accumulation period: 168 hours

--- 22.03.14 07:30: R=1 total–30 debug–0/0, packet–300, priority scale-(10000)
stok3.2:lara 0.1  0*  12  150/150      16    >:03.22.14 18:03
intro.1:kira 0.2  0*  6   60/60+10         6    >:03.22.14 18:05
-- queue --
color.2:vera 0.3  0*  12  100/100      b~~~    <:03.22.02 14:33
--- 23.03.14 07:30: R=1 total–30 debug–0/0, packet–300, priority scale-(10000)
--- 24.03.14 07:30: R=1 total–30 debug–0/0, packet–300, priority scale-(10000)

Free: 0 proc   Available: 18  Locked: 12


   lara: Inf:3 R=1 run=1 wait=0/5 all=0/7   *1.00 Sr/Sf=10/26   
   kira: Inf:3 R=1 run=1 wait=0/5 all=0/7   *1.00 Sr/Sf=10/26   
   vera: Inf:3 R=1 run=0 wait=0/5 all=1/7   *1.00 Sr/Sf=10/26
   u1310: Block:RQ Inf:2 R=1 run=0 wait=0/5 all=0/7   *1.00 Sr/Sf=2/2
::THE_OTHERS:: Inf:3 R=1 run=0 wait=0/5 all=0/10   *1.00 Sr/Sf=0/0
   runmvs: Inf:3 R=2 run=0 wait=0/5 all=0/50   *1.00 Sr/Sf=0/0
   natasol: Inf:3 R=5 run=0 wait=0/5 all=0/50   *0.01 Sr/Sf=0/0
рисунoк 1.
2.1.3. В заголовке выдачи сообщается, когда было в последний раз перезаписано состояние очереди, а также (Current schedule) – номер текущего расписания. Если очередь блокирована (заморожена), то это будет отображено словом Hold после номера расписания. Кроме того, в соответствии с 2.2.4.6 выдается учетный период (Accumulation period), за который производится суммирование времени счета завершившихся заданий одного пользователя.
2.1.4. Информация о режимах планирования начинается с «---» и содержит:
  • дату и время включения режима в соответствии с 2.2.4.1 Руководства;
  • после R= – шкалу доступа к режиму в соответствии с 2.2.4.2 Руководства;
  • после total – общее число планируемых процессоров в соответствии с 2.2.4.3 Руководства;
  • после debug – количество процессоров, отведенное под отладочные задания/максимальное время (в минутах) для отладочных заданий в соответствии с 2.2.4.4;
  • после packet – максимальное время (в минутах) для пакетных заданий в соответствии с 2.2.4.5;
  • после priority scale – шкала приоритетов в соответствии с 2.2.4.6.
2.1.5. Информация об обрабатывающихся заданиях содержит:
  • имя задания в соответствии с 2.1.8;
  • имя пользователя – владельца задания;
  • составной индикатор порядка выделения ресурсов в соответствии с 2.2.5;
  • количество оставшихся повторов счета, всегда 0;
  • количество процессоров (ядер), занимаемых заданием;
  • остаток времени обработки в минутах;
  • квант счета в минутах, для отладочных и пакетных заданий всегда совпадает с временем обработки;
  • после + – дополнительное время в соответствии с 2.2.6 Руководства;
  • количество минут до предполагаемого завершения задания;
  • предполагаемое время завершения (после >:).

В примере на рисунке 1 Руководства обрабатываются два задания: stok3.2 пользователя lara и intro.1. пользователя kira. Задание stok3.2 выполняется на 12 процессорах с максимальным временем 150 минут, а задание intro.1 – на 6 процессорах с максимальным временем 60 минут. Заданию stok3.2 осталось обрабатываться 16 минут, а заданию intro.1 – 6 минут. Для задания intro.1 задано дополнительное время 10 минут.

2.1.6. Запуск и завершение задания отмечаются в выдаче ключевыми словами starting и finishing соответственно, например:
img1.3 : guest      6.3  0*  15  150/15+1      starting
img1.2 : guest      5.2  0*  15  150/150       finishing
2.1.7. При наличии очереди заданий в выдаче будет присутствовать фраза -- queue --, после которой будет располагаться список заданий в очереди. Информация о стоящих в очереди заданиях отличается от информации об обрабатывающихся заданиях тем, что вместо количества минут до завершения выдается код (причины) ожидания и количество минут до предполагаемого старта обработки (разделенные символом ~), а вместо времени завершения – время постановки в очередь (после <:).
2.1.8. Коды причин ожидания могут быть следующие:
A — задание заблокировано оператором;
Н — очередь в целом заблокирована оператором;
O — рассматриваемых планировщиком режимов не хватает, чтобы сделать вывод о возможности или невозможности обработки задания в одном из них;
P — в текущем расписании для данного пользователя запрещено запускать задания с таким числом процессоров;
R — задание не может быть обработано ни в одном из рассматриваемых планировщиком режимов;
e — старт отложен из-за несущественной ошибки при запуске;
b — занятость процессоров обрабатывающимися заданиями;
m — в одном из режимов пользователю запрещено запускать задания;
p — при запуске задание отодвинуло бы старт более приоритетного
2.1.9. В примере на рисунке 1 Руководства в очереди находится задание color.2 пользователя vera, предназначенное для выполнения на 12 процессорах с максимальным временем 100 минут. Код причины ожидания b~~ говорит о занятости процессоров обрабатывающимися заданиями. В то же время из содержимого строки вывода
Free: 0 proc   Available: 18  Locked: 12
можно определить, что свободных (Free) процессоров на текущий момент нет, доступных (Available) процессоров – 18 (все они заняты), заблокировано (Locked) 12 процессоров.
2.1.10. Последние семь строк в выдаче на рисунке 1 Руководства содержат текущую статистику по пользователям lara, kira, vera, u1310, runmvs и natasol. Информация о пользователях содержит:
  • имя пользователя;
  • информация о запрете (Block:) счета (Q) или запуска (R) заданий (если он установлен системным программистом);
  • степень подробности (от 1 до 3) выдачи информации (Inf:) о заданиях других пользователей:
    1. степень подробности 1 – пользователю выдается информация только о его собственных заданиях;
    2. степень подробности 2 – пользователю не выдается информация о заданиях других пользователей и информация о пользователях, которые в учетный период не считали и не имеют заданий в очереди;
    3. степень подробности 3 – пользователю выдается вся информация о всех заданиях всех пользователей и вся информация о всех пользователях;
  • шкала доступа к режимам (R=) в соответствии с 2.2.4.2 Руководства;
  • после run – количество выполняющихся заданий;
  • после wait – количество ждущих заданий/ограничение на количество ждущих заданий;
  • после all – суммарное количество заданий в очереди/ограничение на суммарное количество заданий в очереди;
  • цена задания в соответствии с 2.2.4.7;
  • после Sr/Sf – суммарная стоимость выполняющихся заданий/суммарная стоимость завершившихся заданий в соответствии с 2.2.4.6 Руководства.
2.1.10.1. Пользователи при выдаче информации разделяются на обычных, для которых применяются типичные настройки в расписании, и специальных. Настройки специальных пользователей персонально задаются системным программистом при составлении расписания.
2.1.10.2. На рисунке 1 Руководства показано, что пользователю u1310 запрещено ставить задания в очередь, его стоящие в очереди задания заморожены. Всем пользователям информация выдается со степенью подробности 3, а пользователю u1310 – со степенью подробности 2. В соответствии с 2.2.4.2 всем пользователям, за исключением runmvs, шкала доступа к режимам позволяет запускать задания во всех приведенных на рисунке 1 Руководства режимах планирования, т.к. только для пользователя runmvs побитовое умножение его шкалы доступа (2) и шкал доступа к режимам (1) даст в результате 0.
2.1.10.3. Специальное имя пользователя ::THE_OTHERS:: зарезервировано для выдачи информации о типичных настройках обычных пользователей. После информации о настройках ::THE_OTHERS:: будут выданы настройки для специально выделенных пользователей, но только для тех, кто не имеет на текущий момент ни заданий в очереди, ни завершившихся заданий за учетный период. Информация о настройках специальных пользователей, имеющих задания в очереди или выполнявших задания за учетный период вместе с информацией о текущих значениях до строки с ::THE_OTHERS::.
2.1.11. Если очередь блокирована (заморожена), то это отображается словом Hold, как показано на рисунке 2.
Queue state at Wed Mar 22 12:40:07 2011
       Current schedule: 2      Hold
Accumulation period: 168 hours

--- 22.03.11 07:30: R=3 total–32 debug–8/5, packet–300, priority scale-(120 300)
--- 22.03.11 19:00: R=2 total–32 debug- 0/0, packet-600, priority scale-(10000)
tnet.7 : ant          1*   10  15/15      H~~~   <:Mon Mar 22 13:31:09 2011
tnet.3 : ant          1*   24  500/500  H~~~   <:Mon Mar 22 20:31:09 2011
tnet.1 : ant          1*   1  15/15      H~~~   <:Mon Mar 20 20:31:09 2011
..............................................................................
Рисунок 2 – Просмотр состояния заблокированной очереди
2.2. Информацию о заданиях всех пользователей в сокращённом виде можно получить с помощью команды
pult q
Рисунок 3 – Просмотр заданий всех пользователей.
 Информация об очереди
Дата:  суббота 13 августа 2016 г.
Время: 13:25

СЧЕТ:
 ---------------------------------------------------------------------------
  имя                      логин       заказано     заказано    осталось до
 задачи                пользователя    проц-ров      минут      конца (мин)
---------------------------------------------------------------------------
 mpi.1                   ivanov          14           600         450
 a.out.2                 petrov          14           460         182
 test3.1                 sidorov         14           650         321

ОЧЕРЕДЬ:
 ---------------------------------------------------------------------------
  имя                      логин       заказано     заказано    осталось до
 задачи                пользователя    проц-ров      минут      входа (мин)
---------------------------------------------------------------------------
 a.out.1                 petrov          49          55          b~450

-----------------
Расписание № 1
Очередь: открыта
Всего: 56 проц. (узлов - 8)
Свободно: 7 проц. (узлов - 1)
Закрыто: 7 проц. (узлов - 1)
Период аккумуляции: 24 час.

-----------------
Задач в счете: 3
Задач в очереди: 1
Через 27 мин. освободится 14 проц.
2.3. Информацию о расписании СУППЗ в сокращённом виде можно получить с помощью команды
pult s
Примерный вывод команды просмотра расписания:
 Информация о текущем расписании
Дата:  суббота 13 августа 2016 г.
Время: 12:39

Расписание № 1
---------------------------------------------------------------------------
                Начало          Номер     Всего     Отлад.     Пакет.
                режима          режима    проц.     задачи     задачи
                                                 (проц./мин.)  (мин.)
---------------------------------------------------------------------------
     суббота  13.08.16 12:00     R=1       56       0/10       2500
 воскресенье  14.08.16 09:30     R=1       56       0/10       2500
              14.08.16 15:00     R=1       56       0/10       2500
 понедельник  15.08.16 10:00     R=1       56      24/10        900
              15.08.16 19:00     R=1       56       0/10       1000
     вторник  16.08.16 10:00     R=1       56      24/10        900
              16.08.16 19:00     R=1       56       0/10       1000
       среда  17.08.16 10:00     R=1       56      24/10        900
              17.08.16 19:00     R=1       56       0/10       1000
     четверг  18.08.16 10:00     R=1       56      24/10        900
              18.08.16 19:00     R=1       56       0/10       1000
     пятница  19.08.16 01:00     R=1       56      24/10       2500
              19.08.16 19:00     R=1       56       0/10       2500
---------------------------------------------------------------------------
Рисунок 4 – Просмотр расписания.

3. Получение информации о заданиях и ресурсах СУППЗ

3.1. Краткую информацию о направленных в СУППЗ заданиях пользователя можно получить с помощью команды
mps [имя_задания]
где имя_задания – полное имя задания в соответствии с 2.1.8 Руководства.
3.1.1. При отсутствии параметра в стандартный поток вывода будет выдан список всех выполняющихся или находящихся в очереди заданий пользователя. Если задание находится в очереди, это будет отмечено словом queued рядом с именем задания.
3.1.2. При задании параметра имя_задания команда mps выведет в стандартный поток вывода подробную информацию о выполняющемся или завершенном задании. Примерный формат выводимой информации о выполняющемся задании следующий:
Task "mpi.1" started 05.11.14 01:11:42
It's settings are:
Task directory: /home/ivanov/mpi/mpi.1
Pid of manager: 17415
CPU count: 14

NODE CPU
------ ---
1. node21                 7
2. node29                 7
Первая строка вывода
Task "mpi.1" started 05.11.14 01:11:42
сообщает о времени запуска (05.11.14 01:11:42) задания с полным именем (в соответствии с 2.1.8 Руководства) mpi.1, после чего приводятся характеристики задания. После фразы Task directory: следует полный путь к каталогу ввода-вывода задания (в нашем примере /home/ivanov/mpi/mpi.1) в соответствии с 2.1.9. После фразы Pid of manager: следует идентификатор процесса-менеджера задания (17415), а после фразы CPU count: – число используемых заданием процессоров (ядер).

После этого выводится таблица со столбцами NODE и CPU, в которых приводятся имена выделенных для задания ВМ и число используемых процессоров (ядер) на каждом ВМ соответственно. В нашем примере для задания mpitask.8 было выделено 2 ВМ с именами node21 и node29 по 7 процессоров (ядер) на каждом.

3.1.3. Выводимая информация о завершенном задании соответствует 3.3.1.2 Руководства, за исключением первой строки выдачи, формат которой следующий:
Task "mpi.1" started 05.11.14 01:11:42, done 05.11.14 02:10:02
После слова started выводится время запуска задания (05.11.14 01:11:42), после слова done время завершения задания (05.11.14 02:10:02).
3.2. Более подробную информацию о направленных в СУППЗ заданиях пользователя можно получить также с помощью команды
pult t
Примерный формат выводимой информации о выполняющемся задании следующий:
 Сведения о задачах, запущенных пользователем petrov
Дата:  суббота 13 августа 2016 г.
Время: 13:31

СЧЕТ:
 * задача: a.out.2
Имя программы: a.out
Рабочая директория: /home/petrov/wrk/a.out.1
Заказано процессоров: 14
Заказаное время: 5 мин.
Квант: нет
Осталось запусков: 0
Осталось до окончания: 5 мин.
Старт задачи: 13.08.16 13:31:14
Окончание задачи: 13.08.16 13:36
PID задачи: 18601
Занимаемые модули:
node23, node24

ОЧЕРЕДЬ:
 * задача: a.out.1
Имя программы: a.out
Рабочая директория: /home/petrov/wrk/a.out.2
Заказано процессоров: 49
Заказаное время: 5 мин.
Квант: нет
Осталось запусков: 1
Дата постановки в очередь: 13.08.16 13:25
Осталось до входа в счет: ~444 мин.
Причина задержки:
 - нет нужного задаче количества процессоров


-----------------
Расписание № 1
Очередь: открыта
Всего: 56 проц. (узлов - 8)
Свободно: 7 проц. (узлов - 1)
Закрыто: 7 проц. (узлов - 1)
-----------------
Задач в счете: 3
Задач в очереди: 1
Через 5 мин. освободится 12 проц.
3.3. Получение полного имени (в соответствии с 2.1.8) последнего поставленного в очередь задания пользователя осуществляется командой
mlt
При успешном выполнении команда mlt выведет в стандартный поток вывода полное имя (в соответствии с 2.1.8) последнего поставленного в очередь задания пользователя. Команда mlt выдаст имя задания, даже если оно на момент выполнения команды уже было запущено, завершилось или было удалено из очереди.
3.4. Определение текущего статуса задания осуществляется командой
mqtest [-rcode] <имя_задания>
где имя_задания – полное имя задания в соответствии с 2.1.8 Руководства.

Команда mqtest выводит в стандартный поток вывода информацию о текущем статусе задания с именем имя_задания. Статус задания может принимать следующие значения:

  • queued – задание ожидает в очереди
  • started – задание выполняется;
  • done – задание завершено.

При задании параметра -rcode команда mqtest будет возвращать специальные коды возврата:

  • 1 – задание ожидает в очереди;
  • 0 – задание выполняется;
  • 2 – задание завершено;
  • от 128 до 255 – произошла ошибка во время выполнения команды mqtest.
3.5. Получение числа свободных процессоров (ядер) решающего поля осуществляется командой
mfree
3.6. Получение общего числа процессоров (ядер) решающего поля осуществляется командой
mproc
3.7. Получение подробной информации о вычислительных ресурсах решающего поля осуществляется командой
mninfo
Команда mninfo выдает в стандартный поток вывода информацию о ресурсах в соответствии с 2.6 Руководства. Рассмотрим формат выдачи команды mninfo на следующем примере:
node23: cpu=7 (gpu:"GTX295")
node24: cpu=7 (gpu:"GTX295")
node25: cpu=7 (gpu:"GTX295")
В приведенном примере решающее поле вычислителя составляют три ВМ с именами node23-node25. Все ВМ имеют по 7 процессорных ядер (число после ключевого слова cpu). Если для ВМ специфицированы дополнительные ресурсы, то в выдаче их список указывается в скобках. Ресурсы в списке отделяются друг от друга запятыми и имеют вид <имя_ресурса> : <значение_ресурса>

Имя, тип и значение ресурса задаются системным программистом. Если ресурс строковый, то его значение заключается в кавычки. В нашем примере дополнительными ресурсами обладают все модули. Строковый ресурс gpu (графические ускорители) для всех модулей имеет значение "GTX295". Конкретный смысл имен и значений ресурсов определяется системным программистом СУППЗ.

4. Получение дополнительных возможностей СУППЗ

4.1. Для выделения ВМ решающего поля без запуска задания программист формирует к СУППЗ специальный запрос командой
getnodes –np <число_ВМ> [-maxtime <время>] <имя_запроса>
где
  • число_ВМ – число запрашиваемых ВМ (не процессоров или ядер);
  • время – максимальное время, на которое запрашиваются ВМ;
  • имя_запроса – имя, которое будет присвоено запросу на требуемый вычислительный ресурс.
При выполнении команды getnodes запрос на требуемый ресурс будет поставлен в очередь, как обычное задание. При этом к имени запроса будут добавлены уникальный номер имя логической системы в соответствии с 2.1.8 Руководства, т.е. сформирвано полное имя задания (запроса). Как и для обычного задания, в соответствии с 2.1.9 Руководства будет сформирован каталог ввода-вывода. После того, как запрос отстоит в очереди, СУППЗ выделит ВМ числом число_ВМ на указанное в параметре -maxtime время. Следует отметить, что правила применения и действие параметра -maxtime полностью соответствуют 3.1.1.1.

При успешном выполнении запроса в файл стандартного вывода задания (файл output в соответствии с 2.1.9 Руководства) будет помещена информация о выделенных ВМ. С момента выделения ВМ, т.е. после прохождения запроса через очередь, любой из выделенных ВМ становится доступен программисту с помощью команд ssh или rsh (в зависимости от настроек, заданных системным программистом). Досрочное завершение работы с выделенными ВМ и снятие задания (запроса) с выполнения осуществляется в соответствии с 3.1.4 Руководства.

4.2. При запуске задания в соответствии с 3.1.1.9 Руководства в команде mpirun может быть указан параметр -interactive, а при запуске задания в соответствии с 3.1.2 Руководства, в секции [Redirections] файла-паспорта задания в соответствии с 4.1.1.5 Руководства может быть задан параметр interactive. Запущенное таким образом задание получает статус интерактивного, и для работы с ним необходимо соблюдать следующие правила.
4.2.1. После прохождения через очередь и запуска интерактивное задание при попытке чтения из стандартного потока ввода приостанавливается до тех пор, пока программист не подсоединится к заданию, выполнив команду
mattach [имя_задания]
где имя_задания – полное имя задания в соответствии с 2.1.8 Руководства.

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

4.2.2. Для интерактивного задания СУППЗ игнорирует заданные в соответствии с 3.1.1.6 Руководства – 3.1.1.8 или с 4.1.1.5 Руководства перенаправления стандартных потоков ввода, вывода и ошибок. Для перенаправления стандартных потоков своего интерактивного задания программист средствами операционной системы должен перенаправить стандартные потоки команды mattach.
4.2.3. Интерактивное задание считается выполняющимся с момента своего запуска, а не с момента выполнения команды mattach. Если программист не выполнит команду mattach, то по истечении заказанного времени задание будет снято. В этом случае, а также тогда, когда интерактивное задание само завершается до выполнения программистом команды mattach, весь произведенный процессами задания вывод в стандартные потоки вывода и ошибок будет записан в файлы output и errors в соответствии с 2.1.9.
4.2.4. Завершение команды mattach (например, по нажатию Ctrl-C) не приводит к завершению самого задания. Команда mattach может быть выполнена и завершена несколько раз, при этом работа с интерактивным заданием каждый раз будет продолжаться с места, на котором была завершена предыдущая команда mattach. Вместе с этим одновременно для одного и того же задания программист может выполнить лишь одну команду mattach.
4.3. Поиск задания в СУППЗ по данным паспорта осуществляется командой
mfind <имя_секции> <имя_параметра> <маска_значения>
где
  • имя_секции – имя секции паспорта задания в соответствии с 4.1.1 Руководства;
  • имя_параметра – имя параметра указанной секции паспорта задания в соответствии с 4.1.1;
  • маска_значения – диапазон значений указанного параметра паспорта задания.
Команда mfind выдает в стандартный поток вывода полные имена заданий, паспорта которых соответствуют критериям поиска. Например, получить список всех заданий с именами, начинающимися на букву g, можно с помощью следующей команды
mfind General task_name 'g*'
Получить список всех заданий со временем выпонения 100 минут можно с помощью следующей команды
mfind TimeRequest limit 100

 
 
 
 
 
 
 
  Тел. +7(499)220-79-72; E-mail: inform@kiam.ru