Тестирование вычислительного кластера на базе учебной лаборатории университета
Автор: Савостин Игорь Анатольевич, Горбунов Александр Николаевич
Статья в выпуске: 2 (12), 2018 года.
Бесплатный доступ
Данная статья описывает процесс и результаты тестирования вычислительного кластера, развернутого на мощностях учебной лаборатории 408 кафедры ИиПО БГТУ. Для тестирования был применён стандартный тест Linpack.
Кластер, параллельные вычисления, Linux, MPICH, Linpack, HPC, HPL
Короткий адрес: https://sciup.org/140234418
IDR: 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