Skip to content

Запуск задач в SLURM.

Система SLURM позволяет с помощью команд sbatch и srun работать соответственно в пакетном и интерактивном режимах. Пакетный режим является основным в работе с кластером. Полная информация об этих коммандах выдаётся с помощью команды man.

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

sbatch [опции] --wrap="srun <имя программы> [параметры программы]"

или

sbatch [опции] <имя скрипта> [параметры скрипта]

Минимальный скрипт может выглядеть так:

#!/bin/bash
srun myprogram param1 param2

Опции

  • -n <число процессов> если число процессов (tasks) не задано, то по умолчанию n=1.

  • -t <время> при отсутствии заказа времени для решения задачи выделяется по умолчанию 30 минут.

  • -N <кол-во узлов> задает число узлов (nodes) для задачи, если пользователю это важно.

Опции -w, -x, -С позволяют более гибко регулировать список узлов, допустимых для запуска задачи (см. man sbatch).

  • -w [nodename/range] - выделить заданию ресурсы узлов
  • -x [nodename/range] - не выделять заданию ресурсы узла

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

При запуске на кластере задача попадает в очередь заданий и ей присваивается уникальный идентификатор (ID). Для отмены выполнения задачи (ожидающей счета или уже стартовавшей) служит команда scancel:

  • scancel 565 345 # убрать из очереди задачи с указанными ID;
  • scancel -u u9999 # убрать из очереди все задачи пользователя u9999;
  • scancel --state=PENDING -u u9999 # убрать из очереди ожидающие запуска задачи пользователя u9999.

CTRL+C— снимает интерактивную задачу без фонового режима.

Просмотр информации о кластере

В результате запуска задача помещается в очередь и ей присваивается уникальный идентификатор (JOBID). Его можно узнать командами squeue, sacct.

  • squeue — просмотр очереди (информации о задачах, находящихся в счете или в очереди на счет); возможно использование ключей, например:

  • squeue --user=whoami # посмотреть только свои задачи;

  • squeue --states=RUNNING # посмотреть считающиеся задачи;
  • squeue --long # выдать более подробную информацию.

  • sacct — просмотр задач текущего пользователя за сутки (с начала текущего дня); возможно использование ключей, например:

    sacct -u u9999 --starttime 2019-01-01     # посмотреть все задачи пользователя u9999 с начала года.
    

  • sinfo — просмотр информации об узлах (прежде всего, о состоянии узлов: доступны, заняты, свободны, ...); возможно использование ключей, например:

    sinfo -s  # выдача суммарной информации о разделах кластера без детализации по узлам.
    

  • scontrol — выдача детальной информации об узлах, разделах, задачах

    • scontrol show node tesla34 # информация об узле, в частности, причине состояния drain, down;
    • scontrol show partition # о разделах;
    • scontrol show job 174457 # о задаче.