Вычислительный кластер 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.
Рис. 1. Вычислительный кластер Oak:
1 – коммутатор вычислительной сети (Infiniband QDR); 2 – коммутатор сервисной сети (Gigabit Ethernet);
3 – управляющий узел; 4 – вычислительные узлы;
5 – источники бесперебойного электропитания
Рис. 2. Структура коммуникационной среды кластера Oak
Руководство пользователя кластерной ВС Oak
1. Подключение к кластеру
Доступ к кластеру (управляющему узлу) осуществляется по протоколу SSH. Адрес управляющего узла: oak.cpct.sibsutis.ru
, порт 22.
Пример подключения к кластеру из операционной системы 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