Совершенствование информационных систем для онлайн и офлайн обработки данных экспериментальных установок комплекса NICA*
К. В. Герценбергер1, И. А. Филозова2, И. Н. Александров2,
Е. И. Александров2, А. А. Мошкин1, М. А. Минеев2, А. В. Яковлев2,
Г. В. Шестакова2, Д. И. Пряхина2, А. И. Чеботов1, А. А. Нозик3, П. А. Климай3
1Лаборатория физики высоких энергий им. В.И. Векслера и А.М. Балдина ОИЯИ
2Лаборатория информационных технологий ОИЯИ
3Московский физико-технический институт
*Исследование выполняется при финансовой поддержке РФФИ в рамках научного проекта № 18-02-40125.
Столкновения тяжёлых ионов высоких энергий предоставляют уникальные возможности для исследования свойств ядерной материи при экстремальных условиях. Согласно принятой программе Объединенного института ядерных исследований одной из приоритетных задач на следующие годы является создание ускорительно-накопительного комплекса NICA для исследования столкновений тяжёлых ионов с высокой светимостью при энергиях взаимодействия в системе центра масс 4 − 11 ГэВ (для ионов золота). Коллайдер NICA, создаваемый на базе существующего сверхпроводящего Нуклотрона ОИЯИ, является важным научно-значимым объектом и входит в список крупнейших научных мегапроектов России.
Сбор, хранение, обработка и анализ экспериментальных и смоделированных данных являются неотъемлемой частью современных экспериментов физики высоких энергий. За решение данных задач в современных экспериментах отвечают системы сбора и обработки данных, информационные системы и базы данных. Эти задачи приобретают особое значение в экспериментах мегапроекта NICA в связи с высокой скоростью набора и большой множественностью событий столкновения тяжёлых ионов, поэтому особую актуальность представляет задача автоматизации рассматриваемых процессов на комплексе NICA.
В рамках данного научного проекта выполняются работы по разработке и развитию автоматизированных информационных систем (АИС), обеспечивающих хранение, организацию удобного, прозрачного доступа и управление данными на протяжении жизненного цикла научных исследований мегапроекта NICA. Как показало проведенное исследование об использовании подобных систем в различных физических центрах, в частности в экспериментах на Большом адронном коллайдере в CERN, такие системы задействуются для решения этой задачи во всех крупных физических экспериментах по столкновению частиц, однако существующие решения по автоматизации процессов сбора, обработки и анализа данных сильно зависят от специфики выполняемого эксперимента и являются их неотделимой частью. В связи с этим для мегапроекта NICA в рамках гранта РФФИ разрабатываются новые информационные системы специфичные экспериментам проекта NICA с учётом хорошо зарекомендовавших себя, современных решений.
Конечной целью данной работы является повышение эффективности сбора, обработки и анализа данных, обеспечение членов коллаборации требуемыми информационными сервисами. В рамках достижения заявленной цели ведется разработка новых информационных систем, предназначенных для онлайн и офлайн обработки данных экспериментов проекта NICA, представленных ниже.
- Информационная система для учёта геометрии детекторов (геометрическая база данных) предназначена для хранения и обработки информации о составе и структуре детекторов, используемых в сеансах работы экспериментов и физических анализах смоделированных и экспериментальных данных. Также данная система направлена на предоставление информации о геометрии установки для онлайн мониторинга и офлайн визуализации событий экспериментов.
- База данных состояний систем направлена на хранение, обработку и возможность использования различных параметров работы и режимов устройств и детекторов эксперимента в алгоритмах реконструкции и анализа событий столкновения частиц.
- Система онлайн журналирования предоставляет членам коллаборации возможность записывать во время сеанса эксперимента данные о происходящих событиях, состоянии систем, условий работы детекторов. В дальнейшем данные журнала используются при анализе событий столкновения частиц, поэтому обеспечение корректного многопользовательского доступа к электронному журналу имеет важное значение при реализации методов обработки данных в экспериментах физики высоких энергий.
- Конфигурационная информационная система служит для хранения и предоставления данных о конфигурации подсистем эксперимента при сборе данных с детекторов в онлайн режиме. Система хранит различные конфигурационные данные, в том числе, необходимые для установки детекторов в рабочий режим, такие как, например, рабочее напряжение на детекторах, программируемые параметры электроники, конфигурацию детекторов, задачи, которые должны стартовать, а также параметры этих задач.
- Система метаданных физических событий обеспечивает управление информацией об уникальном номере событий, сохраняет ссылки на происходящие в эксперименте события, сработавшие при онлайн обработке триггеры, перечень восстановленных частиц и другую информацию, необходимую для удобного поиска событий, требуемых для физического анализа.
I. Разработка и унификация геометрической информационной системы и сопутствующих сервисов для экспериментов проекта NICA.
В ходе работ по гранту реализована и унифицирована новая информационная система для работы с геометрией детекторов экспериментов проекта NICA, базирующаяся на разработанной оригинальной геометрической базе данных эксперимента и предназначенная для хранения, обработки и управления информацией о геометрической модели детекторов и их структуре, которая в дальнейшем используется для обработки моделированных и экспериментальных данных.
Проектирование геометрической базы данных эксперимента было выполнено в соответствии со следующими требованиями. Управление геометрическими модулями установки осуществляется в виде бинарных объектов программной среды CERN ROOT, используемой в экспериментах физики высоких энергий, в частности экспериментов проекта NICA. Для каждого модуля требуется хранить его тег (идентификатор объекта), версию, матрицу преобразования и ссылку на родительский модуль. Различные версии установки эксперимента определяются в виде комбинации составляющих геометрических модулей, магнитного поля и материалов, сохраняемых в базе данных, при этом геометрическая информационная система должна управлять различными версиями модулей и самой установки.
При разработке геометрической информационной системы для экспериментов на NICA использовались методы объектно-ориентированного анализа и проектирования, описана общая функциональная модель геометрической базы данных. Возможности разработанной системы обеспечивают просмотр, извлечение и обновление различных версий геометрии модулей и установки эксперимента; хранение геометрий установки в виде комбинации данных модулей, магнитного поля и материалов среды; хранение отдельных геометрических модулей установки в виде файлов среды CERN ROOT и матриц преобразования. Матрица преобразования является одним из важных хранимых параметров, с помощью которого задается смещение и поворот детекторов в установке без изменения исходной геометрии в файлах, что активно используется при проектировании и выравнивании геометрии установки. Также ключевым элементом является ревизия геометрических модулей, задающая реализацию объектов геометрии в программном обеспечении эксперимента для обработки данных событий.
В ходе проектирования была разработана объектная модель геометрической базы данных, которая определяет, в том числе, основные характеристики всех объектов в базе данных: тег, дату внесения объекта, описание и автора. Разработана общая архитектура геометрической информационной системы, построенная по модели взаимодействия “клиент-сервер”, представленная на рисунке 1. Серверная часть, реализованная при помощи сервера Apache с использованием PHP-скриптов, предоставляет все функциональные возможности для работы с геометрической базой данных установки. Разработанная клиентская часть предусматривает работу с локальной версией геометрической базой данных, являющейся частью инфраструктуры программного обеспечения эксперимента и реализованной на основе системы управления базами данных (СУБД) SQLite как локальной реплики центральной базы данных под управлением СУБД PostgreSQL.
Разработанная система, помимо базы данных, предоставляет набор инструментов для работы с геометрической информационной системой, включая интуитивный и компактный графический веб-интерфейс в виде специализированного веб-сервиса, а также прикладной программный интерфейс. Прикладной программный интерфейс предоставляет набор ROOT-макросов для выбора и загрузки геометрии установки и ее составляющих в программное обеспечение эксперимента для задач моделирования, реконструкции и физического анализа данных. Веб-интерфейс разработан для доступа ко всем функциям системы в зависимости от категории пользователя (ведущий разработчик, разработчик геометрии или пользователь эксперимента): добавление, утверждение, изменение, удаление, а также просмотр и поиск геометрии детекторов, описаний магнитных полей, материалов детекторов и среды, задание геометрических модулей с матрицами преобразования и формирование из них новых версий геометрии установки; удаление, утверждение и изменение существующих геометрий установки; поиск и загрузка полной геометрии установки или отдельных геометрических модулей из веб-сервиса; репликация центральной базы данных в локальную пользовательскую базу данных; просмотр геометрий установки, их характеристик и другой вспомогательной информации.
Для развертывания и инициализации геометрической информационной системы разработана гибкая, конфигурируемая система установки с возможностью простой настройки для использования в любом эксперименте проекта NICA. Основная концепция системы развертывания заключается в использовании унифицированного скрипта с конфигурационным файлом, который устанавливает и настраивает все компоненты информационной системы в соответствии со спецификой эксперимента, включая геометрическую базу данных и веб-сервис на удаленных серверах. После запуска разработанного сценария участники эксперимента могут сразу начинать заполнение базы данных геометрией детекторов при помощи веб-интерфейса.
Таким образом, разработанная геометрическая информационная система предоставляет централизованное хранилище геометрий установки для экспериментов на NICA и набор удобных инструментов для управления отдельными геометрическим модулями и программными сборками различных версий установки в виде комбинации этих модулей и описаний магнитного поля и среды. Хранимые в базе данных геометрии эксперимента используются для обработки данных событий столкновения частиц, например, при моделировании, реконструкции и физическом анализе.
II. Разработка и унификация информационной системы онлайн журналирования для экспериментов проекта NICA.
Во время сеансов экспериментов физики высоких энергий важное значение для понимания происходящих событий столкновения частиц имеют не только данные, собираемые с детекторов, но и записи в журналах членами коллаборации, которые описывают режимы работы различных систем и детекторов эксперимента, и сами события. Хотя бумажные журналы, в которых делаются записи о текущих параметрах эксперимента, а также о возникших проблемах в работе и предпринятых действиях, привычны и используются на сеансах с давних пор, однако они крайне неудобны при поиске нужной информации или ее использовании при дальнейшей обработке и анализе полученных данных.
Членами коллектива спроектирована и разработана информационная система онлайн журналирования сеансов для экспериментов комплекса NICA, используемая для автоматизации процесса записи в журнал операторами смен информации, описывающей текущие параметры и режимы работы различных систем и детекторов эксперимента во время сеансов и различные типы произошедших событий, например, время, тип и энергию пучков частиц, магнитное поле, триггеры, а также проблемы, их решение и предпринятые действия.
Новый электронный журнал реализован на основе созданной базы данных на СУБД PostgreSQL для хранения и работы с данными журнала, и которая обеспечивает корректный многопользовательский доступ к данным, согласованность, целостности данных и их автоматическое регулярное резервирование на случай ошибок программного обеспечения или аппаратных сбоев.
Для предоставления членам коллаборации возможности удобного просмотра, управления и поиска необходимой информации в электронном журнале, а также обеспечения единого доступа к данным журнала различным онлайн и офлайн системам эксперимента, разработаны интерфейс прикладного программирования и пользовательский графический веб-интерфейс, а также набор вспомогательных сервисов. Реализованный на PHP веб-сервис обеспечивает операторов смен интерфейсом (на рисунке 2 в качестве примера показан интерфейс для эксперимента BM@N) для внесения и предоставления другим членам коллаборации информации о режимах работы, произошедших событиях и проблемах, возникших в эксперименте во время его работы, а также обеспечивает следующие функциональные возможности в зависимости от роли аутентифицированного пользователя (администратор, оператор смены или обычный пользователь): просмотр, добавление или изменение записей в журнале, прикрепление файлов с текстовым описанием или изображением, поиск и сортировка данных по заданным параметрам. При этом только администраторы могут заполнять словари, содержащие списки возможных частиц, триггеров, типов событий и персонала. Реализованные дополнительные сервисы, такие как подписка на уведомления о событиях определенного типа и личный кабинет, улучшают функциональность платформы электронного журналирования и повышают удобство ее использования участниками эксперимента.
В информационную систему онлайн журналирования во время сеанса записывается информация о текущих событиях столкновения частиц, состоянии и условиях работы различных экспериментальных систем и детекторов, которые в дальнейшем используются при оцифровке, обработке и физическом анализе данных событий столкновения частиц эксперимента. Для решения данной задачи разработан специализированный интерфейс прикладного программирования, обеспечивающий доступ другими онлайн и офлайн системам эксперимента к требуемым данным электронного журнала, в том числе в алгоритмах оцифровки, обработки и физического анализа событий столкновения частиц.
Новая версия платформы электронного журнала содержит конфигурируемые модули как в части базы данных, так и созданных интерфейсов для ее использования в различных экспериментах по столкновению частиц. Разработана единая система установки ИС электронного журналирования, основанная на Docker-контейнерах и сценариях командной оболочки, которая позволяет достаточно просто развернуть ее для любого эксперимента проекта NICA с учетом особенностей этого эксперимента. Результатом конфигурируемого развертывания платформы электронного журнала для экспериментов является созданная база данных журнала, интерфейсы и сервисы, развернутые в виде мультиконтейнерной архитектуры (трех Docker-контейнеров) на нескольких распределенных серверах (возможно разворачивание и односерверной конфигурации), после чего участники могут сразу заполнять и работать с электронным журналом как с полностью готовой системой. Унифицированная система развёртывания протестирована с заданной JSON конфигурацией для будущего эксперимента MPD проекта NICA.
Разработанная информационная система онлайн журналирования внедрена в идущий эксперимент BM@N проекта NICA, содержит записи различного типа по всем проведенным сеансам эксперимента и активно используется членами коллаборации при обработке данных. Она позволила заменить бумажные журналы и текстовые файлы, используемые до этого в эксперименте. Планируется использование системы в сеансах будущих экспериментов на коллайдере NICA, система уже сконфигурирована и развернута для эксперимента MPD с целью использования при испытании экспериментальной установки после сборки составных частей детекторов.
III. Проектирование базы данных состояний для экспериментов проекта NICA.
В ходе работ по гранту была спроектирована оригинальная база данных состояний, предназначенная для хранения, обработки и использования различных параметров и информации о состоянии и режимах работы подсистем и детекторов эксперимента при онлайн и офлайн обработке экспериментальных и смоделированных данных, включая оцифровку, реконструкцию и физический анализ событий столкновений частиц. Соответствующая информационная система решает также задачу удобного доступа и управления требуемыми параметрами подсистем установки для их учета на всех этапах обработки данных эксперимента.
В процессе разработки структура базы данных была максимально упрощена и приведена к общей схеме, которая может быть использована в разных физических экспериментах по столкновению частиц. В архитектуре создаваемой базы данных выделены три основные компонентные части (рисунок 3), отвечающие за хранение информации о смоделированных данных, о сеансах и запусках эксперимента, включая данные по магнитному полю, типе частиц пучка и энергии, времени, количеству событий столкновений и полученных файлах экспериментальных данных, а также хранение параметров различного типа для аппаратных подсистем эксперимента, требуемых для обработки данных. В дальнейшем хранимая информация используется в различных алгоритмах обработки данных эксперимента, в том числе при моделировании работы установки, реконструкции полученных событий и их физическом анализе.
База данных состояний разрабатывается как центральное хранилище информации об условиях и режимах работы различных подсистем, а также параметров проводимого эксперимента. Проведенный анализ показал, что для экспериментов проекта NICA она будет иметь относительно небольшой размер, поэтому ее разработка ведется на реляционной СУБД PostgreSQL.В базе данных состояний хранятся параметры, которые меняют свои значения во время сеансов эксперимента, поэтому они характеризуются интервалом их действия. В связи с этим хранимые параметры для экспериментов на NICA содержат привязку к интервалу запусков (ранов), в течение которого они валидны. Кроме того, одной из важных особенностей базы данных является то, что разработанная архитектура обеспечивает хранение параметров любого предопределенного типа в бинарном виде, где их сериализация в двоичные объекты выполняется через программный интерфейс.
Началась разработка интерфейсов к базе данных состояний. Специализированный программный интерфейс на C++ обеспечит интеграцию базы данных с основным фреймворком эксперимента на основе пакета ROOT (BmnRoot, MPDRoot, SPDroot) для использования хранимой информации при онлайн и офлайн обработке данных. Реализация пользовательского графического интерфейса ведется в виде веб-сервиса для упрощения просмотра и управления актуальной информацией об эксперименте членами коллаборации. Реализация системы будет завершена согласно плану в 2021 году.
IV. Проектирование информационной системы метаданных событий столкновения частиц для экспериментов проекта NICA.
Основными функциями информационной системы метаданных событий являются краткое описание полученных событий столкновения частиц, хранение необходимых метаданных событий, организация удобного доступа к ним и управления, а также предоставление необходимых интерфейсов к базе метаданных. Новая система метаданных событий предназначена для хранения и индексации событий экспериментов проекта NICA и предоставляет возможность поиска по хранимым метаданным и получения только событий, необходимых для конкретного физического анализа, в соответствии с заданными критериями.
Спроектированная информационная система основана на базе данных (зачастую называемую каталогом событий), представляющей каталог полученных событий и включающая сводные данные о событиях столкновения частиц в экспериментах NICA (сами физические события хранятся в файлах среды ROOT), такие как: номер сеансов и запусков (ранов), время события, количество первичных и всех реконструированных треков, список идентифицированных частицах, полный заряд события, версию используемого программного обеспечения и другие параметры, и обеспечивает запись и управление данной информацией, необходимой для поиска и отбора требуемого набора событий по различным параметрам для их дальнейшей обработки и физического анализа. Помимо информации, описывающей физические события, метаданные содержат информацию о стадии обработки событий и уникальные ссылки на соответствующие события в файлах, то есть ссылку на файл данных в распределенном хранилище и номер события в файле.
Разработана общая архитектура системы метаданных событий (рисунок 4) для экспериментов проекта NICA. База данных состояний, содержащая конфигурируемую сводную информацию по общим параметрам запусков (ранов) эксперимента, будет использоваться на первом этапе отбора событий, а затем в каталоге событий будут отбираться только события для полученных на первом этапе значений номеров сеансов и ранов эксперимента. Новая информационная система будет предоставлять веб-сервис для просмотра и поиска метаданных событий, хранящихся в каталоге, членами коллаборации, а также для получения событий, удовлетворяющих заданным параметрам. В свою очередь, специализированный программный интерфейс разрабатывается для автоматизированной записи новых метаданных в каталог событий во время обработки данных и для запроса требуемых событий согласно заданным критериям для физического анализа в программном обеспечении эксперимента.
Предполагается, что количество событий столкновения частиц для экспериментов проекта NICA будет увеличиваться с текущего значения в сотни миллионов событий BM@N до миллиардов событий в год в будущих экспериментах проекта NICA. В связи с этим выбор СУБД для реализации каталога событий, которая обеспечит эффективную обработку миллиардов записей, являлся одним из ключевых этапов проектирования. Были разработаны и развернуты прототипы каталога событий на различных SQL и NoSQL базах данных: PostgreSQL, Hadoop HBase и Apache Cassandra, – с количеством записей до 3 миллиардов событий. Согласно выбранным критериям и полученной оценке производительности обработки метаданных событий на тестовых базах данных в доступной односерверной конфигурации была выбрана СУБД PostgreSQL для реализации каталога событий, которая обеспечивает приемлемое время обработки метаданных, легко конфигурируется и является универсальной с точки зрения возможных запросов пользователей. В тоже время в 2021 году будет продолжена работа по тестированию многосерверных конфигураций (недоступных в рамках финансовых возможностей гранта, но запрошенных у Объединенного института ядерных исследований) NoSQL-баз данных, включая новую систему распределенного асинхронного хранилища объектов Intel DAOS. Завершено проектирование информационной системы метаданных событий, согласно плану, система будет реализована в 2021 году.
V. Разработка вспомогательных сервисов для комплекса информационных систем, реализуемых в рамках гранта.
Для повышения эффективности и удобства работы с комплексом информационных систем разработан набор вспомогательных сервисов. Для упрощения администрирования и доступа членов коллаборации реализована единая система идентификации пользователей на базе решения FreeIPA, которая позволяет участникам иметь одну учетную запись для всех информационных систем эксперимента. Программное решение FreeIPA обеспечивает централизованную аутентификацию и авторизацию при помощи протокола LDAP, а также хранение информации об учетных записях, включая данные о членах коллаборации, группах, к которым они принадлежат, и других объектах, необходимых для управления аспектами безопасности рассматриваемых информационных систем.
В единой системе авторизации на базе FreeIPA для информационных систем созданы свои группы пользователей, которые разграничивают доступ участников эксперимента и определяют, какие соответствующие действия им доступны. При этом предусматривается, что метод идентификации пользователей в информационной системе можно легко сменить. Поддержка системы единой аутентификации и авторизации FreeIPA добавлена для платформы электронного журналирования, которая изначально осуществлялась только в соответствии с пользователями и их ролями, хранящимися в базе данных. Проводится работа по поддержке решения FreeIPA/LDAP и в других системах, реализуемых в рамках гранта. Также в ближайшее время планируется добавить поддержку системы единого входа (SSO), используемой в ОИЯИ.
Для минимизации времени реакции в случае аппаратных или программных сбоев важно следить за состоянием информационных систем, что особенно критично во время проведения эксперимента. Для решения данной задачи реализован сервис мониторинга, предназначенный для отслеживания задействованных серверов и баз данных информационных систем, хранения параметров их состояния и визуализации при помощи пакета Grafana на централизованном веб-сайте. В случае сбоев в работе разработанная система мониторинга рассылает соответствующие уведомления ответственным лицам.
Реализация и внедрение рассматриваемых информационных систем, обеспечивающих хранение, организацию удобного, прозрачного доступа и управление данными на протяжении жизненного цикла научных исследований мегапроекта NICA, является необходимым этапом для успешной работы комплекса, а качественное управление данными поможет ускорить достижение научных результатов в экспериментах мегапроекта NICA.
Создание данных информационных систем для сбора, хранения, обработки и анализа информации экспериментов мегапроекта NICA активно использует инфраструктуру гетерогенной вычислительной платформы HybriLIT. Часть сервисов представленных информационных систем сконфигурирована и развёрнута на ресурсах этой платформы. Кроме того, обработка данных экспериментальных установок комплекса NICA, использующая разработанные АИС, а также тестирование и профилирование алгоритмов работы с разрабатываемыми информационными системами ведётся на суперкомпьютере ГОВОРУН, являющемся частью вычислительной платформы HybriLIT.