Кластер-БФУ-1.2
.pdf
НОЦ "Информационно-коммуникационные технологии"
Система управления ресурсами Slurm
Используется для запуска задач на узлах кластера.
Основные команды:
srun - интерактивный режим работы.
sbatch - установка задачи в очередь
В sbatch передаётся bash скрипт (в данном примере sample_sbatch) следующего вида:
Ключи
o--job-name
Устанавливает имя задачи (например #SBATCH --job-name=MyTask )
Имя используется для отслеживания вашей задачи в общей системе.
o--output
Определяет имя файла в котором будет содержатся вывод в консоль
o--error
Определяет имя файла с ошибками (компиляции и др.)
10
НОЦ "Информационно-коммуникационные технологии"
o--nodes
Количество запрашиваемых узлов
o--ntask-per-node
Количество задач на узел
sinfo - доступные узлы кластера
Из примера следуют, что кластер состоит из 56 узлов, из которых 4 доступны с именами от n2101 до n2104.
squeue - проверка очереди задач
Команда показывает номер, имя, время исполнения и статус задачи. Количество узлов и выделенные ресурсы.
scancel - удаление задачи из очереди.
Удаление задачи под номером 296 из очереди.
11
НОЦ "Информационно-коммуникационные технологии"
Компиляторы С/С++, MPI
Описаны следующие переменные окружения:
СС – компилятор языка С
CXX – компилятор языка С++
MPICC – компиляторы языка С с поддержкой MPI
MPICXX – компилятор языка С++ с поддержкой MPI
Все описанные выше компиляторы из пакета Intel Cluster Studio
Также можно использовать компиляторы напрямую.
Для запуска лучшим выбором станет srun.
MPI
Файл mpi_hello_full.c содержит рабочий код, использующий mpi.
Для компилирования можно использовать компиляторы из переменных окружения или компилировать напрямую.
12
НОЦ "Информационно-коммуникационные технологии"
Запуск MPI программы.
Для запуска воспользуемся командой sbatch, но передаваемый скрипт будет отличаться (пример скрипта можно найти в папке samples на кластере).
Подробно рассмотрим содержимое скрипта.
srun используется для формирования списка узлов во временном файле $MACHINEFILE.
Основной командой является mpiexec.hydra, которая запускает на выполнение программу.
Но mpiexec.hydra ./ИмяБинарногоФайла недостаточно для корректного запуска.
Ключи Не изменяемые:
--bootstrap slurm указывает, что в качестве системы управления ресурсами используется slurm
-f $MACHINEFILE указывает на файл, в котором содержится описание доступных узлов для запуска
-env I_MPI_DEVICE rdma:ofa-v2-$ определяет протокол передачи данных Изменяемые:
-n 4 Общее количество mpi процессов
-ppn 2 - количество процессов на одном физическом узле (по умолчанию mpi сам определит, параметр можно опустить)
Параметры следует подбирать по следующей формуле n/ppn=#SBATCH --nodes
13
НОЦ "Информационно-коммуникационные технологии"
В примере выше это правило не соблюдено.
Не сложно заметить, что из предоставленных 4-х физических узлов фактически используются только 2. Следовательно, задача, во-первых, занимает лишние вычислительные ресурсы и, во-вторых, при ожидании в очереди не может запуститься при наличии 2-х свободных узлов.
Очереди
Опция –p после команды sbatch позволяет выбрать очередь, в которую попадёт ваша задача. От выбора зависит количество узлов, типы узлов и максимальное время исполнения задачи.
Текущие очереди:
default_batch
oпредназначение MPI
oболее 24 узлов
o8гб оперативной памяти, 2 процессора по 4 ядра на узел
oВремя исполнения задачи на кластере ограничено 3-мя часами
Batch
oпредназначение MPI
o более 24 узлов
o 8гб оперативной памяти, 2 процессора по 4 ядра на узел
14
