Проект

Общее

Профиль

Manual queue » История » Версия 4

Дмитрий Чубаров, 10.08.2018 15:38

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 4 Дмитрий Чубаров
Структура и состояние кластера отображается командой "@sinfo@":https://slurm.schedmd.com/sinfo.html
14 3 Дмитрий Чубаров
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, присвоенный задаче.