Manual queue » История » Редакция 4
Редакция 3 (Дмитрий Чубаров, 10.08.2018 14:14) → Редакция 4/6 (Дмитрий Чубаров, 10.08.2018 15:38)
h1. Система очередей Для доступа к ресурсам кластера используется система управления вычислительными ресурсами "SLURM":https://slurm.schedmd.com/. {{toc}} h2. Использование Система выполняет как традиционные команды PBS (qsub, qstat), так и специфические команды SLURM. h3. Структура кластера Структура и состояние кластера отображается командой "@sinfo@":https://slurm.schedmd.com/sinfo.html @sinfo@ <pre> 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 </pre> В структуре кластера выделены два подраздела 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. h3. Интерактивный режим h4. Команды SLURM Для работы в интерактивном режиме необходимо # Зарезервировать ресурсы командой @salloc@ # Выполнять команды в рамках выделенных ресурсов командой srun # Освободить ресурсы командой @exit@ Примеры: h5. Пример 1. Запуск нескольких команд на одном узле из раздела @fms@ <pre> (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 </pre> h5. Пример 2. Запуск интерпретатора команд на узле <pre> (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 </pre> Этот вариант удобен, если выполняемые команды требуют установки переменных окружения. h5. Пример 3. Запуск команды одной строкой <pre> (gis-eng3)$ srun -N1 -p fms /bin/hostname fm2.cl.localnet </pre> h4. Команды PBS Команда @qsub -I@ эквивалентна команде @salloc@ h5. Пример 4 <pre> (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 </pre> h3. Пакетный режим h4. Команды SLURM Для резервирования ресурсов и запуска задач в пакетном режиме используется команда @sbatch@. Аргументы для команды можно включить в текст скрипта пакетной задачи: <pre> #!/bin/bash #SBATCH --nodes=1 #SBATCH --ntasks=1 #SBATCH --cpus-per-task=12 #SBATCH --partition=fms srun /bin/hostname </pre> Поставить задачу в очередь на выполнение можно командой <pre> sbatch slurm-test.job </pre> Когда ресурсы освободятся, этот скрипт выполнится на одном из узлов из раздела @fms@. h4. Команды PBS <pre> $ qsub qsub-test.sh </pre> Скрипт @qsub-test.sh@ может использовать в качестве синтаксиса резервирования ресурсов как синтаксис Torque, так и синтаксис PBS Professional <pre> #!/bin/bash # Using Torque syntax #PBS -q fms #PBS -l nodes=1:ppn=12 /bin/hostname </pre> <pre> #!/bin/bash # Using PBS Professional syntax #PBS -q fms #PBS -l select=1:ncpus=12 /bin/hostname </pre> При успешной постановке в очередь будет показан id, присвоенный задаче.