Бронирования

Вычислительная система Blue Gene/P, установленная на факультете ВМК МГУ имени М. В. Ломоносова, активно используется в образовательном процессе. Она применяется как в рамках спецкурсов факультета ВМК и кафедральных практикумов, так и в межфакультетских учебных курсах.

На время аудиторных занятий и для подготовки домашних занятий на системе BG/P для студентов выделяются так называемые «бронирования» (reservations) — разделы, выделенные эксклюзивно для студентов практикума. График выделения зарезервированных разделов студенты могут узнать у своего преподавателя.

Информация о бронированиях

Список бронирований можно получить с помощью команды

$> llqres

Она выведет список примерно следующего вида:

ID                       Owner      ST Start Time  Duration #Nodes #BG C-nodes
------------------------ ---------- -- ----------- -------- ------ -----------
fen1.22.r                loadl      A   2/14 20:55      190      0         512
fen1.21.r                loadl      W   2/15 12:10      105      0         512

Бронирования, на которых задача может быть запущена в текущий период времени, называются активными и помечаются буквой «A» (active). Если задача прикрепляется к бронированию, а заказанное время счета больше, чем оставшееся время активности бронирования, то задача не будет принята на счет и останется в статусе ожидания «I» (idle), либо не будет рассмотрена планировщиком (статус «NQ»).

Неактивные бронирования помечаются буквой «W» (waiting). Если задача прикреплена к неактивному бронированию, то она будет принята на исполнение только тогда, когда бронирование станет активным.

Подробную информацию о бронировании можно получить, воспользовавшись ключами -l и -R, указав для последнего идентификатор бронирования:

$> llqres -l -R fen1.21.r

Поле вывода Groups этой команды указывает, какие Unix-группы пользователей могут использовать данное бронирование. Чтобы узнать, к каким группам принадлежите вы, выполните команду

$> groups

Если в выводе команды llqres -l -R <ll_res_id> вы не нашли свою группу, но нашли свое имя в поле Users, то вам также можно воспользоваться данным бронированием.

Бронирования, для которых в поле вывода Binding Method указано soft, обладают следующей особенностью. Если запрашивается больше процессорных узлов, чем доступно в пределах бронирования, и вне бронирования есть это недостающее количество процессорных узлов, то задача будет принята на счет. Однако опыт эксплуатации системы показывает, что рассчитывать на это не стоит, потому что вычислительный комплекс, как правило, загружен полностью, и достаточного числа свободных процессорных узлов вне бронирования, почти никогда не бывает.

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

Управление заданиями

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

Если вы предпочитаете запускать задачи с помощью командных файлов планировщика, то укажите значение переменной окружения LL_RES_ID с помощью ключевого слова environment.

Если вы используете скрипт mpisubmit.bg, то задайте значение переменной окружения LL_RES_ID непосредственно перед командой:

$> LL_RES_ID=<ll_res_id> mpisubmit.bg -n 128 -w 3:00 a.out arg1 arg2

(Конечно же, вместо <ll_res_id> необходимо указывать конкретный идентификатор бронирования — один из тех, которые выдает команда llqres.)

Чтобы прикрепить задачу <job_id>, находяющуюся в общей очереди, к конкретному бронированию <ll_res_id>, примените команду

$> llbind -R <ll_res_id> <job_id>

Чтобы перевести задачу <job_id> в общую очередь, используйте ключ -r:

$> llbind -r <job_id>

Задачи, прикрепленные к бронированию

Чтобы просмотреть список задач, ассоциированных с бронированием <ll_res_id>, необходимо выполнить команду

$> llbind -R <job_id>