УДК 519.632.4:004.42
DOI: 10.18698/1812-3368-2022-2-36-56
ПАРАЛЛЕЛЬНОЕ РЕШЕНИЕ КРАЕВЫХ ЗАДАЧ С ПОМОЩЬЮ ТЕХНОЛОГИИ ОрепМР
С.И. Мартыненко1,2,3 martynenko@icp.ac.ru
В.А. Бахтин4 bakhtin@keldysh.ru
Е.В. Румянцев1 rev99@internet.ru
Г. А. Тарасов1'5 tarasov@ciam.ru
H.H. Середкин1 К.А. Боярских1
1ИПХФ РАН, Черноголовка, Московская обл., Российская Федерация 2МГТУ им. Н.Э. Баумана, Москва, Российская Федерация
3 ОИВТ РАН, Москва, Российская Федерация
4 ИПМ им. М.В. Келдыша РАН, Москва, Российская Федерация
5 ЦИАМ им. П.И. Баранова, Москва, Российская Федерация
Аннотация
Представлены результаты теоретико-экспериментального анализа параллельной универсальной многосеточной технологии — вычислительного алгоритма, предназначенного для численного решения (начально-)краевых задач для уравнений математической физики в комплексах программ, устроенных по принципу «черного ящика». Цель работы — создание универсального, эффективного и крупнозернистого алгоритма для решения широкого класса нелинейных прикладных задач. Приведено описание алгебраического и геометрического параллелизмов универсальной многосеточной технологии и многосеточного цикла для решения нелинейных задач. Технология ОрепМР использована для реализации параллельной универсальной многосеточной технологии. Вычислительные эксперименты, связанные с решением задачи Дирихле для уравнения Пуассона в единичном кубе, выполнены на персональном компьютере с использованием 3, 9 и 27 нитей (р = 3, 9,27) и на многопроцессорной вычислительной системе с общей памятью с использованием 27 нитей (р = 27). Наивысшая достигнутая эффективность параллельной универсальной многосеточной технологии составляет
Ключевые слова
Параллельные алгоритмы, краевые задачи, численные методы, крупная зернистость
Е « 0,95 при N > 106, р = 3 и Е « 0,80 при N > 107, р = 27. Показано, что определяющим фактором, влияющим на эффективность параллельной универсальной многосеточной технологии, является ограниченная производительность памяти многоядерных вычислительных систем. Выполнен теоретический анализ трудоемкости последовательной итерации V-цикла и параллельной итерации универсальной многосеточной технологии. Показано, что параллельная итерация универсальной многосеточной технологии, реализованная на 27 нитях, Поступила 23.11.2021 будет исполнена в несколько раз быстрее, чем по- Принята 28.02.2022 следовательная итерация V-цикла © Автор(ы), 2022
Исследовательские работы проведены при финансовой поддержке государства в лице РНФ по соглашению № 21-72-20023 по теме: «Суперкомпьютерное моделирование высокоскоростных ударов по искусственным космическим объектам и Земле»
Введение. Современное машиностроение характеризует широкое использование методов математического моделирования на этапе проектирования новой техники. Именно возможность сравнительного анализа расчетных характеристик различных вариантов технических устройств позволяет выбрать оптимальную конструкцию. Детальные математические модели, описывающие совокупность одновременно протекающих физико-химических процессов, в конечном счете сводятся к системам,
состоящим из порядка нелинейных алгебраических урав-
нений (СНАУ). Именно решение подобных СНАУ требует чрезмерных вычислительных усилий [1]. Кроме того, очень важно разработать программное обеспечение, позволяющее автоматизировать отдельные этапы вычислительного эксперимента.
В 1978 г. английские ученые Б. Сполдинг (В. Spalding) и X. Ростен (Н. Rosten) первыми задумали создание единого кода вычислительной гидродинамики PHOENICS, способного обрабатывать процессы, связанные с течением жидкости или газа (http://www.cham.co.uk). Современные комплексы программ типа FLUENT или ЛОГОС позволяют решать широкий класс прикладных задач, однако их вычислительная эффективность оставляет желать лучшего вследствие использования стандартных методов вычислительной математики.
Основные требования к вычислительным технологиям для программ, устроенных по принципу «черного ящика», сформулированы в [2, 3]:
1) универсальность — минимальное число проблемно-зависимых компонентов;
2) эффективность — алгоритмическая трудоемкость при решении линейных задач 0(N log N) арифметических операций, где N — число неизвестных;
3) параллелизм — ускорение параллельного алгоритма по сравнению с самым быстрым последовательным алгоритмом.
Очень трудно разработать и теоретически обосновать или только универсальный, или только эффективный, или только параллельный алгоритм, если математическая модель является системой нелинейных сильно связанных между собой дифференциальных уравнений в частных производных, которые описывают совокупность одновременно протекающих физико-химических процессов. Однако для перспективных комплексов программ, устроенных по принципу «черного ящика», необходимы вычислительные технологии, которые в достаточной степени удовлетворяют требованиям универсальности, эффективности и параллелизма, причем независимо от топологии вычислительной сетки [4,5].
К 1990 г. были предложены основные компоненты перспективных вычислительных технологий:
1) метод конечного объема* (A.A. Самарский [6]);
2) многосеточный метод (Р.П. Федоренко [7]);
3) итерационный метод Зейделя со специальным блочным упорядочением неизвестных, или сглаживатель Банки (С. Банка [8]);
4) матричный анализ сходимости линейных многосеточных методов (В. Хэкбуш [9]).
Однако в то время распараллеливание вычислений носило преимущественно теоретический характер ввиду несовершенства аппаратной части компьютеров. Тем не менее в конце 1980-х г. в теоретическом отделе лаборатории в Лос-Аламосе предложен оригинальный многосеточный алгоритм (PSMG: Parallel superconvergent multigrid), который теоретически был эффективен для простейших краевых задач и позволял эффективно распараллеливать вычисления [10,11]. Спустя два года аналогичный подход, основанный на использовании нескольких сеток для отыскания поправки, предложен в ЦИАМ им. П.И. Баранова для вычислительного алгоритма с минимальным числом проблемно-зависимых компонентов — универсальной многосеточной технологии (УМТ) [2]. Полученные оценки эффек-
* В последнее время иногда используют термин «метод конечного объема» (Finite Volume Method).
тивности параллельного алгоритма выглядели оптимистично, но тогда только формировались архитектуры массивно-параллельных вычислительных систем (Massively Parallel Processing) и систем с общей памятью (Symmetrical Multiprocessor).
Напомним, что одной из характеристик параллелизма является зернистость — мера отношения числа вычислений, сделанных в параллельной задаче, к числу пересылок данных. Мелкозернистый параллелизм — очень мало вычислений на каждую пересылку данных. Крупнозернистый параллелизм — интенсивные вычисления на каждую пересылку данных. Чем мельче зернистость, тем больше точек синхронизации. Наибольший интерес в приложениях представляют крупнозернистые алгоритмы для численного решения (начально-)краевых задач на (не)структурированных сетках.
Параллелизм в настоящее время стал главным ресурсом наращивания вычислительной мощности компьютеров [12]. Сейчас практически невозможно повысить производительность вычислительных систем без использования параллелизма, поскольку современные технологии микроэлектроники подошли к технологическому барьеру. Поэтому широкое распространение получила технология ОрепМР (https://www.openmp.org) для создания параллельных программ, предназначенных для многопроцессорных вычислительных систем с общей памятью, в том числе и для персональных компьютеров.
ОрепМР — интерфейс прикладного программирования для создания многопоточных приложений, состоящий из набора директив для компиляторов и библиотек специальных функций для параллельных компьютеров с общей памятью. Директивы ОрепМР создают и организуют выполнение параллельных процессов (нитей), а также обмен данными между процессами. Потоки создаются в рамках единственного процесса и имеют собственную память. Кроме того, все потоки имеют доступ к памяти процесса [12,13].
Цель работы — теоретико-экспериментальное исследование параллельной УМТ для численного решения краевых задач математической физики на вычислительных системах с общей памятью. Разработанное программное обеспечение с использованием технологии ОрепМР подробно описано в [2,3], поэтому далее обсуждаться не будет.
Универсальная многосеточная технология. В общем случае УМТ может быть представлена как многомасштабный предобуславливатель. Для наглядности рассмотрим задачу Дирихле для уравнения Пуассона
ихх + иуу + uzz — f
(1)
в единичном кубе □ = (О, I)3. Примем, что точное решение (1) имеет вид
Подстановка (2) в (1) определяет функцию / и граничные условия Дирихле. Построим (не)структурированную сетку Go для аппроксимации задачи Дирихле, результирующую СЛАУ обозначим как =bo+ro,
где фо^ — приближение к решению (2) после q-й многосеточной итерации; го — вектор невязки; нижний индекс «О» обозначает принадлежность к исходной сетке Go. Добавим приближение ф^ к решению— некоторую
поправку Со, чтобы уничтожить вектор невязки го: А) ^Со +Фо^ ) = ^о- Полученное уравнение называют уравнением дефекта (defect equation) [17]. Основная идея многомасштабного предобуславливания состоит в отыскании поправки с а на вспомогательной сетке Ga, которая обладает более простой топологией (как правило, регулярная), из решения уравнения
Здесь Aq — матрица коэффициентов результирующей СЛАУ; bo — вектор правых частей; ф^ — приближение к решению (2); — оператор проектирования невязки с исходной сетки Go на вспомогательную сетку Ga; А а — матрица коэффициентов результирующей СЛАУ на вспомогательной сетке Ga- Основные вычислительные усилия приходятся на численное обращение матрицы Ад, т. е. на отыскание поправки с а = А^Яо^а (bo - ) > а на исходной сетке Go выполняют
несколько сглаживающих итераций. Ввиду вспомогательной сетки Ga подобный подход иногда называют методом вспомогательного пространства (auxiliary space method [14]). Вычисленную на вспомогательной сетке Ga поправку с а интерполируют на исходную сетку Go, после чего выполняют несколько сглаживающих итераций для удаления высокочастотных компонентов погрешности интерполяции [3]. Полученный итерационный метод можно записать в виде
u(x,y,z) = ex+y+z.
(2)
Ьо-Аоф^+1)=м(Ьо-Аоф^).
Здесь М — матрица итераций двухсеточного алгоритма,
(3)
где 5о — матрица сглаживающих итераций; V — число сглаживающих итераций на исходной сетке Со; о — оператор проектирования невязки со вспомогательной сетки С а на исходную Со. Из (3) непосредственно следует
Р* -Iм!'
где
( bo -АоФ? \
V bo -Ы0) У
— осредненный коэффициент уменьшения невязки (average reduction factor of the residual [15]). Справедлива следующая теорема о сходимости двухсеточного алгоритма.
Теорема. Если выполнены свойства сглаживания и аппроксимации, то выполняя достаточное число сглаживающих итераций v можно добиться сходимости двухсеточного алгоритма pq < Cr) (v) < 1, где С — некоторая константа, независящая от шагов сеток; Л — некоторая монотонно убывающая функция. При этом норма вектора невязки уменьшается независимо от шагов используемых сеток.
Фактически, линейный двухсеточный алгоритм можно рассматривать как способ построения предобуславливающей матрицы Р-1 = М)
для предобуславленной СЛАУ Р-1Аофо =Р~1Ьо, где М — матрица, определяемая по (3).
Перечислим основные преимущества многомасштабного предобу-славливания:
1) алгоритм легче адаптировать к совместному решению нелинейных сильно связанных систем дифференциальных уравнений, чем алгебраические многосеточные методы;
2) основной объем вычислительной работы выполняют на вспомогательной сетке существенно более простой топологии;
3) число межсеточных итераций не зависит от шагов используемых сеток.
В связи с этим в работе основное внимание уделено решению краевых задач на вспомогательной сетке. Для достижения универсальности и эффективности УМТ использует структурированные сетки, т. е. сетки, порождающие особую последовательность подсеток — многосеточную структуру [4, 5]. Самая мелкая сетка и три ее подсетки (рис. 1) не имеют
л-*-/ v^ yJ v^ \"J yj -yj yJ v-./
1 2 3 4 5 6 7 В 1С
■ 1 • 1 * 1 * 1 * 1 * 1 * 1 * 1 • 1 * 1 V VV VV VV V V V \ 1 X 2 X 3 X ^ X 5 X X g X g X -J^Q X ■ 1 а 1 а 1 ■ 1 LI
1 • 1 • 1 • 1 1 1 а 1 а 1 а
| | а | а | а а 1 а 1 а 1
а 1 а 1 а 1
Рис. 1. Самая мелкая сетка и три ее подсетки
общих узлов и граней конечных объемов, но их объединение в точности равно самой мелкой сетке. Самая мелкая сетка состоит из двух множеств точек ху и х?, которые могут быть как узлами, так и гранями конечных объемов. Основная идея состоит в параллельном решении краевых задач на подсетках, которое можно осуществить вне зависимости от используемого итерационного метода и без обмена данными.
Следует отметить, что если исходная сетка является структурированной, то ее можно использовать для отыскания поправки, т. е. принять О) В этом случае операторы интерполяции являются тривиальны-
ми Л^о -+А =1 и двухсеточный алгоритм содержит только одну
дополнительную проблемно-зависимую компоненту по сравнению с од-носеточным — число сглаживающих итераций V.
В ¿-мерном случае (с1 - 2,3) вычислительная сетка Со состоит из произведения ¿1 одномерных сеток, потому самая мелкая сетка Со порождает ЪА грубых сеток, которые образуют первый сеточный уровень. Грубые сетки первого уровня порождают З2^ еще более грубых сеток, которые образуют второй сеточный уровень. Подобная иерархия вычислительных сеток получила название многосеточной структуры: каждый сеточный уровень состоит из 3Л сеток, где й — 2,Ъ и / = 0,1,2,Ь+ — номер сеточного уровня с самыми грубыми сетками, состоящими из нескольких узлов [2-5]. Поэтому в трехмерном случае {с1 = Ъ) представляет интерес использование 3, 9 и 27 нитей для распараллеливания УМТ на современных вычислительных системах с общей памятью, чтобы число сеток первого уровня (З3 =27) было кратным числу нитей (3, 9 или 27). Если число нитей превышает число сеток, образующих данный уровень, то речь идет об алгебраическом параллелизме УМТ, который зависит
от используемого сглаживателя и не зависит от вычислительной сетки. Если число нитей меньше либо равно числу сеток, образующих данный уровень, то речь идет о геометрическом параллелизме УМТ, который зависит от вычислительной сетки и не зависит от используемого сглаживателя. Далее алгебраический и геометрический параллелизмы будут рассмотрены подробно, затем полученные результаты будут использованы для построения параллельной УМТ.
Геометрический параллелизм УМТ. Предположим, что на этом этапе численного решения краевой задачи (1) с точным решением (2) самая мелкая сетка отсутствует, т. е. для решения (1) использует 27 грубых сеток первого уровня. В качестве меры погрешности численного решения используем норму
где — точное решение (2) задачи (1); — численное реше-
ние задачи (1), полученное на сетках первого уровня с шагом Зк, к — шаг самой мелкой сетки. Результаты последовательных вычислений, полученных на подсетках самой мелкой сетки 101x101x101 (шаг к-1/100) с нулевого начального приближения (ЦеЦ^ «е3 «20). Результаты вычислений
показаны на рис. 2. Первый сеточный уровень состоит из З3 = 27 сеток, которые не имеют общих узлов и граней конечных объемов. Аппроксимация исходной краевой задачи (1) на 27 независимых сетках приводит к 27 независимым дискретным краевым задачам приблизительно одинакового размера, которые можно решать параллельно без обмена данными. Начнем одновременное решение этих 27 независимых дискретных краевых задач с нулевого начального приближения (ЦеЦ^ «е3 »20^. Численное решение
этих 27 независимых дискретных краевых задач практически одновременно прекращается, причем погрешность приближения к численному решению уменьшается до ||е|| « 4-Ю-6. Для наглядности на рис. 2 показана погрешность численного решения дискретной краевой задачи (1) на самой мелкой метке. Очевидно, что «основная часть» погрешности уничтожена посредством решения данных 27 независимых дискретных краевых задач, которые определяют крупную зернистость параллельной УМТ. В этом состоит принципиальное отличие УМТ от классических многосеточных методов, эффективность параллельных вариантов которых сильно снижается на грубых сетках.
10
1 и
10 и
10
-2 _
10"
îo-N
10"
10"
Погрешность нулевого начального приближения 123 27
Погрешность численного значения
Рис. 2. Погрешность численного решения краевой задачи (1) на 27 сетках первого уровня
Проанализируем результаты вычислительного эксперимента. Для схем
<Ch2. Аналогично
зй
<C(3h)2 =9Ch2.
второго порядка точности справедлива оценка и—и для грубых сеток, образующих первый уровень: и —и
Нетрудно получить оценку разности численных решений задачи (1), полученных на самой мелкой сетке и грубых сетках первого уровня:
uh-u3h
и-и"
+
и-и
3h
<Ch2 +C(3h)2 =100i2,
т. е. различие приближения к решению, полученного в результате решения 27 независимых задач, и численного решения состоит в одной значащей цифре. Это обстоятельство и приводит к крупной зернистости параллельной УМТ.
В вычислительных экспериментах использованы компьютеры:
1) Compl: персональный компьютер с процессором Intel(R) Соге(ТМ) i7-4790 CPU @ 3.60 GHz (3 нити);
2) Сотр2: персональный компьютер с процессором AMD Ryzen Threadripper 3970 BOX (3, 9 и 27 нитей);
3) СошрЗ: кластер К-60 ИПМ им. М.В. Келдыша РАН с процессорами 2 х Intel Xeon Е5-2690 v4 (https://www.kiam.m/MVS/resourses/k60.html).
Повторим вычислительный эксперимент на параллельной вычислительной технике, используя 3 (Сотр1) и 27 нитей (СошрЗ). Эффективность параллельной УМТ определим традиционным образом.
Определение. Ускорением (Б) и эффективностью (Е) параллельного алгоритма называется величина
П1)
S = pE =
Т(р)
где Т(1) — время выполнения последовательного алгоритма; Т(р) — время выполнения параллельного алгоритма на системе из р процессоров [16].
Зависимость эффективности параллельной УМТ (геометрический параллелизм), определенной традиционным образом, от числа узлов сетки (в рассматриваемом случае — от числа неизвестных результирующей СЛАУ) приведена на рис. 3. В качестве сглаживателя использован метод Зейделя со специальным упорядочением неизвестных, который используют для совместного решения систем нелинейных дифференциальных уравнений в частных производных [4, 8]. Теоретически, численное решение 27 независимых дискретных краевых задач должно привести к полному параллелизму. Использование трех нитей для распараллеливания вычислений показывает полный параллелизм и даже чуть больше, что обусловлено влиянием кэш-памяти. Однако увеличение числа нитей до 27 приводит к снижению эффективности параллельной УМТ вследствие конструктивных особенностей архитектуры используемого компьютера с общей памятью (см. рис. 3). Увеличение числа нитей приводит к повышению нагрузки на память. Это произойдет по двум причинам. Во-первых, кэшпамять будет поделена между несколькими задачами, т. е. каждой достанется только часть. Если часть кэша является общей для всех ядер, и если одна программа использует много потоков, то они все могут выполняться на своем ядре и работать с общим массивом данных в этом кэше, а если программа однопоточна, то ей достается весь объем кэша целиком. Во-вторых, если потоки принадлежат различным задачам, то объем кэша
1,2 1,0 0,8 0,6 0,4
♦ ♦ ♦
• 3 нити (Compl)
♦ 27 нитей I
........I_I_и
10J
10°
10'
10'
8
10у
Число узлов сетки
Рис. 3. Эффективность параллельной УМТ (геометрический параллелизм)
будет вынужденно делиться между ними. Поэтому проблемы с ограниченной производительностью памяти — главная причина низкой масштабируемости многоядерных систем.
Экспериментальное исследование геометрического параллелизма УМТ является лучшим тестом программной и аппаратной частей используемого компьютера. Полученные результаты во многом определят эффективность параллельной УМТ.
Алгебраический параллелизм УМТ. Характерная особенность алгебраического параллелизма УМТ — необходимость распараллеливания сглаживающих итераций. Использование многоцветных упорядочений неизвестных позволяет сравнительно легко разработать параллельный вариант метода Зейделя [3, 8]. Используемый вариант упорядочивания неизвестных в разноцветные блочные плоскости подробно представлен в [3]. Следует отметить, что алгебраический параллелизм является мелкозернистой частью параллельной УМТ. Зависимость эффективности параллельной УМТ (алгебраический параллелизм), определенной традиционным образом [8], от числа узлов сетки (от числа неизвестных результирующей СЛАУ) приведена на рис. 4. Как и в случае геометрического параллелизма, увеличение числа используемых нитей приводит к снижению эффективности параллельной УМТ.
Параллельная УМТ. Наиболее эффективный параллельный алгоритм можно построить для решения линейных краевых задач [3, 17]. В общем случае в параллельной УМТ использован многосеточный цикл с модифицированной первой многосеточной итерацией, если число нитей составит р = 3,9,27 (рис. 5). Основной объем вычислительной работы приходится на первую многосеточную итерацию, состоящую из решения 27 независимых задач (см. рис. 2).
Результаты вычислительного эксперимента показаны на рис. 6. Достигнутая эффективность параллельной УМТ составляет Е«0,95 при 2^>106 и р = 3 и £«0,80 при 2^>107 и р = 27. Снижение эффективно-
1,2 1,0 0,8 0,6
• 3 нити (Compl)
♦ 27 нитей (СотрЗ)
ч
♦
♦ ~
♦
iiL
105 106 107 108 109 Число узлов сетки
Рис. 4. Эффективность параллельной УМТ (алгебраический параллелизм)
сти параллельной УМТ при увеличении числа используемых нитей обусловлено в первую очередь несовершенством аппаратной и программной частей современной вычислительной техники.
Рис. 5. Многосеточный цикл параллельной УМТ: 1,2,3 — первая, вторая и третья многосеточные итерации
Е 1,2
1,0
0,8
0,6
105 106 107 108 109 Число узлов сетки
Рис. 6. Эффективность параллельной УМТ
Теоретический анализ показывает, что эффективность параллельной УМТ с циклом, показанным на рис. 5, зависит от числа выполненных многосеточных итераций ввиду разнозернистости алгебраического и геометрического параллелизмов:
• 3 нити (Compl) + 3 нити (Сотр2) ■ 9 нитей (Сотр2) х 9 нитей (СотрЗ) о 27 нитей (СотрЗ)
• ••
•■V
х
р о и и 0 и Uoi
° " "г. Л О О „ О О . О
_|_I.........I_I.........I_I.........I_I.......
-<Е(а)<-—,
1/Е0+Ь+ ИЕъ+^Ь*
где Ь+ — номер сеточного уровня с самыми грубыми сетками; с[ — число вспомогательных многосеточных итераций (д* = 3 для цикла на рис. 5); Ео — эффективность алгебраического параллелизма; q — число многосеточных итераций. Экспериментально определенная зависимость эффективности параллельной УМТ от q при р = Ъ показана на рис. 7. Если эффективность параллельного сглаживания на самой мелкой сетке (алгебраический параллелизм) близка к 1, то дополнительные многосеточные итерации (\ слабо влияют на эффективность параллельной УМТ (см. рис. 5).
Рис. 7. Зависимость эффективности параллельной УМТ от числа выполненных многосеточных итераций q
С одной стороны, интерес представляют характеристики параллельной УМТ, которые не зависят от решаемой краевой задачи и используемого компьютера (например, наличие в УМТ фиксированного числа крупных подзадач приблизительно одинакового объема, которые можно решать параллельно без обмена данными). С другой, практический интерес представляет достижимое значение эффективности параллельной УМТ, которое зависит от архитектуры конкретного компьютера (в первую очередь от размера кэш-памяти и пропускной способности шин). Теоретически, па-
раллельная УМТ — два векторизуемых цикла (геометрический и алгебраический параллелизмы), однако практически достижимая эффективность параллельной УМТ ненамного превысила 80 % при р — 27 (см. рис. 6).
Теоретический анализ параллельной многосеточной итерации. Многосеточные методы подразделяют на оптимизированные и робаст-ные [17]. Основная проблема при построении оптимизированного алгоритма состоит в использовании априорной информации о решаемой задаче для разработки наиболее эффективного метода. В отдельных случаях оптимизированные многосеточные алгоритмы достигают неулучшаемой трудоемкости, т. е. позволяют решать отдельные задачи, выполняя 0(N) арифметических операций, где N — число неизвестных. Область применения оптимизированных алгоритмов состоит в решении больших серий однотипных задач, поскольку использование априорной информации для оптимизации проблемно-зависимых компонентов алгоритма является достаточно сложной и трудоемкой проблемой. Последовательные оптимизированные многосеточные методы являются самыми быстрыми решателями простейших краевых задач, но разработать их параллельную версию трудно вследствие интенсивных обменов и несбалансированности нагрузки при сглаживании на грубых сетках [3].
Робастные алгоритмы предназначены для решения широкого класса прикладных задач унифицированным методом. Область применения ро-бастных алгоритмов — комплексы программ, устроенные по принципу «черного ящика», типа FLUENT, STAR-CD, CFX, ЛОГОС и др. Как правило, инженера интересует решение обратной задачи — формирование облика технического устройства при заданных характеристиках. Решение обратной задачи сводят к решению совокупности прямых задач — определению характеристик для сформированного облика. Далее из рассмотренного множества конструктивных решений инженер выбирает оптимальную конструкцию. Для решения совокупности прямых задач используют комплексы программ, устроенные по принципу «черного ящика», с робастны-ми решателями.
Показано, что УМТ обладает трудоемкостью 0(N log N) арифметических операций [4, 5]. Данные, приведенные на рис. 6, указывают на высокую эффективность параллельной УМТ. Для завершения теоретического исследования параллельной УМТ необходимо сравнить объем вычислительной работы в параллельной многосеточной итерации УМТ и последовательной итерации V-цикла как самого быстрого метода решения задачи Дирихле для уравнения Пуассона.
Первая многосеточная итерация параллельной УМТ, показанная на рис. 5, отличается от остальных итераций. Поэтому выясним, когда многосеточная итерация параллельной УМТ (д>1) будет выполняться быстрее с привлечением р = 3,9,27 нитей, чем последовательная многосеточная итерация У-цикла (р -1). Примем несколько допущений.
Допущение 1. Поскольку вычисления на всех сетках проводят по одним и тем же формулам, естественно предположить, что время выполнения сглаживающих итераций 1}(1) на сетке уровня I пропорционально числу узлов: 7}(1) ~ АГ/ или 7](1) = То(1)2~^, й = 2,3, если на всех уровнях выполняют одинаковое число одних и тех же сглаживающих итераций.
Допущение 2. Число сглаживающих итераций в УМТ должно быть равно числу итераций предварительного и последовательных сглаживаний в У-цикле [4, 5]. Поэтому время выполнения сглаживающих итераций будет одинаковым как для У-цикла, так и для УМТ.
Допущение 3. Поскольку число узлов на всех сетках одного уровня одинаково, время выполнения сглаживающих итераций в УМТ одинаково на всех уровнях.
Введенные допущения приводят к оценке
где ускорение параллельной итерации УМТ по сравнению с последовательной итерацией М-цикла, р - 3,9,27 — число нитей; Е — эффективность параллельной УМТ; й — 2,3; Ь^ — номер сеточного уровня при классическом огрублении посредством удвоения шага сетки [3]. Следует учесть, что число сеточных уровней пропорционально логарифму числа узлов, но является целым. Поэтому при увеличении числа узлов самой мелкой сетки число сеточных уровней изменяется ступенчато.
Согласно оценке (3), время исполнения параллельной многосеточной итерации УМТ на девяти нитях приблизительно равно времени исполнения последовательной многосеточной итерации У-цикла. Только при р — 27 время исполнения параллельной многосеточной итерации УМТ будет в несколько раз меньше (рис. 8). Получить аналогичную оценку для нескольких итераций проблематично, поскольку вычислительная стоимость многосеточной итерации УМТ выше, чем итерации У-цикла, но их число в несколько раз меньше.
(4)
Рис. 8. Эффективность параллельной УМТ: при р = 27:Е = 0,70 (1), 0,80 (2), 0,90 (3), 1,0 (4); при р = 9: Е = 0,70 (5), 0,80 (6), 0,90 (7), 1,0 (8)
Заключение. Достигнутая в вычислительных экспериментах эффективность параллельной УМТ составляет £«0,95 при N>106 и р = Ъ и £«0,80 при N>107. Определяющим фактором, влияющим на эффективность параллельной УМТ, является ограниченная производительность памяти многоядерных вычислительных систем. Теоретически показано, что трудоемкость параллельной итерации УМТ при р — 27 ожидается в несколько раз меньше, чем трудоемкость последовательной итерации V-цикла.
Полученные результаты представляют интерес для дальнейшего совершенствования параллельных вычислительных алгоритмов, предназначенных для решения научно-технических задач.
ЛИТЕРАТУРА
[1] Ильин В.П. Математическое моделирование. Ч. 1. Непрерывные и дискретные модели. Новосибирск, Изд-во СО РАН, 2017.
[2] Мартыненко С.И. Последовательное программное обеспечение для универсальной многосеточной технологии. М., Триумф, 2020.
[3] Мартыненко С.И. Параллельное программное обеспечение для универсальной многосеточной технологии. М., Триумф, 2021.
[4] Мартыненко С.И. Многосеточная технология: теория и приложения. М., ФИЗМАТЛИТ, 2015.
[5] Martynenko S.I. The robust multigrid technique. For black-box software. Berlin, De Gruyter, 2017.
[6] Самарский A.A. Уравнения параболического типа и разностные методы их решения. Тр. Всесоюз. сое. по диф. уравнениям. Ереван, Изд-во АН АрмССР, 1958, с. 148-160.
[7] Федоренко Р.П. Релаксационный метод решения разностных эллиптических уравнений. Журн. вычисп. матем. иматем. физ., 1961, т. 1, № 5, с. 922-927.
[8] Vanka S.P. Block-implicit multigrid solution of Navier — Stokes equations in primitive variables. J. Comput. Phys., 1986, vol. 65, iss. 1, pp. 138-158.
DOI: https://doi.org/10.1016/0021-9991(86)90008-2
[9] Hackbusch W. Multi-grid methods and applications. Springer Series in Computational Mathematics. Berlin, Heidelberg, Springer, 1985.
DOI: https://doi.org/10.1007/978-3-662-02427-0
[10] Frederickson P.O., McBryan O.A. Parallel superconvergent multigrid. In: Multi-grid Methods. Theory, Applications and Supercomputing. New York, Marcel Dekker, 1988, pp. 195-210.
[11] Frederickson P.O., McBryan O.A. Recent developments for the PSMG multiscale method. In: Multigrid Methods III. Birkhauser, 1991, pp. 21-39.
[12] Антонов A.C. Параллельное программирование с использованием технологии OpenMP. М., Изд-во МГУ им. М.В. Ломоносова, 2009.
[13] Гергель В.П. Высокопроизводительные вычисления для многоядерных многопроцессорных систем. Н. Новгород, Изд-во ННГУ им. Н.И. Лобачевского, 2010.
[14] Xu J. The auxiliary space method and optimal multigrid preconditioning techniques for unstructured grids. Computing, 1996, vol. 56, no. 3, pp. 215-235.
DOI: https://doi.org/10.1007/BF02238513
[15] Wesseling P. An introduction to multigrid methods. Wiley, 1992.
[16] Ортега Дж. Введение в параллельные и векторные методы решения линейных систем. М., Мир, 1991.
[17] Trottenberg U., Oosterlee C.W., Schiiuller A. Multigrid. Academic Press, 2000.
Мартыненко Сергей Иванович — д-р физ.-мат. наук, старший научный сотрудник отдела горения и взрывов ИПХФ РАН (Российская Федерация, 142432, Московская обл., Черноголовка, пр-т академика Семенова, д. 1); профессор кафедры «Газотурбинные двигатели и комбинированные установки» МГТУ им. Н.Э. Баумана (Российская Федерация, 105005, Москва, 2-я Бауманская ул., д. 5, стр. 1); главный научный сотрудник Лаборатории физического моделирования двухфазных течений ОИВТ РАН (Российская Федерация, 125412, Москва, ул. Ижорская, д. 13, стр. 2).
Бахтин Владимир Александрович — канд. физ.-мат. наук, ведущий научный сотрудник ИПМ им. М.В. Келдыша РАН (Российская Федерация, 125047, Москва, Миусская пл., д. 4).
Румянцев Егор Вячеславович — инженер отдела экстремальных состояний ИПХФ РАН (Российская Федерация, 142432, Московская обл., Черноголовка, пр-т академика Семенова, д. 1).
Тарасов Георгий Александрович — инженер отдела горения и взрывов ИПХФ РАН (Российская Федерация, 142432, Московская обл., Черноголовка, пр-т академика Семенова, д. 1); инженер отдела специальных авиационных двигателей и химмотологии ЦИАМ им. П.И. Баранова (Российская Федерация, 111116, Москва, ул. Авиамоторная, д. 2).
Середкин Николай Николаевич — инженер отдела экстремальных состояний ИПХФ РАН (Российская Федерация, 142432, Московская обл., Черноголовка, пр-т академика Семенова, д. 1).
Боярских Ксения Александровна — инженер отдела экстремальных состояний ИПХФ РАН (Российская Федерация, 142432, Московская обл., Черноголовка, пр-т академика Семенова, д. 1).
Просьба ссылаться на эту статью следующим образом:
Мартыненко С.И., Бахтин В.А., Румянцев Е.В. и др. Параллельное решение краевых задач с помощью технологии ОрепМР. Вестник МГТУ им. Н.Э. Баумана. Сер. Естественные науки, 2022, № 2 (101), с. 36-56. Б01: https://doi.org/10.18698/1812-3368-2022-2-36-56
N.N. Seredkin1 К.А. Boyarskikh1
1 Institute of Problems of Chemical Physics, Russian Academy of Sciences, Chernogolovka, Moscow Region, Russian Federation
2 Bauman Moscow State Technical University, Moscow, Russian Federation
3 Joint Institute for High Temperatures, Russian Academy of Sciences, Moscow, Russian Federation
4 Keldysh Institute of Applied Mathematics, Russian Academy of Sciences, Moscow, Russian Federation
5 Central Institute of Aviation Motors, Moscow, Russian Federation
PARALLEL SOLUTION OF BOUNDARY VALUE PROBLEMS USING ОрепМР TECHNOLOGY
S.I. Martynenko1'2 V.A. Bakhtin4 E.V. Rumyantsev1 G.A. Tarasov1-5
,1,2,3
martynenko@icp.ac.ru bakhtin@keldysh.ru rev99@internet.ru tarasov@ciam.ru
Abstract
The paper introduces the results of the theoretical and experimental analysis of the Robust Multigrid Technique (RMT), a computational algorithm designed for the numerical solution of (initial-)bounda-ry value problems for the equations of mathematical physics in black-box software. The purpose of the study was to develop robust, efficient and large-scale granulated algorithm for solving a wide class of nonlinear applied problems. The paper describes the algebraic and geometric parallelisms of the RMT and the multigrid cycle for solving nonlinear problems. The OpenMP technology was used to implement the parallel RMT. Computational experiments related to the solution of the Dirichlet problem for the Poisson equation in the unit cube were performed on a personal computer using 3, 9 and 27 threads (p = 3, 9, 27) and on a multiprocessor computer system with shared memory using 27 threads (p = 27). The highest achieved efficiency of the parallel RMT is E = 0.95 at N> 106 andp = 3 andE ~ 0.80 a.tN> 107andp = 27. Findings of the research reveal that the determining factor affecting the efficiency of the parallel RMT is the limited memory performance of multicore computing systems. The complexity of the sequential iteration of the V-cycle and the parallel iteration of the RMT was theoretically analyzed. The study shows that the parallel iteration of the RMT, implemented on 27 threads, will be executed several times faster than the sequential iteration of the V-loop
Keywords
Parallel algorithms, boundary value problems, numerical methods, large-scale granularity
Received 23.11.2021 Accepted 28.02.2022 © Author(s), 2022
Research work was carried out with the financial support of the Russian Science Foundation under agreement no. 21-72-20023 on the topic: "Supercomputer simulation of high-speed impacts on artificial space objects and the Earth"
REFERENCES
[1] Ilin V.P. Matematicheskoe modelirovanie. Ch. 1. Nepreryvnye i diskretnye modeli [Mathematical modeling. Part 1. Continuous and discrete models]. Novosibirsk, SB RAS Publ., 2017.
[2] Martynenko S.I. Posledovatel'noe programmnoe obespechenie dlya universal'noy mnogosetochnoy tekhnologii [Sequential software for the robust multigrid technique]. Moscow, Triumf Publ., 2020.
[3] Martynenko S.I. Parallel'noe programmnoe obespechenie dip universal'noy mnogo-setochnoy tekhnologii [Parallel software for the robust multigrid technique]. Moscow, Triumf Publ., 2021.
[4] Martynenko S.I. Mnogosetochnaya tekhnologiya: teoriya i prilozheniya [Multigrid technology: theory and applications]. Moscow, FIZMATLIT Publ., 2015.
[5] Martynenko S.I. The robust multigrid technique. For black-box software. Berlin, De Gruyter, 2017.
[6] Samarskiy A.A. Uravneniya parabolicheskogo tipa i raznostnye metody ikh reshe-niya [Equations of parabolic type and difference methods for their solution]. Trudy Vse-soyuznogo soveshchaniya po differentsial'nym uravneniyam [Proc. of All-Union Meeting on Differential Equations]. Erevan, AN ArmSSR Publ., 1958, pp. 148-160 (in Russ.).
[7] Fedorenko R.P. A relaxation method for solving elliptic difference equations. USSR Comput. Math. Math. Phys., 1962, vol. 1, iss. 4, pp. 1092-1096.
DOI: https://doi.org/10.1016/0041-5553(62)90031-9
[8] Vanka S.P. Block-implicit multigrid solution of Navier — Stokes equations in primitive variables. /. Comput. Phys., 1986, vol. 65, iss. 1, pp. 138-158.
DOI: https://doi.org/10.1016/0021-9991(86)90008-2
[9] Hackbusch W. Multi-grid methods and applications. Springer Series in Computational Mathematics. Berlin, Heidelberg, Springer, 1985.
DOI: https://doi.org/10.1007/978-3-662-02427-0
[10] Frederickson P.O., McBryan O.A. Parallel superconvergent multigrid. In: Multigrid Methods. Theory, Applications and Supercomputing. New York, Marcel Dekker, 1988, pp.195-210.
[11] Frederickson P.O., McBryan O.A. Recent developments for the PSMG multiscale method. In: Multigrid Methods III. Birkhauser, 1991, pp. 21-39.
[12] Antonov A.S. ParallePnoe programmirovanie s ispol'zovaniem tekhnologii OpenMP [Parallel programming using OpenMP technology]. Moscow, MSU Publ., 2009.
[13] Gergel V.P. Vysokoproizvoditel'nye vychisleniya dlya mnogoyadernykh mnogo-protsessornykh system [High-performance computations for multi-core multiprocessor systems]. Nizhny Novgorod, Lobachevskiy NNSU Publ., 2010.
[14] Xu J. The auxiliary space method and optimal multigrid preconditioning techniques for unstructured grids. Computing, 1996, vol. 56, no. 3, pp. 215-235.
DOI: https://doi.org/10.1007/BF02238513
[15] Wesseling P. An introduction to multigrid methods. Wiley, 1992.
[16] Ortega J.M. Introduction to parallel and vector solution of linear systems. Frontiers of Computer Science. Boston, MA, Springer, 1988.
DOI: https://doi.org/10.1007/978-l-4899-2112-3
[17] Trottenberg U., Oosterlee C.W., Schiiuller A. Multigrid. Academic Press, 2000.
Martynenko S.I. — Dr. Sc. (Phys.-Math.), Senior Research Fellow, Department of Combustion and Explosion, Institute of Problems of Chemical Physics, Russian Academy of Sciences (Academician Semenov prospekt 1, Chernogolovka, Moscow Region, 142432 Russian Federation); Professor, Department of Gas Turbine Engines and Combined Plants, Bauman Moscow State Technical University (2-ya Baumanskaya ul. 5, str. 1, Moscow, 105005 Russian Federation); Chief Research Fellow, Laboratory for Physical Modelling of Two-Phase Fluid Flow, Joint Institute for High Temperatures, Russian Academy of Sciences (Izhorskaya ul. 13, str. 2, Moscow, 125412 Russian Federation).
Bakhtin V.A. — Cand. Sc. (Phys.-Math.), Lead Research Fellow, Keldysh Institute of Applied Mathematics, Russian Academy of Sciences (Miusskaya ploshchad 4, Moscow, 125047 Russian Federation).
Rumyantsev E. V. — engineer, Department of Extreme Conditions, Institute of Problems of Chemical Physics, Russian Academy of Sciences (Academician Semenov prospekt 1, Chernogolovka, Moscow Region, 142432 Russian Federation).
Tarasov G.A. — engineer, Department of Combustion and Explosion, Institute of Problems of Chemical Physics, Russian Academy of Sciences (Academician Semenov prospekt 1, Chernogolovka, Moscow Region, 142432 Russian Federation); engineer, Department of Special Aviation Engines and Chemotology, Central Institute of Aviation Motors (Aviamotornaya ul. 2, Moscow, 111116 Russian Federation).
Seredkin N.N. — engineer, Department of Extreme Conditions, Institute of Problems of Chemical Physics, Russian Academy of Sciences (Academician Semenov prospekt 1, Chernogolovka, Moscow Region, 142432 Russian Federation).
Boyarskikh K.A. — engineer, Department of Extreme Conditions, Institute of Problems of Chemical Physics, Russian Academy of Sciences (Academician Semenov prospekt 1, Chernogolovka, Moscow Region, 142432 Russian Federation).
Please cite this article in English as:
Martynenko S.I., Bakhtin V.A., Rumyantsev E.V., et al. Parallel solution of boundary value problems using OpenMP technology. Herald of the Bauman Moscow State Technical University, Series Natural Sciences, 2022, no. 2 (101), pp. 36-56 (in Russ.). DOI: https://doi.org/10.18698/1812-3368-2022-2-36-56