О распараллеливании решения краевых задач на квазиструктурированных сетках

УДК 519.67

О РАСПАРАЛЛЕЛИВАНИИ РЕШЕНИЯ КРАЕВЫХ ЗАДАЧ НА КВАЗИСТРУКТУРИРОВАННЫХ СЕТКАХ

В.М. Свешников, Б.Д. Рыбдылов

Рассматриваются технологические аспекты решения краевых задач на предлагаемых квазиструктурированных сетках специального вида. Их особенностью является то, что и макросетка в расчетной области, и подсетки в подобластях являются структурированными и прямоугольными сетками, что обеспечивает создание экономичных структур данных и эффективное применение численных алгоритмов. В то же время, результирующая квазиструк-турированная сетка является адаптивной к неоднородностям внутри области и к сложной конфигурации внешней границы, что достигается путем регулировки плотности узлов подсе-ток и локальной модификации сетки вблизи криволинейной границы. Существенным является то, что подсетки могут быть несогласованными. Решение ищется предлагаемым вариантом метода декомпозиции, который основан на отдельной аппроксимации краевой задачи на интерфейсе и в подобластях. Распараллеливание проводится путем группировки подобластей в объединения с целью балансировки загрузки процессоров. Приводятся оценки эффективности распараллеливания на примере решения модельной задачи на различном числе вычислительных ядер, различных сетках и объединениях.

Ключевые слова: краевые задачи, параллельные алгоритмы и технологии, декомпозиция области, квазиструктурированная сетка.

Введение

Адаптивные квазиструктурированные сетки, рассматриваемые в настоящей статье, имеют ряд преимуществ по сравнению со структурированными и неструктурированными сетками. По отношению к первым они дают возможность избавиться от лишнего числа узлов, которые зачастую вводятся лишь для поддержки структурированности, а по отношению ко вторым имеют гораздо более простую структуру данных небольшого объема, что позволяет более эффективно строить численные алгоритмы. Важным является то, что подсетки, из которых состоит результирующая квазиструктурированная сетка, могут быть несогласованными. Это дает возможность автономной аппроксимации решаемого дифференциального уравнения в подобластях, на которые разбивается расчетная область. Сетки, обладающие данным свойством, рассматривались в работах Ю.А. Кузнецова [1], Ю.В. Василевского [2], К. Бернарди [3] и других авторов. Характерным для этих работ является применение метода конечных элементов и множителей Лагранжа для поиска решений в подобластях и на границе их сопряжения (интерфейсе). В настоящей работе рассматривается конечно-разностный подход [4], основанный на непосредственной аппроксимации уравнения Пуанкаре-Стеклова на интерфейсе при помощи дискретных функций Грина, который дает простой параллельный алгоритм для поиска решения.

Процесс распараллеливания алгоритмов решения краевых задач на квазиструктури-рованных сетках имеет некоторые особенности, связанные с равномерной загрузкой процессоров. Обычно используемое при распараллеливании отображение одна подобласть - один процессор в этом случае недопустимо вследствие того, что подсетки в подобластях могут быть несогласованными, то есть иметь существенно различное число

узлов. Это приводит к разбалансировке загрузки процессоров. Для её выравнивания предлагается группировать подобласти в объединения, имеющие приблизительно одинаковое число узлов, что привносит некоторые изменения в технологию распараллеливания, так как в объединение могут входить как подобласти, не требующие межпроцессорных пересылок, так и подобласти, для которых они необходимы. В последнем случае обмены происходят с процессорами-соседями, номера которых должны быть предварительно определены и сохранены. С целью исследования эффективности данного нового подхода был проведен цикл численных экспериментов, результаты которых приводятся ниже.

1. Алгоритмы построения квазиструктурированных сеток и решения на них краевых задач

В этом разделе мы кратко приведем сведения по алгоритмам построения ква-

зиструктурированных сеток и решения на них краевых задач, которые необходимы для изложения дальнейшего материала. Более подробную информацию по данному вопросу можно почерпнуть в работах [4, 5].

Расчетной областью, в которой ищется решение краевой задачи, будем назы-

вать замыкание О = О и Г , где О - открытая, односвязная, ограниченная область в двумерном вещественном пространстве, в которой задано решаемое уравнение

Ьи = f, х е О,

а Г - граница, на которой заданы краевые условия

1и = g, х еГ.

Здесь Ь, I - соответственно операторы уравнения и граничных условий, а д - задаваемые функции. Отметим, что задача (1), (2) рассматривается как в декартовых х, у, так и в цилиндрических х = г, у = 2 координатах соответственно для плоских и осесимметричных областей.

В прямоугольнике Я = {о < х < Dx 0 < у < Dy }, где Dx, Dy - заданы, описанном вокруг расчетной области (О с Я ), построим прямоугольную равномерную макросетку

Й„ =|X, = Ш,, YJ = ЛНу, I = , J = , Н, = ^, Ну = ,

где Ых, - заданные целые числа, с шагами Нх, Ну >> Ь (Ь - максимальный шаг

сетки, на которой аппроксимируется задача (1),(2)). Фактически мы тем самым проводим декомпозицию С на подобласти б/ у. Среди них будем различать - внешние,

- внутренние, - граничные подобласти, которые соответственно не содержат

точек С, содержат только точки С, содержат точки С и Г. Точки пересечения координатных линий х = X1, у = макросетки являются макроузлами, которые обозначим как Тр, а отрезки координатных линий, принадлежащие расчетной области, образуют границу сопряжения подобластей у или интерфейс.

В замкнутых подобластях С/1] , О/2) построим равномерные прямоугольные подсет-

ки

с шагами кх!с =

'к,к X

а к = {х,к = х I + і к К,к, у Л = + 7к ку,к, ік = о, п х,к, Л = П у ,к}

I+1

X,

У,+1 - У,

—. Здесь введена единая нумерация подобла-

х,к

п

У,к

стей и подсеток по индексу к = 1 ,К. По аналогии с подобластями будем различать под-сетки двух типов: внутренние О и граничные О)2] .

Граничные подсетки Оподвергаются локальной модификации, состоящей в

сдвиге приграничных узлов на границу Г, в результате которой они преобразуются в подсетки О)м1к. Объединение подсеток О и О)м1к образует результирующую ква-

зиструктурированную сетку Ой.

На границе сопряжения подобластей у введем сетку , не содержащую макро-

узлов Тр: сои = {{х1,у1)^у,{х1,у1)^Тр, 7 = 1,/^}, где М(д - известное целое число. Дополнив юй макроузлами Тр , образуем сетку <уй = {ий,Т,Т2,...ТР}.

На рис. 1а приведен пример геометрии практической задачи, которая представляет собой так называемый сильноперенапряженный промежуток, предназначенный для формирования мощных электронных пучков в приборах сильноточной электроники. Ее особенностью является то, что отношение максимального размера к минимальному составляет 35000 (Ь=0,0001, Яа=3,5). На рис. 1б показана квазиструктурированная сетка для расчета данного прибора, которая стягивается к острию катода, то есть подобласти, где требуется получить детальное решение.

а) б)

Рис. 1. Пример геометрии сильноперенапряженного промежутка и квазиструктурированная сетка

Краевая задача (1),(2) в подобластях О, О/2) методом конечных разностей, конечных элементов или конечных объемов на сетках О , заменяется приближен-

ной задачей, причем на интерфейсе ставится граничное условие Дирихле

^\у = V ,

где ^й, уй - приближенные значения функций и , V , (V - след ^ на у).

Для отыскания уй применяется метод декомпозиции расчетной области на подобласти, сопрягаемые без наложения, предложенный и подробно изложенный в работе [4]. Он основан на непосредственной аппроксимации уравнения Пуанкаре-Стеклова

дрХ (д^

дп

дп

= 0

пп

при помощи дискретных функций Грина в узлах сетки rnh и исходного уравнения (1) в

макроузлах. Здесь n - нормаль к у, верхние индексы показывают принадлежность

объекта к различным подобластям. Результатом является система линейных алгебраических уравнений

Avh + Ъ = 0

относительно функции vh с невырожденной квадратной матрицей A и известным вектором b . Ее решение осуществляется итерационным методом вида

vfn *‘> =a

где n=0,1,... - номер итерации, а Л - матрица, определяющая конкретный алгоритм, то есть здесь используется лишь сам вектор vhn) и действие AT матрицы на вектор.

Этим условиям удовлетворяет, например, семейство быстросходящихся итерационных методов в подпространствах Крылова [6]. На каждом шаге данного итерационного процесса необходимо вычислять величины

/I? =

в узлах сетки rnh, где dh+, dh - конечно-разностные операторы, аппроксимирующие нормальные производные в уравнении (3).

2. Параллельные технологии решения задач

Распараллеливанию подлежит итерационный процесс (4) по подобластям, который занимает подавляющую часть времени решения всей задачи. Важным звеном в технологической цепи решений по достижению эффективности распараллеливания является отображение сеточных данных на вычислительную сеть. Обычно принятый способ отображения «одна подобласть - один процессор» в данном случае не эффективен, так как подобласти могут содержать существенно различное число узлов, в которых вычисляются значения искомой функции (в дальнейшем - счетных узлов), что приводит к дисбалансу загрузки процессоров.

Поэтому подобласти группируются в объединения Um , m = 1, M , где M - известное число, с целью обеспечения приблизительно равной загрузки процессоров. Для этого в

\

lh к включаются такие подсетки Qh k

бы в сумме Nm = 2 N< m> число счетных узлов такое, что Nm « NXJ , где NXJ - заданная

к

величина, а N- число счетных узлов в подобластях.

Алгоритм группировки подобластей для идеальной балансировки должен строиться на решении задачи линейного программирования. При этом может оказаться, что в объединение включаются не только соседние подобласти, но и подобласти, разделенные подобластями из других объединений. Последнее обстоятельство может привести к

каждое объединение Um = ^ Qhmk включаются такие подсетки Q^, которые давали

значительному увеличению объема самых медленных операций, а именно операций пересылки в системах с разделенной памятью.

Обмены не происходят между соседними подобластями одного объединения, в связи с чем был принят следующий алгоритм построения объединений. Задается число Ми , которое должно быть больше или равно максимальному числу узлов в подобласти. Для каждой свободной, то есть не включенной ни в одно объединение, подобласти просматриваются свободные соседи. Количество узлов просмотренных подсеток суммируется. Если после просмотра к-й подсетки в т -м объединении окажется, что

Nт > NU, то процесс группировки заканчивается, причем при Ыт - > 0.5

последняя подсетка не включается в данное объединение.

Строится отображение «одно объединение - один процессор». На текущем

процессоре на каждой п -й итерации выполняются следующие вычислительные работы:

1. Вычисление искомой функции в подобластях, то есть решение приближенной задачи в подобластях с заданным значением на интерфейсе.

2. Расчет нормальных производных на сторонах подобластей, входящих в

интерфейс. По окончании расчетов массивы производных пересылаются на процессоры-соседи, номера которых определяются до проведения итераций.

3. Вычисление разностей производных (5) на смежных сторонах подобластей. Перед проведением вычислений с каждого процессора-соседа читаются необходимые массивы производных.

4. Реализация очередного шага итерационного процесса по подобластям, то есть вычисление нового значения V”+1). При этом могут потребоваться обмены информацией

с процессорами-соседями, необходимой для реализации конкретного итерационного процесса, определяемого формулой (4).

Рассмотренные алгоритмы и технологии были реализованы с использованием системы параллельного программирования МР1 [7]. Расчеты проводились на кластере НКС-30Т Сибирского суперкомпьютерного центра СО РАН.

3. Численные эксперименты

Цель численных экспериментов - исследование эффективности распараллеливания решения краевых задач на квазистуктурированных сетках. Наибольший интерес при этом представляют несогласованные сетки, так как одно из основных практических применений предлагаемого подхода - это решение задач с сильными неоднородностям на несогласованных сетках.

Рассматривалась модельная краевая задача для уравнения Лапласа:

ласть покрывалась квазиструктурированной сеткой, которая представляла собой совокупность подсеток ОА к в подобластях Ок . Подсетки ОА к строились в шахматном порядке: соседние подобласти имели по каждому направлению число узлов, отличающееся в два раза, то есть были несогласованными. На рис. 2 приведен пример такой сетки, в

с точным решением

1§д/х2 + у2 и значениями на границе / = и |г . Расчетная об-

которой число узлов макросетки равно Ых = N = 4 и число узлов подсеток - 8 х 8, 16х16.

Рис. 2. Декомпозиция на 4 х 4 подобласти

Подсетки группировались в объединения естественным образом: слева направо, снизу вверх в зависимости от числа процессоров К, на которых производится расчет. Все объединения имели одинаковое число узлов. Так, при N=2 в объединения включались подобласти, лежащие снизу-сверху от горизонтальной линии, при N=4 - снизу-сверху и слева-справа от горизонтальной и вертикальной средних линий и т.д. Расчеты проводились для числа подобластей Ых х Ыу = 32 х 32, 64 х 64 и при числе процессоров N=2, 4,

8, 16, 32. Подсетки при этом имели следующее число узлов: к = {4 х 4,8 х 8},

{8х8,16х 16} {16х 16,32х32}, {32х32,64х64}. Таким образом, самая густая ква-

зиструктурированная сетка имела количество узлов, приблизительно равное ((32 х 32) х 32 + (64 х 64) х 32) х 64 , что составляет более 10 миллионов узлов. Уравнение Лапласа аппроксимировалось обычной пятиточечной схемой. Производные, входящие в формулу (5), вычислялись по трехточечным схемам второго порядка. В качестве итерационного процесса брался метод сопряженных градиентов. Сначала были проведены численные эксперименты, которые показали, что относительная точность решения данной задачи составляет приемлемую величину порядка долей процента. Затем, для исследования эффективности распараллеливания проводилось заданное число итераций, равное 100.

Результаты экспериментов представлены на рис. 3, 4, где ускорение вычислений Лы и эффективность процесса распараллеливания Е-ы (последнее - в процентах) вычисляются по формулам

Лн = Т, Ен = Л100 ,

# Т# N ’

при различных вычислительных параметрах (пунктирной линией изображено линейное ускорение).

а) Ускорение Лм б) Эффективность Е м

Рис. 3. Результаты для числа подобластей 32 х 32

а) Ускорение ЛЛ

б) Эффективность Е л

Рис. 4. Результаты для числа подобластей 64 х 64 Из приведенных результатов можно сделать следующие выводы:

1. Ускорение вычислений Лм растет с увеличением числа процессоров, что говорит

о масштабируемости предлагаемого подхода.

2. Эффективность Е-ы падает с увеличением числа процессоров, что объясняется

увеличением числа межпроцессорных обменов.

3. При малом числе процессоров (не более 8) наблюдается явление сверхлинейного ускорения, при котором эффективность превышает 100 %, которое особенно заметно на сетках с большим числом подобластей, то есть при густой макросетке. Объяснение этому следующее. Подобласти группируются в объединения. Каждое объединение обрабатывается одним процессором. Расчет подобластей, входящих в объединение, на одном процессоре проводится последовательно, то есть одна подобласть рассчитывается автономно, что приводит к эффективному использованию сверхбыстрой кэш-памяти компьютера. Кроме того, малое число процессоров (или малое число объединений) говорит о малых затратах на обмены. Эти два эффекта: ускорение за счет кэш-памяти, с одной стороны, и уменьшение числа обменов, с другой стороны, - дают явление сверхлинейно-го ускорения.

Заключение

В работе рассматривался вопрос о распараллеливании решения двумерных краевых задач на предлагаемых квазиструктурированных сетках. Данные сетки просты в использовании и адаптивны к решению, которое ищется итерационным методом декомпозиции. Проведены численные эксперименты по распараллеливанию решения модельной краевой задачи на несогласованных сетках. Результаты численных экспериментов показали, во-первых, работоспособность и адекватность предлагаемого подхода, и, во-вторых, наличие сверхлинейного ускорения за счет влияния сверхбыстрой кэш-памяти. В дальнейшем планируется проведение исследований по эффективному использованию данного явления в предлагаемых алгоритмах и технологиях.

Литература

1. Kuznetsov, Yu. Efficient iterative solvers for elliptic problems on nonmatching grids / Yu. Kuznetsov Yu. // Russian Journal of Numerical Analysis and Mathematical Modeling. - 1995. - Vol. 10, No 3. - P. 187-211.

2. Василевский, Ю.В. Методы решения краевых задач с использованием нестыкую-щихся сеток / Ю.В. Василевский // Труды Математического центра им. Н.И. Лобачевского. - Казань: УНИПРЕСС, 1999. - Т 2. - С. 94-121.

3. Bernardi, C. A new nonconforming approach to domain decomposition: the mortar element method / C. Bernardi, Y. Maday, A. Patera // Nonlinear partial differential equations and their applications. - Paris: College de France Seminar, 1994. - Vol. 11. -P. 13-51.

4. Свешников, В.М. Построение прямых и итерационных методов декомпозиции / В.М. Свешников // Сибирский журнал индустриальной математики. - 2009. -Т. 12, № 3(39). - С. 99-109.

5. Свешников, В.М., Построение квазиструктурированных локально-

модифицированных сеток для решения задач сильноточной электроники / В.М. Свешников, Д.О. Беляев // Вестник ЮУрГУ, серия «Математическое моделирование и программирование». - 2012. - Вып. 14. - № 40(299). - С. 118-128.

6. Ильин, В.П. Методы конечных разностей и конечных объемов для эллиптических уравнений / В.П. Ильин - Новосибирск: Изд-во ИВМиМГ (ВЦ) СО РАН, 2001. -318 с.

7. Корнеев, В.Д. Параллельное программирование в MPI / В.Д. Корнеев - Новосибирск: Изд-во ИВМиМГ (ВЦ) СО РАН, 2002. - 215 с.

Свешников Виктор Митрофанович, д.ф.-м.н., заведующий лабораторией вычислительной физики, Институт вычислительной математики и математической геофизики СО РАН (Новосибирск, Российская Федерация), victor@lapasrv.sscc.ru.

Рыбдылов Батор Доржиевич, аспирант, Институт вычислительной математики и математической геофизики СО РАН (Новосибирск, Российская Федерация), rybdylovbd@mail.ru.

ABOUT PARALLELIZATION OF SOLVING OF BOUNDARY VALUE PROBLEMS ON QUASISTRUCTURED GRIDS

V.M. Sveshnikov, Institute of Computational Mathematics and Mathematical Geophysics SB RAS (Novosibirsk, Russian Federation),

B.D. Rybdylov, Institute of Computational Mathematics and Mathematical Geophysics SB RAS

Technological components of boundary problems solution on offered quasi-structured grids of special kind is considered. The feature of these grids is that both macrogrid (coarse grid) in a whole domain and subgrids (local grids) in subdomains are structured and rectangular, it provides efficient structure of data and effective using of computational algorithms. At the same time, resulting quasi-structured grid is adaptive to irregularities within a domain and to complicated shape of domain boundary. It is essential that subgrids can be unmatched. One variant of domain decomposition methods for solving boundary problems is offered, this one is based on separate approximation of boundary problem on the interface and within the subdomains. In order to balance utilization of processors whole set of subdomains is divided into unions (groups) of subdomains. Estimates of paralellization efficiency was obtained for model problem using different number of processors, different grids and different unions of subdomains.

Keywords: boundary value problems, parallel algorithms and technologies, domain decomposition, quasistructured grids.

References

1. Kuznetsov Yu. Efficient iterative solvers for elliptic problems on nonmatching grids // Russian Journal of Numerical Analysis and Mathematical Modeling. 1995. Vol. 10, No 3. P. 187-211.

2. Vasilevskij Yu.V. Metody reshenija krajevykh zadach s ispolzovaniem nestykujuschikhsja setok [Methods for solving of boundary value problems using unmatched grids]. Trudy Matematicheskogo tsentra imeni N.I. Lobachevskogo [Proceedings of Mathematical Center of N.I. Lobachevski]. 1999. Vol. 2. Kazan: UNIPRESS. P. 94-121.

3. Bernardi C., Maday Y., Patera A. A new nonconforming approach to domain decomposition: the mortar element method / / Nonlinear partial differential equations and their applications. Paris: College de France Seminar, 1994. Vol. 11. P. 13-51.

4. Sveshnikov V.M. Postroenie pryamykh i iteratsionnykh metodov decompozitsii [Construction of direct and iterative decomposition methods]. Sibirskij Zhurnal Industrial’noj Matematiki [Journal of Applied and Industrial Mathematics]. 2009. Vol. 12, No. 3(39). P. 99-109.

5. Sveshnikov V.M., Belyaev D.O. Postroenie kvazistrukturirovannykh lokalno-modifitsirovannykh setok dlya resheniya zadach sil’notochnoj elektroniki [Construction of quasi-structured locally modified grids for solving problems of high current electronics]. Vestnik Yuzhno-Ural’skogo Gosudarstvennogo Universiteta, serija “Matematicheskoe modelirovanie i programmirovanie” [Journal of South-Ural State University, series “Mathematical modeling and programming”]. 2012. No. 40(299). P. 118-128.

6. Il’in V.P. Metody konechnykh raznostej i konechnykh ob’emov dlya ellipticheskikh uravnenij [Finite differences and finite volumes methods for elliptic equations]. Novosibirsk: ICM&MG SB RAS, 2001. 318 p.

7. Korneev V.D. Parallelnoe programmirovanie v MPI [Parallel programming in MPI]. Novosibirsk: Publ. of ICM&MG SB RAS, 2002. 215 p.

Поступила в редакцию 9 апреля 2013 г.