П. О. ГОГЛОВ, Т. УАЙЛДИШ1, Д. ХУФНАГЕЛ2
Московский инженерно-физический институт (государственный университет)
1 Принстонский университет, США
2 Европейский центр ядерных исследований, Швейцария
АВТОМАТИЗАЦИЯ ОБРАБОТКИ ДАННЫХ
В ЭКСПЕРИМЕНТЕ «КОМПАКТНЫЙ МЮОННЫЙ СОЛЕНОИД»
Рассмотрена система автоматизации обработки данных эксперимента «Компактный мюонный соленоид» в рамках вычислительной структуры Европейского центра ядерных исследований.
Эксперимент «Компактный мюонный соленоид» (Compact Muon Solenoid - CMS) в Европейской организации ядерных исследований (European Organization for Nuclear Research – CERN/ЦЕРН) создан для изучения физических характеристик элементарных частиц и является одним из экспериментов, проводимых совместно с проектом Большого адронного коллайдера (LHC – Large Hadron Collider).
В соответствии с проектом эксперимента данные с детектора элементарных частиц собираются системой сбора данных (Data Aquisition System - DAQ), проходят несколько этапов обработки с использованием вычислительных мощностей ЦЕРНа и поступают на постобработку в семь научно-исследовательских организаций, расположенных в разных точках земного шара.
Первоначальная обработка данных использует набор программного обеспечения, на вход которому подается спецификация работы, необходимой для выполнения поставленной задачи и файл данных, поступающих из системы сбора данных детектора. Файлы данных поступают со скоростью 225 МБ/с, что потребовало создания автоматизированной системы передачи и обработки данных. Основными требованиями к системе являются:
- малое время реагирования на факт поступления файла данных;
- возможность подключения новых модулей «на лету»;
- возможность распределения вычислительной нагрузки;
- возможность масштабирования системы.
Автоматизация первоначальной обработки данных была проведена при помощи библиотеки Perl Object Environment (POE) - платформы для реализации многозадачного сетевого программного обеспечения [1], что позволило автоматизированной системе передачи и обработки данных ответить требованиям первоначальной обработки данных.
Автоматизированная система для первоначальной обработки данных состоит из управляющего компонента (в первоначальной версии одного, позже двух) и модулей управления задачами обработки и передачи данных.
Управляющий компонент содержит очередь сообщений, поступающих от остальных модулей, и на основании файла конфигурации рассылает сообщения с информацией о задачах другим модулям системы. Система сообщений, представляющих собой словари Perl, позволила уменьшить время реакции системы до пренебрежительно малой величины.
Все модули автоматизированной системы могут принимать и посылать сообщения управляющему компоненту, при этом для начала взаимодействия компонентов рабочему модулю достаточно прислать сообщение идентификации по протоколу TCP/IP, тем самым позволяя удовлетворить требования распределенности, расширяемости и масштабируемости системы.
Средствами библиотеки POE была реализована возможность распределения задач не только на уровне модулей системы, но и на уровне подмодулей. Иерархия подмодулей состоит из управляющего подмодуля, связанного с основным управляющим компонентом, и рабочего модуля, принимающего задания на обработку. Использование такой архитектуры позволило разнести каждый этап обработки данных на несколько потоков, тем самым распределив вычислительную нагрузку.
Созданная автоматизированная система хорошо зарекомендовала себя в рамках испытаний вычислительных систем эксперимента Компактный мюонный соленоид [2].
Список литературы
1. http://search. cpan. org/~rcaputo/POE-0.9999/lib/POE. pm
2. https://twiki. cern. ch/twiki/bin/view/CMS/CMST0Csa06PostMortem


