Далеко не каждый день получаешь заказ на сборку суперкомпьютерного комплекса. Эта работа и раньше не была простой, а сейчас все еще сложнее. Однако наша команда экспертов из направления 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Тех

Комментарии (16)


  1. nkretov
    25.10.2023 07:39

    Добрый день!
    А подскажите, насколько типовые нагрузки на такой кластер зависят от пропускной способности интерконнекта? То есть обычная 10г сеть выглядит гораздо проще в администрировании и наверное сильно дешевле.
    обратил внимание что если вычислительное ядро всего из 7 серверов то и сетевого взаимодействия между ними будет не много.


    1. gibson_dev
      25.10.2023 07:39

      С Ethernet проще конечно но задержки другие и они не детерминированы.


    1. alzotov Автор
      25.10.2023 07:39
      +3

      Добрый день! Да, можно строить интерконнект и на базе классического Ethernet, но все же в специализированных решениях для HPC скорость и задержки стоят на первом месте. У нас каналы утилизируются практически полностью - примерно 6 Гбайт/сек, при этом задержки ниже на порядок, в сравнении с обычными 10G коммутаторами, и составили у нас порядка 1 мкс. Также не забываем про то, что мы строили систему с заделом на дальнейшее масштабирование. И с Ангарой это сделать значительно проще в плане сохранения низких задержек в сети.


  1. CodARM
    25.10.2023 07:39
    +3

    Доброе утро! Глянул на характеристики машин, и возник вопрос, а почему-бы не собрать 2 сервера? Как я вижу для цпу производительности подойдет условный EPYC на SP3 сокете в количестве 2 штук по 64 ядра(256 потоков на сервер). Мне кажется что он будет, как минимум, не медленнее массива из семи 56(2х28) ядерных серверов из-за отсутствия межсерверных задержек. Да и 2 ТБ памяти эпики давно могут переварить
    Насчет "нейросетевой" производительности еще легче, в SuperMicro SYS-420GP-TNR можно уместить 10 видеокарт.
    Если это проба пера или сборка суперкомпьютера с целью опробывать свои силы для будущих крупных проектов, то тогда понятно. Но если это реальный проект под реальные задачи, у меня возникают некоторые вопросы


    1. select26
      25.10.2023 07:39
      +2

      И вообще есть уже и 128 ядер на кристалл. И платформы с 2 CPU.
      И влияние (и, соответственно, требования) интерконнекта значительно снизится.
      Но это уже будет не суперкомпьютер, а суперсервер.

      Автор, расскажите пожалуйста про ТЗ? Не воду про задачи, решаемые при помощи, а именно какая задача была поставлена перед К2 и исходя из каких критериев вы выбрали оборудование?
      А то

      задержка на передачу сообщений между двумя соседними узлами на сети «Ангара» ощутимо меньше

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

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

      ?
      Правда - очень интересно.
      Заранее спасибо!


      1. alzotov Автор
        25.10.2023 07:39
        +2

        Добрый день! Я в целом уже ответил в комментариях, задача стояла собрать решение полностью из отечественных компонентов: это касается как серверов, так и интерконнекта.

        И хотел бы дополнить, что даже 0.5 мкс разницы в задержке на передачу сообщений в нашем случае - это целых 50% выигрыша в сравнении с InfiniBand.


    1. daboriginal
      25.10.2023 07:39
      +3

      Я не автор, но несколько подобных систем собирал.

      По всей видимости, на данном кластере будут проводиться инженерные вычислления, тесты в FlowVision (CFD-решатель) на это намекают, а большинство подобных вычислительных продуктов писались в большей степени с использованием математических библиотек Intel. Даже всемирноизвестный Ansys начал адаптировать свой код под камни AMD сравнительно недавно (2-3 года назад вышла первая адаптированная версия). Однако, заокеанские "друзья" добились огромного прогресса в этом направлении и для CFD-вычислений процессоры AMD сейчас приоритетны. Не смогу точно сказать на сколько будет отличаться производительность FlowVision на ядрах различных вендоров.

      Также стоит отметить, что любое подобное инденерное ПО предпочитает только физические ядра, поэтому HT и SMT не используется ни в одном HPC.


      1. alzotov Автор
        25.10.2023 07:39
        +1

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


    1. alzotov Автор
      25.10.2023 07:39
      +3

      Для использования AMD-платформы необходимо адаптировать расчетный софт, ориентированный в первую очередь на Intel. Hyper Threading тоже нужно отключать, так как он неприемлем в классических HPC.

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

      А в целом платформы SuperMicro на базе AMD мы прекрасно используем в других проектах под задачи AI/ML/DL.


  1. vkomen
    25.10.2023 07:39
    +1

    Очень интересно! А реально АНГАРА настолько конкурентна как интерконнект? Они пишут о каких-то саморазработанных чипах по топологии 65нм, где их производят? Если это, конечно, не что-то перемаркированное...


    1. alzotov Автор
      25.10.2023 07:39
      +2

      Что касается чипов, коммутаторов, карт и прикладного софта, то это все собственная разработка производителя. Насчет конкуренции с InfiniBand, в целом, это достойная замена FDR 56 Gb/s как по скорости, так и по задержкам. Ну и не забываем, что мы строили решение на базе отечественного оборудования, поэтому выбор был для нас очевиден.


  1. PereslavlFoto
    25.10.2023 07:39

    Будут ли фотографии этого суперкомпьютера доступны для свободного использования в других проектах по лицензиям Creative Commons?


  1. alex50555
    25.10.2023 07:39

    Это опечатка "Intel 3-го поколения"?


    1. alzotov Автор
      25.10.2023 07:39
      +2

      Имеется в виду Intel Xeon Scalable Gen3


  1. garwall
    25.10.2023 07:39

    А что используется для управления кластером? xcat, Bright, что-то ещё?


    1. alzotov Автор
      25.10.2023 07:39

      Обычно мы используем xCAT, и данный проект не исключение. В инсталляциях с Ubuntu берём MAAS. А в сравнительно небольших кейсах и Ansible вполне достаточно.