Введение в системы сбора данных - О.Соловьянов Введение в системы сбора данных - О.Соловьянов
←
→
Транскрипция содержимого страницы
Если ваш браузер не отображает страницу правильно, пожалуйста, читайте содержимое страницы ниже
Предисловие ➔Сбор данных не является точной наукой. Это «алхимия» электроники, компьютеров, сетей, физики и … опыта (включая «хакерство») …, а так же денег, времени и собственно людей, … ➔Речь пойдет в основном о системах сбора данных экспериментов физики высоких энергий ➔Цель данной лекции состоит в изложении основ, по возможности избегая технических деталей, которые будут объяснены позднее ➔ Многие материалы и идеи данных лекций позаимствованы из ISOTDAQ и CERN Summer Student Lectures 2020 2010 Введение в системы сбора данных – О.Соловьянов 2
Содержание ➔Введение ➔Что такое ССД(DAQ)? Общая схема ➔Основные принципы ССД Оцифровка (digitization), задержка (latency) Мертвое время (dead time), разравнивание (de-randomization) ➔Масштабирование Чтение данных (readout) и построение событий (event building) Обратное давление Шины и сети (buses & networks) 2020 2010 Введение в системы сбора данных – О.Соловьянов 3
ССД Википедия: Система сбора данных (ССД, DAQ) – комплекс средств, предназначенный для автоматизированного сбора информации о значениях физических параметров и перевода их в цифровую форму, накопление и передачу данных Система сбора данных не является однородным объектом Не очень четко очерчены границы Смесь из физики, электроники, сетей и компьютеров Требуется опыт и «хакерство» Ресурсы (люди, деньги, время, место) 2020 2010 Введение в системы сбора данных – О.Соловьянов 4
Общая схема Триггер и ССД система триггер и сбора сигналы данных сырые решения данные триггерная (raw data) система обратная хранилище связь Моделирование детектора и триггера реконструкция и анализ физические результаты ➔ Основная роль триггера и ССД заключается в приеме и обработке сигналов с детекторов, с записью наиболее интересной информации на постоянный носитель для дальнейшего анализа (offline reconstruction & analysis) 2020 2010 Введение в системы сбора данных – О.Соловьянов 5
Триггер и ССД ➔Триггер: Отбирает интересные события (events), и выкидывает ненужные, в режиме реального времени (real time) (то есть с минимальными задержками - latency) ➔ССД: Собирает данные от детекторов - чтение (readout) Возможно инициирует триггер более высокого уровня (HLT) Собирает полные события – построение событий (event building) Записывает данные (data recording) Предоставляет возможность контроля, конфигурации и наблюдения процесса сбора данных (run control, monitoring) 2020 2010 Введение в системы сбора данных – О.Соловьянов 6
Триггер и ССД • Триггерные ССД • Данные читаются из детектора только при получении триггера • Без-триггерные ССД • Данные читаются из детектора по мере поступления 2020 2010 Введение в системы сбора данных – О.Соловьянов 7
Триггер, ССД и контроль Мониторирование и контроль Каналы детектора Работать! Триггер Регистрирующая электроника (FE) Чтение данных/Построение событий Обработка/Фильтрация Хранилище (storage) ССД (DAQ) 2020 2010 Введение в системы сбора данных – О.Соловьянов 9
Простейшая ССД: периодический триггер Внешний вид ➔Измерение температуры с фиксированной частотой Датчик t ➔АЦП (ADC) переводит аналоговый сигнал в цифровой - оцифровка Физический (digitization) Датчик t Плата CPU Регистрирующая АЦП электроника (front-end electronics) диск ➔Процессор выполняет чтение и обработку Логический Обра- хранилище АЦП ботка Триггер (период.) 2020 2010 Введение в системы сбора данных – О.Соловьянов 11
Простейшая ССД: периодический триггер Внешний вид ➔Измерение температуры с фиксированной частотой Датчик t ➔Система явно ограничена временем Физический обработки события Датчик t Плата АЦП CPU ➔Например t=1 мс для АЦП преобразование диск +обработка +запись ➔Выдерживает ~1/1 Логический мс=1 кГц частоту Обра- хранилище периодического АЦП ботка триггера ➔R = 1/t Триггер (период.) 2020 2010 Введение в системы сбора данных – О.Соловьянов 12
Простейшая ССД: настоящий триггер ➔Измерение свойств бета-распада Датчик ➔События приходят Триггер асинхронно и непредсказуемо Нужен Задержка физический Дискриминатор триггер старт ➔Задержка АЦП компенсирует время выработки решения триггера Обраб прерывание ➔Дискриминатор – отка выдает триггер если входной сигнал больше порога диск 2020 2010 Введение в системы сбора данных – О.Соловьянов 13
Простейшая ССД: настоящий триггер ➔Измерение свойств бета-распада Нужен Датчик физический Триггер триггер ➔Стохастический Задержка процесс Дискриминатор Старт Флуктуации АЦП Вероятность интервала (в мс) между событиями для средней частоты распада f=1кГц → l=1мс 1ms Обраб Прерывание отка Что если триггер диск пришел когда система занята? 2020 2010 Введение в системы сбора данных – О.Соловьянов 14
Простейшая ССД: триггер и логика занятости f=1кГц ➔Логика занятости 1/f=l=1мс (busy logic) запрещает Датчик поступление Триггер триггеров во время обработки события Задержка ➔Какую (в среднем) Дискриминатор частоту мы теперь сможем получить? Старт АЦП Напоминание: and not t=1мс было достаточно для Прерывание работы на частоте 1мс Обрабо Set Q 1кГц с тка Clear периодическим Готовность Логика занятости триггером диск 2020 2010 Введение в системы сбора данных – О.Соловьянов 15
Мертвое время и эффективность (1) ➔Определим мертвое время (d) как отношение между временем когда система была занята и полным временем. В нашем примере d=0.1%/Гц ➔Из-за флуктуаций внесенных стохастическим процессом эффективность всегда будем меньше 100% В нашем примере, d=0.1%/Hz, f=1kHz → n=500Hz, e=50% 2020 2010 Введение в системы сбора данных – О.Соловьянов 16
Мертвое время и эффективность (2) ➔Если мы хотим получить n~f (e~100%) → ft
Простейшая ССД: разравнивание f=1кГц ➔ Очередь (First-In First- 1/f=l=1мс Out – FIFO) Датчик Буферная зона организована в виде Триггер очереди Задержка Глубина: число ячеек Запуск Дискриминатор Выполнена в АЦП «железе» (HW) или в Заполнен ПО (SW) FIFO Логика and занятости Готов Обраб ➔ Очередь FIFO добавляет отка дополнительную задержку Очередь FIFO поглощает и сглаживает входные флуктуации, и выдает разравненную (De-randomized) диск выходную частоту 2020 2010 Введение в системы сбора данных – О.Соловьянов 18
Разравнивание: теория очередей l FIFO t ➔Теперь мы можем достигнуть эффективности FIFO ~100% c t~l Умеренный r > 1 – система перегружена размер буфера r
Разравнивание: заключение ➔ Можно достичь почти f=1kHz 100% эффективности и 1/f=l=1ms минимального мертвого времени при условии Датчик Триггер АЦП может работать на частотах >>f Задержка Частота обработки Запуск Дискриминатор данных ~f АЦП Заполнен ➔FIFO отделяет Логика быстродействующую FIFO and регистрирующую занятости электронику от обработки Готов данных Обраб отка Минимизирует число быстрых компонентов ➔Можно ли заменить задержку на “FIFO”? диск Аналоговые задержки → широко используются на экспериментах LHC 2020 2010 Введение в системы сбора данных – О.Соловьянов 20
Простейшая ССД: режим коллайдера ➔ Столкновения частиц Несущая синхронны (с задающей Датчик частота частотой) Столкновения BX ➔ Триггер отбрасывает Запуск неинтересные события АЦП ➔ Даже если столкновения Отмена Триггер синхронны, то триггера (т.е. хорошие события) Дискриминатор непредсказуемы ➔ Необходимо разравнивание FIFO Заполнен Логика (de-randomization) занятости ➔ Более сложная логика Готов занятости, например – Обраб принять N событий за M отка пересечений диск 2020 2010 Введение в системы сбора данных – О.Соловьянов 21
Режим коллайдера 2020 2010 Введение в системы сбора данных – О.Соловьянов 22
Масштабируемость ? 2020 2010 Введение в системы сбора данных – О.Соловьянов 23
Простейшая ССД: больше каналов N каналов N каналов N каналов ADC ADC ADC Триггер Обраб Обраб Обраб отка отка отка Сбор данных Большое увеличение числа каналов требует иерархической структуры Обраб системы сбора данных отка хранилище 2020 2010 Введение в системы сбора данных – О.Соловьянов 24
Крупная ССД: составляющие N N N channels channels channels Буферизация ADC ADC ADC Front-End / оцифровка Чтение / Proces Proces Proces форматирование / Readout sing sing sing буферизация Сборка / Data буферизация Collection Event Building событий Дополнительный Proces отбор / буферизация Filtering sing Временное хранение / передача для storage Data-Logging дальнейшей обработки 2020 2010 Введение в системы сбора данных – О.Соловьянов 25
Крупная ССД 2020 2010 Введение в системы сбора данных – О.Соловьянов 26
Обратное давление (Backpressure) Если система/буфер переполнились – давление передается обратно Недостаточная пропускная способность Недостаточные вычислительные ресурсы 2020 2010 Введение в системы сбора данных – О.Соловьянов 27
Топология систем сбора данных ➔Чтение или построение событий из множества каналов требует множество компонентов ➔В дизайн нашей иерархической системы сбора данных стоит добавить «строительные блоки» например: каркасы, вычислительные узлы, … =3 x ➔Как организовать связи внутри и между блоками? ➔Два основных класса: шина (bus) и сеть (network) Источник данных Обработчик данных 2020 2010 Введение в системы сбора данных – О.Соловьянов 28
Шины ➔Примеры: CAMAC, VME, PCI, SCSI, Parallel ATA, … ➔Устройства соединены общей шиной Шина → набор проводников Общая шина подразумевает арбитраж ➔Устройства могут быть мастером или подчиненным ➔Устройство может быть адресовано (однозначно идентифицировано) на шине Slave Master Device Device Device Device 1 2 3 4 Data Lines Select Line 2020 2010 Введение в системы сбора данных – О.Соловьянов 29
Свойства шин ➔Простота Фиксированное число линий (ширина) Устройства должны соответствовать жестко определенным интерфейсам механическим, электрическим, ... ➔Проблемы масштабирования Пропускная способность делится между устройствами Максимальная ширина довольно ограничена Максимальная частота шины обратно пропорциональна ее длине Максимальное число устройств на шине зависит от ее длины Другие «эффекты» могут создать проблемы в дальнейшем 2020 2010 Введение в системы сбора данных – О.Соловьянов 30
Свойства шин В дальней перспективе, другие “эффекты” могут ограничить масштабируемость 2020 2010 Введение в системы сбора данных – О.Соловьянов 31
Сети ➔Примеры: телефон, Ethernet… ➔Все устройства равны ➔Устройства общаются напрямую друг с другом Нет арбитрации, одновременное взаимодействие ➔Устройства обмениваются сообщениями ➔В коммутируемой сети, коммутаторы передают сообщения между отправителем и получателем Находят правильный путь Справляются с “затором” (два сообщения одному получателю одновременно) Удивительно что ключом к успеху и тут является буферизация… Благодаря этим характеристикам, сети хорошо масштабируются. Они являются основой (кровеносной системой) систем сбора данных на LHC. 2020 2010 Введение в системы сбора данных – О.Соловьянов 32
Сети Хорошо масштабируются Являются основой систем сбора данных на LHC 2020 2010 Введение в системы сбора данных – О.Соловьянов 33
Сделай сам «Все надо делать самому» 2020 2010 Введение в системы сбора данных – О.Соловьянов 34
Напутствия разработчику ССД ➔ Изучение характеристик триггера. Периодический или стохастический - постоянный или «сгустками» - отсеивание или выборка ➔ Необходимая эффективность Хорошо иметь запас, но слишком большой размер следует избегать ➔ Следует определить источники флуктуаций и установить адекватные размеры буферизации. Внимание: (детерминированные) сложные системы вносят свои флуктуации: многопоточные процессы, сетевые соединения, … ➔ Подходящий буфер это небольшой буфер. Большой буфер делает систему менее стабильной и менее отзывчивой, подверженной к колебаниям. В общем случае ухудшает надежность. ➔ Чем проще и меньше свободных параметров тем лучше. ➔ Решение проблем требует настойчивости Очень редкий сбой в системе может быть симптомом гораздо больших проблем ➔ В любом случае, ... 2020 2010 Введение в системы сбора данных – О.Соловьянов 35
2020 2010 Введение в системы сбора данных – О.Соловьянов 36
Вы также можете почитать