Форма поиска

 

Вычисления на кластере Huawei

 

Ввод в эксплуатацию: начало 2016 года.

Технические характеристики

Общее техническое описание кластера Huawei приведено на этой странице.

№ п/п Параметр Значение
1 Общее количество вычислительных узлов 30
2 Количество вычислительных узлов с GPU 10
3 Модель  процессора (CPU)

Intel Xeon E5-2680 v3

(mmx, sse, sse2, ssse3, sse4_1, sse4_2, avx2)

4 Базовая тактовая частота CPU 2,5 ГГц
5 Количество CPU на узле 2
6 Количество ядер CPU на узле 24
7 Всего ядер CPU в кластере 720
8 Модель графического ускорителя (GPU) NVIDIA Tesla K40
9 Количество GPU на узле 2
10 Количество оперативной памяти на одном узле 128 ГБ
11 Всего оперативной памяти  3,8 ТБ
12 Объем жесткого диска на узле 300 ГБ
13

Производительность:

1) Число операций с вещественными числами одинарной точности (32 бита) за 1 такт на 1 ядре процессора (с инструкциями AVX2):

2) Число операций с вещественными числами двойной точности (64 бита) за 1 такт на 1 ядре процессора  (с инструкциями AVX2):

3) Пиковая производительность кластера  (30 узлов с CPU без режима Turbo Boost):

4) Максимальная производительность кластера на тесте Linpack (30 узлов с CPU без режима Turbo Boost):

5) Максимальная производительность кластера на тесте Linpack (10 узлов с CPU+GPU без режима Turbo Boost и GPU Boost):

 

 

32

 

16

 

28 Тфлопс (64-bit) и 56 Тфлопс (32-bit) 

 

21 Тфлопс (64-bit) 

 

19 Тфлопс (64-bit) 

 

14 Сеть infiniband 56 Гбит/с

 

Разрешение для вычислений

Для получения разрешения проводить вычисляния на кластере Hauwei необходимо подать заявку на исследование через систему Научного Парка СПбГУ. Процедура получения доступа к ПО более подродно описана в разделе "Информация для пользователей".

 

Очереди на кластере

На данный момент на кластере существует 3 очереди, в которые пользователь может ставить свои задачи:

- Очередь <short> - предназначена для отладки программ на ядрах CPU или GPU. Для этой очереди выделен один вычислительный узел - node-030.

- Очередь <long> - предназначена для запуска задач на ядрах CPU, требующих не более двух недель реального времени счета. Одновременно можно запустить не более пяти задач.

- Очередь <gpu> - предназначена для запуска задач, которые требуют для расчетов использование «совместной обработки данных» на CPU и GPU (ядер на центральном процессоре и графических процессоров). В эту очередь входят 9 узлов: node-021 - node-029.

 

Принцип работы с кластером

Запуск расчетов на кластере производится с пользовательской виртуальной машины РЦ ВЦ (далее ВМ), на которой установлена либо ОС Linux CentOS 6 (далее Linux), либо Microsoft Windows 7 (далее Windows). Вход на ВМ с Linux пользователь осуществляет со своего ПК по протоколу SSH, а на ВМ с Windows по протоколу RDP (логин и пароль, для аутентификации, должны быть получены в нашем Центре).  Далее, используя команды менеджера ресурсов PBS Torque 6.0, пользователь ставит свои задачи на кластер (без непосредственного захода на узлы кластера). Оптимальным распределением уже поставленных в очередь задач занимается планировщик Moab 9.0. Во время вычислений домашняя директория пользователя /home/<user_name> на ВМ монтируется на узлы кластера (где производятся вычисления). Поэтому, все выходные данные сохраняются в его домашней директории на ВМ.  

 

Запуск расчетов (на примере ВМ Linux)

1) Пользователь заходит на свою ВМ, которая расположена , по протоколу SSH  и сразу попадает в свою домашнюю директорию, откуда и будет производить запуск расчетов на кластере.  

2) В начале, необходимо выполнить следующую команду (её можно добавить в ~/.bashrc, чтобы не выполнять перед каждым запуском):

[user_name@host_name ~]$ export PATH=/mnt/rhel-6/huawei/torque/6.0.0/bin/:$PATH

3) Для постановки задачи в очередь выполните команду:

[user_name@host_name ~]$ qsub -q <очередь> <скрипт>

Параметр <очередь> может принимать одно из трех значений: short, long, gpu.

Если не указать параметр "-q", то задача будет поставлена в очередь по умолчанию - очередь <long>.

Параметр <скрипт> задает тот скрипт, что будет поставлен в очередь, а затем запущен на кластере (собственно, пользовательская задача).

Так, для запуска тестового примера ~/examples/helloworld.sh на кластере Huawei (очередь short) выполните:

[user_name@host_name ~]$ qsub -q short ~/examples/helloworld.sh

Для запуска тестового примера ~/examples/helloworld.sh на 10 ядрах (очередь long) выполните:

[user_name@host_name ~]$ qsub –l select=10 -q long ~/examples/helloworld.sh

4) По окончании расчетов в директории, из которой выполнялась команда "qsub", появятся два файла с именами  <имя_задачи>.o<id_задачи> (стандартный вывод) и <имя_задачи>.e<id_задачи> (ошибки). Для указанных примеров имена файлов будут приблизительно следующими:

helloworld.sh.o15161  
helloworld.sh.e15161

В них будут содержаться стандартный вывод программы и ошибки (если есть).

Некоторые опции команды qsub:

-q <имя_очереди> – выбор очереди для постановки задачи. Пример: qsub –q long

-l select=<количество_ядер> - задает количество ядер на которых будет запущена задача.

-M <e-mail> -  адрес получателя, или список адресов получателей через запятую, которым будут отправлены уведомления. По умолчанию — хозяин задачи. Пример: qsub –M test@cc.spbu.ru

-d <путь> - определяет рабочую директорию для задания. Если не задана, то рабочей является домашняя директория пользователя.

-m aben - события, при которых отправлять уведомления по e-mail. a — в случае аварийного прекращения задачи, b — в момент запуска задачи, e — в момент завершения задачи, — не отправлять уведомления. Можно указать несколько букв из abe или одну букву n. По умолчанию используется только a.

 

Просмотр статуса выполнения задачи

Посмотреть текущее состояние очереди можно командой

[user_name@host_name ~]$ qstat  [-a|-f|-n <номер задачи>] 

Ключи, указанные в скобках являются необязательными. Ниже описаны значения ключей.

-a -a <номер задачи> <номер задачи>- просмотр расширенной информации о задаче;

-f <номер задачи> -f <номер задачи> - показать детальную информацию о задаче (если указан номер задачи, или обо всех задачах, если он не указан);

-n <номер задачи> -n <номер задчи>- показать на каких именно узлах выполняется задача;

-u <имя_пользователя> - показать все задами пользователя <имя_пользователя>;

-q – информация об очередях кластера.

 

Удаление задач

Удаление задачи выполняется командой qdel <номер задачи>, пример:

[user_name@host_name ~]$ qdel 15145