УДК 004.94
ПРИМЕНЕНИЕ ТЕХНОЛОГИЙ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛЕНИЙ В ЗАДАЧАХ ФИЗИКИ ВЫСОКИХ ЭНЕРГИЙ ДЛЯ ПРОЕКТА NICA/MPD1
А.Е. Басалаев, А.С. Бондаренко, С.П. Мерц, С.А. Немнюгин, А.Н. Тимофеев
Представлен подход к оптимизации вычислений, основанный на надстройке PROOF для пакета научных вычислений ROOT. Метод успешно применялся в задачах, возникающих в проекте NICA/MPD, таких как моделирование ridge-эффекта и вычисление радиационных длин детектора MPD. Получены зависимости ускорения от различных параметров.
Ключевые слова: NICA/MPD, MpdRoot, Ridge-effect, высокопроизводительные вычисления, PROOF, UrQMD, HADGEN
Введение
Любой современный эксперимент в области физики элементарных частиц требует тщательного моделирования. На этом этапе происходит апробация применяемых алгоритмов, сравнение используемых моделей, тестирование и оптимизация написанного программного кода. Под оптимизацией здесь понимается как алгоритмическое усовершенствование кода, так и внедрение высокопроизводительных и параллельных технологий.
В рамках научной программы по изучению горячей и плотной барионной материи в ОИЯИ (Объединенный Институт Ядерных Исследований, Дубна) реализуется проект по созданию нового ускорительного комплекса с встречными пучками NICA (Nuclotron-based Ion Collider fAcility) [1, 2]. Новый ускорительный комплекс позволит исследовать взаимодействия тяжелых ионов в широком диапазоне атомных масс: от легких ядер до ядер золота при энергии 3-11 ГэВ/нуклон в системе центра масс и светимости 1027см-2с-1 при частоте 6 кГц.
На коллайдере предусмотрены две точки пересечения пучков, в одной из которых будет располагаться экспериментальная установка MPD (Multi-Purpose Detector, многоцелевой детектор), предназначенная для исследований столкновений тяжелых ионов [3].
Детектор MPD состоит из цилиндрической и двух торцевых частей (рис. 1). Основным детектором для регистрации треков заряженных частиц и их идентификации в центральной области MPD является время-проекционная камера TPC (Time Projection Chamber).
В данной работе рассмотрены задачи оптимизации процесса вычисления, возникающие при моделировании работы установки NICA/MPD.
Для генерации событий, моделирования работы детектора и реконструкции событий на установке NICA/MPD разрабатывается программный комплекс MpdRoot [4], основанный на пакете для научных расчетов ROOT [5]. Данный комплекс предоставляет множество инструментов как для работы с данными, так и для моделирования в целом, и допускает подключение внешних библиотек для расширения функциональных возможностей.
1 Статья рекомендована к публикации программным комитетом международной суперкомпьютерной конференции «Научный сервис в сети интернет. Поиск новых решений — 2012»
Рис. 1. Схема многоцелевого детектора MPD
1. Использование облачных вычислений
В настоящее время ресурсный вычислительный центр Санкт-Петербургского государственного университета располагает несколькими вычислительными системами, одна из которых построена на принципах виртуализации. Система состоит из двух корзин blade-серверов HP BladeSystem c7000, включающих в себя по 16 модулей BL460G7 — 2 процессора Intel Xeon X5670 и 96Гб оперативной памяти каждый. Для хранения данных используются две системы HP StorageWorks P4500 G2 емкостью 240 ТБ каждая. Характеристики системы: 32 сервера, 64 процессора, 384 ядра, 3 ТБайт ОЗУ, 480 ТБайт дискового пространства, пиковая производительность 4,5 Тфлопс. Вычислительная система находится под управлением VMWare vSphere [6].
Для работы из общей системы был выделен массив из 10 виртуальных серверов, каждый из которых оснащен четырехъядерным процессором Intel Xeon Processor X5670 и 10 Гб оперативной памяти. Используемые средства виртуализации позволяют реализовать динамическое распределение серверных ресурсов, обеспечивая предоставление нужного ресурса нужному приложению в соответствии с приоритетами. Среды исполнения приложений могут увеличиваться и уменьшаться при необходимости: есть возможность «горячего» добавления ЦП и памяти к виртуальным машинам при необходимости и без прерывания, возможность «горячего» расширения виртуальных дисков обеспечивает добавление пространства для хранения данных к работающим виртуальным машинам. Такая возможность динамического выделения ресурсов позволяет оптимизировать нагрузки и энергопотребление, что особенно важно для высоконагруженных научных вычислительных систем.
2. Разработка интерфейса между генераторами событий и MpdRoot
Модель ядерных столкновений UrQMD (Ultrarelativistic Quantum Molecular Dynamics model, ультрарелятивистская квантово-молекулярная динамическая модель, [7]) и HADGEN
(HADron GENerator, адронный генератор) являются зарекомендовавшими себя во многих экспериментах инструментами для моделирования столкновений тяжелых ядер, но работа с ними не всегда удобна. Данные генераторы работают в одном потоке, а время, необходимое для генерации большого количества событий, весьма значительно; помимо этого, выходные данные сохраняются в виде файлов, что увеличивает затраты на операции чтения/записи, и сами файлы могут занимать десятки гигабайт. Модель ядерных столкновений UrQMD фактически является стандартом в области физики высоки энергий; выбор программного генератора HADGEN обусловлен его высокой точностью описания процессов, происходящих при энергиях NICA (в диапазоне от 3 до 11 ГэВ/нуклон), и тем, что он является составной частью пакета SHIELD [8], планируемого к использованию для расчета радиационной защиты ускорителя и многих его элементов.
В данной работе на примере двух генераторов UrQMD и HADGEN предлагается простой и достаточно универсальный способ ускорить моделирование и обработку данных за счет использования интерфейса подключения этих библиотек к программному комплексу MpdRoot и использования его расширения PROOF (Parallel ROOT facility, [9]).
Оригинальные исходные коды генераторов UrQMD и HADGEN написаны на языке FORTRAN; хранение данных осуществляется в глобальных структурах (common-blocks). Использование глобальных переменных имеет два основных недостатка: 1) снижение надежности программ, их модульности и противоречие принципам инкапсуляции, 2) отсутствие возможности реализовать параллелизм задач такими средствами языка, как POSIX threads или аналогичными инструментами.
В качестве первого шага оптимизации были разработаны интерфейсы на языке С, реализация которых обеспечивает безопасный доступ к данным (рис. 2). Исходные коды генераторов вместе с интерфейсами собираются в динамические библиотеки.
Рис. 2. Архитектура враппера для модели ядерных столкновений UrQMD
Вторым шагом является создание в рамках MpdRoot классов-оболочек (wrappers) на языке C++, взаимодействующих с интерфейсами библиотек. Данные классы содержат методы, необходимые для работы с генератором, введения начальных параметров моделирования и получения выходных данных в формате, удобном для дальнейшего использования.
Для достижения максимальной производительности был использован инструмент PROOF — расширение пакета ROOT, позволяющее реализовать интерактивную, параллельную обработку больших массивов данных или, в общем случае, добиться параллельности выполнения кода на уровне задач.
PROOF-кластер строится по стандартной схеме master-slave (рис. 3). Благодаря многоуровневой архитектуре, позволяющей создать иерархию из master и submaster узлов, такой подход может быть легко адаптирован к широкому диапазону виртуальных кластеров, географически распределённых между доменами и гетерогенными машинами (GRID). Клиентом системы является пользователь, который хочет использовать ресурсы сайта, чтобы выполнить свою задачу. Master — это точка входа к вычислительному средству: он разбирает запросы клиента, распределяет работу между ресурсами, собирает и соединяет результаты. Координация работы отдельных серверов достигается за счет использования специального протокола передачи данных PROOF.
Пользователь, работая в сессии программы ROOT, может запускать процессы, которые связываются с PROOF-кластером и подают запросы на обработку заданий. Получив запрос на обработку задания, на мастере и на рабочих узлах для каждой сессии пользователя стартует специальное ROOT-приложение - proofserv. Процесс, исполняющийся на мастере, координирует работу между рабочими узлами и объединяет результаты в единое целое. На рабочих узлах процесс proofserv делает непосредственно вычислительную работу, обрабатывая отдельные задания.
Рис. 3. Схема кластера PROOF
Задания для обработки на PROOF-кластере пишутся особым образом; для этого объявляется класс C++, наследуемый от встроенного в ROOT класса TSelector. В данном классе обязательно должен быть переопределен набор методов, реализующий функционал вычислительного узла (рис. 4).
Для работы с PROOF-кластером создается экземпляр класса TProof (рис. 5). Функция void Process(..) служит для запуска задания в параллельном режиме с заданным количеством итераций nIterations.
В ходе решения задач проекта NICA появилась потребность в моделировании Ridge-эффекта [10] для подробного рассмотрения структуры события столкновения тяжелых ядер. Природа данного эффекта на данный момент не объяснена, существует несколько теорий. Эффект состоит в наличии корреляций между частицами, получающимися при столкновении тяжелых ядер. Имеется корреляция по азимутальному углу даже “далеких” друг
void Begin() - инициализация клиента исполняется один раз на клиенте
void SlaveBeginO - инициализация узла исполняется один раз на каждом подчиненном узле
void Pr0cess(l_0ng64_t entry) - вычисление указанное количество раз (entry) на каждом подчиненном узле
„_________________________________________________у
Void SlaveTerminateO - конечная обработка на узле исполняется один раз на каждом подчиненном узле
\___________________________________________________
void TerminateO - обработка и вывод данных на клиенте исполняется один раз на клиенте
Рис. 4. Иерархия вызовов обязательных методов при работе с PROOF TProof * р = TProof::Open("proof.cluster.address");
p->SetParallel(nThreads);
p->Process("Classlmplementation.C”, nlterations); Рис. 5. Пример работы с PROOF-кластером
от друга частиц, показывающему отклонение частиц в сторону. Для наблюдения Ridge-эффекта предъявляются некоторые требования по отбору частиц: величина их поперечного импульса должна лежать в определенных пределах. Задача моделирования данного эффекта во многом обусловлена необходимостью объяснить, почему только частицы с определенным спектром импульсов имеют подобные корреляции. Для этого требуется моделирование с большим объемом статистики (порядка миллионов событий), поэтому был использован кластер виртуальных машин PROOF. Благодаря тому, что написание класса оболочки намного проще, чем попытки внедрить параллелизм в код самого генератора, и наличию легко масштабируемой вычислительной системы, удалось добиться высокой производительности с малыми затратами.
Ускорение, как видно из рис. 6, ниже теоретического предела Амдала. В данном примере, каждый поток моделировал 100 столкновений тяжелых ядер золота. При увеличении нагрузки на поток наблюдается увеличение производительности, так как потери на пересылку данных и накладные расходы на создание и мониторинг потоков, становятся малыми по сравнению с временем вычислений.
3. Вычисление радиационных длин для детектора ЫГО
Одной из актуальных задач на стадии проектирования эксперимента NICA/MPD является исследование возможности помещения дополнительных трековых детекторов за торцевыми стенками ТРС (см. рис. 1), на которых размещена электроника для съема информации. Важной является оценка влияния аппаратуры на торцевых стенках TPC на пролета-
Зависимость ускорения от числа потоков
0>
13.5
12.0
10.0
£ 8.0 О.
о
5 б.о >
4.0
2.0 1.0
■ _■ . 1 '
■ ; ; /
1 / 1 j 1 1
; / ; ,
■
! / ;
. / : :
■
: / 1
: /у < : :
/У і і
X 1 1
/ ; ■ ■
1 3
9 12 15 18 21 24 27 30
Число потоков
Рис. 6. Зависимость ускорения генерации событий в UrQMD от числа потоков при использовании многоядерной архитектуры PROOF
ющие сквозь них частицы. Это влияние носит случайный характер и скорректировать его невозможно. Характеристикой материала, показывающей, насколько велико это влияние, является радиационная длина - средняя толщина вещества, на которой энергия электрона уменьшается в e раз, умноженная на плотность вещества. Её необходимо минимизировать.
Для выполнения этой задачи необходимо получить распределение радиационных длин в детекторе и вычислить интегральную радиационную длину для TPC. Точность расчетов зависит от плотности покрытия точками области сканирования. Поэтому одной из задач в данной работе было не просто вычислить радиационные длины для MPD, но сделать это с высоким разрешением.
Данная задача была решена на виртуальном кластере в среде MpdRoot. Для ускорения расчетов применялось распараллеливание с помощью PROOF.
Рис. 7. Анализ производительности кода для расчета радиационных длин
Использование PROOF при проведении расчета в одном потоке сильно снижает производительность, как видно на рис. 7. Однако при использовании большого количества потоков наблюдается выигрыш в скорости, при этом рост производительности близок к линейно-
му. Безусловно, конкретная задача еще нуждается в дополнительной оптимизации, однако преимущество PROOF очевидно.
На рис. 8 представлен результат моделирования — картина детектора MPD в радиационных длинах.
MPD в радиационных длинах
О 50 1C» 150 200 250
Z. СМ
Рис. 8. Представление MPD в радиационных длинах
Авторы выражают благодарность ресурсному центру «Вычислительный центр СПбГУ» за предоставленные вычислительные системы, на которых были произведены расчеты.
Литература
1. Ускорительно-накопительный комплекс NICA. Технический проект / под общ. ред. И.Н. Мешкова и А.О, Сидорина - Дубна: ОИЯИ. 2009. 72 с.
2. Ускорительно-накопительный комплекс NICA — база фундаментальных исследований и инновационных разработок / под общ. ред. В.Д. Кекелидзе; сост.: А.Д. Коваленко и др. - Дубна: ОИЯИ, 2011. - 32 с.
3. Abraamyan, Kh.U. et al. The MPD detector at the NICA heavy-ion collider at JINR // Nuclear Instruments and Methods in Physics Research. - 2011. - A628. - P. 99 - 102.
4. Simulation and Analysis Framework for NICA/MPD Detectors. URL: http://mpd.jinr.ru (дата обращения: 22.12.2012).
5. ROOT - A Data Analysis Framework. URL: http://root.cern.ch (дата обращения: 21.12.2012).
6. Ресурсный вычислительный центр СПбГУ. URL: http://ptc.spbu.ru/hpc (дата обращения: 22.12.2012).
7. Bleicher, M. et al. Relativistic Hadron-Hadron Collisions in the Ultra-Relativistic Quantum Molecular Dynamics Model // J. Phys. G: Nucl. Part. Phys. - 1999. - Vol. 25. - P. 1859-1896.
8. Dementyev, A.V. SHIELD, a Monte Carlo Hadron Transport Code / A.B. Dementyev, N.M. Sobolevsky // Institute of Nuclear Research of Russian Academy of Science - Moscow.
9. Brun, R. et al. Parallel interactive data analysis with PROOF // Nuclear Instruments and Methods in Physics Research. - 2006. - A559. - P. 13-16.
10. STAR Collaboration. Correlation Structures from Soft and Semi-hard Components in pp Collisions at s = 200 GeV. // Acta Phys. Polon. - 2005. - B36. - P. 353.
Артем Евгеньевич Басалаев, студент, кафедра вычислительной физики, Санкт-Петербургский государственный университет (г. Санкт-Петербург, Российская Федерация), [email protected]
Артем Сергеевич Бондаренко, аспирант, кафедра вычислительной физики, Санкт-Петербургский государственный университет (г. Санкт-Петербург, Российская Федерация), [email protected]
Сергей Павлович Мерц, младший научный сотрудник, лаборатория физики высоких энергий, Объединенный институт ядерных исследований (г. Дубна, Российская Федерация), [email protected]
Сергей Андреевич Немнюгин, кандидат физико-математических наук, доцент, кафедра вычислительной физики, Санкт-Петербургский государственный университет (г. Санкт-Петербург, Российская Федерация), [email protected]
Александр Николаевич Тимофеев, аспирант, кафедра вычислительной физики, Санкт-Петербургский государственный университет (г. Санкт-Петербург, Российская Федерация), [email protected]
USING OF THE HIGH-PERFORMANCE COMPUTING TECHNOLOGIES IN HIGH ENERGY PYSICS TASKS FOR NICA/MPD
A.E. Basalaev Saint-Petersburg State University (Saint-Petersburg, Russian Federation),
A.S. Bondarenko Saint-Petersburg State University (Saint-Petersburg, Russian Federation),
S.P. Merts Joint Institute for Nuclear Research (Dubna, Russian Federation),
S.A. Nemnugin Saint-Petersburg State University (Saint-Petersburg, Russian Federation),
A.N. Timofeev Saint-Petersburg State University (Saint-Petersburg, Russian Federation)
The article deals with the approach to optimisation of calculation by PROOF. The method was used successfuly in the tasks of experiment NICA/MPD. For example ridge-effect modeling and
radiation lenght calculation for detector MPD. Acceleration dependencies of different parameters are present.
Keywords: NICA/MPD, MpdRoot, Ridge-effect, high-performance computing, PROOF, UrQMD, HADGEN
References
1. Meshkova I.N., Sidorina A.O. Uskoritel’no-nakopitel’nyj kompleks NICA. Tehnicheskij proekt [Superconducting accelerator complex NICA. Technical project]. Dubna: JINR. 2009. 72 p.
2. Kekelidze V.D. et al. Uskoritel’no-nakopitel’nyj kompleks NICA — baza fundamental’nyh issledovanij i innovacionnyh razrabotok [Superconducting accelerator complex NICA — the basis for fundamental research and innovations]. Dubna: JINR, 2011. 32 p.
3. Abraamyan Kh.U. et al. The MPD detector at the NICA heavy-ion collider at JINR. Nuclear Instruments and Methods in Physics Research. 2011. A628. P. 99 - 102.
4. Simulation and Analysis Framework for NICA/MPD Detectors. URL: http://mpd.jinr.ru.
5. ROOT — A Data Analysis Framework. http://root.cern.ch.
6. Resursnyj vychislitel’nyj centr SPbGU [SPBU computing center] URL: http://ptc.spbu. ru/hpc.
7. Bleicher M. et al. Relativistic Hadron-Hadron Collisions in the Ultra-Relativistic Quantum Molecular Dynamics Model. J. Phys. G: Nucl. Part. Phys.1999. Vol. 25. P. 1859 - 1896.
8. Dementyev A.V., Sobolevsky N.M. SHIELD, a Monte Carlo Hadron Transport Code. Institute of Nuclear Research of Russian Academy of Science. Moscow.
9. Brun R. et al. Parallel interactive data analysis with PROOF. Nuclear Instruments and Methods in Physics Research. 2006. A559. P. 13-16.
10. STAR Collaboration. Correlation Structures from Soft and Semi-hard Components in pp Collisions at s = 200 GeV. Acta Phys. Polon. 2005. B36. P. 353.
Поступила в редакцию 23 октября 2012 г.