Построение кластера Beowulf для ускорения мультифизического моделирования

Для эффективной работы многим из нас требуется современное аппаратное и программное обеспечение. Поэтому приходится идти в ногу с последними новинками техники. Но что делать с устаревшим оборудованием? Выбрасывать старую технику на свалку или убирать в дальний угол кажется расточительным. Более эффективное решение — построить из старого оборудования кластер Beowulf для ускорения вычислений.

О кластерах Beowulf

В 1994 году группа исследователей из NASA построила маленький кластер из обычных рабочих станций. Они назвали этот кластер или параллельную рабочую станцию «Beowulf». С тех пор “кластерами Beowulf” называются кластеры, построенные из оборудования потребительского класса (например, обычных ПК) с использованием программного обеспечения с открытым исходным кодом.

Под это определение подходит практически любое компьютерное оборудование и сетевые устройства. Наиболее важно то, что компьютеры не используются по своему прямому назначению, а вместо этого играют роль узлов кластера высокопроизводительных вычислений (HPC). Кластеры Beowulf можно использовать для решения любых задач, но, как мы писали ранее в серии статей «Гибридное моделирование» (Hybrid Modeling), добавочные вычислительные мощности кластера будут приносить пользу только на поддающихся распараллеливанию задачах. Поэтому кластеры Beowulf применяют для моделирования траекторий частиц, решения задач генетики и — что больше всего заинтересует пользователей COMSOL Multiphysics — для параметрического анализа и умножения больших матриц.

Но зачем строить кластер из оборудования, не предназначенного для высокопроизводительных вычислений? Один из ответов заключается в том, что это оборудование у нас уже есть. Например, если вы обновили офисный компьютер или ноутбук, вы, но возможно, не знаете, что делать со старой техникой, но и не хотите выбрасывать её. Кроме того, можно использовать совокупную вычислительную мощность компьютеров, простаивающих по вечерам и в выходные.

Что требуется для настройки кластера?

В первую очередь нам потребуется оборудование, которое мы собираемся использовать. Для этой статьи мы воспользовались нашими старыми верными ноутбуками, но с тем же успехом мы могли взять старые ПК или серверы. В любом случае, при построении кластера Beowulf желательно, чтобы его узлы состояли из сходного оборудования. Наши ноутбуки далеко не самые быстрые — на них установлены процессоры Intel® T2400 с тактовой частотой 1,83 ГГц и по 2 ГБ оперативной памяти. Они также снабжены сетевыми картами Ethernet, которые мы используем для соединения компьютеров в кластер. Для этого нам также потребуется коммутатор. Мы воспользовались старым коммутатором HP® 1800, но и здесь мы могли использовать обычную потребительскую технику (например, пятипортовый коммутатор для домашнего офиса) в зависимости от того, сколько узлов будет в нашем кластере.

Кластер Beowulf из старого коммутатора и шести старых ноутбуков
Наш кластер Beowulf построен из шести старых ноутбуков и старого коммутатора.

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

После настройки аппаратного обеспечения, сети, операционной системы и кластерной файловой системы остается только установить программный пакет COMSOL Multiphysics®. Установка интерфейса передачи сообщений (Message Parting Interface, MPI) или планировщика не требуется, поскольку программный пакет COMSOL уже содержит все необходимое для кластерных вычислений.

Настройка кластера Beowulf и установка COMSOL Multiphysics

Для нашего кластера мы выбрали Debian® Stable 6 — один из дистрибутивов, поддерживаемых в COMSOL Multiphysics на момент написания статьи. Далее мы перешли к настройке систем. В нашем сценарии мы попытались обойтись минимумом программ, установив только базовую систему с дополнительным сервером SSH для доступа к кластеру по сети. Графическая оболочка в нашем случае не требуется — она бы только снизила производительность нашей системы Beowulf.

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

/srv/data/comsolapp     Для приложения COMSOL
/srv/data/comsoljobs    Для хранения пользовательских задач пользовательскихна кластере COMSOL

Мы автоматически смонтировали эти совместно используемые файловые ресурсы на вычислительных узлах.

Так как на наших системах не установлена графическая оболочка, мы воспользуемся автоматизированным установщиком (см. стр. 77 COMSOL Multiphysics Installation Guide, руководства по установке COMSOL Multiphysics на английском языке).

Для нашей задачи мы изменили файл setupconfig.ini из установочного пакета. Самый важный шаг — изменить значение параметра showgui с 1 на 0. Кроме этого, важно указать путь назначения.

Здесь мы выбираем сетевую папку общего доступа, чтобы было проще поддерживать COMSOL Multiphysics и обновлять его до новых версий. Чтобы начать установку, просто добавьте параметр «-s path/to/the/setupconfig.ini», например:

cd /media/cdrom/
./setup –s /path/to/the/setupconfig.ini

После этого запускается текстовый установщик, который выводит информацию в командной строке. Чтобы указать COMSOL Multiphysics, какие вычислительные узлы можно использовать, нам потребуется написать простой файл mpd.hosts, содержащий список имен узлов:

mpd.hosts
cn01
cn02
...
cn06

Наконец, мы запускаем COMSOL Server на первом узле кластера из шести узлов:

//comsol server -f mpd.hosts -nn 6 -multi on

Теперь вы можете запустить COMSOL Multiphysics на своем компьютере и подключиться к серверу.

Результаты налицо: повышение производительности на старом оборудовании

Чтобы проверить работу нашего нового кластера, мы выбрали модифицированный вариант модели камертона (Tuning Fork), доступной в Галерее моделей. Для тестового запуска мы решили увеличить число параметров, вычисляемых при параметрическом анализе, до 48. После этого мы рассчитали модель с помощью команды batch в COMSOL Multiphysics, которая могла использовать от одного до шести ноутбуков. Вы можете увидеть статистику по выполненным задачам моделирования в сутки на графике ниже.

Гистограмма, показывающая прирост производительности при использовании кластеров Beowulf с COMSOL Multiphysics
Увеличение производительности (в задачах в сутки) с учетом полного времени от открытия файла до сохранения результата для разного числа используемых ноутбуков.

Как вы можете видеть, шесть ноутбуков могут решить почти 140 задач в сутки, а один ноутбук — не более 40 задач в сутки. В целом, мы ускорили работу почти в 3,5 раза. Учитывая то, что мы использовали старые ноутбуки, это впечатляющий результат.

Стоит заметить, правда, что измеряется не время решения задачи, а полное время выполнения моделирования. Оно включает в себя открытие, расчет и сохранение модели. Чтение и запись по своей природе — последовательные задачи, и закон Амдала (о котором мы упоминали в более ранней статье о пакетном анализе) говорит, что мы не видим истинного роста производительности решателя. Если мы дополним наш кластер Beowulf функциональными возможностями COMSOL Client/Server и еще раз сравним время вычисления, мы получим еще больший прирост производительности, чем показанный выше.

Таким образом, мы действительно можем использовать нашу старую технику для COMSOL Multiphysics, чтобы повысить производительность и ускорить вычисления, особенно параметрические.

Debian является зарегистрированным товарным знаком Software in the Public Interest, Inc. в Соединенных Штатах Америки. HP является зарегистрированным товарным знаком Hewlett-Packard Development Company, L.P. Intel является товарным знаком Intel Corporation в США и/или других странах. Linux является зарегистрированным товарным знаком Линуса Торвальдса.


Теги

Кластеры
Загрузка комментариев...

Темы публикаций


Теги

3D печать Cерия "Гибридное моделирование" Введение в среду разработки приложений Видео Волновые электромагнитные процессы Глазами пользователя Графен Интернет вещей Кластеры Моделирование высокочастотных электромагнитных явлений на различных пространственных масштабах Модуль AC/DC Модуль MEMS Модуль Акустика Модуль Волновая оптика Модуль Вычислительная гидродинамика Модуль Геометрическая оптика Модуль Динамика многих тел Модуль Композитные материалы Модуль Коррозия Модуль Механика конструкций Модуль Миксер Модуль Нелинейные конструкционные материалы Модуль Оптимизация Модуль Плазма Модуль Полупроводники Модуль Радиочастоты Модуль Роторная динамика Модуль Теплопередача Модуль Течение в трубопроводах Модуль Трассировка частиц Модуль Химические реакции Модуль Электрохимия Модуль аккумуляторов и топливных элементов Охлаждение испарением Пищевые технологии Рубрика Решатели Серия "Геотермальная энергия" Серия "Конструкционные материалы" Серия "Электрические машины" Серия “Моделирование зубчатых передач” Сертифицированные консультанты Технический контент Указания по применению физика спорта