#ВзрывМозга.
Командировка на коллайдер.
Как томичи помогают раскрывать тайны Вселенной
Осенью 2015 года трое молодых ученых из Томского политехнического университета отправились на стажировку в ЦЕРН — Европейский центр ядерных исследований.
Валерий Парубец, Татьяна Корчуганова и Максим Губин по специальности не физики, поэтому они не принимают участие в физических экспериментах и анализе полученных данных. Валерий занимается оптимизацией хранилища данных с Большого адронного коллайдера, Татьяна — мониторингом этих данных, а Максим, ведущий программист кафедры оптимизации систем управления ИК, — анализом производительности вычислительных задач сети Grid, куда стекаются все данные ЦЕРНа.
Он и рассказал нам, как устроена вычислительная сеть ЦЕРНа и как сделать ее еще лучше.
Большой адронный коллайдер (по-английски LHC — Large Hadron Collider) — это ускоритель элементарных частиц. БАК находится на территории Швейцарии и Франции, вблизи Женевы, в туннеле на глубине около 100 метров. Его периметр составляет примерно 27 км. Исследования координирует ЦЕРН — Европейский центр ядерных исследований, но реально на нем работают десятки тысяч человек из разных стран и организаций.
В туннеле-ускорителе встречные потоки элементарных частиц (в основном протонов) сталкиваются между собой, и в результате столкновения рождаются новые частицы. В том числе редкие для нашего мира, а также те, которые нельзя зарегистрировать другими способами (подробнее о протон-протонных столкновениях можно прочитать здесь). Вокруг точек столкновения частиц построено несколько детекторов, самые крупные из которых — ATLAS и CMS.
С помощью коллайдера ученые ищут подтверждение теоретическим моделям устройства нашего мира. Самое нашумевшее открытие, сделанное на БАК — обнаружение бозона Хиггса. О других интересных результатах работы коллайдера на сегодняшний день можно прочитать здесь.
Мощь ATLASa
Томичи работают в коллаборации, которая проводит эксперименты с помощью самого большого на коллайдере детектора — ATLAS. На нем стоят миллионы датчиков, которые собирают и передают разнообразную информацию о столкновениях частиц. Это огромное количество данных — петабайты в секунду (более миллиона гигабайт).
Макет детектора ATLAS
Большая часть данных никому не интересна, так как описывает стандартные взаимодействия элементарных частиц, и отбраковывается уже на уровне первичных триггеров. Это система специальных процессоров, которые пропускают только те события, которые теоретически (но совсем необязательно) выходят за рамки обычного — примерно одно из 400 событий. Дальнейшая отбраковка идет уже компьютерным способом. Второе и третье программные «сита» пропускают еще примерно одно из 450 оставшихся событий. Но даже это — чудовищные массивы данных, которых при нынешних вычислительных мощностях уже хватит на столетия обработки.
Сырые данные с датчиков ждут своего часа в хранилище. Когда одна из физических групп ЦЕРНа хочет исследовать
Распределенная вычислительная сеть ЦЕРНа
— Уровень (Tier) 0. Сюда поступают «сырые» данные с коллайдера. Здесь происходит первичная реконструкция.
— Уровень 1. Вычислительные узлы, обеспечивающие гарантированное хранение данных — как «сырых», так и обработанных. Эти узлы находятся в научных центрах разных стран и даже разных континентов — чтобы данные сохранились даже в том случае, если один из узлов будет разрушен. В том числе и в российской ОЭЗ «Дубна».
— Уровень 2 и 3. Сеть компьютеров, где производятся вычисления и анализ данных.
Иллюстрация: Автоматизированная система уровня Tier1 обработки данных эксперимента СMS. Авторы: Н. С. Астахов, С. Д. Белов, И. Н. Горбунов, П. В. Дмитриенко, А. Г. Долбилов, В. Е. Жильцов, В. В. Кореньков, В. В. Мицын, Т. А. Стриж, Е. А. Тихоненко, В. В. Трофимов, С. В. Шматов
— Проблема в том, что вычислительная сеть ЦЕРНа создавалась в срочном порядке физиками с дополнительным хобби программирования, — делится впечатлениями Максим Губин. — Она работоспособна, но не совсем оптимальна. Есть довольно много областей, в которых ее можно улучшить. Мы не лезем в данные, которые снимаются с коллайдера, не лезем в алгоритмы обработки, потому что для этого нужно быть и не просто физиком, а одним из лучших физиков мира. Мы, программисты, занимаемся оптимизацией обработки данных с точки зрения инфраструктуры вычислительной сети.
Виртуальные машины в облаке
Вычислительная сеть ATLAS очень большая и разнородная — в нее входят как кластеры суперкомпьютеров, так и домашние компьютеры, на которых установлена программа ATLAS@Home. ЦЕРН умеет дробить данные по столкновению частиц на вычислительные задания практически любых размеров, которые могут быть выполнены на компьютерах разной мощности и в разные сроки.
В ЦЕРНе гордятся тем, что им удалось привлечь к работе так называемые «оппортунистические ресурсы». Например, суперкомпьютеры США, которые предназначены для выполнения таких сложных заданий, как моделирование ядерных взрывов и тому подобное. Эти расчеты требуют недель работы большого суперкомпьютера, и нет особого смысла дробить их на мелкие задания. Если планируется техобслуживание суперкомпьютера, а предыдущий расчет он выполнил, например, за три дня до даты предполагаемой остановки, то оставшееся время, скорее всего, он будет простаивать. И тут появляется ЦЕРН, который способен создать ровно такое количество задач, чтобы суперкомпьютер успел просчитать их до момента выключения. В итоге физики получают огромное количество дополнительных вычислительных мощностей, а владельцы суперкомпьютеров — прибыль, которой иначе они бы лишились. И все довольны.
По дороге в ЦЕРН
Вычисления для ЦЕРНа делают и некоторые суперкомпьютеры из России. А в недалеком будущем, скорее всего, к этой работе подключится и суперкомпьютер ТПУ.
В ЦЕРНе очень активно применяются так называемые «виртуальные машины». Это образ, эмуляция компьютера, который можно запустить на другом компьютере, и он продолжит начатую работу. Разные машины специализируются на разных задачах: хранении данных, постановке задач, вычислениях, мониторинге. Все они работают в общем облаке и взаимодействуют между собой. Это позволило создать широкую и мобильную вычислительную сеть.
В коридорах ЦЕРНа
В поисках «неоптимальностей»
Однако эта сеть не всегда работает оптимально. Поиском «узких мест» вычислительной сети занимаются в
— Вычисления будут закончены только тогда, когда будет посчитана последняя задача, — рассказывает Максим. — Если 99 задач из 100 завершились за 30 секунд, а последняя выполнялась трое суток, физики получат результат только через трое суток. Поэтому если есть хотя бы один процесс, который выполняется слишком медленно, его надо найти и устранить. В частности, мной было замечено, что результаты вычислений очень долго загружаются обратно в хранилище. Неизвестно, чем это вызвано — могут быть сотни причин. Но теперь, когда программисты знают об этой проблеме, они будут искать пути ее решения.
Осень в ЦЕРНе
Сейчас Максим учится выявлять неэффективности в работе вычислительной системы вручную. Конечно, не в буквальном смысле. Вычислительная система собирает огромное количество данных о своей работе — десятки гигабайт в сутки. Просматривать их глазами бессмысленно: один только журнал вычислительных заданий в сутки вырастает на десятки миллионов записей. То есть, он будет проматываться гораздо быстрее, чем человек способен читать. Зато человек может анализировать эти данные с разных сторон. Например, с точки зрения времени выполнения заданий. Программист берет, допустим, миллион заданий и выясняет: какой процент из них был выполнен менее чем за 10 секунд, какой — от 10 до 20 секунд, и так далее. Если все задания выполняются
Обычно нельзя сказать однозначно, что является причиной некорректной работы системы. Программист может сделать предположение, попробовать
— Я, на самом деле, очень сочувствую программистам, которые работают с «живой» системой, — то ли в шутку, то ли всерьез говорит Максим. — Потому что если ошибку совершит аналитик, то ее могут вообще не заметить. А ошибку программиста, работающего с кодом, видно сразу и всем. Известен случай, когда попытка улучшить алгоритм вычислений привела к снижению производительности всего вычислительного центра ЦЕРН втрое на целые сутки.
В идеале, конечно, поиск «узких мест» должен производиться автоматически. Над этим и планирует работать Максим Губин после того, как уверенно разберется в структуре и функционировании вычислительного центра ЦЕРНа.
Деревянный глобус — символ ЦЕРНа
Еще одна задача, которой будет заниматься Максим и в Швейцарии, и после возвращения в Томск — участие в создании каталога данных и знаний. Так как с данными коллайдера работает большое количество коллективов ученых, случается, что они начинают одновременно делать одни и те же расчеты одного и того же набора данных. Чтобы они не тратили время зря, планируется создать каталог, в который автоматически бы вносились сведения о выполненных расчетах. С одной стороны, позволит избежать лишней работы, а с другой — станет платформой для дальнейшего анализа этих сведений и проведения метаисследований.
Часть каталога данных и знаний ЦЕРНа будет реализована в Томском политехническом университете, в лаборатории обработки больших объемов данных. Ее планируется открыть в Институте кибернетики ТПУ. Здесь и продолжит свою работу Максим Губин, когда летом этого года вернется из своей долгой командировки.
Фото: Владимир Дударев, из личного архива Максима Губина