Краткая справка об этом суперкомпьютере звучит так: «Занимает 3-е место в списке Top50 самых мощных российских суперкомпьютеров, 2-е место среди отечественных систем в мировом рейтинге HPCG, 131-е место в списке самых мощных вычислительных систем мира Top500 и входит в мировой рейтинг самых энергоэффективных суперкомпьютеров Green500 с лучшим в этом списке показателем среди всех российских систем». Однако за этими сухими, пусть и впечатляющими, цифрами скрываются несколько лет напряжённой работы десятков людей. В этом материале мы попробуем кратко – поверьте, это действительно кратко – рассказать о том, как создавалась эта машина, из каких компонентов она состоит, что поддерживает её работу и для чего она нужна. Устраивайтесь поудобнее!
Идея создания суперкомпьютерного центра (СКЦ) в Санкт-Петербургском политехническом университете Петра Великого (СПбПУ) появилась ещё в 2009 году, и пара лет ушла на то, чтобы она окончательно оформилась. Заинтересованность в собственном СКЦ была не только у самого университета, но и у всего научного сообщества России, у крупных промышленных предприятий, у производителей оборудования. Впоследствии идея нашла поддержку у правительства Санкт-Петербурга. К 2012 году она окончательно оформилась и была хорошо принята в профильных министерствах. В мае 2012 года состоялась успешная защита проекта в Минэкономразвития, по итогам которой было принято решение о его реализации – проект попал в Федеральную адресную инвестиционную программу России. В ноябре 2012 года он был включён в федеральную целевую программу «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России». Параллельно велись консультации с крупными игроками суперкомпьютерного рынка (IBM, Intel, HP, SuperMicro, «Т-Платформы», РСК) и другими научными заведениями, которые уже обзавелись своими СКЦ. В итоге группа компаний РСК выступила в роли разработчика, поставщика и интегратора основных суперкомпьютерных систем СКЦ «Политехнический» — кластерного комплекса «Политехник РСК Торнадо», массивно-параллельного суперкомпьютера «Политехник RSC PetaStream», а также программного комплекса для мониторинга и управления вычислительными системами «РСК БазИС».
Весь 2013 год ушёл на разработку технического задания и детальное проектирование будущего СКЦ, причём проект создавался с заделом на будущее – в него закладывались те решения, которые ещё не были доступны на рынке. В 2014-2015 годах шло строительство и пусконаладочные работы. К сожалению, время для него оказалось, наверное, не самым удачным из-за скачков курса валют. Итоговая стоимость проекта составила около 1 млрд 370 млн рублей. Как и почти все суперкомпьютеры в мире, данный проект без значительных дотаций государства или крупных корпораций был бы невозможен. А вот деньги на обслуживание СКЦ университет планирует зарабатывать самостоятельно. К концу 2016 года государством будут утверждены правила использования СКЦ сторонними организациями, так что они смогут арендовать вычислительные мощности. Для учёных они будут предоставляться бесплатно. Сам же СКЦ будет использован для решения научных и производственных задач, создания коммерческого ПО и, конечно, для обучения студентов и подготовки специалистов.
Суперкомпьютер состоит из нескольких частей: «классического» кластера на базе систем «РСК Торнадо», массивно-параллельной системы RSC PetaStream, NUMA-системы, облачного сегмента, системы визуализации и системы хранения данных (СХД). Все они объединены с помощью интерконнекта InfiniBand FDR. Собственно говоря, такая структура — разнородная, а потому универсальная, пригодная для решения различных типов задач, — и задумывалась изначально. Вычислительная часть компактно размещается всего в нескольких шкафах. За счёт использования жидкостного охлаждения удалось достичь столь высокой плотности размещения узлов. Основной кластер на базе «РСК Торнадо » состоит из 668 узлов с суммарной пиковой производительностью 938 Тфлопс + 44 узла облачной системы. Все узлы оснащены двумя процессорами Intel Xeon E5-2697v3 (14 ядер/28 потоков, базовая частота 2,6 ГГц, Turbo-частота 3,6 ГГц, кеш 35 Мбайт, ТП 22 нм, TDP 145 ватт), 64 Гбайт RAM, SSD Intel DC S3500.
Это первый в СНГ суперкомпьютер на базе таких CPU. Часть узлов оснащена ускорителями NVIDIA K40 (12 Гбайт, 2880 CUDA-ядер). Узлы облачной части отличаются увеличенным до 128 Гбайт объёмом RAM. Кроме того, большая часть из них оснащена ускорителями NVIDIA GRID K1/K2 (8/16 Гбайт RAM, 768/3072 CUDA-ядра). К тому же, у неё есть собственная СХД ёмкостью 584 Тбайт на базе платформы «РСК Бриз» и дисковых полок. Облачная часть работает на ФС Ceph и может использоваться как для работы обычных приложений, так и для предоставления инфраструктуры виртуальных рабочих мест (VDI) и графических сервисов. СХД горизонтально масштабируется путём добавления новых блоков «РСК Бриз» и полок.
Непосредственно с ней связана и уникальная система визуализации, позволяющая сразу же после проведения расчётов наглядно представить результаты работы. С её помощью можно организовать комфортную удалённую работу с вычислительными ресурсами или организовать систему телеприсутствия. Все узлы «РСК Торнадо» размещаются на площади 3,84 м2 в шкафах высотой 2 м (всего 6 шкафов). Каждый шкаф потребляет до 70 кВт энергии и питается от сети переменного тока 220 В. Система жидкостного охлаждения (СЖО), разработанная в РСК, позволяет отводить от такого шкафа до 100 кВт тепла.
RSC PetaStream располагается в шкафу меньшего размера и, соответственно, с более высокой плотностью (вычислительной, энергетический и физической) – 0,5×0,6×2 м. Правда, потребляемая мощность и отвод тепла здесь выше – до 400 кВт на шкаф (показатель для шкафа 1×1×2 м). Сама же система состоит из 288 узлов, в каждом из которых установлен один ускоритель Intel Xeon Phi 5120D (60 ядер/240 потоков, частота 1,053 ГГц, 30 Мбайт L2-кеш, ТП 22 нм, TDP 245 ватт) и 8 Гбайт RAM. Помимо этих двух систем в составе суперкомпьютера есть ещё один маленький шкафчик с четырьмя узлами PetaStream, который, по большому счёту, автономен. Изначально он задумывался как прототип для обкатки новых Xeon Phi, но фактически он используется наравне с остальными узлами в качестве тестовой площадки.
Итоговая эффективность кластера «РСК Торнадо» составляет 2,1 Гфлопс/Вт, а у PetaStream – 2,4 Гфлопс/Вт. Наконец, последний вычислительный элемент суперкомпьютера – это NUMA-система. Она состоит из 64 узлов, в каждом из которых установлено три процессора AMD Opteron 6380 (16 ядер, базовая частота 2,5 ГГц, Turbo-частота 2,8/3,4 ГГц, 16 Мбайт L2/L3-кеш, ТП 32 нм, TDP 115 Вт) и 192 Гбайт RAM. Все вычислительные системы соединены с СХД Seagate ClusterStor 6000. Данная СХД предназначена специально для работы в средах высокопроизводительных вычислений. Суммарная ёмкость хранилища составляет 1,1 Пбайт. Построено оно на базе SAS-дисков и SSD, которые могут быть объединены в массивы RAID 1 или 10. В СХД используется ФС Lustre – распределённая файловая система массового параллелизма. Кроме того, всё хранилище в целом имеет иерархическую структуру – «горячие» данные находятся в быстрой СХД, рядом находится «обычное» хранилище ёмкостью 2,5 Пбайт и СХД для облачного кластера (на базе ФС CepHS), а «холодные» бэкапы и редко используемая информация перемещается на ленточные накопители.
Помимо основной сети InfiniBand FDR (56 Гбит/с) для обмена данными каждый узел суперкомпьютера оснащён двумя гигабитными подключениями к сервисной и управляющей сетям. В самих узлах находится отдельный аппаратный модуль мониторинга и управления, который следит за загрузкой узла, его энергопотреблением и эффективностью охлаждения. За счёт этого можно гибко работать с политиками управления питанием, что в конечном итоге позволяет экономить электроэнергию и оптимизировать работу суперкомпьютера в целом. Все сетевые подключения от узлов и СХД «стекаются» в коммутационные стойки, расположенные в шкафах за основным корпусом суперкомпьютера.
Все основные коммуникации располагаются под фальшполом – там проходят коммуникационные и силовые кабели, а также трубы замкнутой СЖО. В первом контуре охлаждения используется дистиллированная вода с ингибиторами коррозии, а также дополнительные фильтры. Именно она омывает изнутри все узлы. Они, в свою очередь, имеют быстроразъёмные коннекторы, которые легко отсоединить для последующего обслуживания узла. Второй контур СЖО использует гликоль, что позволяет всей системе в целом эффективно работать при температуре воздуха на улице от -32 до +35 °C. Для СХД и NUMA-системы в отличие от основного суперкомпьютера используется воздушное охлаждение, но оно в конечном итоге подсоединено к основной СЖО.
Для обеспечения бесперебойной и эффективной работы СКЦ был создан целый ряд инженерных систем: энергообеспечение, кондиционирование и охлаждение, вентиляция, охранная система, диспетчеризация, система пожарной безопасности и так далее. Компания «РРС-Балтика» стала системным интегратором проекта, вместе с компаниями iCore и ИТЭК она создала все эти системы. Нередко приходилось решать уникальные инженерные задачи, но итоговый результат стоил того – для обслуживания СКЦ требуется всего 20 человек (включая уборщицу!). Всё управление осуществляется из одной-единственной небольшой комнаты с десятком мониторов и уютным диванчиком у одной из стен. Диванчик тоже важен, ведь работа диспетчеров ведётся круглосуточно. Впрочем, основная её часть возложена на автоматическую систему, которая и следит за всеми параметрами суперкомпьютера.
Общая мощность СКЦ составляет примерно 1,2 МВт, а питание осуществляется от двух независимых источников, подходящих к СКЦ с разных сторон. По словам создателей, примерно столько же потребляет жилой дом на 200 квартир. Подводимый трёхфазный ток преобразуется в 400 В постоянного тока, от которого и питаются вычислительные узлы. Каждая стойка потребляет сейчас где-то 40-50 кВт. Для обеспечения надёжности в состав СКЦ входят три группы ИБП – для вычислителей, для системы кондиционирования и для системы мониторинга и управления. Общий КПД энергосистемы находится на уровне 98%. Аккумуляторы в ИБП необслуживаемые, их придётся менять примерно раз в 5-6 лет. Кроме того, для них пришлось создавать взрывобезопасную двухконтурную систему вентиляции. Также во всех помещениях установлена автоматическая система пожаротушения, которая безопасна для человека.
Суммарная мощность системы охлаждения составляет 1,08 МВт. По словам разработчиков, её мощности хватит для превращения в лёд более 200 кубометров воды в течение одного часа. На крыше находится блок из трёх холодильных машин, а в подвале соответственно есть три насоса, обеспечивающих циркуляцию. Сам блок имеет размеры 6 на 18 метров и весит около 20 тонн. Он покоится на шести специальных опорах, уходящих к фундаменту. В момент постройки здания даже не задумывались о том, что на нём буду установлены такие махины (так что по кровле нельзя ходить, например, в обуви на шпильках – она будет просто проваливаться). Внутри внешнего контура циркулирует примерно 15 тонн гликоля. Под рукой всегда есть запас из нескольких бочек с гликолем по 250 кг каждая.
В помещениях, где находятся трубы с гликолем, пол слегка поднят, а под ним спрятаны небольшие насосы, которые в случае протечки соберут всю жидкость в специальную ёмкость. Так как гликоль ядовит, его нельзя просто вылить, например, в канализацию. Разработчики особо гордятся итоговыми показателями эффективности использования электроэнергии. В данном СКЦ коэффициент PUE составляет менее 1,15, то есть затраты на охлаждение составляют менее 15% от общего энергопотребления. А при полной загрузке суперкомпьютера этот коэффициент будет ещё лучше. Кроме того, система охлаждения способна работать в режиме фрикулинга в холодную погоду, что также помогает экономить энергию.
⇡#Использование суперкомпьютера
А зачем вообще нужны суперкомпьютеры? Основная цель создания подобных машин в том, чтобы заменить натурные испытания численным моделированием тех процессов, что происходят во время этих испытаний. Классический пример, который чаще всего вспоминают, – это моделирование ядерных реакций. Создавать реальные прототипы ядерных реакторов или даже бомб и накладно, и долго, и, мягко говоря, небезопасно. А некоторые процессы вроде аварий на химических предприятиях и прочих экологические катастрофы вживую вообще никто проводить не будет. Равно как и, например, «тюнинг» искусственных сердечных клапанов на живом человеке.
Это, кстати, не гипотетические варианты использования суперкомпьютеров, а реальные задачи, которыми занимаются российские учёные. Впрочем, суперкомпьютеры всё же применяются чаще всего для мирных целей. Ярким примером служит опыт корпорации Boeing. При разработке прошлого поколения самолётов было создано 77 натурных прототипов крыла, для нынешнего обошлись всего семью прототипами, а всё остальное было смоделировано на суперкомпьютерах. И при создании российского самолёта SSJ-100 они тоже активно использовались.
Другой, более «приземлённый» пример касается смартфонов, которые есть теперь почти у каждого. Устройства привычные, но мало кто задумывается над тем, насколько они сложны. Для расчёта распределения тепла в корпусе смартфона требуется работа примерно 10 тысяч ядер в течение 10 часов. С другой стороны, суперкомпьютеры используются не только для замены экспериментов в реальном мире, но и для развлечений – современные анимационные фильмы создаются как раз с применением таких технологий. Конкретно «Политехник» уже был задействован для решения прикладных задач. На текущий момент его загрузка составляет более 75%, хотя изначально планировалось, что этот порог будет достигнут только к концу 2016 года. Это косвенно свидетельствует о высоком интересе к машине со стороны исследователей и инженеров.
В конце 2015 года сотрудниками СПбПУ была проведена работа «Прямое численное моделирование взаимодействия ударной волны с турбулентным пограничным слоем в трансзвуковом потоке». Проще говоря, исследовалось то, как турбулентность влияет на крыло гражданского самолёта и как его сделать надёжным. Проблема в том, что, хотя математическая модель турбулентных течений и была разработана ещё в конце XIX века, решение соответствующих уравнений требует гигантских вычислительных мощностей. Если верить прогнозам, прямое численное моделирование (ПЧМ) обтекаемости автомобиля или самолёта целиком станет возможным лишь к концу этого века. И это при постоянно растущей мощи вычислителей. Тем не менее современные машины позволяют решать такие задачи хотя бы частично. На «Политехнике» (кластер «Торнадо») и суперкомпьютере Mira (5-е место в TOP 500 на текущий момент) было проведено такое моделирование, причём решение РСК оказалось почти на порядок эффективнее.
Уникальность данного расчёта в том, что использовалась сетка на 8,7 млрд ячеек – ничего подобного в России до сего момента не было. Столь большой размер сетки вызван тем, что типичный размер крыла исчисляется метрами, а размер самых маленьких вихрей (маленького турбулентного потока), которые необходимо смоделировать, – порядка одного микрона. Для расчёта необходимо проделать от ста тысяч до одного миллиона итераций. Экспериментально столь высокую точность исследования получить невозможно. Точно так же нет никакой возможности пошагово изучить поведение сложных белков в структуре вируса гриппа. Именно этим занимаются сотрудники НИЦ «Курчатовский институт», работа которых в конечном итоге направлена на создание живой вакцины. Расчёт методами молекулярной динамики занял две недели на 2 700 ядрах систем РСК «Торнадо» и PetaStream. Если бы суперкомпьютер был полностью отдан в руки исследователей, то на расчёты ушло бы всего четыре дня. Фактически же суперкомпьютером пользуются и другие учёные.
Наконец, последний пример реального использования «Политехника» – это расчёт столкновения двух галактик на системе RSC PetaStream. Собственно говоря, астрофизические модели идеально подходят для подобных систем. Чем точнее модель, тем больше ресурсов она требует. По приблизительным подсчётам, для детального моделирования столкновения галактики типа Млечного Пути с любой другой галактикой необходимые мощности появятся лет через 60, а то и больше. Для расчёта же упрощённой модели столкновения галактик – проект Института вычислительной математики и математической геофизики (ИВМиМГ) Сибирского отделения РАН – потребовалось на несколько дней задействовать весь кластер PetaStream. Всего было задействовано более 60 тысяч потоков, а на данный момент алгоритм, способный распараллеливаться на 50 тысяч потоков и более считается эффективным.
По словам В. С. Синепола, директора СКЦ, одной из основных задач на ближайшее время станет создание на базе СКЦ центра компетенций применения суперкомпьютерных технологий в инженерном деле и прикладных науках. Таким образом, любые предприятия – в первую очередь региональные – смогут воспользоваться и вычислительными мощностями, и опытом специалистов СКЦ для их эффективного задействования, и научной базой самого университета. И это станет новой страницей в суперкомпьютерной истории СПбПУ, которая началась ещё в середине прошлого века. Именно тогда в стенах Ленинградского политехнического института на базе Лаборатории вычислительных машин и электронной вычислительной техники было организовано Опытно-конструкторское бюро (ОКБ ЛПИ), которое создало оборудование для обработки орбитальных данных искусственных спутников Земли и системы управления космическими аппаратами, без которых вряд ли стал бы возможен первый пилотируемый полёт в космос. Будем надеяться, что страница эта будет не последней и очень интересной.