Manual queue » История » Версия 3
Дмитрий Чубаров, 10.08.2018 14:14
| 1 | 1 | Владимир Кихтенко | h1. Система очередей |
|---|---|---|---|
| 2 | |||
| 3 | 3 | Дмитрий Чубаров | Для доступа к ресурсам кластера используется система управления вычислительными ресурсами "SLURM":https://slurm.schedmd.com/. |
| 4 | 1 | Владимир Кихтенко | |
| 5 | {{toc}} |
||
| 6 | |||
| 7 | h2. Использование |
||
| 8 | |||
| 9 | 3 | Дмитрий Чубаров | Система выполняет как традиционные команды PBS (qsub, qstat), так и специфические команды SLURM. |
| 10 | 1 | Владимир Кихтенко | |
| 11 | 3 | Дмитрий Чубаров | h3. Структура кластера |
| 12 | |||
| 13 | Структура и состояние кластера отображается командой @sinfo@ |
||
| 14 | |||
| 15 | 1 | Владимир Кихтенко | <pre> |
| 16 | 3 | Дмитрий Чубаров | PARTITION AVAIL TIMELIMIT NODES STATE NODELIST |
| 17 | fogs up infinite 2 alloc fog[2,8] |
||
| 18 | fogs up infinite 6 idle fog[1,3-7] |
||
| 19 | fms up infinite 1 alloc fm1 |
||
| 20 | fms up infinite 3 idle fm[2-4] |
||
| 21 | preempt up infinite 4 alloc fm1,fog[2,8],mathserv |
||
| 22 | preempt up infinite 10 idle fm[2-4],fog[1,3-7],ts |
||
| 23 | preempt up infinite 1 down gis-eng3 |
||
| 24 | all* up infinite 4 alloc fm1,fog[2,8],mathserv |
||
| 25 | all* up infinite 10 idle fm[2-4],fog[1,3-7],ts |
||
| 26 | all* up infinite 1 down gis-eng3 |
||
| 27 | </pre> |
||
| 28 | 1 | Владимир Кихтенко | |
| 29 | 3 | Дмитрий Чубаров | В структуре кластера выделены два подраздела fogs и fms, представляющие собой однородные кластеры |
| 30 | 1 | Владимир Кихтенко | |
| 31 | 3 | Дмитрий Чубаров | |_. подраздел |_. число узлов |_. основной процессор |_. коммуникация |_. сопроцессор | |
| 32 | | fogs | 8 | 2x AMD O2435 | InfiniBand DDR | нет | |
||
| 33 | | fms | 4 | 2x Intel Xeon X5675 | Gigabit Ethernet | 4x NVIDIA Tesla C2070 | |
||
| 34 | |||
| 35 | Все узлы кластера объединены в раздел @all@. Раздел @preempt@ выделен для служебных задач. |
||
| 36 | |||
| 37 | Узел @gis-eng3@ служит головным узлом кластера и выведен из под управления SLURM. |
||
| 38 | |||
| 39 | h3. Интерактивный режим |
||
| 40 | |||
| 41 | h4. Команды SLURM |
||
| 42 | |||
| 43 | Для работы в интерактивном режиме необходимо |
||
| 44 | |||
| 45 | # Зарезервировать ресурсы командой @salloc@ |
||
| 46 | # Выполнять команды в рамках выделенных ресурсов командой srun |
||
| 47 | # Освободить ресурсы командой @exit@ |
||
| 48 | |||
| 49 | Примеры: |
||
| 50 | |||
| 51 | h5. Пример 1. Запуск нескольких команд на одном узле из раздела @fms@ |
||
| 52 | |||
| 53 | 1 | Владимир Кихтенко | <pre> |
| 54 | 3 | Дмитрий Чубаров | (gis-eng3)$ salloc -N1 -p fms --exclusive |
| 55 | salloc: Granted job allocation 19877 |
||
| 56 | (gis-eng3)$ srun /bin/hostname |
||
| 57 | fm2.cl.localnet |
||
| 58 | (gis-eng3)$ srun gcc --version |
||
| 59 | gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28) |
||
| 60 | Copyright (C) 2015 Free Software Foundation, Inc. |
||
| 61 | This is free software; see the source for copying conditions. There is NO |
||
| 62 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
||
| 63 | |||
| 64 | (gis-eng3)$ exit |
||
| 65 | exit |
||
| 66 | salloc: Relinquishing job allocation 19877 |
||
| 67 | 1 | Владимир Кихтенко | </pre> |
| 68 | |||
| 69 | 3 | Дмитрий Чубаров | h5. Пример 2. Запуск интерпретатора команд на узле |
| 70 | 1 | Владимир Кихтенко | |
| 71 | <pre> |
||
| 72 | 3 | Дмитрий Чубаров | (gis-eng3)$ salloc -N1 -p fms --exclusive |
| 73 | salloc: Granted job allocation 19878 |
||
| 74 | (gis-eng3)$ srun --pty /bin/bash |
||
| 75 | (fm2)$ /bin/hostname |
||
| 76 | fm2.cl.localnet |
||
| 77 | (fm2)$ gcc --version |
||
| 78 | gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28) |
||
| 79 | Copyright (C) 2015 Free Software Foundation, Inc. |
||
| 80 | This is free software; see the source for copying conditions. There is NO |
||
| 81 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
||
| 82 | |||
| 83 | (fm2)$ exit |
||
| 84 | exit |
||
| 85 | (gis-eng3)$ exit |
||
| 86 | exit |
||
| 87 | salloc: Relinquishing job allocation 19878 |
||
| 88 | 1 | Владимир Кихтенко | </pre> |
| 89 | 3 | Дмитрий Чубаров | Этот вариант удобен, если выполняемые команды требуют установки переменных окружения. |
| 90 | 1 | Владимир Кихтенко | |
| 91 | 3 | Дмитрий Чубаров | h5. Пример 3. Запуск команды одной строкой |
| 92 | 1 | Владимир Кихтенко | |
| 93 | <pre> |
||
| 94 | 3 | Дмитрий Чубаров | (gis-eng3)$ srun -N1 -p fms /bin/hostname |
| 95 | fm2.cl.localnet |
||
| 96 | 1 | Владимир Кихтенко | </pre> |
| 97 | |||
| 98 | 3 | Дмитрий Чубаров | h4. Команды PBS |
| 99 | 1 | Владимир Кихтенко | |
| 100 | 3 | Дмитрий Чубаров | Команда @qsub -I@ эквивалентна команде @salloc@ |
| 101 | 1 | Владимир Кихтенко | |
| 102 | 3 | Дмитрий Чубаров | h5. Пример 4 |
| 103 | |||
| 104 | 1 | Владимир Кихтенко | <pre> |
| 105 | 3 | Дмитрий Чубаров | (gis-eng3)$ qsub -I |
| 106 | salloc: Granted job allocation 19880 |
||
| 107 | (gis-eng3)$ srun /bin/hostname |
||
| 108 | fm2.cl.localnet |
||
| 109 | (gis-eng3)$ exit |
||
| 110 | exit |
||
| 111 | salloc: Relinquishing job allocation 19880 |
||
| 112 | 1 | Владимир Кихтенко | </pre> |
| 113 | |||
| 114 | 3 | Дмитрий Чубаров | h3. Пакетный режим |
| 115 | |||
| 116 | h4. Команды SLURM |
||
| 117 | |||
| 118 | Для резервирования ресурсов и запуска задач в пакетном режиме используется команда @sbatch@. |
||
| 119 | |||
| 120 | Аргументы для команды можно включить в текст скрипта пакетной задачи: |
||
| 121 | |||
| 122 | <pre> |
||
| 123 | #!/bin/bash |
||
| 124 | #SBATCH --nodes=1 |
||
| 125 | #SBATCH --ntasks=1 |
||
| 126 | #SBATCH --cpus-per-task=12 |
||
| 127 | #SBATCH --partition=fms |
||
| 128 | |||
| 129 | srun /bin/hostname |
||
| 130 | </pre> |
||
| 131 | |||
| 132 | Поставить задачу в очередь на выполнение можно командой |
||
| 133 | <pre> |
||
| 134 | sbatch slurm-test.job |
||
| 135 | </pre> |
||
| 136 | Когда ресурсы освободятся, этот скрипт выполнится на одном из узлов из раздела @fms@. |
||
| 137 | |||
| 138 | h4. Команды PBS |
||
| 139 | |||
| 140 | <pre> |
||
| 141 | $ qsub qsub-test.sh |
||
| 142 | </pre> |
||
| 143 | |||
| 144 | Скрипт @qsub-test.sh@ может использовать в качестве синтаксиса резервирования ресурсов как синтаксис Torque, так и синтаксис PBS Professional |
||
| 145 | |||
| 146 | <pre> |
||
| 147 | #!/bin/bash |
||
| 148 | # Using Torque syntax |
||
| 149 | #PBS -q fms |
||
| 150 | #PBS -l nodes=1:ppn=12 |
||
| 151 | |||
| 152 | /bin/hostname |
||
| 153 | </pre> |
||
| 154 | |||
| 155 | <pre> |
||
| 156 | #!/bin/bash |
||
| 157 | # Using PBS Professional syntax |
||
| 158 | #PBS -q fms |
||
| 159 | #PBS -l select=1:ncpus=12 |
||
| 160 | |||
| 161 | /bin/hostname |
||
| 162 | </pre> |
||
| 163 | |||
| 164 | При успешной постановке в очередь будет показан id, присвоенный задаче. |