Суперкомпьютер: как избежать ошибок при внедрении и построить команду мечты
Интеграция
В нашу цифровую эпоху вычислительные системы, так или иначе, влияют на большинство процессов, происходящих в науке, экономике и даже обществе в целом. Повсюду огромные объемы данных, которые требуют не только сбора и хранения, но также качественной и быстрой обработки, а главное, осмысления. Справиться с лавиной информации, сделать ее полезной становится все труднее. На этом фоне все более заметной становится роль суперкомпьютерных систем, которые из университетских и военных лабораторий перекочевали в R&D-центры крупных коммерческих компаний.
Вычисления повсюду
Несмотря на всю сложность, уникальность и высокую стоимость суперкомпьютеров, все больше частных компаний становятся пользователями подобных систем, и в этом есть экономический смысл. В основе суперкомпьютера лежит довольно простая идея о том, что много одинаковых вычислительных узлов справятся со сложной задачей гораздо быстрее, чем один компьютер. Для этого, правда, большую задачу надо грамотно разделить — обеспечить ее параллельную обработку. Это не всегда возможно, но там, где такой подход реализуем — результаты суперкомпьютерных систем просто фантастические. Дважды в год, в июне и ноябре, независимая организация ТОР500 публикует рейтинг пятисот самых мощных вычислительных систем на планете. В этом списке, который ведется с 1993 года, лидеры постоянно меняются, и на его основе можно проследить, как росла вычислительная мощность суперкомпьютерных систем (их еще называют высокопроизводительными вычислительными кластерами или High Performance Computing Cluster — HPС в англоязычном варианте).
Нынешний лидер ТОР500 — японский суперкомпьютер Fugaku имеет в своем составе 7 630 848 вычислительных ядер и потребляет почти 30 МВт электроэнергии, притом, что он является одной из наиболее энергоэффективных платформ своего класса. Производительность системы составляет более 442 квадриллиона операций с плавающей точкой за секунду (442 петафлопс). Сейчас это лучший показатель в мире, буквально в каждой редакции ТОР500 участники обновляются, появляются новые, а многие системы, которые еще недавно считались передовыми, и вовсе покидают этот престижный рейтинг. Но полутысячей систем суперкомпьютерный мир не ограничивается — в мире сегодня работают десятки тысяч кластеров, не вошедших в рейтинги из-за недостаточности мощности или по иным причинам, созданных для обеспечения максимальной производительности. Многие из них успешно выполняют свои задачи уже много лет подряд.
Нередко суперкомпьютеры воспринимаются как решение, ориентированное на узкий круг научных и государственных задач, обеспечения национальной безопасности. Сегодня HPC-кластер это чаще всего коммерческая система, которая приносит вполне ощутимую пользу компании. Суперкомпьютеры лучше всего справляются с задачами моделирования различных процессов и систем — здесь им попросту нет равных. В прикладной плоскости это означает возможность создания точной цифровой модели чего угодно — от детали двигателя до автомобильного моста, небоскреба, космической ракеты. Возможности здесь безграничны.
Предварительное виртуальное математическое моделирование позволяет существенно ускорить процесс выпуска нового продукта, сократив при этом расходы на его разработку — как минимум, за счет того, что не потребуется создавать много физических прототипов и проводить значительную часть дорогостоящих испытаний. Скажем вместо того, чтобы разбивать в краш-тестах о стену десяток машин на тестовом полигоне в течение недель и месяцев, можно «разбить» сотню виртуальных моделей того же автомобиля за несколько дней при прочностных расчетах, устраняя все выявленные недостатки по мере обнаружения. Физические или «натурные» испытания и эксперименты все равно понадобятся, но в существенно меньшем объеме. Так уже работают все ведущие мировые автопроизводители. Схожая ситуация и в авиационной отрасли. Например, производители самолетов и деталей для них не могут получить доступ на европейский рынок, не предоставив проработанную и детализированную математическую модель своих изделий.
В фармацевтике суперкомпьютеры помогают в сотни раз ускорить процесс поиска действующего вещества, разработки лекарств, поиска побочных эффектов. То, что вакцина от COVID-19 была создана в рекордные сроки — не в последнюю очередь заслуга суперкомпьютерных систем. Используются HPC-кластеры в архитектуре при проектировании зданий, не обойтись без них и в деле разработки двигателей. Иными словами, кроме разгадки тайн мироздания, моделирования погоды и термоядерных реакций синтеза, суперкомпьютеры решают огромный круг вполне прикладных задач, экономя своим владельцам время и деньги. В последнее время HPC-кластеры начали активно использовать для моделирования и обучения искусственного интеллекта. Число таких проектов быстро растет, но пока подавляющее большинство вычислительных машин используется для более традиционных задач. Множество предметов и явлений, которые мы сегодня воспринимаем, как повседневную реальность было создано, прямо или косвенно, с использованием суперкомпьютеров.
Поле, полное грабель
Рассказывает Андрей Сысоев, руководитель направления и технический эксперт HPC/AI компании Lenovo в странах Центральной и Восточной Европы.
Многим производственным и инжиниринговым компаниям суперкомпьютеры жизненно необходимы, иначе они попросту потеряют конкурентоспособность на своем рынке. Но есть два важных момента — во-первых, суперкомпьютеры требуют ощутимых финансовых вложений (уникальные решения всегда стоят дорого), а во-вторых, им нужна профессиональная техническая экспертиза и поддержка.
Самый простой путь — приобрести готовый суперкомпьютер. Такие решения для разных задач предлагают некоторые мировые вендоры. Но, подобные системы стоят немалых денег и не всегда подходят для решения каких-то уникальных задач. Второй вариант — в целях экономии сделать суперкомпьютер своими силами, подбирая компоненты из числа доступных на рынке и нанимая внешних специалистов по различным подсистемам (в этой сфере почти нет универсальных экспертов — над созданием машины всегда работает команда). Кому-то методом проб и ошибок удается построить HPC-кластер с нужными характеристиками, но зачастую результат «самодеятельности» далек от ожидаемого, а время реализации проекта увеличивается многократно. Уникальность накладывает свои ограничения. В мире не так уж много специалистов, способных построить настоящий HPC-кластер и обеспечивать его нормальное функционирование.
Типичные ошибки, как правило, начинаются на этапе проектирования. Каждая отрасль, будь то инженерия мостов, фармацевтика или авиапромышленность, имеет свои особенные задачи. Нельзя построить эффективный суперкомпьютер «вообще» — в каждом случае требуется учитывать нюансы конкретного спектра задач (даже в пределах одной отрасли). Проектировщик подобных систем должен разбираться во всех тонкостях создания кластеров и тех задач, которые будет решать машина. Любая ошибка, даже единственный неверно подобранный компонент, может дорого обойтись. Скажем, в одном из проектов от HPC-кластера не удавалось добиться нужных характеристик, оказалось, что причина в соединительных кабелях, на которых решили сэкономить (не уведомив при этом интегратора). Поиск и устранение дефекта заняли полгода, а это прямые потери для бизнеса. Избежать подобной ситуации поможет использование готовых протестированных и сертифицированных референтных (эталонных) архитектур известных мировых производителей. Либо, в случае совсем уж уникальных задач — привлечение специализированных команд глобальных вендоров.
Если проектирование прошло успешно, споткнуться можно на этапе реализации проекта: компоновка и подключение компонентов в суперкомпьютер — это не то же самое, что собрать обычный коммерческий компьютерный комплекс. Здесь нужны специальные навыки, обучение, и огромный практический опыт, не говоря уже о фундаментальных знаниях. Второй момент — программное обеспечение. Для суперкомпьютеров ПО тоже требуется специальное, и в ряде случаев заказчики могут попытаться использовать вместо проверенных и протестированных коммерческих пакетов, продукты c открытым исходным кодом (open source). Это допустимый и даже распространенный вариант. Но он приемлем лишь в том случае, если у компании имеется понимание того, кто будет обеспечивать работоспособность и поддержку платформы на протяжении всего времени эксплуатации HPC-кластера (а это, может быть, десять и более лет). В данном случае наименее рискованным вариантом представляется использование качественного коммерческого ПО с привлечением сертифицированных специалистов для его установки и настройки.
Сложности могут начаться и на этапе эксплуатации кластера и здесь не обойтись без профессиональной технической поддержки. В противном случае заказчик рискует остаться один на один со своими проблемами. Для эффективной эксплуатации необходимы профильные специалисты, которые могут эмулировать нагрузку и умеют работать с прикладным кодом. Суперкомпьютер эффективная, но очень сложная система, на любом этапе проектирования, создания и поддержки которой могут возникнуть технические трудности. Для их преодоления нужны знания и опыт. В то же время, готовых специалистов по HPC на открытом рынке совсем немного (и никто из них не сидит без работы). Так где же их находят?
Эксплуатация суперкомпьютера — где найти команду
Для начала давайте разберемся, какие специалисты нужны для создания суперкомпьютера. В общем случае требуется несколько особенных специальностей:
— Архитектор-проектировщик,
— Системный администратор — эксперт в области высокопроизводительных вычислений,
— Методолог (один или несколько).
Последняя профессия встречается особенно редко, поскольку методологи должны уметь работать с прикладным кодом, чтобы обеспечить максимальную скорость вычислений кластера.
Существенная проблема заключается в том, что среди «суперкомпьютерщиков» развита узкая специализация. Один — эксперт по файловым системам, другой, досконально знает системы управления аппаратурой или знание сетевых технологий, третий обладает глубоким опытом масштабирования приложений и прикладных задач. Универсальные профессионалы фактически отсутствуют (за исключением небольшого круга уникальных экспертов, которые давно работают в штате мировых производителей).
Итак, какие же варианты существуют, если вы решили эксплуатировать суперкомпьютер своими силами, и нужна соответствующая команда? Если речь идет о крупной компании, можно, например, выращивать собственных специалистов — вкладывать деньги в их обучение, ждать, долгое время мириться с неизбежными ошибками. Но, все равно, нет гарантий того, что такой внутренний эксперт сможет в результате выполнять работу качественно, а если вам удастся воспитать действительно ценного специалиста, то не исключено, что его «перекупят».
Второй вариант менее рискованный и заключается он в привлечении специалистов по аутсорсинговой модели. Чтобы не собирать команду «с миру по нитке», можно сразу обратиться в профильную компанию. Услуги по созданию и профессиональной поддержке суперкомпьютеров предлагают некоторые мировые производители вычислительных систем. Типичный пример — компания Lenovo в штате которой есть специалисты с необходимыми знаниями и опытом. В локальную команду Lenovo входит руководитель отдела Lenovo Professional Services Сергей Плаксунов, а также Илья Соловьев, Андрей Титов и Анна Бедяева. Илья Соловьев также является одним из инженеров глобальной команды Lenovo HPC Professional Services, которая занимается запуском вычислительных кластеров Lenovo по всему миру. В частности, в 2021 Илья принимал участие в построении двух кластеров Maru & Guru в Корее (#23 и #24 в Top500), а также крупнейшего вычислительного кластера Snellius в Нидерландах на 6.1PFlops (еще не попал в Top500, примерно 70-я строчка в рейтинге)». Профильная структура Lenovo Professional Services объединяет множество рассредоточенных по всему миру технических консультантов, каждый из которых обладает опытом и уникальным набором навыков.
Сергей Плаксунов, руководитель отдела Lenovo Professional Services компании Lenovo: «Наша команда Professional Services состоит из опытных технических консультантов с разнообразными навыками, которые рассредоточены по миру и обеспечивают локальное присутствие службы технической поддержки в разных странах. Специалисты Lenovo обслуживают и развивают множество суперкомпьютерных проектов, сопровождая созданные и настроенные решения даже после внедрения. Если мы говорим о развитии, то с Professional Services расширение возможностей HPC-кластера происходит в разы быстрее, поскольку специалистам знакома инфраструктура заказчика и ее возможности. К тому же большое количество реализованных проектов позволяет специалистам Lenovo использовать огромный накопленный опыт для оптимизации и ускорения новых внедрений с учетом уникальности каждого заказчика».
Такой подход позволяет всегда учитывать последние тенденции индустрии и использовать опыт внедрений со всего мира. Кстати, привлекать можно как готовую команду, так и отдельных экспертов, если, например, у компании уже есть специалисты с некоторыми компетенциями. Сотрудники Professional Services также проводят профессиональное обучение сотрудников заказчика и всегда остаются на связи, сопровождая и поддерживая созданное решение. Кстати, в новейшем рейтинге ТОР500, упомянуты десятки суперкомпьютеров, созданных специалистами Lenovo (184 системы производства Lenovo или каждый третий суперкомпьютер рейтинга), а в целом, силами вендора успешно построены сотни HPC-кластеров по всему миру. Многие из этих систем также обслуживаются специалистами Lenovo.
Конечно, на рынке имеются и другие производители с необходимыми компетенциями. Но, осуществляя выбор, стоит обратить внимание на ряд важных факторов. Скажем, компания должна иметь навыки не только по созданию и запуску суперкомпьютеров, но также обладать опытом их успешной эксплуатации и поддержки. К сожалению, ситуации, когда заказчику построили суперкомпьютер, а потом оставили один на один с проблемами эксплуатации, встречаются нередко. В результате, решая инциденты своими силами, компания неэффективно расходует огромные средства. Не менее важна и кадровая локализация. Важно, чтобы техническая поддержка располагалась в той же стране, где и сам суперкомпьютер. На практике это существенно сказывается на эффективности решения задач заказчика. Специфика страны также играет немаловажную роль. Скажем, в России зарубежные технические специалисты не всегда могут попасть на площадку установки системы, а удаленный доступ запрещен политикой безопасности предприятия.
Чего один не сделает — сделаем вместе
В странах своего присутствия Lenovo использует как собственных специалистов Professional Services, так и прибегает к помощи глобальных и проверенных партнеров, например, таких как Intel. В частности, поддержку новых сделок и установленных систем по направлению программного обеспечения в России и СНГ со стороны Intel осуществляет сильная команда, которую координирует BDM Ольга Андрианова (с недавнего времени она также сфокусировала усилия на поддержке программной экосистемы ИИ Intel в России).
Техническую поддержку осуществляют две инженерные команды Intel: CRT Engineering, под руководством Дмитрия Сергеева, и Developer Products Support & Consulting — ее возглавляет Дмитрий Сивков. Эти группы отвечают за поддержку высокопроизводительных пакетов и программных продуктов Intel, соответственно. Так, например, большую помощь в оптимизации пакета квантово-механических вычислений VASP и его эффективную настройку оказывает Федор Васильев из CRT Engineering, а в настройке математических и коммуникационных библиотек Intel® MPI Library, Intel® Math Kernel Library помогает Дмитрий Сивков и его команда. В портфолио команды большое число известных пакетов, как фирменных (проприетарных), так и с открытым исходным кодом (open source): NAMD, GROMACS, LAMMPS, HPL, WRF, openFOAM, GADGET и многие другие.
Компания Lenovo развивает сотрудничество и с ведущими российскими специалистами в области построения и внедрения суперкомпьютерных систем. Например, с Денисом Шагеевым, большинство проектов которого входят в ТОП-50 суперкомпьютеров РФ.
Выбор технического партнера в случае создания и эксплуатации суперкомпьютера — чрезвычайно ответственная задача, определяющая успех всего проекта на долгие годы. Подойти к этому вопросу надо как можно более обстоятельно, как минимум стоит тщательно изучить доступные варианты и проконсультироваться со специалистами в вашем регионе.
Игорь Кириллов
Полный текст статьи читайте на CNews