С 2016 года в ОИЯИ создан и развивается сервис для единого доступа к гетерогенным распределенным вычислительным ресурсам на основе открытой платформы DIRAC Interware, куда входят все основные вычислительные ресурсы ОИЯИ.
Созданная платформа уже позволила ускорить обработку крупных пакетов задач примерно в три раза. Скорость вычислений обеспечивает в том числе интеграция облачных инфраструктур научных организаций стран-участниц ОИЯИ, кластера Национального автономного университета в Мексике и ресурсов Национальной исследовательской компьютерной сети России – НИКС, которая обеспечивает доступ к инфраструктуре сети более 200 организациям высшего образования и науки. На данный момент сервис на базе DIRAC используется для решения задач коллабораций всех трех экспериментов на ускорительном комплексе мегасайенс проекта NICA: MPD, BM@N и SPD, а также нейтринного телескопа Baikal-GVD.
«Фактически, интеграция позволила объединить все большие вычислительные ресурсы ОИЯИ между собой. Если бы объединения не было, пользователям, скорее всего, пришлось бы выбрать один из ресурсов и настраивать все рабочие процессы на работу с ним. Использование объединенной инфраструктуры позволяет не привязываться к конкретному ресурсу, а использовать все те ресурсы, которые свободны. Для больших пакетов задач это ускоряет выполнение примерно в три раза», — рассказал Игорь Пелеванюк, научный сотрудник сектора распределенных систем ЛИТ.
Он отметил, что без сервиса на базе DIRAC Interware актуальные задачи массовой генерации данных эксперимента MPD считались бы дольше и полностью занимали бы отдельный вычислительный ресурс на несколько месяцев.
По состоянию на январь 2023 года благодаря интеграции ресурсов с помощью DIRAC на мощностях распределенной платформы было выполнено 1,9 миллионов задач. Количество проведенных вычислений оценивается в 13 миллионов HEPSPEC2006-дней, что является эквивалентом 1900 лет расчетов на одном ядре современного центрального процессора. Таким образом, средняя продолжительность выполнения одной задачи в системе составила почти 9 часов.
Чтобы прогнозировать скорость выполнения расчетов, ученые использовали бенчмарк HEPSPEC2006 – программу для проверки скорости процессора, которая считает, с какой скоростью процессор производит вычисления, похожие на генерацию данных методом Монте-Карло. Знание результатов бенчмарка на разных ресурсах позволяет привести к единому знаменателю все участвующие в решении задач процессоры, имеющие различную скорость вычислений, и оценить вклад каждого из ресурсов, участвующих в распределенных вычислениях.
«Чем больше у нас ресурсов, тем быстрее мы в среднем можем проделать определенный объем вычислений. На ресурсах Tier1 и Tier2 суммарно было выполнено 45% вычислений. Суперкомпьютер «Говорун» выполнил примерно такой же объем работы, но на нем нам удается выполнять те задачи, которые особенно требовательны к оперативной памяти и свободному месту на диске. Такие задачи зачастую не могут быть эффективно выполнены на других ресурсах, доступных нам», — прокомментировал Игорь Пелеванюк.
Сервис DIRAC в ОИЯИ применяется в основном там, где требуется выполнить огромный объем вычислений, и вычисления могут быть разделены между десятками тысяч независимых задач. Как правило, для научных расчетов, где суммарный объем вычислений не так велик, ученым достаточно использовать один ресурс. На этих ресурсах часть вычислительных мощностей выделяется для выполнения задач, отправленных в DIRAC. Эта доля определяется в соответствии с политикой конкретного ресурса, его загрузкой на текущий момент и объемом работы, который необходимо выполнить в определенный период времени. Так, самые большие доли — у центров Tier-1 и Tier-2, где для DIRAC выделено две тысячи ядер, у суперкомпьютера «Говорун» — до двух тысяч ядер (в зависимости от загрузки), и у облака, где для задач DIRAC выделяется до 500 ядер. По словам Игоря Пелеванюка, если появятся новые эксперименты, которые смогут эффективно использовать сервис на базе DIRAC Interware, то запуститься им будет проще, так как основные схемы работы в рамках распределенной инфраструктуры уже разработаны и испробованы.
«Многие научные сотрудники работают в рамках одной из инфраструктур: суперкомпьютера, облака, вычислительного кластера NICA и др. Для ряда задач этого достаточно и если нет предпосылок к значительному росту вычислительной нагрузки в будущем, то, скорее всего, переход на систему, которую мы создали, не потребуется. Это не универсальная замена стандартных подходов. Однако для сложных вычислительных задач созданная платформа дает новый подход, который позволяет выйти на новый уровень сложности и на порядок увеличить количество ресурсов, которые можно использовать для исследований», — рассказал ученый.
Самым активным пользователем созданной инфраструктуры на данный момент является коллаборация эксперимента на установке MPD. На ее долю этого одного из двух детекторов на коллайдере NICA, приходится 85% проделанных вычислений. Нынешние расчеты для MPD, пока детектор еще не начал свою работу, посвящены симуляции методом Монте-Карло. При помощи специальных компьютерных программ, которые «сталкивают» частицы виртуально и трассируют продукты распада через вещество экспериментальной установки, можно отлаживать и настраивать работу алгоритмов реконструкции и анализа данных детекторов, помогая при этом формировать научную программу.
Модельные данные продолжают набираться и во время экспериментальных сеансов. «Мы используем набор генераторов, который позволяет нам создавать такие события, затем запускаем реальный эксперимент и собираем два набора данных: реальные данные с детектора и сгенерированные нами. И, если между ними нет существенной разницы для выбранного, хорошо изученного физического процесса, значит, набранные нами экспериментальные данные соответствуют действительности. И их вместе с созданным в эксперименте набором программного обеспечения для восстановления и анализа данных можно использовать для поиска новой физики.
Часть задач в этом проекте выполнили коллеги из Мексики, которая в 2019 году официально присоединилась к реализации мегасайенс проекта NICA. Участие вычислительного кластера Национального автономного университета Мексики, коллаборанта эксперимента MPD на NICA, показало, что разработанный сервис может использоваться и для интеграции ресурсов в том числе вне ОИЯИ.
Отдельного упоминания заслуживает интеграция облачных инфраструктур стран-участниц ОИЯИ (рис. 1). Для ее реализации потребовалось разработать специальный программный модуль, который позволил интегрировать в систему DIRAC облачные ресурсы, работающие на базе программного обеспечения OpenNebula.
«Интеграция внешних ресурсов – это окно возможностей для других стран, которые хотели бы участвовать в вычислениях для больших научных коллабораций: Baikal-GVD, MPD, SPD, BM@N. Если участники решат часть своего вклада обеспечить именно вычислениями, то их ресурсы можно будет интегрировать в существующую систему, и вопрос будет состоять в том, сколько ресурсов они способны выделить», — сказал ученый.
Цикл работ «Разработка и внедрение единого доступа к гетерогенным распределенным ресурсам ОИЯИ и стран-участниц на платформе DIRAC» был отмечен Второй премией ОИЯИ за 2021 год в номинации «За научно-методические и научно-технические работы».
Исследования выполнялись совместно в Лаборатории информационных технологий ОИЯИ, Лаборатории физики высоких энергий ОИЯИ и Центре физики частиц университета Марселя (г. Марсель, Франция) коллективом авторов: Владимир Кореньков, Николай Кутовский, Валерий Мицын, Андрей Мошкин, Игорь Пелеванюк, Дмитрий Подгайный, Олег Рогачевский, Владимир Трофимов и Андрей Царегородцев.
Интеграция вычислительных ресурсов на базе платформы DIRAC позволяет включить практически любой вид вычислительных ресурсов в единую систему и предоставить их пользователям через единый веб-интерфейс, интерфейс командной строки или программный интерфейс. Актуальность представленных исследований и реализованных подходов связана в первую очередь с реализацией экспериментов мегасайенс-проекта NICA: BM@N, MPD, SPD. По оценкам, приведенным в документе «TDR MPD: Data Acquisition System» от 2018 года, поток данных с детектора MPD составит, как минимум, 6.5 ГиБ/с. Для эксперимента SPD предварительные оценки по количеству получаемых данных приближаются к 20 ГиБ/с. Для обработки, передачи, хранения и анализа таких больших объемов данных потребуется значительное количество вычислительных ресурсов и ресурсов хранения.
ОИЯИ обладает большим количеством разных вычислительных ресурсов: кластеры Tier1/Tier2, суперкомпьютер «Говорун», облако, NICA кластер. Ресурсы каждого из них можно использовать для достижения целей компьютинга экспериментов на коллайдере NICA. Основной трудностью в данном случае является то, что эти ресурсы разные с точки зрения архитектуры, процедур доступа и авторизации, способов использования. Для того чтобы обеспечить их эффективное использование, необходимо, с одной стороны, интегрировать ресурсы в единую систему, а с другой стороны, не помешать их текущей эксплуатации и выполнению других задач.
Для интеграции перечисленных выше разнородных ресурсов было решено использовать платформу DIRAC Interware . DIRAC (Distributed Infrastructure with Remote Agent Control) выполняет функцию промежуточного слоя между пользователями и различными вычислительными ресурсами, обеспечивая эффективное, прозрачное и надежное использование, предоставляя общий интерфейс к поставщикам разнородных ресурсов. Изначально платформа DIRAC разрабатывалась силами коллаборации LHCb для организации компьютинга. В 2008 г. она стала развиваться как продукт с открытым исходным кодом, предназначенный для организации распределенных вычислений на основе гетерогенных вычислительных ресурсов.
Платформа DIRAC была развернута в ОИЯИ в 2016 г. в экспериментальном режиме . Для оценки эффективности ее работы использовались типовые задачи моделирования для экспериментов BM@N и MPD, а также не привязанные к экспериментам тестовые задачи.
В 2018 г. проводились работы по интеграции облачных инфраструктур ОИЯИ и стран-участниц Института в распределенную платформу на основе DIRAC . Для этого потребовалось разработать специальный модуль, который позволял бы DIRAC инициировать создание виртуальных машин в системе OpenNebula, на базе которой построено вычислительное облако ОИЯИ и облака стран-участниц. Модуль был разработан специалистами Лаборатории информационных технологий и добавлен в исходный код DIRAC . На данный момент разработанный модуль активно используется не только в ОИЯИ, но также включен в инфраструктуры экспериментов BES-III и JUNO. Интеграция облаков партнерских организаций стран-участниц ОИЯИ в распределенную платформу на основе DIRAC (рис. 1) открывает странам-участницам новые возможности для участия в вычислениях для экспериментов мегасайенс-проекта NICA .
Одновременно с интеграцией вычислительных облаков прорабатывалось решение об интеграции разнородных вычислительных ресурсов на основе DIRAC для действующего в настоящее время эксперимента BM@N, а также для будущего эксперимента MPD на базе строящегося коллайдера NICA. Были изучены пропускные способности систем хранения на дисковых и ленточных накопителях, проведено стресс-тестирование всех основных ресурсов, разработаны подходы к решению стандартных задач моделирования, обработки и передачи данных [5,6].
В августе 2019 г. первый пакет задач моделирования данных для эксперимента MPD была отправлена через DIRAC на ресурсы грид-кластеров Tier1 и Tier2. Далее в платформу распределенных вычислений (ПРВ) был интегрирован суперкомпьютер «Говорун». Летом 2020 г. были добавлены кластер NICA и кластер Национального автономного университета Мексики (UNAM). В качестве систем хранения были интегрированы системы dCache, под управлением которой находятся дисковые и ленточное хранилища, и EOS. Стоит отметить, что кластер UNAM стал первым вычислительным ресурсом, находящимся за границей Европы или Азии и включенным в инфраструктуру DIRAC в ОИЯИ.
Созданная платформа распределенных вычислений позволяет распределить нагрузку по всем задействованным ресурсам, тем самым ускорив проведение расчетов и увеличив эффективность использования интегрированных ресурсов. В качестве примера можно привести суперкомпьютер «Говорун». В зависимости от его загрузки различного типа задачами стало возможным часть временно свободных ресурсов направлять на решение задач, связанных с экспериментами мегасайенс-проекта NICA.
MPD успешно использует распределенной платформы на базе DIRAC не только для управления задачами, но и для управления данными. Все данные регистрируются в файловом каталоге, и некоторым из них присваивается метаинформация, благодаря которой возможно выбирать файлы по таким характеристикам, как энергия столкновений, состав пучка, имя генератора и другим.
Пример MPD и опыт, полученный в процессе внедрения новых подходов, позволил предлагать платформу распределенных вычислений на основе DIRAC в ОИЯИ как стандартное решение для массового запуска задач. ПРВ использовался экспериментом Baikal-GVD — одним из ключевых экспериментов нейтринной программы ОИЯИ. Полученные данные были использованы для исследований, связанных с наблюдением мюонных нейтрино, и доложены на профильной конференции. Эксперимент BM@N протестировал DIRAC для запуска задач, связанных с первичной обработкой данных, полученных на детекторе, и успешно выполнил 22 тысяч задач, связанных с моделированием.
Другой сферой использования платформы DIRAC в ОИЯИ стало участие в добровольных вычислениях, связанных с исследованиями вируса SARS-CoV-2 в рамках проекта Folding@Home. Для исследований по COVID-2019 успешно задействованы свободные от основной деятельности ОИЯИ облачные ресурсы как Института, так и организаций его стран-участниц. Вклад всех облачных инфраструктур учтен как в информационной системе Folding@Home в рамках группы “Joint Institute for Nuclear Research”, так и в рамках системы учета потребленных ресурсов самого DIRAC.
На январь 2023 года благодаря интеграции ресурсов с помощью DIRAC на мощностях распределенной платформы было выполнено 1,9 миллиона задач. Количество проведенных вычислений оценивается в 13 миллионов HEPSPEC2006 дней, что является эквивалентом 1900 лет расчетов на одном ядре центрального процессора. 90% процентов всех расчетов проведено на трех больших ресурсах: суперкомпьютере «Говорун», Tier1 и Tier2, 6 % — на облачной инфраструктуре ОИЯИ, 4% — на других ресурсах.
Основным пользователем распределенной платформы является эксперимент MPD, доля которого составляет 85%. С использованием DIRAC выполняется программа сеансов массового моделирования данных эксперимента MPD. Более 1.3 миллиардов событий были успешно смоделированы с помощью UrQMD, GSM, 3 Fluid Dynamics и vHLLE_UrQMD и других генераторов, 439 миллионов событий были впоследствии реконструированы. Общий объем полученных данных превышает 1.2 PB. 7% вычислений были выполнены экспериментом Baikal-GVD, 5% — экспериментом SPD, 2% — BM@N, 1% — Folding@Home.
Помимо возможности проводить массовый запуск задач, интеграция большого количества гетерогенных ресурсов открыла возможность их централизованного анализа. Был разработан подход к оценке производительности разных вычислительных ресурсов, по результатам реализации которого предложен способ оценки на основе пользовательских задач, а не искусственных тестов . Появилась возможность качественно оценить производительность разных ресурсов. В некоторых случаях это позволило понять, когда ресурс используется неэффективно. Также было обнаружено, что стандартный тест DIRAC (т.н. DIRAC Benchmark, DB) занижает производительность для некоторых моделей процессоров, о чем нами было впервые доложено разработчикам этого теста.
С ростом интенсивности использования ПРВ потребовалось создать дополнительные сервисы для пользователей. Один из сервисов связан с оценкой производительности на уровне конкретной пользовательской задачи, что дает возможность пользователю лучше понять режимы использования вычислительных ресурсов, сети, оперативной памяти. Также это позволяет на раннем этапе выявлять проблемы в программных пакетах, используемых для обработки данных. Второй сервис был специально разработан для эксперимента MPD. Он предоставляет пользователям интерфейс для запуска задач, оформленный не в терминах количества задач, исполняемых процессов, передаваемых аргументов, а в физических: количество событий, генератор, энергия, состав пучка . Таким образом, физикам предоставляется интерфейс, который полагается на более близкие им понятия. Это первый пример создания проблемно-ориентированного интерфейса в рамках инфраструктуры DIRAC в ОИЯИ. В дальнейшем возможна разработка подобных интерфейсов для других научных групп данной платформы распределенных ресурсов.
Наиболее важными результатами являются:
- Разработан и внедрен модуль для интеграции облачных ресурсов, работающих на базе ПО OpenNebula. С использованием разработанного модуля произведено объединение облака ОИЯИ и стран-участниц для проведения вычислений. Объединенная инфраструктура ОИЯИ и стран-участниц была использована для участия в проекте Folding@Home для изучения вируса SARS-CoV-2, а также для запуска задач моделирования эксперимента Baikal-GVD.
- Проведена интеграция в DIRAC вычислительных ресурсов: суперкомпьютера «Говорун», Tier1, Tier2, NICA кластера, облака ОИЯИ, облаков стран-участниц ОИЯИ, кластера UNAM. Проведена интеграция ресурсов хранения: дисковое хранилище EOS, ленточное хранилище dCache. Произведена адаптация рабочих процессов массового моделирования данных эксперимента MPD для запуска задач и сохранения данных с использованием платформы DIRAC. С 2019 года эта платформа используется для реализации программы сеансов массового моделирования данных эксперимента MPD.
- Предложен новый подход к анализу производительности распределенных гетерогенных вычислительных ресурсов. Применение данного подхода позволило определить производительность вычислительных ресурсов, интегрированных в DIRAC.