Уфа : УГАТУ, 2013
їВвОМи* О/ГАОПСу --------------Т. 17, №2 (55). С. 112-116
УДК 519
Реализация эффективных параллельных вычислений при моделировании больших задач физики плазмы методом частиц в ячейках
1 2 Е. А.Берендеев , А. А. Ефимова
1 [email protected], 2 [email protected]
1 Новосибирский государственный университет (НГУ)
2 Институт вычислительной математики и математической геофизики СО РАН (ИВМиМГ)
Аннотация. Рассмотрены основные варианты параллельной реализации метода частиц в ячейках для решения больших задач физики плазмы. Проведено сравнение эффективности распараллеливания на примере задачи об аномальной теплопроводности. Задача рассматривается в двумерной постановке. В работе предложен эффективный алгоритм распараллеливания, позволяющий достигнуть высокой масштабируемости вычислений.
Ключевые слова. Параллельные вычисления; метод частиц в ячейках; физика плазмы
ВВЕДЕНИЕ
Актуальность работы связана с необходимостью повышения эффективности использования суперЭВМ для решения ресурсоемких задач физики плазмы. Для этого необходимо выполнить эффективную параллельную реализацию используемых алгоритмов. При этом для достижения масштабируемости вычислений на большое число процессоров необходимо учитывать особенности самого алгоритма. Многие простые и хорошо масштабируемые на нескольких десятках процессоров параллельные реализации могут оказаться неэффективными, если исходный последовательный алгоритм использует такие особенности архитектуры компьютера, как кэширование, SSE-инструкции, доступ к данным. В этом случае необходимо либо модифицировать исходный алгоритм, либо внести изменения в параллельную реализацию программы.
В работе рассмотрены различные варианты распараллеливания алгоритма для следующей физической задачи. В результате релаксации в плазме мощного электронного пучка на многопробочной магнитной ловушке ГОЛ-3 (ИЯФ СОРАН) наблюдается понижение электронной теплопроводности на 2-3 порядка по сравнению с классическим значением [1]. На данный мо-
Работа поддержана грантами РФФИ № 11-01-00249-а, № 11-01-00178, 12-07-00065 и ИП СО РАН № 105. Статья рекомендована к публикации программным комитетом международной научной конференции «Параллельные вычислительные технологии-2012»
мент точное теоретическое описание этого явления отсутствует, поэтому возникает необходимость в численном моделировании. Моделирование проводится на основе метода частиц в ячейках как наиболее подходящего для решения неравновесных задач физики плазмы.
Необходимость применения суперкомпью-терных вычислений обусловлена тем, что требуется, во-первых, достаточно подробная сетка для воспроизведения резонансного взаимодействия релятивистского электронного пучка с плазмой, и, во-вторых, большое количество модельных частиц, чтобы промоделировать возникающую в дальнейшем неустойчивость.
ОПИСАНИЕ МОДЕЛИ
Рассматриваемый физический процесс описывается кинетическим уравнением Власова для ионов и электронов
¿/,е . - ¿/и
^ ^ = 0, 4,е = %е [Е +1 [V. В\
ді дг др V с
и системой уравнений Максвелла
- 4р _ 1 дЕ
гоіВ = — ] +------------------.
с с ді
1 дВ
гоіЕ =--------------,
с ді
ёыЕ = 4рр , йпВ = 0.
Все уравнения приведены в общепринятых обозначениях. Далее все уравнения будут приводиться в безразмерном виде. Для обезразме-ривания используются следующие базовые величины:
• характерная плотность плазмы п0 =
1<л14 -3
= 10 см ;
• характерная скорость - скорость света у0 = с = 3*1010 см/с;
• характерное время \
ю.
'о =-
4рп е
= 1.79 х10-12 с
- величина, обратная к электронной плазменной частоте.
Модель построена на основе метода частиц в ячейках. Характеристики уравнения Власова описывают движение модельных частиц. Уравнения этих характеристик имеют вид:
• для электронов
# = -( Е + [V, В]),
т
• для ионов
ар /Р г- 5пч аг -~т~ = к(Е + [V,В]), — = V . ш ш
т
к = —- - отношение масс электрона и иона;
т(
р = гр; у = (1 - V2)-1/2
Для решения уравнений движения используется схема с перешагиванием:
для электронов
=-(Ет+[-
.ут+1/2 + vm—1/2
, вт ]),
/Г 2 — Рт—1/2
Т
• для ионов
„т+1/2 рт—1/2 ^т+1/2 + ^т-1/2
Р‘ - Р‘ = к(Ет + р--------------^------, Вт ]):
Т
2
т+1 т
Г - г т+1/2
------------— = V,. .
Здесь т - шаг по времени; верхний индекс указывает на момент времени, в который вычисляется искомая функция; нижний индекс указывает на номер частицы, для которой производится вычисление.
Для нахождения электрических и магнитных полей используется схема, в которой поля определяются из разностных аналогов законов Фарадея и Ампера [2]. Эта схема имеет второй порядок аппроксимации по пространству и по времени. Плотности заряда и тока в узлах вычисляются при помощи точного учета потоков плазмы через границы ячеек [3]: в этом случае разностный аналог закона Ампера выполняется автоматически. Каждая частица вносит вклад в плотность тока в ближайших к ней узлах сетки, затем проводится суммирование вкладов по всем частицам.
ПОСТАНОВКА ЗАДАЧИ
Задача рассматривается в двумерной постановке. В области, имеющей форму прямоугольника (0 < х < Ьх, 0 < у < Ьу), находится плазма, состоящая из ионов и электронов. Дополнительно в области присутствуют электроны пучка (предполагается, что пучок уже вошел в расчетную область). Условия на границах области берутся периодическими.
В начальный момент частицы распределены по области равномерно, задается плотность плазмы и температура электронов и ионов. Модельные частицы пучка отличаются от модельных электронов плазмы тем, что имеют меньшую массу (отношение их масс равно отношению плотности плазмы и плотности пучка), а также движутся в одном направлении (направление X) с одинаковой скоростью (определяется кинетической энергией направленного движения). Таким образом, исходными параметрами задачи являются: плотность и температура электронов плазмы, отношение плотности электронов плазмы к плотности электронов пучка.
• Плотность электронов плазмы п0 =
14 -3
= 10 см ;
• Температура электронов плазмы Т0 = = 500 эВ.
• Отношение плотности электронов пучка к плотности электронов плазмы а = 2* 1010.
• Скорость электронов пучка е = 1 МэВ.
ПАРАЛЛЕЛЬНАЯ РЕАЛИЗАЦИЯ
Возможно несколько вариантов параллельной реализации метода частиц в ячейках. Поскольку траектории модельных частиц вычисляются независимо друг от друга, проще всего распределить все частицы поровну между процессорами, независимо от их координаты. В этом случае каждый процессор будет решать систему уравнений Максвелла во всей области. Поскольку время расчета значений электромагнитных полей существенно меньше времени расчета траекторий частиц (в каждой ячейке сетки находится до 1000 частиц каждого сорта), такой вариант распараллеливания кажется очень удачным: даже для сетки 1000 * 1000 необходимо обменяться на каждом шаге только 3 * 106 значениями плотности тока, что составляет около 20 Мб. Эффективность такого распараллеливания достаточна высока.
Второй вариант: провести декомпозицию расчетной области по одному направлению (на-
т
пример, перпендикулярному направлению движения пучка). При этом с каждой подобластью можно связать группу процессоров и разделить частицы в подобласти между всеми процессорами группы. Каждая группа решает уравнения Максвелла только в своей подобласти. В этом случае происходит обмен граничными значениями полей между группами, также группы должны обмениваться частицами, перелетевшими в соответствующую подобласть. Внутри группы происходит обмен значениями плотности тока (как и в первом варианте распараллеливания). Такой вариант распараллеливания применяется, например, при решении трехмерных задач (в трехмерном случае первый вариант оказывается неэффективным, поскольку пересылать приходится, например, для сетки 1000 х х 1000 х 1000 уже 20000 Мб). При этом существуют некоторые ограничения, связанные с числом групп: во-первых, оно не превосходит числа узлов по направлению, в котором ведется декомпозиция, во-вторых, при большом числе групп число частиц в каждой подобласти может существенно различаться, делая нагрузку на процессоры неравномерной.
ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ
Все расчеты проводились на суперкомпьютере Новосибирского государственного университета. Использовались узлы HP BL2x220 G6, каждый из которых содержит: два 4-ядерных процессора Intel Xeon E5540 с тактовой частотой 2530 МГц (L2 cache 1Мб, L3 cache 8 МБ) и 16041 МБ ОЗУ. В расчетах задействовано до 128 процессорных ядер одновременно.
Для определения оптимального распределения процессоров по области, нами был проведен ряд вычислительных экспериментов. Оказалось, что разбиение области на подобласти по 128x128 и менее ячеек (т. е. всего в подобласти 16384 ячейки) дает ускорение почти в два раза по сравнению с первым вариантом параллельной реализации. Это связано с тем, что в кэш процессора может быть загружена вся сетка, и значения электромагнитных полей на каждом временном шаге для частиц в одной ячейке считывается из ОЗУ только один раз.
Сравнение параллельных реализаций проводилось при следующих параметрах.
По направлению Y выбиралась сетка в 1024 узла, в каждой ячейке 1000 частиц каждого сорта. Всего использовалось 128 процессоров. На рис. 1, 2 приведено среднее время расчета (в секундах) движения частиц (рис. 1) за одну
итерацию и среднее время расчета одной итерации (рис. 2) в зависимости от числа подобластей (1 - соответствует первому варианту, 2 - подобласть делится на две группы процессоров по 64 процессора в каждой и т. д.) для различных вариантов сетки по направлению X (32, 64, 128, 256).
-32
64
128
256
Рис. 1. Среднее время расчета (в секундах) движения частиц за одну итерацию для различных вариантов разбиения области
-32
64
128
256
Рис. 2. Среднее время расчета (в секундах) одной итерации для различных вариантов разбиения области
Из рис. 1 и 2 видно, что оптимальным является разбиение области на подобласти по 16384 ячейки, что позволяет в 2 раза ускорить вычисления.
При этом число процессоров в каждой подобласти можно увеличивать до 128, не уменьшая эффективности. На рис. 3 приведено время расчета (в секундах) одной итерации для сетки 64^256, 1000 частиц в ячейке в зависимости от числа процессоров.
10,00 -8,00 -6,00 -
4.00 -
2.00 -0,00 -
И
1,12
JZL
[□ Время, с. |
Рис. 3. Время расчета (в секундах) одной итерации для сетки 64*256, 1000 частиц в ячейке в зависимости от числа процессоров
2
4
8
Из рис. 3 видно, что при равномерном распределении частиц области между процессорами, ускорение возрастает практически пропорционально числу процессоров (ускорение в 30.89, 59.57, 119.14 раза для 32, 64 и 128 процессоров соответственно). Однако такая хорошая масштабируемость получилось только потому, что мы рассмотрели лишь одну область. Если же частицы начинают перемещаться из одной подобласти в другую, нагрузка становится неравномерной.
Для определения того, насколько равномерно нагрузка распределяется между процессорами в случае, когда частицы перемещаются между процессорами хаотически, была рассмотрена следующая задача. Сетка 64*1024, 1000 частиц в ячейках, область разделена вдоль направления 7 на 4 подобласти. В каждой подобласти используется 32 процессора. На рис. 4 представлено среднее по процессорам время счета одной итерации для 1000 итераций.
100 200 300 400 500 600 700 800 900 1000
Рис. 4. Среднее по процессорам время счета одной итерации на каждом шаге для 1000 временных шагов
Из рис. 4 видно, что время выполнения одной итерации может меняться с течением времени, однако расчет каждого следующего шага не существенно отличается от времени расчета текущего шага. Это связано с тем, что частицы за одну итерацию могут перемещаться только в соседние ячейки.
Таким образом, необходимо провести планирование распределения частиц как внутри подобласти, так и между подобластями.
Одним из способов планирования распределения частиц внутри подобласти является использование технологии ОрепМР, в которой разделение нагрузки между потоками происходит равномерно.
Проводилось тестирование гибридной реализации MPI+OpenMP для следующей задачи.
Область 128*256x1000 делиться на 2 подобласти. Каждая подобласть рассчитывается одним MPI-процессом, который вызывает несколько OpenMP-потоков (от 2-х до 8-и).
Время расчета только MPI-программы на одну итерацию - 7.95 с, с использованием 2, 4, 8 OpenMP-потоков - 5.12, 4.2, 3.96 с соответственно. При этом использование 4-х MPI-процессов без OpenMP дает время расчета одной итерации 3.79 с. Таким образом, оказывается выгоднее использовать только MPI.
Планирование по распределению частиц проводилось А.Н. Андриановым и К. Н. Ефим-киным (ИПМ им. М.В.Келдыша) [4]. Ими было предложено равномерное распределение частиц по процессорам области исходя из общего числа частиц в области на каждом шаге. Это увеличит объем пересылок частиц между процессорами, но поскольку за одну итерацию между подобластями перемещается достаточно малое число частиц, этот подход кажется перспективным.
ЗАКЛЮЧЕНИЕ
В работе нами были описаны основные параллельные реализации двумерной модели, описывающей взаимодействие релятивистского электронного пучка с плазмой. Показано, что использование декомпозиции области на группы по 128x128 ячеек дает ускорение в 2 раза по сравнению с другими реализациями. При большом размере сетки рекомендуется использование планирования распределения частиц. Как мы показали, в этом случае внутри каждой подобласти можно эффективно использовать до 128 процессоров. Таким образом, появляются широкие возможности для масштабирования задачи на десятки тысяч процессоров.
Авторы выражают благодарность
B. А. Вшивкову и Г. И. Дудниковой за полезные советы и обсуждения.
СПИСОК ЛИТЕРАТУРЫ
1. Астрелин В. Т., Бурдаков А. В., Поступа-
ев В. В. Подавление теплопроводности и генерация ионно-звуковых волн при нагреве плазмы электронным пучком // Физика плазмы. 1998. Т. 24, № 5.
C. 450-462.
2. Вшивков В. А., Вшивков К. В., Дуднико-
ва Г. И. Алгоритмы решения задачи взаимодействия лазерного импульса с плазмой // Вычислительные технологии. 2001. Т. 6, № 2. С. 47-63.
3. Villasenor J., Buneman O. Rigorous charge conservation for local electromagnetic field solver // Computer Phys. Comm. 1992. Vol. 69. P. 306-316.
4. Андрианов А. Н., Ефимкин К. Н. Подход к параллельной реализации метода частиц в ячейках // Препринт ИПМ им. М. В.Келдыша № 9 за 2009 г., Москва.
ОБ АВТОРАХ
Берендеев Евгений Андреевич, инженер-исследователь Института вычислительных технологий СО РАН (ИВТ СО РАН). Дипл. магистр по прикладной математике и информатике (НГУ, 2013). Иссл. в обл. матем. моделирования задач в области физики плазмы, параллельных вычисли-тельн. технологий.
Ефимова Анна Анатольевна, мл. науч. сотр. Института вычислительной математики и математической геофизики (ИВМиМГ СО РАН). Дипл. инженер по прикладной математике и информатике (НГТУ, 2007). Иссл. в обл. матем. моделирования задач в области физики плазмы.
METADATA
Title: Implementation of the effective parallel calculations to model large-scale plasma physics problems by the PIC-method. Authors: E. A. Berendeev1, A. A. Efimova2 Affiliation:
1 Novosibirsk State University (NSU), Russia.
2 Institute of Computational Mathematics and Mathematical Geophysics SB RAS (ICMMG), Russia.
Email: [email protected],
Language: Russian.
Source: Vestnik UGATU (Scientific journal of Ufa State Aviation Technical University), 2012, Vol. 16, No. 6 (51), pp. 112116. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print). Abstract: The main implementations of the PIC-method for solving large-scale problems of the plasma physics have been carried out. The comparison of the parallelization efficiency on the abnormal heat conductivity problem has been made. The problem was considered in two-dimensional case. In the work the effective algorithm of the parallelization allowing to reach a high scalability of calculations has been offered.
Key words: Parallel calculations; PIC-method; plasma physics.
References (English Transliteration):
1. Astrelin V.T., Burdakov A.V., Postupaev V.V. Suppression of the heat conductivity and generation of the ion-sound waves by the electron beam heating of plasma. // Plasma Physics Reports, 1998, V.24, №5, P.450-462. (In Russian).
2. Vshivkov V.A., Vshivkov K.V., Dudnikova G.I. Algorithms of the solution of the laser impulse with plasma interactions problem. // Journal of Computational Technologies, 2001, V.6, №2, P.47-63. (In Russian).
3. Villasenor J., Buneman O. Rigorous charge conservation for local electromagnetic field solver // Computer Phys. Comm. 1992. Vol. 69. P. 306-316.
4. Adrianov A.N., Efimkin K.N. Approach to parallel realization of the method of particles in cells. // Pre-print of the Keldysh IAM №9, Moscow, 2009. (In Russian).
About authors:
1. Berendeev, Evgeny Andreevich, Research engineer (ICT SB RAS). Master of Applied Mathematics & Informatics (NSU, 2013).
2. Efimova, Anna Anatolyevna, Junior researcher (ICMMG SB RAS). Engineer of Applied Mathematics & Informatics (NSTU, 2007)