Штучная работа. Как мы собрали суперкомпьютер для моделирования новых материалов

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Далеко не каждый день получаешь заказ на сборку суперкомпьютерного комплекса. Эта работа и раньше не была простой, а сейчас все еще сложнее. Однако наша команда экспертов из направления HPC в К2Тех выполнила эту задачу: разработала проект, нашла поставщиков, протестировала оборудование, доставила его за Урал и установила на площадке Центра НТИ по Новым функциональным материалам в Новосибирском госуниверситете.

Под катом – подробный рассказ о том, на что ориентироваться при выборе железа для HPC, какое ПО работает на новом российском суперкомпьютере и как мы настраивали интерконнект «Ангара».

Системы высокопроизводительных вычислений (High Performance Computing, HPC) создаются под заранее определенные, часто исследовательские задачи, и этот проект — не исключение. В России существует порядка 20 центров Национальной технологической инициативы (НТИ). Один из них — Центр НТИ на базе Новосибирского государственного университета, — в 2022 году приступил к реализации программы развития сквозной технологии в области моделирования и разработки новых функциональных материалов с заданными свойствами.

Это задача крайне непростая и вряд ли осуществимая даже на мощных серверах. Чтобы исследования не растянулись на годы, нужен был суперкомпьютер.

HPC в этом случае должна решать широкий спектр задач:

  • Дизайн материалов для термобарьерных покрытий; 

  • Разработка подходов, физико-математических моделей и программного обеспечения для моделирования процесса горения материалов и конструкций; 

  • Компьютерное материаловедение многокомпонентных наноструктурных эластомерных материалов с заданными свойствами для экстремальных условий эксплуатации; 

  • Разработка технологических процессов производства деталей и узлов  газотурбинных установок из новых модифицированных сплавов с многослойным теплозащитным покрытием. 

Центру НТИ требовалась система, которая потянет создание цифровых двойников целых технологических процессов и избавит исследователей от необходимости проводить многочисленные натурные испытания. В результате разработка новых материалов будет идти гораздо быстрее.

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

Что нам стоит HPC построить?

Любая система высокопроизводительных вычислений состоит из трех частей:

  • серверного оборудования (управляющие серверы, вычислительная подсистема, хранилища данных и подсистема резервного копирования);

  • телекоммуникационной части, которая отвечает за связь компонентов суперкомпьютера между собой;

  • инженерной системы (охлаждение, питание).

Спроектировать все это и подружить компоненты между собой само по себе непросто, но основным ограничением по проекту всегда выступает бюджет. Нужно выбрать вычислительные узлы, СХД, интерконнект с максимальными параметрами в пересчете на рубль вложенных средств.

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

Одни задачи требуют большого количества вычислительных ядер процессора, а требования к частоте и кэшу могут быть низкими. В других задачах, наоборот, нужны процессоры с высокой частотой и кэшем, большое количество RAM и так далее. Кстати, из-за больших объемов ОЗУ на производительность HPC сильно влияет число каналов памяти, которое поддерживают процессоры.

Если взять шире, то имеет значение все — от процессоров, видеокарт и их драйверов до версий прошивок адаптеров в серверах и коммутаторах и качества проводов. Все комплектующие должны работать под максимальной нагрузкой 24 на 7. Если виртуальные машины на серверах типичного ЦОД обычно загружают железо на 30-40%, то суперкомпьютер практически постоянно работает под пиковой нагрузкой.

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

В итоге мы пришли к следующей архитектуре:

  • вычислительный блок — 392 процессорных ядра, установленных в 7 высокопроизводительных серверах; в качестве CPU используется Intel 3-го поколения с 28 ядрами и 256 ГБ RAM; в качестве GPU — NVIDIA A100 80G;

  • два сервера управления с установленной виртуализацией;

  • два сервера с СХД — JBOD, 24 HDD SAS 2,4 ТБ 10k;

  • телекоммуникационную часть построили на «Ангаре» — это отечественный интерконнект, разработанный специально для вычислительных кластеров; о нем поговорим отдельно.

Пиковая производительность такой конфигурации не менее 47 Тфлопс в режиме FP64.

Почему «Ангара»

На выбор интерконнекта повлияло сразу несколько факторов. Прежде всего, производитель «Ангары», НИЦЭВТ, давно присутствует на рынке, у него накоплен опыт и отлажена система поддержки. К тому же, если сравнивать «Ангару» с популярным интерконнектом «InfiniBand» от израильской Mellanox, то задержка на передачу сообщений между двумя соседними узлами на сети «Ангара» ощутимо меньше. Что выгодно отличает российского производителя от зарубежного.

Задержка передачи сообщения в сетях Ангара и InfiniBand FDR в зависимости от размера сообщения
Задержка передачи сообщения в сетях Ангара и InfiniBand FDR в зависимости от размера сообщения

Интерконнект «Ангара» доступен в двух базовых вариантах исполнения:

  • на базе многопортовых сетевых адаптеров;

  • на базе коммутаторов.

В нашем случае использовалось решение на базе коммутаторов – с адаптерами ЕС8432, устанавливаемыми по одному в вычислительные узлы, и коммутатора ЕС8433. Помимо собственно коммутатора у «Ангары» есть еще отдельный физический блок синхронизации, к которому нужно подключить каждый узел.

Низкопрофильный сетевой адаптер ЕС8432
Низкопрофильный сетевой адаптер ЕС8432

К «Ангаре» прилагается набор ПО для настройки и отладки сети и поддержки параллельного программирования на C/C++ и Fortran (библиотеки SHMEM, MPI). У него обнаружились некоторые ограничения. В готовом виде они существуют только под операционные системы Astra Linux, SLES, CentOS, Scientific Linux. Любые отклонения в версиях ОС требуют перекомпиляции, но выполнить ее можно только при помощи разработчиков. Впрочем, главное –  интерконнект работает и выдает требуемую пропускную способность, не менее 75 Гбит/c, без блокировок и с низкими задержками. 

Один из предварительных тестов — работа 64 вычислителей FlowVision на двух нодах. Дополнительно выведены значения температуры на адаптерах «Ангара»
Один из предварительных тестов — работа 64 вычислителей FlowVision на двух нодах. Дополнительно выведены значения температуры на адаптерах «Ангара»

Передача пакетов осуществляется детерминировано, с сохранением их порядка. Поддерживается одновременное взаимодействие до 10 процессов/тредов, причем это число можно увеличить на программном уровне.

ПО для управления суперкомпьютером

Основная программа, обеспечивающая работу суперкомпьютера — планировщик. Если совсем просто – он определяет, какие именно узлы будут исполнять ту или иную задачу, запрос пользователя. Мы выбрали опенсорсный Slurm с поддержкой библиотек параллельного программирования Intel MPI, MPICH, MVAPICH2, Open MPI. В качестве альтернативы можно было взять менеджер ресурсов Torque от компании Adaptive Computing. Первоначально он также распространялся под открытой лицензией, но последние версии стали коммерческими. 

В качестве системы виртуализации выбрали российский zVirt разработчика Orion soft, так как этот продукт из реестра отечественного ПО уже вполне достойно показал себя в наших проектах с заказчиками. Плюс наличие гарантированной вендорской поддержки — серьезное преимущество в нынешних условиях. zVirt развернут на двух узлах управления, а на виртуальных машинах установлены управляющие сервисы (автоматическое развертывание узлов, авторизация/аутентификация, подсистема входа пользователей, сервис планировщика заданий, мониторинг и так далее).

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

Гладко было на бумаге…

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

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

Серверы с видеокартами и вовсе задержались почти на два месяца. В результате первую итерацию тестов мы закончили буквально за пару дней до отправки суперкомпьютера на площадку к заказчику. А проверять нужно очень тщательно и в лабораторных условиях. Это просто необходимость, ведь решения по суперкомпьютерам у нас сейчас не коробочные от известных вендоров, а мы собираем и самостоятельно интегрируем оборудование от разных поставщиков. 

В процессе выясняются неочевидные нюансы. Так, например, опытным путем в лаборатории К2Тех мы выяснили, что адаптеры «Ангары» желательно ставить в хорошо вентилируемые места в сервере, иначе они начинают нагреваться. 

Из-за высокого энергопотребления кластера даже высокомощного промышленного ИБП хватает не более чем на 15 минут автономной работы
Из-за высокого энергопотребления кластера даже высокомощного промышленного ИБП хватает не более чем на 15 минут автономной работы

Другой внезапной проблемой стало бесперебойное питание — не запускался новенький блок с ИБП. Три дня искали неполадку и в итоге нашли контакт, погнутый во время транспортировки. Разогнули — блок запустился. Случись такое на площадке в Новосибирске, пришлось бы густо краснеть перед заказчиком.

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

Установка суперкомпьютера

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

На монтаж стоек кластера, подключение к электроснабжению, сетям связи и бесперебойному питанию и пусконаладочные работы потребовалась неделя. Благодаря предварительному тестированию, все прошло быстро и без сюрпризов.

Как корабль назовете...
Как корабль назовете...

Наши задачи не ограничиваются проектированием и установкой оборудования. Каждый суперкомпьютер — штучный проект, мы и дальше будем сопровождать его работу. Уже нашли системного администратора, который будет обслуживать «Оракул» в соответствии с нашим руководством, а также инструктируем исполнителей портфеля проектов Центра НТИ, которые будут управлять суперкомпьютером. Такими темпами уже скоро новый российский суперкомпьютер начнет выдавать первые научно-технологические и инженерные результаты, востребованные рынком.

Но, как вы уже могли догадаться, это только первый этап проекта! Ведь в перспективе вычислительный кластер позволит Центру НТИ решать такие стратегические задачи, как:

  • Разработка алгоритмов решения обратных задач оптимизации композитных конструкций по различным критериям прочности;

  • Разработка математического аппарата и его программной реализации для моделирования сложных анизогридных конструкций;

  • Моделирование статической и циклической прочности системы «материал – покрытие»;

  • Моделирование горения и пожара;

  • Разработка программных модулей и многое другое

Также суперкомпьютер позволит внедрить технологии машинного обучения и искусственного интеллекта в генерацию новых материалов, разработку прототипа цифрового паспорта материала и создание цифровых двойников технологических процессов. Более того, новые возможности по развитию данного направления откроет кампус НГУ мирового уровня, который строится в рамках национального проекта «Наука и университеты». Суперкомпьютерный центр на базе университета, созданный в ходе нацпроекта, станет хабом по предоставлению ресурсов и активному развитию направлений прикладного инжиниринга, математического моделирования, искусственного интеллекта, обработки больших данных.

Поэтому уже скоро мы планируем  приступить к масштабированию нашего суперкомпьютерного кластера. Благо, задел для этого уже есть.

Новые вершины технологий ждут тебя в Telegram-канале К2Тех

Источник: https://habr.com/ru/companies/k2tech/articles/769670/


Интересные статьи

Интересные статьи

Допустим, необходимо запустить множество фоновых задач в .Net с возможностью в дальнейшем обратиться к их состоянию. Это может быть полезно, если задача выполняется долго, а идентификаторы этих задач ...
После открытия графена (двухмерной формы углерода) обнаружены более десяти веществ со схожей структурой (гексагональный нитрид бора, GaN и AlN, дихалькогениды переходных металлов и др.). Их физико-хим...
Дорогие Коллеги, представляю Вам модуль-контейнер “mod_Multi” для Joomla 4. Модуль состоит из 2х логических этапов. Модуль бесплатный.1й этап, этап определения данных для модуля. Модуль может определя...
В этой еженедельном дайджесте гибкая навигация и лучшие практики, новый Google I/O, несвязанная архитектура, работа CTO, счастье разработчиков и многое другое.
В новой подборке знакомимся с async/await и запускаем первые тесты, делаем первый аккорд в Jetpack Compose и сравниваем его со SwiftUI, участвуем в чемпионатах и решаем проблемы склада с помощью прило...