Принципы построения программного комплекса для моделирования физических процессов на гибридных вычислительных системах (на примере комплекса gimm_fpeip)

Тип работы:
Реферат
Предмет:
ТЕХНИЧЕСКИЕ НАУКИ


Узнать стоимость

Детальная информация о работе

Выдержка из работы

УДК 004. 415.2 PACS 07. 05. Bx
Принципы построения программного комплекса для моделирования физических процессов на гибридных вычислительных системах (на примере комплекса
GIMM_FPEIP)
Е. И. Александров, И. В. Амирханов, Е. В. Земляная, П. В. Зрелов, М. И. Зуев, В. В. Иванов, Д. В. Подгайный, Н. Р. Саркар, И. С. Сархадов, О. И. Стрельцова, З. К. Тухлиев, З. А. Шарипов
Лаборатория информационных технологий Объединённый институт ядерных исследований ул. Жолио-Кюри, д. 6, Дубна, Московская область, Россия, 141 980
В работе обсуждается проблема проектирования программных комплексов, предназначенных для моделирования физических процессов на вычислительных системах с гибридной архитектурой, сформулированы принципы построения таких комплексов и приведен пример их реализации на базе комплекса GIMM_FPEIP. Приводится описание процедуры построения программного комплекса GIMM_FPEIP для моделирования теплофизических процессов, протекающих в материалах при облучении их пучками тяжёлых ионов. Построение комплекса GIMM_FPEIP реализовано в соответствии с предъявляемыми требованиями, исходя из интегрируемости GIMM_FPEIP в сложную иерархическую структуру GIMM_NANO и специфики решаемой физической задачи.
В состав комплекса GIMM_FPEIP входят вычислительные модули, реализующие параллельные алгоритмы на основе технологий MPI и CUDA, и предназначенные для проведения расчётов на гибридных вычислительных системах. В комплекс GIMM_FPEIP заложена возможность подключать новые вычислительные модули и расширять существующую базу данных физических параметров. При построении комплекса применён модульный подход к структуре комплекса. Это позволило часть общих модулей реализовать в виде отдельных библиотек с возможностью их использования в других программных комплексах. В частности, с использованием этого подхода был создан комплекс 3D моделирования GIMM_FPEIVE. Комплексы GIMM_FPEIP и GIMM_FPEIVE были протестированы на многоядерном кластере ЦИВК ОИЯИ, гибридном вычислительном комплексе К100 (ИПМ им. М.В. Келдыша) и суперкомпьютере «Ломоносов» (МГУ им М.В. Ломоносова).
Ключевые слова: гибридные вычислительные системы, разработка программных комплексов, модульное программирование, MPI, CUDA.
1. Введение
В настоящее время все большее распространение получают специализированные программные комплексы, рассматриваемые как набор программных инструментов для проведения исследований при решении широкого круга задач в определённой научно-технической области (см, например, [1−3]). При создании таких комплексов большую роль играет интеграция пакетов программ, реализующих решение конкретных задач, в общую структуру при соблюдении единой системы требований к разработке пакетов, создаваемых, как правило, различными группами.
В настоящей работе описывается структура и основные принципы построения программного комплекса GIMM_FPEIP, являющегося составной частью комплекса GIMM_NANO [4]. Комплекс GIMM_NANO предназначен для численного решения задач электроники и лазерных нанотехнологий с использованием гибридных систем сверхвысокой производительности. В свою очередь, комплекс GIMM_FPEIP предназначен для 2Б-моделирования теплофизических процессов, протекающих в материалах под действием пучков тяжёлых ионов. Описание этих
Статья поступила в редакцию 27 сентября 2013 г.
Работа выполнена в рамках проекта ФЦП 07. 524. 12. 4019 от 17. 05. 2012.
процессов базируется на модели термического пика [5,6], позволяющей рассчитывать эволюцию температурных полей, определять зоны проплава и геометрические параметры треков в материале мишени.
Полная система требований к комплексу GIMM_FPEIP была сформулирована, исходя из интегрируемости данного комплекса в иерархическую структуру GIMM_NANO и требований, вытекающих из специфики решаемой физической задачи. К первой группе требований относятся:
— возможность использования комплекса на вычислительных платформах с различными операционными системами-
— возможность запуска параллельных версий алгоритмов для численного решения уравнений модели термического пика, как на многоядерных системах, так и на системах с графическими ускорителями [7,8].
Вторая группа требований, предъявляемых к GIMM_FPEIP, обусловлена сложностью решаемой физической задачи и формулируется следующим образом:
— возможность запуска различных программных модулей, реализующих разные численные алгоритмы-
— возможность расширения комплекса путём добавления программных модулей, реализующих как новые численные алгоритмы, так и новые параллельные версии уже существующих-
— возможность расширения базы данных входных параметров (теплофизиче-ских параметров материала мишени и параметров, характеризующих взаимодействие ионов с веществом и др.).
Описанные выше требования являются характерными при проектировании комплексов программ, предназначенных для суперкомпьютерного моделирования на гибридных архитектурах. С точки зрения разработки программного обеспечения для научных исследований представляется целесообразным обобщить эти требования и выработать принципы, позволяющие проектировать комплексы прикладных программ. При формулировке этих принципов необходимо учесть быстрое развитие гибридных архитектур, появление новых параллельных аппаратных решений, развитие алгоритмов и численных методов, требования пользователей. По мнению авторов, и с учётом опыта построения систем сбора и обработки данных в области физики высоких энергий, в частности, в эксперименте ATLAS [9,10] и проекте HEPWEB [11], принципы, удовлетворяющие этим критериям, можно сформулировать в следующем виде:
— кросс-платформенность — возможность использования комплекса на вычислительных платформах с различными операционными системами-
— гибридность — возможность проведения параллельных вычислений на системах с гибридной архитектурой-
— мультиалгоритмичность — возможность использование различных программных модулей, реализующих разные численные алгоритмы-
— эластичность — возможность расширения комплекса и использование динамической структуры для входных параметров.
Ниже рассмотрена реализация этих принципов на примере построения программного комплекса GIMM_FPEIP.
2. Организация комплекса
Логическую схему комплекса GIMM_FPEIP можно представить в виде следующей блочной структуры (см. рис. 1):
— блок формирования входных данных-
— управляющий блок-
— блок для работы с базой данных-
— блок вычислительных программных модулей-
— блок формирования выходных данных.
Блок формирования входных данных
Управляющий блок
Файл входных параметров
И
Input
Входной поток
M
Блок вычислительных программных модулей
Однопроцессорный вариант
у СРЦ
Использование технологии МР1
L. _ _ _ _ _ _ _ _

т
у

Jt
Использование технологии CUDA
Т Ў
)
_ _ _ J
Проверка корректности заданных параметров
}
Выбор алгоритма расчетного модуля реализации алгоритма
ru-
ма J
Запуск расчетов^
Обращение к базе данных
Блок для работы с базой данных
1, г--------
_ _|| I Выход!
Г Выходной поток ] Г Запись файла ^ ^ I '- ^ с ошибкой J
^ Создание
Tecplot-фа йлов

Вывод текстовой информации:
• заданные параметры
• время расчета
• дополнительная информация
J
Блок формирования выходных данных
& gt-
й
tu
в
К
t ¦с о в
н
s
H й
V
а
V H
и, а s я
S
я
о о H
¦с о
tu
и s
M
я
¦с
о
s
Рис. 1. Логическая схема комплекса С1ММ ЕРЕ1Р: различные блоки выделены пунктирными линиями, порядок
выполнения программы обозначен стрелками
В блоке формирования входных данных создаётся таблица, содержащая пары «ключ — значение» по заданным пользователем системным параметрам (путь к директории для выходных данных, количество нитей/блоков для СРИ-расчётов, выбор алгоритма и метода распараллеливания и т. д.), а также параметров для численных расчётов (размерности сеток, точность и т. д.).
Управляющий блок в соответствии с входными параметрами загружает соответствующую библиотеку с программным модулем, передаёт выбранной библиотеке таблицу с входными данными и запускает её. Этот блок также проверяет корректность заданных входных параметров.
Блок для работы с базой данных отвечает за чтение и запись теплофизических параметров модели термического пика, характеризующих как саму мишень, так и взаимодействие ионов с ней.
Блок вычислительных программных модулей включает в себя динамические библиотеки с программами, реализующими численные алгоритмы решения уравнений модели термического пика, для проведения расчётов с параметрами из базы данных.
Блок формирования выходных данных отвечает за создание файлов с результатами расчётов (в формате Теер1о1 [12]) и лог-файлов, содержащих информацию об ошибках, параметрах запущенной задачи, времени расчётов и т. д.
3. Принципы построения комплекса
Реализация сформулированных во введении принципов конструктивно определяется следующем образом.
Кросс-платформенность. Для удовлетворения этому требованию необходимо выполнение правил:
— Использовать типы переменных, которые одинаково определены как на 32-х, так и на 64-х битовых архитектурах (например, _упЪ32, _1пЪ64).
— По-возможности избегать использования библиотек, работающих только в определённой операционной системе. Если это невозможно, необходимо добавить соответствующий альтернативный код в программный модуль, обеспечивающий вызов библиотеки, которая поддерживает работу программного комплекса в конкретной операционной среде. Выбор нужной библиотеки будет осуществляться автоматически на этапе компиляции в операционной системе.
Мультиалгоритмичность и гибридность реализуются путём использования динамических библиотек, в основе структуры которых лежит базовый класс. Иерархическая структура наследования классов алгоритмов в комплексе представлена на рис. 2, на котором стрелками показана иерархия наследования: базовый класс наследуют классы, предназначенные для последовательных версий алгоритмов, которые, в свою очередь, наследуют классы для реализаций параллельных версий алгоритмов.
Базовый класс
1 Ч. Ы
1
Последовательная версия А1д1 Последовательная версия А1д2 Последовательная версия А1дЗ
Параллельная версия А1д1_МР1
Параллельная версия А1д1 С1ЮА
Параллельная версия А1дЗ_МР1
Параллельная версия А1дЗ С1ЮА
1.Ы — количество алгоритмов
0.1 — есть или нет параллельная реализация
Рис. 2. Схема наследования классов программного комплекса
С1МЫ РРЕ1Р
В созданном комплексе в базовый класс включены переменные, описывающие физические свойства задачи — теплофизические параметры мишени, энергия иона и др., а также параметры численного метода — параметры сетки, точность, абстрактные функции, используемые для настройки и запуска алгоритмов (& quot-configure"- и & quot-start"-). Для численного решения уравнений модели термического пика разработаны различные вычислительные схемы, реализованные в виде отдельных программных модулей для последовательных версий. На этом уровне иерархии наследования реализуется принцип мультиалгоритмичности. Каждый из этих модулей наследует базовый класс и имеет реализации абстрактных функций базового класса. Некоторые части конкретной последовательной версии вынесены в отдельные функции для их дальнейшего использования в разных параллельных версиях. Каждая из последовательных версий программных модулей может иметь параллельные реализации (данный уровень в иерархии наследования отражает принцип гибридности). В этом случае абстрактные функции из базового класса переопределяются ещё раз, но уже с учётом распараллеливания алгоритма. При этом, где возможно, используется уже ранее написанный код для последовательной версии.
Использование данной структуры в рамках программного комплекса позволило сократить время разработки и отладки параллельных модулей.
Выбор конкретного параллельного вычислительного модуля осуществляется с помощью конфигурационного файла. Этот файл настраивается пользователем перед стартом программного комплекса и имеет структуру XML. В файле содержатся как общие параметры, такие как output_dir, определяющий директорию для выходных данных (файлов расчётов и лог-файлов), так и параметры, относящиеся к каждому конкретному вычислительному модулю, например, пате и id — имя и уникальный номер вычислительного программного модуля. Параметры path, pathMPI, pathGPU задают путь к соответствующим динамическим библиотекам. В случае, если библиотека для конкретного метода распараллеливания отсутствует, соответствующий параметр пути не вносится в конфигурационный файл. При этом каждому вычислительному модулю могут передаваться индивидуальные параметры, представленные в виде XML-элементов и имеющие атрибуты: пате — имя, value — значение, type — тип, variation — область допустимых значений, comment — описание.
Для соответствия принципу мультиалгоритмичности необходимо также введение унифицированных входных и выходных потоков. Это означает, что в программном комплексе, помимо входных параметров, заданных в конфигурационном файле, входные данные задаются в виде текстового файла со следующей структурой: имя параметра, его тип и значение. Выходные потоки представлены в двух форматах — либо в виде текстового файла, например, с входными параметрами, либо в виде данных в формате Tecplot.
Эластичность. Для эффективного использования программного комплекса, разрабатываемого для широкого круга пользователей, важную роль играет возможность организации входных параметров с использованием общепринятых стандартов. При реализации комплекса GIMM_FPEIP входные данные представляются в виде специализированной базы данных, имеющей вид текстового файла в формате XML. Созданная база данных удовлетворяет принципу кросс-платформенности, поскольку формат поддерживается всеми операционными системами и позволяет пользователю, в случае необходимости, легко вносить необходимые изменения или добавлять новые структуры данных. В базе данных хранятся значения, характеризующие теплофизические параметры материала мишени (коэффициенты удельной теплоёмкости и теплопроводности для электронной подсистемы и кристаллической решётки, коэффициент электрон-фононного взаимодействия и т. д.) и энергетические потери иона в веществе мишени (данные получены на основе программы SRIM-2010 [13]). Теплофизические параметры материалов заносятся в базу из специализированных источников и могут быть изменены пользователем при необходимости. Для более удобного использования базы данных был разработан интерфейс прикладного программирования API (Application programming interface).
4. Результаты тестирования
Полномасштабное тестирование разработанного программного комплекса было проведено в двух операционных средах (Windows и Linux) и на трёх различных вычислительных платформах: многоядерном вычислительном комплексе ЦИВК ОИЯИ, гибридном вычислительном комплексе К100 ИПМ им. М. В. Келдыша, суперкомпьютере «Ломоносов» МГУ им. М. В. Ломоносова. Тестирование включало в себя: проверку работоспособности на различных операционных системах, проверку работы алгоритмов, проверку работы комплекса с базой данных, проверку работы на многоядерных и гибридных системах, анализ эффективности распараллеливания. Проведённое тестирование показало корректность работы модулей комплекса на вышеперечисленных платформах. Численные результаты, полученные на основе всех алгоритмов и их параллельных реализаций, совпадают с заданной точностью, при проведении расчётов на этих вычислительных платформах. При использовании программного комплекса на конкретной платформе не требуется вносить изменения в код комплекса, а требуется лишь его компиляция. Эти обстоятельства свидетельствуют в пользу выбранных принципов, положенных в основу создания комплекса. Также отметим, что параллельные программные модули показали хорошую масштабируемость. Например, результаты тестовых расчётов для MPI-реализации приведены на рис. 3−5, где представлены зависимости ускорения расчётов Т/Тпр от числа процессоров пр (Т — время расчёта на одном процессоре, Тпр — время расчёта на пр процессорах) для различных вычислительных платформ.
& quot-I-1−1-1−1-1−1-1−1-1-Г"-
0 10 20 30 40 50
Число процессоров, пр
Рис. 3. Результаты тестирования на вычислительной платформе ЦИВК ОИЯИ программного модуля, реализующего параллельный алгоритм на основе технологии MPI: зависимость ускорения расчётов (Ti/Tnp) от числа
процессоров (пр)
Благодаря тому, что формирование входных и выходных потоков осуществляется на уровне программного комплекса, а не самими вычислительными модулями, значительно упрощается сравнение ускорений работы параллельных версий одного и того же алгоритма на многоядерных и графических вычислительных системах.
Рис. 4. Результаты тестирования на вычислительной платформе К100 ИПМ им. М. В. Келдыша программного модуля, реализующего параллельный алгоритм на основе технологии MPI: зависимость ускорения расчётов (Ti/Tnp) от числа процессоров (пр)
Рис. 5. Результаты тестирования на вычислительной платформе «Ломоносов» МГУ программного модуля, реализующего параллельный алгоритм на основе технологии MPI: зависимость ускорения расчётов (Ti/Tnp) от числа процессоров (пр)
5. Заключение
В работе рассмотрен вопрос проектирования программных комплексов, предназначенных для моделирования физических процессов на вычислительных системах с гибридной архитектурой, сформулированы принципы построения таких комплексов и приведен пример их реализации на базе комплекса GIMM_FPEIP. С точки зрения авторов эти принципы носят универсальный характер и могут быть положены в основу разработки аналогичных программных комплексов для моделирования различных задач на гибридных вычислительных системах. Использование указанных принципов при проектировании комплексов программ позволяет заложить возможность их расширения путём добавления новых расчётных модулей или новых параллельных версий.
Разработанные библиотеки (для взаимодействия с базой данных, организации входных и выходных потоков данных), основанные на этих принципах, могут быть включены в другие комплексы. В частности, на основе разработанного комплекса С1ММ_ЕРЕ1Р и с использованием созданных библиотек был спроектирован и реализован комплекс С1ММ_РР1 у.е. для 3Б-моделирования теплофи-зических процессов, протекающих в материалах под действием тяжёлых ионов.
Литература
1. Пакет прикладных программ GIMM для решения задач гидродинамики на многопроцессорных вычислительных системах / Б. Н. Четверушкин, В. А. Гасилов, С. В. Поляков и др. // Математическое моделирование. — 2005. — Т. 17, № 6. — С. 58−74. [CFD Software Project GIMM Study of Hydrodynamic Problems by Parallel Computing / B.N. Chetverushkin, V. A. Gasilov, S. V. Polyakov et al. // Mathematic Modeling. — 2005. — Vol. 17, No 6. — Pp. 58−74. — (in russian). ]
2. Программный комплекс для моделирования с помощью современных многопроцессорных систем задач механики сплошной среды / С. В. Поляков, Э. М. Кононов, О. А. Косолапов, Т. А. Кудряшова // Вестник РУДН. Серия «Математика. Информатика. Физика». — 2010. — Т. 3, № 1. — С. 101 104. [Software Complex for Modelling Problems of Continuum Mechanics with the Help of Modern Multiprocessor Systems / S.V. Polyakov, E.M. Kononov, O. A. Kosolapov, T. A. Kudryashova // Bulletin of Peoples'- Friendship University of Russia. Series & quot-Mathematics. Information Sciences. Physics& quot-. — 2010. — No3(2). — Pp. 101−104. — (in russian). ]
3. INMOST — программная платформа и графическая среда для разработки численных моделей на сетках общего вида / Ю. В. Василевский, И. Н. Конь-шин, Г. В. Копытов, К. М. Терехов. — М.: Издательство Московского университета, 2013. [INMOST — Software Platform and a Graphical Environment for the Development of Numerical Models on the Grids of the General Form / Yu.V. Vasilevskij, I.N. Kon'-shin, G.V. Kopytov, K.M. Terehov. — Moscow: Moscow University Press, 2013. — (in russian). ]
4. Программный комплекс GIMM_NANO / А. А. Бондаренко, Э. М. Кононов, О. А. Косолапов и др. // Труды Международной суперкомпьютерной конференции «Научный сервис в сети Интернет: все грани параллелизма». — 2013. — С. 333−337. [Software Complex GIMM_NANO / A. A. Bondarenko, E. M. Kononov, O. A. Kosolapov et al. // Proceedings of the International Supercomputer Conference & quot-Scientific Service in the Internet: All Faces Parallelism& quot-. — 2013. — Pp. 333−337. — (in russian). ]
5. Vineyard G. H. Thermal Spikes and Activated Processes // Radiation Effects. — 1976. — Vol. 29, No 4. — Pp. 245−248.
6. Амирханов И. В., Дидык А. Ю. и др. Численное исследование фазовых переходов, возникающих в металлах под действием импульсных пучков ионов в рамках модели термического пика // Поверхность. Рентгеновские, синхротронные и нейтронные исследования. — 2013. — № 5. — С. 73−78. [Amirkhanov I. V., Didyk A. Yu. et al. Numerical Investigation of Phase Transition Arising in Metals under Action of Pulsed Ion Beams in the Frame of Thermal Spike Model // The Journal of Surface Investigation. X-ray, Synchrotron and Neutron Techniques. — 2013. — No5. — Pp. 73−78. — (in russian). ]
7. MPI реализация алгоритмов для 2D и 3D моделирования фазовых переходов в материалах, облучаемых тяжёлыми ионами, в рамках модели термического пика / И. В. Амирханов, Е. В. Земляная, Н. Р. Саркар и др. // Вестник РУДН. Серия «Математика. Информатика. Физика». — 2013. — № 4. — С. 80−94. [MPI Implementation of the 2D and 3D Simulation of Phase Transitions in Materials Irradiated by Heavy Ion Beams within the Thermal Spike
Model / I. V. Amirkhanov, E. V. Zemlyanaya, N. R. Sarker et al. // Bulletin of Peoples'- Friendship University of Russia. Series & quot-Mathematics. Information Sciences. Physics& quot-.- 2013. — No4. — Pp. 80−94. — (in russian). ]
8. Зуев М. И. Параллельная реализация на гибридных архитектурах численного решения параболического уравнения. Сравнение программных алгоритмов, реализованных на основе технологий MPI и CUDA // XVII Научная конференция молодых ученых и специалистов (ОМУС-2013) к 100-летию В.П. Дже-лепова. Сборник аннотаций докладов. — 2013. — С. 45. [Zuev M.I. Parallel Implementation of Hybrid Architectures for Numerical Solution of a Parabolic Equation. Comparison of Software Algorithms Implemented Based on MPI and CUDA Technology // The XVII Scientific Conference of Association of Young Scientists and Specialists (AYSS-2013). — 2013. — P. 45. — (in russian). ]
9. Alexandrov E., Alexandrov I., Kolos S., Kotov V. Web Monitoring Interface Architectural Analysis and Design. — 2007. — https: //edms. cern. ch/file/822 820/ 1/WMI_Design2. pdf.
10. Soloviev I. et al. ATLAS DAQ Configuration Databases. — 2007. — http: // www. ihep. ac. cn/~chep01/paper/9−025. pdf.
11. HEPWEB — WEB Page for Monte Carlo Simulations in High Energy Physics / E. I. Alexandrov, V. M. Kotov, V. V. Uzhinsky, P. V. Zrelov // JINR Preprint. — 2011. — No E10−2011−126.
12. Tecplot. — http: //www. tecplot. com/.
13. Ziegler J. SRIM & amp- TRIM. — http: //www. srim. org/.
UDC 004. 415.2 PACS 07. 05. Bx
Principles of Software Construction for Simulation of Physical Processes on Hybrid Computing Systems (on the Example of
GIMM_FPEIP Complex)
E. I. Alexandrov, I. V. Amirkhanov, E. V. Zemlyanaya, P. V. Zrelov, M.I. Zuev, V. V. Ivanov, D.V. Podgainy, N. R. Sarker, I. S. Sarkhadov, O.I. Streltsova, Z.K. Tukhliev,
Z. A. Sharipov
Laboratory of Information Technologies Joint Institute for Nuclear Research 6, Joliot-Curie str., Dubna, Moscow region, Russia, 141 980
We discuss the problem of elaborating the software systems designed for modeling of physical processes on computing systems with hybrid architecture, formulate the basic principles of construction of such complexes, and present an example of their implementation for the GIMM_FPEIP complex. Complex GIMM_FPEIP is intended for simulation of thermal processes in materials irradiated by heavy ion beams. The construction of GIMM_FPEIP complex is done according to the requirements, intergrability of GIMM_FPEIP into a complex hierarchical structure GIMM_NANO and specification of the problem under solution.
The complex includes the computational modules that provide parallel algorithms realized on the basis of MPI and CUDA technologies and meant for performing computations on hybrid computing systems. The GIMM_FPEIP complex provides a possibility to include new computational modules and to expand the current database of physical parameters. In the construction of the complex, a module approach to the structure of the complex has been applied. This allowed realizing a number of common modules in the form of separate libraries with the possibility of their use in other software complexes. In particular, with the use of this approach, a 3D modeling complex GIMM_FPEIVE was constructed. GIMM_FPEIP and GIMM_FPEIVE complexes were tested on the multi-core computing complex CICC JINR, on hybrid computing complex K100 (Keldysh Institute of Applied Mathematics) and on & quot-Lomonosov"- supercomputer (Lomonosov Moscow State University).
Key words and phrases: hybrid computing systems, development of software complex, modular programming, MPI, CUDA.

ПоказатьСвернуть
Заполнить форму текущей работой