Система очередей¶
Для доступа к ресурсам кластера используется система управления вычислительными ресурсами SLURM.
- Содержание
- Система очередей
Система выполняет как традиционные команды PBS (qsub, qstat), так и специфические команды SLURM.
Структура кластера¶
Структура и состояние кластера отображается командой sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST fogs up infinite 2 alloc fog[2,8] fogs up infinite 6 idle fog[1,3-7] fms up infinite 1 alloc fm1 fms up infinite 3 idle fm[2-4] preempt up infinite 4 alloc fm1,fog[2,8],mathserv preempt up infinite 10 idle fm[2-4],fog[1,3-7],ts preempt up infinite 1 down gis-eng3 all* up infinite 4 alloc fm1,fog[2,8],mathserv all* up infinite 10 idle fm[2-4],fog[1,3-7],ts all* up infinite 1 down gis-eng3
В структуре кластера выделены два подраздела fogs и fms, представляющие собой однородные кластеры
подраздел | число узлов | основной процессор | коммуникация | сопроцессор |
---|---|---|---|---|
fogs | 8 | 2x AMD O2435 | InfiniBand DDR | нет |
fms | 4 | 2x Intel Xeon X5675 | Gigabit Ethernet | 4x NVIDIA Tesla C2070 |
Все узлы кластера объединены в раздел all
. Раздел preempt
выделен для служебных задач.
Узел gis-eng3
служит головным узлом кластера и выведен из под управления SLURM.
Интерактивный режим¶
Команды SLURM¶
Для работы в интерактивном режиме необходимо
- Зарезервировать ресурсы командой
salloc
- Выполнять команды в рамках выделенных ресурсов командой
srun
- Освободить ресурсы командой
exit
Примеры:
Пример 1. Запуск нескольких команд на одном узле из раздела fms
¶
(gis-eng3)$ salloc -N1 -p fms --exclusive salloc: Granted job allocation 19877 (gis-eng3)$ srun /bin/hostname fm2.cl.localnet (gis-eng3)$ srun gcc --version gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. (gis-eng3)$ exit exit salloc: Relinquishing job allocation 19877
Пример 2. Запуск интерпретатора команд на узле¶
(gis-eng3)$ salloc -N1 -p fms --exclusive salloc: Granted job allocation 19878 (gis-eng3)$ srun --pty /bin/bash (fm2)$ /bin/hostname fm2.cl.localnet (fm2)$ gcc --version gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. (fm2)$ exit exit (gis-eng3)$ exit exit salloc: Relinquishing job allocation 19878
Этот вариант удобен, если выполняемые команды требуют установки переменных окружения.
Пример 3. Запуск команды одной строкой¶
(gis-eng3)$ srun -N1 -p fms /bin/hostname fm2.cl.localnet
Команды PBS¶
Команда qsub -I
эквивалентна команде salloc
Пример 4. Запуск команды в интерактивном режиме с помощью qsub и srun¶
(gis-eng3)$ qsub -I salloc: Granted job allocation 19880 (gis-eng3)$ srun /bin/hostname fm2.cl.localnet (gis-eng3)$ exit exit salloc: Relinquishing job allocation 19880
Пакетный режим¶
Команды SLURM¶
Для резервирования ресурсов и запуска задач в пакетном режиме используется команда sbatch
.
Аргументы для команды можно включить в текст скрипта пакетной задачи:
#!/bin/bash #SBATCH --nodes=1 #SBATCH --ntasks=1 #SBATCH --cpus-per-task=12 #SBATCH --partition=fms srun /bin/hostname
Поставить задачу в очередь на выполнение можно командой
sbatch slurm-test.job
Когда ресурсы освободятся, этот скрипт выполнится на одном из узлов из раздела
fms
.
Команды PBS¶
$ qsub qsub-test.sh
Скрипт qsub-test.sh
может использовать в качестве синтаксиса резервирования ресурсов как синтаксис Torque, так и синтаксис PBS Professional
#!/bin/bash # Using Torque syntax #PBS -q fms #PBS -l nodes=1:ppn=12 /bin/hostname
#!/bin/bash # Using PBS Professional syntax #PBS -q fms #PBS -l select=1:ncpus=12 /bin/hostname
При успешной постановке в очередь будет показан id, присвоенный задаче.
Команда qsub scriptname
эквивалентна команде с учетом трансляции директив #PBS
в директивы #SLURM
/usr/bin/sbatch -e scriptname.e%A -o scriptname.o%A scriptname 2>&1
Просмотр состояния очереди¶
Команды SLURM¶
Для отображения состояния очереди используется команда squeue
Формат отображения представлен ниже
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 19074 preempt gitlab-c root R 16-00:42:19 1 fog8 19246 all jupyter- user1 R 15-04:20:50 1 fog2 19257 all jupyter- user2 R 14-23:24:30 1 fm1 19868 all taverna user3 R 5:10:41 1 mathserv
Команды PBS¶
Команда qstat
отображает список задач в очереди в формате, привычном пользователям PBS
Job id Name Username Time Use S Queue ------------------- ---------------- --------------- -------- - --------------- 19074 gitlab-ci root 16:00:45 R preempt 19246 jupyter- user1 15:04:24 R all 19257 jupyter- user2 14:23:28 R all 19868 taverna user3 00:05:14 R all
Обновлено Дмитрий Чубаров больше 6 лет назад · 6 изменени(я, ий)