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, присвоенный задаче. |