Запуск заданий


Запуск заданий происходит через стандартный планировщик IBM LoadLeveler. При постановке задания в очередь пользователь может указать число процессоров и максимальное время счета (по умолчанию 1 процессор и 10 минут) и другие параметры. При наличии достаточного числа свободных процессоров задание начнет выполняться. После постановки на счет задание будет выполняться не больше указанного времени, если оно не успеет завершиться само - его удалит планировщик.
На данный момент все задания запускаются в режиме test, это означает, что максимальное время выполнения задания ограничено 30 минутами.

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

Для обращения к планировщику используются специальные скрипты ompsubmit и mpisubmit.

ompsubmit - для заданий, использующих OpenMP
mpisubmit - для заданий, использующих MPI

Синтаксис и семантика их использования следующие:

[ параметры скрипта ] [ параметры задачи ]
-w
-n
-m
-stdout
-stdin
-stderr

Обязательным параметром является только имя задания, для остальных параметров существуют умолчания.
ключ Наименование Значение по умолчанию Примечание
-w лимит счетного времени 10 минут предполагаемое время счета задания в формате чч:мм:сс или сс, или мм:сс;
-n число процессоров 1

требуемое число процессоров,

максимально 16

-m почтовый адрес <username>@regatta.cmc.msu.ru На данный адрес будет послана информация по завершению задачи
-stdout файл для потока вывода

Имя_задания.nnnn.out

в каталог, из которого происходила постановка задания в очередь.
-stderr файл для потока ошибок

имя_задания.nnnn.err

в каталог, из которого происходила постановка задания в очередь.
-stdin файл для потока ввода    




Каждому заданию планировщик присваивает уникальное имя regatta.nnnn.0, где nnnn - номер задания. Для постановки "обычных' последовательных заданий и OpenMP заданий в очередь используется скрипт ompsubmit.
Примеры:
<br />ompsubmit my_program
поставит my_program в очередь для работы на 1 процессоре, не более 10 минут.

ompsubmit -w 25:00 -n 4 my_omp_program its_parameters
запустит задание my_omp_program с использованием OpenMP на 25 минут на 4-х процессорах, и передаст ему в качестве параметров командной строки "its_parameters".

ompsubmit -n 16 -w 30:00 -m user@cmc.msu.ru -stdout /home/guru/output/run_1.out prog


запустит задание prog на 16 процессорах на 30 минут. По завершении будет отправлено письмо по адресу user@cmc.msu.ru и стандартный поток вывода будет перенаправлен в файл /home/guru/output/run_1.out. Этот подход можно использовать для разделения результатов в случае, если необходимо запустить несколько экземпляров одной и той же программы.

Для постановки заданий с использованием MPI, соответствующим образом откомпилированных используется mpisubmit.

mpisubmit -w 25:00 -n 16 my_mpi_program 0.001
Данная команда запустит задание с использованием MPI на 25 минут на 16-ти процессорах.


Просмотр состояния очереди

Для просмотра состояния очереди используется команда llq.

ondreich@regatta:~> llq

Id Owner Submitted ST PRI Class Running On
------------------------ ---------- ----------- -- --- ------------ -----------
regatta.81325.0 zhukov 6/20 19:10 R 50 test_class regatta2
regatta.81326.0 ondreich 6/20 19:11 R 50 test_class regatta2
regatta.81327.0 ondreich 6/20 19:11 R 50 test_class regatta2
regatta.1.0 tiger 12/12 18:32 HS 50 test_class

4 job step(s) in queue, 0 waiting, 0 pending, 3 running, 1 held, 0 preempted

Команда выводит на экран текущее состояние очереди. Для каждого задания выводится идентификатор задания (Id), имя владельца (Owner), дата постановки в очередь или запуска (если задача уже стартовала) (Submitted), текущий статус (ST), приоритет (PRI) класс задания (Class) и название машины на которой запущена задача (Running On). Текущий статус (ST) может принимать следующие значения:

Ru ( Run ) -- задание выполняется в данный момент;
St ( Starting ) -- задание запускается, производиться предварительная работа;
Id ( Idle ) -- задание ожидает своей очереди на запуск;
Pe ( Pending ) -- задание временно приостановлено.

Более подробную информацию можно получить по команде: llq -l Для конкретной задачи по команде: llq -l <id задачи (колонка Id)>. Причину, по которой задание не ставится на выполнение, можно выяснить по команде: llq -s <id задания>.

Удаление задания из очереди

Для того чтобы удалить задание из очереди или снять его со счёта, нужно воспользоваться командой

llcancel <id задания>

Например: llcancel regatta.81327.0

llcancel -u $USER: удаляет из очереди все задания определённого пользователя.

Например: llcancel -u oz завершит все задачи пользователя oz, естественно если у вызывающего команду есть права завершать задачи пользователя oz.
Topic revision: r8 - 25 Jun 2013, CostyaZhukov
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback