Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кластер-БФУ-1.2

.pdf
Скачиваний:
31
Добавлен:
23.03.2016
Размер:
2 Мб
Скачать

НОЦ "Информационно-коммуникационные технологии"

Система управления ресурсами 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