Вычислительный кластер F (Oak)

1. Руководство пользователя кластерной ВС Oak

2. Конфигурация кластерной ВС Oak

Кластер Oak укомплектован 6 вычислительными узлами, управляющим узлом, вычислительной и сервисной сетями связи, а также системой бесперебойного электропитания.

Узлы построены на базе серверной платформы Intel S5520UR. На каждом узле размещено два четырёхядерных процессора Intel Xeon E5620 с тактовой частотой 2,4 GHz. Пиковая производительность кластера – 460 GFLOPS.

Конфигурация вычислительного узла

Системная платаIntel S5520UR
Процессор2 x Intel Xeon E5620 (2,4 GHz; Intel-64)
Оперативная память24 GB (6 x 4GB DDR3 1067 MHz)
Жесткий дискSATAII 250GB (Seagate Barracuda ST3250318AS)
Сетевая карта1 x Mellanox MT26428 InfiniBand QDR
2 x Intel Gigabit Ethernet (Intel 82575EB Gigabit Ethernet Controller)
КорпусRack mount 2U

Конфигурация управляющего узла

Системная платаIntel S5520UR
Процессор2 x Intel Xeon E5620 (2,4 GHz; Intel-64)
Оперативная память24 GB (6 x 4GB DDR3 1067 MHz)
Жесткий диск4 x SATAII 500 GB (Seagate Barracuda ST3500514NS)
Сетевая карта1 x Mellanox MT26428 InfiniBand QDR
2 x Intel Gigabit Ethernet (Intel 82575EB Gigabit Ethernet Controller)
КорпусRack mount 2U

Конфигурация коммуникационной среды

Сервисная сетьКоммутатор Gigabit Ethernet (D-Link DGS-1224T)
Вычислительная сетьКоммутатор Infiniband QDR (Mellanox InfiniScale IV IS5030 QDR 36-Port InfiniBand Switch)

Кластер размещен в 19’’ телекоммуникационном шкафу. Система бесперебойного электропитания имеет мощность 12kVA и построена на базе источников бесперебойного питания APC Smart-UPS XL 3000VA.

Oak

Рис. 1. Вычислительный кластер Oak:
1 – коммутатор вычислительной сети (Infiniband QDR); 2 – коммутатор сервисной сети (Gigabit Ethernet); 3 – управляющий узел; 4 – вычислительные узлы; 5 – источники бесперебойного электропитания

Oak

Рис. 2. Структура коммуникационной среды кластера Oak

Руководство пользователя кластерной ВС Oak

1. Подключение к кластеру

Доступ к кластеру (управляющему узлу) осуществляется по протоколу SSH. Адрес управляющего узла: oak.cpct.sibsutis.ru, порт 22.

Для пользователей операционных систем семейства Microsoft Windows рекомендуется использовать программу PuTTY.
Пример подключения к кластеру из операционной системы GNU/Linux:
$ ssh username@oak.cpct.sibsutis.ru
Для копирования файлов с/на кластер используется протокол SCP (для пользователь Microsoft Windows - WinSCP).
Пример копирования файла на кластер:
$ scp ~/code/src.c username@oak.cpct.sibsutis.ru:~/dest
Пример копирования файла с кластера:
$ scp username@oak.cpct.sibsutis.ru:~/data/src.c ~/home/dest

Также для копирования файлов на кластер и с кластера можно использовать Midnight Commander. Для этого необходимо выбрать пункт Shell link в меню Left или Right, затем ввести username@jet.cpct.sibsutis.ru в диалоговом окне. После этого в одной из панелей появится домашний каталог пользователя username на кластере.

2. Управление учетной записью

2.1. Изменение пароля

Для изменения пароля используйте команду passwd. Выполните команду passwd и введите текущий пароль (current, при вводе пароль не отображается). Затем введите новый пароль (New password). Повторно введите новый пароль (Retype new password).

$ passwd
Changing password for user ivanov.
Changing password for ivanov.
(current) UNIX password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

2.2. Дисковые квоты

Для просмотра дисковых квот используйте команду quota.

3. Компиляция и сборка последовательных программ

Сборка C-программы:

$ gcc -o prog ./prog.c

Сборка FORTRAN-программы:

$ gfortran -o prog ./prog.f

4. Компиляция и сборка OpenMP-программ

4.1. Сборка программ компиляторами проекта GNU

Сборка C-программы:

$ gcc –fopenmp –o prog ./prog.c

Сборка C++-программы:

$ g++ –fopenmp –o prog ./prog.c

Сборка FROTRAN-программы:

$ gfortran –fopenmp –o prog ./prog.f

5. Компиляция и сборка MPI-программ

Для компиляции и сборки MPI-программ служат команды mpicc, mpicxx, mpif77, mpif90.

Ниже приведен пример сборки C-программы.

$ mpicc –o mpiprog ./mpiprog.c

Пример сборки C++-программы.

$ mpicxx –o mpiprog ./mpiprog.cpp

Пример сборки Fortran-программы.

$ mpif90 –o mpiprog ./mpiprog.f

6. Система пакетной обработки заданий

6.1. Общие сведения и основные команды

На кластере Oak установлена система пакетной обработки заданий SLURM. Для запуска программы через систему пакетной обработки заданий необходимо подготовить паспорт задачи – файл, в котором указываются ресурсы, требуемые для выполнения программы.

Основные команды:
squeue - отображает состояние очереди и список задач в ней;
scontrol - выводит информацию о состоянии вычислительного кластера и системы пакетной обработки заданий;
sbatch - ставить задачу в очередь;
scancel - удаляет задачу из очереди;
salloc - выделяет подсистему для интерактивного выполнения программ (в реальном времени);
srun - запускает задачу на выполнение в реальном времени;
sinfo - показывает информацию об очередях;
smap - в графическом виде отображает состояние очередей;
sview - графический интерфейс для просмотра информации о состоянии вычислительных узлов и очередей;

Для запуска параллельных программ настроены две очереди задач: debug и release. Для каждой очереди заданы ограничения на время выполнения программ на ресурсах системы:
– очередь debug – 20 минут;
– очередь release – 7 суток.
Очередь по умолчанию – debug.

6.2. Запуск OpenMP-программ

Для запуска OpenMP-программы на кластере через систему очередей, необходимо подготовить паспорт задачи – файл, в котором указать ресурсы необходимые для ее выполнения программы (по умолчанию программа направляется в очередь debug). Для запуска программы необходимо подготовить файл с заданием. Ниже приведен пример такого файла с именем task.slurm.

 $ cat task.slurm 
 #!/bin/bash

 #SBATCH --nodes=1 --ntasks-per-node=8
 #SBATCH --job-name=omptask

 cd $SLURM_SUBMIT_DIR

 export OMP_NUM_THREADS=8

 ./test

Для постановки задания в очередь используется команда sbatch.

 $ sbatch task.slurm

По завершении работы программы в текущем каталоге будет создан файл с сообщениями, выводимыми во время ее выполнения. Имя файла slurm-N.out будет содержать порядковый номер N задания, выделенный ему системой очередей.

6.3. Запуск MPI-программ

Для запуска программы необходимо подготовить файл с заданием. Ниже приведен пример запуск 24 процессов MPI-программы. Для выполнения программы будет выделена подсистема из 3 вычислительных узлов по 8 процессов на каждом узле.

 #!/bin/bash

 #SBATCH --nodes=3 --ntasks-per-node=8
 #SBATCH --job-name=mpitask

 cd $SLURM_SUBMIT_DIR

 mpiexec ./test

Для постановки задания в очередь используется команда sbatch.

 $ sbatch task.slurm

По завершении работы программы в текущем каталоге будет создан файл с сообщениями, выводимыми во время ее выполнения. Имя файла slurm-N.out будет содержать порядковый номер N задания, выделенный ему системой очередей.

Для просмотра очереди задач служит команда squeue.

6.4. Постановка задач в очередь release

Для постановки задачи в очередь release необходимо в файле задания указать опцию #SBATCH --partition=release. Ниже приведен пример запуск 24 процессов MPI-программы.

 #!/bin/bash

 #SBATCH --nodes=3 --ntasks-per-node=8
 #SBATCH --job-name=mpitask
 #SBATCH --partition=release

 cd $SLURM_SUBMIT_DIR

 mpiexec ./test

6.5. Интерактивное выполнение программ

Выполнение программ в реальном времени возможно средствами комманд salloc и srun

7. Сеть Infiniband QDR

Для просмотра состояния вычислительной сети Infiniban QDR используйте команды ibnodes, ibstat, ibhosts, iblinkinfo и др.

Ссылки

1. CPU Intel® Xeon® E5620 specification // http://ark.intel.com/products/47925
2. MPI Forum // http://www.mpi-forum.org
3. OpenMP // http://www.openmp.org
4. PuTTY // http://www.chiark.greenend.org.uk/~sgtatham/putty/
5. WinSCP // http://winscp.net/eng/docs/lang:ru
7. Slurm Workload Manager // http://slurm.schedmd.com
8. Infiniband // http://pkg-ofed.alioth.debian.org/howto/infiniband-howto.html

Последнее изменение: October 17, 2015, at 12:43 PM editor