Тестирование вычислительного кластера на базе учебной лаборатории университета

Савостин Игорь Анатольевич Горбунов Александр Николаевич

Журнал: Вестник образовательного консорциума Среднерусский университет. Информационные технологии @vestnik-university

Статья в выпуске: 2 (12), 2018 года.

Бесплатный доступ

Данная статья описывает процесс и результаты тестирования вычислительного кластера, развернутого на мощностях учебной лаборатории 408 кафедры ИиПО БГТУ. Для тестирования был применён стандартный тест Linpack.

кластер \ параллельные вычисления \ Linux \ MPICH \ Linpack \ HPC \ HPL

Похожие статьи в разделе Программные средства

Вычислительный кластер на базе учебной лаборатории
Вычислительный кластер на базе учебной лаборатории

Бруев Михаил Олегович, Горбунов Александр Николаевич

Построение вычислительного кластера на базе учебной лаборатории
Построение вычислительного кластера на базе учебной лаборатории

Бруев Михаил Олегович, Горбунов Александр Николаевич

Распараллеливание тестов NAS NPB для сопроцессора Intel Xeon Phi на языке Fortran-DVMH
Распараллеливание тестов NAS NPB для сопроцессора Intel Xeon Phi на языке Fortran-DVMH

Алексахин Валерий Федорович, Бахтин Владимир Александрович, Жукова Ольга Федоровна, Колганов Александр Сергеевич, Крюков Виктор Алексеевич, Островская Ирина Петровна, Поддерюгина Наталия Викторовна, Притула Михаил Николаевич, Савицкая Ольга Антониевна

Создание MPICH2 кластера на базе учебной лаборатории
Создание MPICH2 кластера на базе учебной лаборатории

Савостин Игорь Анатольевич, Горбунов Александр Николаевич

Разработка системы анализа производительности приложений для мобильных платформ
Разработка системы анализа производительности приложений для мобильных платформ

Петренко Евгений Викторович, Черных Игорь Геннадьевич, Куликов Игорь Михайлович

Короткий адрес: https://sciup.org/140234418

IDS: 140234418

Текст научной статьи Тестирование вычислительного кластера на базе учебной лаборатории университета

Инфраструктура

Для теста была использована лаборатория, состоящая из 15 машин с Intel Core i3 третьего поколения и 4 Гб оперативной памяти. 16 машиной был ноутбук автора исследования с Intel Core i5 третьего поколения и 8 Гб оперативной памяти. Так как количество памяти, задействованное в тесте, было строго фиксированным и на всех машинах составило 3.5 Гб, а процессоры десктопов и ноутбука, согласно тестам производительности, примерно равны, можно считать, что тест проводился на 16 одинаковых машинах. Итого, 64 ядра.

Машины соединены кафедральной сетью с топологией звезда. Используются недорогие маршрутизаторы потребительского сегмента. В качестве операционной системы выступает Debian GNU/Linux 9 Stretch на главной машине и сильно кастомизированные легкие образы (ядро + initramfs + busybox + dropbear + mpich) на обычных узлах кластера. В роли теста производительности выступает Linpack в его параллельной версии, именуемой HPL. Данный тест является стандартным тестом «ядра»: на результаты влияет производительность процессоров, памяти, сети.

Тестирование

Для получения графика зависимости производительности от количества ядер была проведена серия запусков теста HPL на различных аппаратных конфигурациях.

Перед каждым запуском с помощью специального конфигуратора создавался файл настроек теста, позволяющий подбирать оптимальные параметры в зависимости от доступных аппаратных ресурсов. Также был проведен дополнительный запуск теста на той же мощности, но с использованием одной машины, подключенной к другому маршрутизатору в сети кафедры. При этом, для одной машины стал более длинным путь следования пакетов.

Результаты

По результатам проведенного тестирования был построен график (Рис. 1).

Максимальная производительность кластера - 51 GFlops, однако выявилась следующая тенденция: сначала производительность растет линейно с увеличением количества машин. При достижении «планки» в 32 ядра, наблюдается снижение роста производительности. Также стоит отметить некий разброс значений производительности около линии тренда. При включении компьютера, использующего другой маршрутизатор, производительность незначительно падала. Эти факты обусловлены используемой локальной сетью.

Во-первых, использование недорогого оборудования серьезно ограничивает потенциальную вычислительную мощность кластера. При достаточной процессорной мощности, сеть становится «бутылочным горлышком». В таких условиях, при написании параллельных программ следует

Рис. 1. График масштабируемости

смещать баланс в сторону увеличения фрагментов задачи, отдаваемых каждой машине, чтобы разгрузить сеть. Во-вторых, работа в действующей кафедральной сети чревата нестабильностью в результатах, относительно производительности, так как другие пользователи могут инициировать процессы, создающие повышенную нагрузку на сеть и, тем самым, мешающие вычислениям. В-третьих, для организации вычислений, интенсивно использующих сеть (например, тот же Linpack решает СЛАУ методом LU-разложения, что требует многочисленных пересылок элементов матрицы между машинами), хорошим вариантом будет объединение машин в рамках одного сегмента локальной сети с высокопроизводительным маршрутизатором.

Список литературы Тестирование вычислительного кластера на базе учебной лаборатории университета

  • Setting Up an MPICH2 Cluster in Ubuntu — [режим доступа]: https://help.ubuntu.com/community/MpichCluster
  • Теория и практика использования SSH (ssh crypt security) — [режим доступа]: https://www.opennet.ru/base/sec/ssh_intro.txt.html
  • Permissions on private key in .ssh folder? – [режим доступа]: http://superuser.com/questions/215504/permissions-on-private-key-in-ssh-folder
  • Тестирование с использованием теста Linpack? – [режим доступа]: https://docs.google.com/document/d/1DCUGcKyJ_6OJZoeCt79z66XGoOhgHpIVdFZzxcwI02g/edit?usp=sharing