Привет! Я — Аля, старший продакт-менеджер выделенных серверов в Selectel. Этой весной я побывала на экскурсии в CERN — и там я узнала, что за все время работы коллайдера на лентах архива накоплено более эксабайта данных. И это только то, что прошло фильтрацию — 99,99% уже было отброшено. 

У меня сразу возникло много вопросов. Как они справляются с таким потоком? Как хранят все это десятилетиями? Как проектируют архитектуру, которая должна работать десятки лет? Эти вопросы легли в основу серии статей — каждая прослеживает один инфраструктурный слой на пути данных от детекторной пещеры до ноутбука физика где-то в мире.

CERN — это не просто физическая организация

Выставочно-просветительский центр CERN Science Gateway. Источник.
Выставочно-просветительский центр CERN Science Gateway. Источник.

CERN принято описывать как место, где изучают фундаментальную физику. Это правда. Но если смотреть с точки зрения инфраструктуры, CERN — это нечто более необычное. Это специализированная фабрика данных в масштабах, запредельными для коммерческого бизнеса, и спроектированная так, чтобы работать десятилетиями.

Большой адронный коллайдер (БАК) запущен в 2008 году и должен оставаться работоспособным в 2040–2050. То есть все данные, включая те, что помогли подтвердить существование бозона Хиггса, должны быть доступны для анализа спустя годы. Только представьте: их будут изучать исследователи, которые сегодня еще учатся в школе.

Один из экспериментальных залов CERN.
Один из экспериментальных залов CERN.

Долговечность — это не метафора, а реальное техническое требование, которое меняет всю логику принятия инфраструктурных решений. В CERN не думают кварталами, а думают экспериментами, длящимися десятилетия.

500 млрд страниц текста в секунду

Визуализация сложных потоков субатомных частиц, образующихся при столкновении пучков протонов в детекторе CMS. Источник.
Визуализация сложных потоков субатомных частиц, образующихся при столкновении пучков протонов в детекторе CMS. Источник.

Когда в БАК сталкиваются два протона, то огромные детекторы размером с пятиэтажный дом фиксируют событие и начинают генерировать данные. Сырой сигнал с детекторов идет со скоростью порядка петабайта в секунду. Для понимания масштаба: один петабайт — это примерно 500 млрд страниц текста. В секунду.

Ни одна система хранения на Земле не способна поглотить такой поток. Ни один бюджет его не выдержит. Если бы CERN пытался записывать все сырые данные, то стоимость одних только дисков превысила бы годовой бюджет организации (примерно 1,5 млрд швейцарских франков) за несколько минут работы коллайдера.

Ключевой момент в том, что эту скорость нельзя уменьшить: она задается физикой экспериментов, а не бюджетом или инженерными предпочтениями. Нельзя попросить протоны сталкиваться помедленнее. Нельзя поставить коллайдер на паузу, пока дата-центр «догоняет».

Бесплатное S3-хранилище на 30 дней

Для всех, кто ранее не использовал услугу в Selectel.

Оставить заявку →

Фильтрация данных как дисциплина

Решение, которое CERN нашел для проблемы огромного потока, называется триггерной системой. Это многоуровневый фильтр реального времени, который отбрасывает около 99,99% событий прямо в момент их возникновения. Чтобы понять, как это работает на практике, нужен один важный контекст: БАК — это ускоритель, а не один большой детектор. На базе него работают четыре независимых детектора: CMS, ATLAS, ALICE и LHCb — и у каждого своя триггерная система со своими параметрами.

Общий вид БАК, включая ATLAS, CMS, ALICE и LHCb. Источник.
Общий вид БАК, включая ATLAS, CMS, ALICE и LHCb. Источник.

Разберем на примере CMS: он один из самых известных и по нему больше всего открытой документации. Работает система в два этапа.

Первый уровень — L1 Trigger

Задача L1 — за микросекунды отсечь очевидно неинтересные события прямо на аппаратуре детектора, не передавая их никуда дальше. Это самый грубый и самый быстрый фильтр в цепочке.

CMS фиксирует около 40 млн bunch crossings в секунду. Весь этот поток — несколько терабайт данных в секунду — невозможно ни записать, ни обработать в реальном времени. Поэтому отбором занимается специализированная электроника — L1 Trigger, который сокращает частоту событий с 40 МГц до 100 кГц.

Основа L1 — специализированные аппаратные процессоры на базе FPGA (Field-Programmable Gate Array).

Прототипы плат для Phase-2 апгрейда L1 Trigger CMS. На каждой плате — крупные FPGA Xilinx и более 100 высокоскоростных оптических каналов (28 Гбит/с). Слева направо: Serenity, X2O и APx. Источник.
Прототипы плат для Phase-2 апгрейда L1 Trigger CMS. На каждой плате — крупные FPGA Xilinx и более 100 высокоскоростных оптических каналов (28 Гбит/с). Слева направо: Serenity, X2O и APx. Источник.

FPGA — это микросхема, логику которой можно перепрограммировать под конкретную задачу. В отличие от ASIC, где транзисторная логика намертво вытравлена в кремнии при производстве, FPGA содержит матрицу программируемых логических блоков — ее структуру можно менять, буквально переопределяя, как сигналы проходят через чип. То есть это не установка новой программы, а переконфигурация самой схемы. FPGA делает все параллельно и аппаратно: не выполняет программу, а буквально становится схемой. Это дает скорость, недостижимую на стандартном железе, даже на самом мощном выделенном сервере.

Почему здесь нельзя использовать даже выделенный сервер? На любом сервере работает операционная система — она управляет памятью, процессами, сетью, файлами — и все это требует времени. Даже простой системный вызов занимает микросекунды. L1 Trigger выдает решение через 3,8 мкс после столкновения — за это время операционная система не успела бы даже начать обработку. Поэтому здесь нет ОС, нет сетевого стека, нет ничего универсального. L1 использует информацию с калориметров и мюонных детекторов и работает как полностью синхронизированная система.

Пока L1 думает, данные должны где-то ждать. В CMS используются конвейерные буферы, встроенные прямо в считывающие чипы на аппаратуре детектора. Например, чип APV25, разработанный в конце 1990-х и используемый в трекере CMS по настоящее время, записывает сигнал каждые 25 наносекунд в аналоговый конвейер из 192 ячеек — это обеспечивает буферизацию на время задержки L1 Trigger до 4 мкс плюс дополнительное место для событий, ожидающих считывание. Буферы хранят данные на аппаратуре детектора до тех пор, пока не придет решение L1. Если L1 говорит «интересно» — данные уходят дальше. Если нет — буфер перезаписывается следующим событием. 

L1 Trigger принимает поток около 40 ТБ данных в секунду и сокращает его до управляемого объема — пропуская дальше около 100 000 событий в секунду, которые уходят на следующий уровень. Остальное исчезает немедленно и безвозвратно.
Для сравнения: домашний интернет — обычно 100–1 000 Мбит/с. CERN обрабатывает поток в ~320 000 000 Мбит/с — в 320 000–3,2 млн раз больше соответственно.

USC55, подземный counting room. Стойка Trigger/DAQ детектора CMS. Именно здесь в реальном времени принимаются решения о том, какие данные сохранить, а какие выбросить.
USC55, подземный counting room. Стойка Trigger/DAQ детектора CMS. Именно здесь в реальном времени принимаются решения о том, какие данные сохранить, а какие выбросить.

Второй уровень — High Level Trigger

Задача High Level Trigger (HLT) — из ста тысяч событий, прошедших с L1, отобрать те, которые действительно интересны с точки зрения физики. Здесь уже не грубая проверка по энергии, а частичная реконструкция события с помощью физических алгоритмов.

Но сначала данные нужно собрать воедино. CMS состоит из множества независимых субдетекторов. Система сбора данных DAQ (Data Acquisition System) группирует данные от одного события из разных частей детектора — примерно как сортировка деталей от разных пазлов по их родным коробкам. Собранное событие целиком передается на HLT.

HLT работает на компьютерной ферме, расположенной прямо на поверхности над детектором CMS — на точке P5 в Сесси, Франция. Данные поступают снизу, из экспериментальной шахты глубиной 100 метров по высокоскоростным оптическим линиям. Базовая конфигурация фермы Run 3 — это целых 200 узлов с процессорами AMD EPYC Milan и GPU NVIDIA Tesla T4. Итого: 25 600 процессорных ядер и 400 GPU.

Перед сезоном 2024 года ферма была расширена еще на 18 узлов с более новым железом — AMD EPYC Bergamo и NVIDIA L4 — что дало прирост около 20%, до более чем 30 000 ядер и 450 GPU. Стандартное коммерческое железо, Linux, никакой экзотики.

На каждом узле запускается программный алгоритм реконструкции, который поэтапно использует информацию со всех субдетекторов — от быстрых калориметров и мюонных систем до полного трекера. Программа ищет треки — траектории заряженных частиц, по кривизне которых можно определить их тип и энергию. Ищет мюоны — это тяжелые родственники электрона, которые проходят сквозь материал детектора насквозь и часто указывают на редкие процессы, в том числе на распады тяжелых частиц вроде бозона Хиггса. Кроме того, программа ищет джеты — потоки частиц, летящих в одном направлении. Если ничего интересного нет — событие выбрасывается навсегда. Подробнее можно почитать в статье.

HLT сокращает поток со 100 000 событий в секунду до 5 000. Это уже управляемый объем, который по выделенным оптическим линиям уходит в Tier-0 — дата-центр CERN в Мейрене.

Важная деталь про инфраструктуру: ферма HLT не простаивает между сессиями коллайдера. Когда БАК не генерирует столкновения во время технических остановок или пауз между заполнениями пучков, серверы переключаются на офлайн-задачи — реконструкцию данных, симуляцию, калибровку. Когда коллайдер возобновляет работу, офлайн-задачи автоматически приостанавливаются и ферма возвращается в режим триггера.

Чему компании могут научиться у CERN

Из опыта CERN можно взять одну привычку: перед запуском любой системы явно ответить на три вопроса.

Какой поток данных вы не можете контролировать на входе и спроектирована ли инфраструктура вокруг этого ограничения? В CERN ответ был задан извне: коллайдер генерирует данные с фиксированной скоростью, процесс нельзя замедлить. В компании таким ограничением могут быть пиковый трафик, требования регулятора или SLA. Пока вы не ответили на этот вопрос, вы не знаете, от чего не можете отказаться.

Что мы осознанно не будем хранить? В CERN критерии отбора данных определяли физики до запуска эксперимента — люди, которые понимали ценность данных на горизонте десятилетий. В CERN данные 2012 года доступны до сих пор, потому что кто-то заранее принял это решение осознанно.

Что будет сложно изменить потом? Решения, которые кажутся локальными при запуске, становятся фундаментом со временем. В CERN это знали заранее — триггер нельзя переделать задним числом, поэтому его проектировали с горизонтом всего эксперимента. В компании этот разговор часто не происходит вообще, а система тем временем живет дольше, чем планировалось.

В CERN эти вопросы задают физики. В компании их должен задавать архитектор или продакт до того, как система ушла в продакшен.

Заключение

Триггер сделал свое дело — из петабайт в секунду осталось несколько гигабайт. Но это только первый слой. Дальше эти данные нужно куда-то принять, записать и сохранить так, чтобы через двадцать лет они оставались читаемыми.

В следующей статье подробно расскажу про Tier-0, дата-центр CERN в Meyrin, и почему на горизонте двадцати лет скучное стандартное железо оказывается лучшим выбором.

Комментарии (0)