Научная статья на тему 'Оценки эффективности распараллеливания универсальной многосеточной технологии'

Оценки эффективности распараллеливания универсальной многосеточной технологии Текст научной статьи по специальности «Математика»

CC BY
330
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
УНИВЕРСАЛЬНАЯ МНОГОСЕТОЧНАЯ ТЕХНОЛОГИЯ / КРАЕВЫЕ ЗАДАЧИ / ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ И ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / UNIVERSAL MULTIGRID TECHNOLOGY / BOUNDARY-VALUE PROBLEMS / HIGH-EFFICIENT AND PARALLEL COMPUTING

Аннотация научной статьи по математике, автор научной работы — Мартыненко Сергей Иванович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Estimations of Efficiency of Parallelizing of Universal Multigrid Technology

Possible schemes of parallelizing of the universal multigrid technology are considered and the parallelism efficiency is estimated, The possibility of achievement of the high efficiency of parallelism in numerical solving of boundary-value problems on structurized grids is theoretically substantiated. Refs.. Figs.. Tabs..

Текст научной работы на тему «Оценки эффективности распараллеливания универсальной многосеточной технологии»

УДК 681.3.012:51

С. И. Мартыненко

ОЦЕНКИ ЭФФЕКТИВНОСТИ РАСПАРАЛЛЕЛИВАНИЯ УНИВЕРСАЛЬНОЙ МНОГОСЕТОЧНОЙ ТЕХНОЛОГИИ

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

E-mail: [email protected]

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

Решение ряда прикладных задач требует огромного объема вычислительной работы, который, несмотря на развитие вычислительной техники, невозможно в разумные сроки выполнить даже на современных суперкомпьютерах. К таким задачам следует отнести моделирование трехмерных турбулентных течений вязкой среды, моделирование физико-химических превращений в вязких средах и многие другие. Одно из направлений повышения производительности вычислительных систем связано с разработкой алгоритмов параллельных вычислений, чему уделяется значительное внимание [1].

Анализ параллельных свойств основных итерационных методов для решения систем линейных алгебраических уравнений (СЛАУ) выполнен сравнительно давно [2-4]. Показано, что простейшие итерационные методы (простой итерации, Якоби, Зейделя, последовательной верхней релаксации) сравнительно легко распараллеливаются. Однако медленная сходимость данных итерационных методов не позволяет разработать на их основе эффективные алгоритмы для численного решения краевых задач. Вместе с тем быстро сходящиеся итерационные методы, такие как предобусловленные методы сопряженных градиентов, гораздо труднее распараллелить.

Определенный оптимизм был связан с классическими многосеточными методами (КММ), оптимальная (или близкая к ней) скорость сходимости достигается при использовании простейших итерационных методов. Однако и КММ невозможно эффективно распараллеливать: в КММ СЛАУ большей размерности алгебраическими или геометрическими методами сводится к СЛАУ меньшей размерности. Поэтому число уравнений СЛАУ самой меньшей размерности может оказаться меньше, чем число используемых процессоров. Даже если число уравнений СЛАУ самой меньшей размерности будет равно числу процессоров, то выполнение каждой сглаживающей итерации свя-

Рис. 1. Сглаживание на одномерной многосеточной структуре

зано с интенсивными обменами данными, которые существенно снижают эффективность распараллеливания. Обзор направлений развития методов распараллеливания КММ приведен в работе [5].

Несмотря на многообразие различных подходов к построению алгоритмов распараллеливания для численного решения краевых задач, становится очевидной необходимость разработки нового итерационного метода, который обладает скоростью сходимости, близкой к оптимальной, и естественным параллелизмом. Такой метод был предложен и получил название универсальной многосеточной технологии (УМТ) [6-8].

В УМТ каждая сетка представима в виде объединения 3м (Ы = 2,3) подсеток, которые не имеют между собой общих узлов [6-8]. Совокупность всех сеток, используемых для выполнения многосеточной итерации, получила название многосеточной структуры. Сглаживание на одномерной (Ы = 1) многосеточной структуре (многосеточная итерация) проиллюстрировано на рис. 1. Отметим, что построение многосеточной структуры возможно лишь для структурированных сеток.

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

L+ =

lg max(Nx, NNy, NN; lg3

-1

(1)

где квадратные скобки означают целую часть. С учетом самой мелкой сетки общее число сеточных уровней составит Ь+ + 1. Зависимость числа сеточных уровней от числа узлов самой мелкой сетки (1) показана на рис. 2. Если число узлов самых грубых сеток превышает 8, то число сеточных уровней следует увеличить на единицу.

С точки зрения распараллеливания вычислений УМТ обладает следующими особенностями:

— грубые сетки каждого уровня не имеют общих точек, поэтому сглаживающие итерации на этих сетках могут проводиться параллельно вне зависимости от используемой сглаживающей процедуры;

Рис. 2. Зависимость числа сеточных уровней от числа узлов самой мелкой сетки

— отсутствие общих узлов и граней уменьшает обмен данными между процессорами;

— фиксированное число сеток на каждом уровне позволяет заранее предсказать необходимое число процессоров для распараллеливания УМТ;

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

Оценки минимальной эффективности распараллеливания УМТ приведены в [9, 10]. Целью данной работы является получение оценок эффективности параллельного исполнения УМТ.

Укажем основные определения параллелизма, которые будут использованы в дальнейшем.

Определение 1. Ускорением 8р параллельного алгоритма называется отношение

Т (1)

с _

Sp _ т (py

(2)

где Т(1) — время, необходимое для выполнения программы на однопроцессорном компьютере; Т(р) — время счета на р процессорах. Ускорение 8р позволяет сравнить поведение данного алгоритма для одного и р процессоров.

Определение 2. Эффективностью параллельного алгоритма Ер называется величина

с

Ер = С. (3)

р

Основной процессор

§ х « 2 В О. о 0 1 о о. л >> | Я >я а а о о о о я о о. ja 1 S ЯЕ 2 s о. о 0 1 о о, i & о я >5 3 к & 3 V я а е >я л в 1 2 « & О. ; о о В о

IE 3 tt а >я а р ш в с— и & и В яе 3

С ш &1 г 1

Рис. 3. Архитектура компьютера для оценки минимальной эффективности

Определение 3. Крупнозернистость задачи означает наличие в ней больших независимых подзадач, которые можно обрабатывать параллельно. Мелкозернистость соответствует возможности параллельного выполнения малых подзадач [3].

Неполное распараллеливание УМТ. Для наглядности получения оценки эффективности неполного распараллеливания УМТ спроектируем гипотетический многопроцессорный компьютер, который состоит из основного процессора и процессорных модулей (рис. 3). Процессорные модули связаны только с основным процессором, и любое общение между основным процессором и процессорными модулями осуществляется посредством передачи сообщений. Поскольку уровень I состоит из 3м1 сеток (Ы = 2, 3), то число процессорных модулей должно составить 3мк, где к = 1,...,Ь+. В дальнейшем величина к будет называться глубиной распараллеливания УМТ. Значение к = 0 соответствует однопроцессорному исполнению.

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

Рассмотрим простейший случай, когда к = 1. Тогда число процессорных модулей р, необходимых для распараллеливания УМТ, составит р = 3м, т.е. девять модулей для двумерных задач (р = 9) и двадцать семь (р = 27) — для трехмерных. Распределение вычислительных сеток между процессорными модулями показано на рис. 4. Вычисление поправки на каждой сетке первого уровня и ее подсет-ках осуществляется независимо на отдельном процессорном модуле.

Основной процессор п. Самая мелкая сетка

/ \\ Передача данных

/ \

Первая сетка сх^ первого /Т\\ 71 1 Вторая сетка А первого / \\ уровня j \ \ 3'v-fl сетка первого / V\ уровня / / \ \

АА А Первый модуль Второй модуль 3Л-й модуль

Рис. 4. Распределение грубых сеток среди процессорных модулей

Нетрудно видеть, что УМТ на уровнях с грубыми сетками (Ь > 0) обладает полным параллелизмом.

Статический цикл. Схема распараллеливания вычислений показана на рис. 5; здесь сглаживание на сетках первого уровня и их под-сетках проводится независимо на процессорных модулях. После сглаживания на сетках первого уровня поправки передаются в основной процессор, на котором выполняется сглаживание на самой мелкой сетке, пересчитывается приближение к решению и проверяется критерий останова. Если полученное приближение не удовлетворяет критерию останова, то вычисление поправки начинается на грубых сетках на каждом процессорном модуле.

Рис. 5. Частичное распараллеливание УМТ (статический цикл)

Минимальное ускорение достигается при неполном распараллеливании УМТ, т.е. сглаживание на самой мелкой сетке проводится на одном процессоре, а p — 1 процессоров простаивают. Фактически при неполном распараллеливании УМТ используется только крупная зернистость многосеточной структуры.

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

L+

T (1) = Е т,

1=0

а время счета на p процессорах

1 L+

T (p) = TO +

p 1=1

поскольку сглаживание на самой мелкой сетке осуществляется на одном процессоре. Тогда с учетом определений (2) и (3) минимальные ускорение Smin и эффективность Emin определяются как

L+ L+

TlTl

s = 1=0 . E = 1 1=0 (4)

°min 1 L+ . Emin p 1 L+ ' ^ '

To + -Е T To + ^ T

P i=i P i=i

где Ti есть время решения задачи на /-м уровне.

Из ранее сделанных допущений следует, что T = const. Тогда соотношение для минимальных ускорения и эффективности параллелизма (4) принимает вид

Smin L+ pEmin • (5)

1 + -

p

Поскольку для распараллеливания первой глубины число используемых процессорных модулей p составит 3N, то соотношение для минимальных ускорения и эффективности (5) может быть записано в виде

S _ oN E _ oN L+ + 1 (6)

smin = 3 Emin = 3 + 3N • ^ '

Оценка (6) показывает, что минимальная эффективность неполного распараллеливания УМТ для численного решения двумерной краевой задачи (N = 2) на сетке ~ 1000 х 1000 (L+ = 5) составит 43 %, а в

трехмерном случае = 3) на сетке ~ 1000 х 1000 х 1000 = 5) — 19 %.

Большая эффективность распараллеливания УМТ в двумерном случае (по сравнению с трехмерным) обусловлена меньшим числом простаивающих процессоров (8 против 26) при сглаживании на самой мелкой сетке.

Для иллюстрации приведенных выше допущений рассмотрим первую краевую задачу для уравнения

д2и д2и д2и 1 (х + у + ^

дХ + д? + дХ = (х'у>^ = 3'6ХР (,^3—

в единичном кубе, которая имеет точное решение

(х + у + 2 ма(х, у, г) = ехр I -3-

откуда нетрудно найти соответствующие граничные условия. Численное решение данной задачи осуществим на пятиуровневой многосеточной структуре (Ь+ = 4) с самой мелкой сеткой 201 х 201 х 201, начиная с нулевого начального приближения. В качестве сглаживающей процедуры на уровнях с грубыми сетками использован вариант предобусловленного метода сопряженных градиентов, предложенный

в [12].

Равномерность загрузки процессоров в процессе выполнения сглаживающих итераций на уровнях с грубыми сетками может быть показана при вычислительных экспериментах на однопроцессорном компьютере. Положим, что для распараллеливания данной трехмерной задачи (^ = 3) используется р = 3м = 27 процессоров. В соответствии со схемой, представленной на рис. 5, сглаживание на уровнях с грубыми сетками состоит из выполнения одинакового числа итераций предобусловленного метода сопряженных градиентов на 27 независимых сетках первого уровня и их подсетках.

Пусть Т. есть время выполнения сглаживающих итераций предобусловленного метода сопряженных градиентов на г-м процессоре (г = 1, 2,..., 27). Определим среднее время (Т) выполнения сглаживающих итераций как среднее арифметическое значение:

1 3м .. 27

(Т) = 3^Е Т. = ^Е

.= 1 .= 1

В качестве меры равномерности загрузки процессоров выберем отклонение Т. от среднего времени (Т)

а (Т) - т.

Рис. 6. Отклонение времени выполнения сглаживающих итераций предобу-словленного метода сопряженных градиентов от среднего значения на сетках первого уровня и их подсетках

Результаты вычислительного эксперимента, приведенные на рис. 6, показывают, что максимальное отклонение времени выполнения сглаживающих итераций предобусловленного метода сопряженных градиентов на i-м процессоре от среднего значения (T) не превышает одного процента. Другими словами, сглаживающая процедура на сет-

о N

ках первого уровня и их подсетках состоит из 3 независимых задач, решение которых требует почти одинакового времени. Тем самым достигается почти равномерная загрузка процессоров.

Следующий вычислительный эксперимент посвящен проверке допущения об одинаковом времени выполнения сглаживающих итераций на различных сеточных уровнях (т.е. Tl = const). Для этого рассмотрим первую краевую задачу для уравнения

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

— + — -- f (х У z)-2e*-y дх2 + ду2 - f (x,y,z)-2e ,

в единичном квадрате, которая имеет точное решение

Ua(x,y) - ex-y,

откуда нетрудно найти соответствующие граничные условия. Численное решение данной задачи проведем на семиуровневой многосеточной структуре (L+ - 6) с самой мелкой сеткой 2001 х 2001, начиная с нулевого начального приближения. В качестве сглаживающей процедуры использован метод Зейделя с точечным упорядочиванием неизвестных. Полное время выполнения многосеточной итерации принято за 100 %.

В табл. 1 показано распределение относительного времени счета

L+ +1

по сеточным уровням Ti j ^^ Tl и уменьшение ошибки численного

1=0

Таблица 1

Типичное распределение времени исполнения сглаживающих итераций по

сеточным уровням

q max \ua(xi, Vj) - \ To T1 T2 T3 T4 T5 T6

1 0,270 10+1 13,18% 13.50% 14,12% 14,25% 14,50% 15,12% 15,32%

2 0,181 ■ 10+1 13,18% 13,38% 14,15% 14,35% 14,50% 15,00% 15,45%

3 0,105 ■ 10+1 13,09% 13,22% 14,15% 14,28% 14,92% 15,15% 15,18%

4 0,222 ■ 10-1 13,38% 13,50% 14,12% 14,25% 14,50% 15,00% 15,25%

5 0,443 ■ 10-3 13,15% 13,50% 14,25% 14,35% 14,50% 15,00% 15,25%

6 0,194 ■ 10-4 13,09% 13,12% 14,45% 14,48% 14,52% 15,15% 15,18%

7 0,168 ■ 10-5 13,38% 13,50% 14,12% 14,25% 14,50% 15,00% 15,25%

8 0,117 ■ 10-6 13,25% 13,50% 14,15% 14,35% 14,50% 15,00% 15,25%

9 0,756 ■ 10-8 13,09% 13,12% 14,35% 14,48% 14,62% 15,15% 15,18%

10 0,347 ■ 10-8 13,09% 13,12% 14,18% 14,62% 14,68% 15,12% 15,18%

11 0,333 ■ 10-8 13,18% 13,38% 14,25% 14,35% 14,60% 15,00% 15,25%

12 0,331 ■ 10-8 13,09% 13,12% 14,45% 14,48% 14,52% 15,15% 15,18%

13 0,331 ■ 10-8 13,07% 13,43% 14,40% 14,54% 14,63% 15,29% 15,64%

14 0,331 ■ 10-8 13,28% 13,38% 14,25% 14,35% 14,50% 15,00% 15,25%

15 0,331 ■ 10-8 13,09% 13,12% 14,45% 14,48% 14,52% 15,15% 15,18%

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

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

Многосеточный цикл УМТ с фиксированным положением самой мелкой сетки называется статическим. В динамическом цикле каждая сетка на определенном этапе решения задачи может рассматриваться как самая мелкая. На рис. 7 показана схема распараллеливания динамического цикла, в котором сетки первого уровня рассматриваются как самые мелкие в многосеточной итерации на уровнях 5-1. Только после достижения критерия останова на сетках первого уровня осуществляется сглаживание на самой мелкой сетке (Ь+ = 0).

Пусть д* — число многосеточных итераций, выполняемых на каждом процессорном модуле в динамическом цикле (д* = 3 на рис. 7).

Рис. 7. Частичное распараллеливание УМТ (динамический цикл с д* = 3)

Тогда оценка (6) принимает вид

_ _ д*Ь+ +1 _ _ (7)

Значения минимальных ускорения (£Шщ) и эффективности параллелизма (£Шш) при решении двумерных (Ы — 2) и трехмерных (Ы — 3) задач приведены в табл. 2. Очевидно, что эффективность распараллеливания динамического цикла (д* > 1) выше, чем статического (д* — 1) из-за перераспределения вычислительных усилий в пользу уровней с грубыми сетками, где УМТ обладает полным параллелизмом.

Полное распараллеливание УМТ. Из оценки (7) также следует, что эффективность распараллеливания УМТ сильно зависит от эффективности распараллеливания сглаживающих итераций на самой мелкой сетке. Сначала рассмотрим распараллеливание первой глубины при тех же допущениях (на каждой сетке выполняется одинаковое число одних и тех же сглаживающих итераций).

Первая глубина. Предположим, что на самой мелкой сетке (нулевой сеточный уровень I — 0) удалось некоторым образом распараллелить сглаживающие итерации с ускорением Б0 и эффективностью Е0. Тогда, согласно определению (2), время выполнения сглаживающих итераций на самой мелкой сетке составит Т0/Б0.В данном случае выражения (4) принимают вид

Ss =

L+

To + q*£ T _1=1

To-+q* L+ t

L+

1

To + g*£ T

Es = -

l=1

-,* L+

S,

p 1=1

So p l=1

(8)

Таблица 2

Значения минимальных ускорения и эффективности параллелизма при решении двумерных и трехмерных задач

N = = 2 (p = 9) N= 3 (p = 27)

L+ * q S min Emirn % L+ * S min Emirn %

4 1 3,5 38,4 4 1 4,4 16,1

4 2 4,8 52,9 4 2 6,9 25,7

4 3 5,6 61,9 4 3 9,0 33,3

4 4 6,1 68,0 4 4 10,7 39,5

5 1 3,9 42,9 5 1 5,1 18,8

5 2 5,2 57,9 5 2 8,0 29,7

5 3 6,0 66,7 5 3 10,3 38,1

5 4 6,5 72,4 5 4 12,1 44,7

6 1 4,2 46,7 6 1 5,7 21,2

6 2 5,6 61,9 6 2 9,0 33,3

6 3 6,3 70,4 6 3 11,4 42,2

6 4 6,8 75,8 6 4 13,2 49,0

7 1 4,5 50,4 7 1 6,4 23,5

7 2 5,9 65,9 7 2 9,9 36,6

7 3 6,6 73,9 7 3 12,4 45,8

7 4 7,0 78,0 7 4 14,2 52,7

где Ss и Es — ускорение и эффективность параллельного исполнения УМТ. Отметим, что S0min = 1 и E0min = 1/p.

Тогда в силу допущения Tl = const выражения (8) принимают вид

_ E q*L+ + 1 q* L+ + 1 (9)

Ss = PEs = P-w = P-т • (9)

C*L+ + ^ q*L+ + -1

В табл. 3 приведены значения ускорения и эффективности параллелизма при решении трехмерных задач (N = 3,p = 3N = 27). Полученное значение эффективности Es оказалось не ниже 90 % даже при использовании статического цикла (q* = 1).

В работе [11] показано, что сглаживание на уровнях с более мелкими сетками оказывает большее влияние на скорость сходимости УМТ, чем сглаживание на уровнях с более грубыми сетками. Поэтому при решении прикладных задач возможен случай, когда на различных уровнях l выполняется разное число сглаживающих итераций В этом случае время, необходимое для выполнения сглаживающих итераций на сетках уровня l, составит Tl = где а есть некий коэффициент пропорциональности, зависящий от сглаживающей процедуры. Оценка ускорения и эффективности параллелизма в данном

Таблица 3

Значения ускорения и эффективности параллелизма при решении трехмерных задач на 27 процессорах

Еоб% L+ >Н q Ee,% Ео,% L+ >H q Ee, %

60,0 5 1 24,3 90,0 70,0 5 1 25,2 93,3

60,0 5 2 25,5 94,3 70,0 5 2 26,0 96,3

60,0 5 3 25,9 96,0 70,0 5 3 26,3 97,4

60,0 5 4 26,2 96,9 70,0 5 4 26,5 98,0

60,0 6 1 24,7 91,3 70,0 6 1 25,4 94,2

60,0 6 2 25,7 95,1 70,0 6 2 26,1 96,8

60,0 6 3 26,1 96,6 70,0 6 3 26,4 97,8

60,0 6 4 26,3 97,4 70,0 6 4 26,5 98,3

60,0 7 1 24,9 92,3 70,0 7 1 25,6 94,9

60,0 7 2 25,9 95,7 70,0 7 2 26,2 97,2

60,0 7 3 26,2 97,1 70,0 7 3 26,5 98,1

60,0 7 4 26,4 97,8 70,0 7 4 26,6 98,5

80,0 5 1 25,9 96,0 90,0 5 1 26,5 98,2

80,0 5 2 26,4 97,8 90,0 5 2 26,7 99,0

80,0 5 3 26,6 98,5 90,0 5 3 26,8 99,3

80,0 5 4 26,7 98,8 90,0 5 4 26,9 99,5

80,0 6 1 26,1 96,6 90,0 6 1 26,6 98,4

80,0 6 2 26,5 98,1 90,0 6 2 26,8 99,2

80,0 6 3 26,6 98,7 90,0 6 3 26,8 99,4

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

80,0 6 4 26,7 99,0 90,0 6 4 26,9 99,6

80,0 7 1 26,2 97,0 90,0 7 1 26,6 98,6

80,0 7 2 26,6 98,4 90,0 7 2 26,8 99,3

80,0 7 3 26,7 98,9 90,0 7 3 26,9 99,5

80,0 7 4 26,8 99,2 90,0 7 4 26,9 99,6

случае принимает вид

L+ L+

v + vo v +

= pEs = -= -. (10)

P ff 1 So ff Eo

Увеличение числа сглаживающих итераций на самой мелкой сетке {у0 > иг) приведет к незначительному уменьшению эффективности параллелизма.

Вторая глубина или массивное распараллеливание. Современная многопроцессорная техника позволяет использовать сотни и даже тысячи процессоров для распараллеливания вычислений. Рассмотрим распараллеливание второй глубины при решении трехмерных задач, т.е. число используемых процессоров составит р = 36 = 729. Предпо-

ложим, что на самой мелкой сетке (нулевой сеточный уровень l = 0) и сетках первого уровня (l = 1) удалось некоторым образом распараллелить сглаживающие итерации с ускорениями So и Si и эффективностью E0 и E1. Тогда оценка ускорения и эффективности параллельного исполнения УМТ составит

L+ L+

q* Е v + vo + vi q* v + vo + vi Ss = pEs = —-= -. (11)

* £ v + So + Si qSv + E + E

В случае выполнения на каждом уровне одинакового числа сглаживающих итераций (v = const) оценка (11) принимает вид

S = pE = q*(L+ -1) + 2 = p q*(L+ -1) + 2

Ss = PEs = q-1-г = P-1-Г. ( )

P (L+ -1) + + т q*(L+ -1) + ~w~ + ТГ

Значения ускорения и эффективности параллелизма сведены в табл. 4 и 5. В данном случае эффективность параллельного исполнения УМТ также высока и превышает 80 %. Кроме того, из оценки (12) следует, что при L+ ^ 1

Ss = PEs ^ Р

1/1 1

1--— + —

q*L+ V Eo E

т.е. при сгущении самой мелкой сетки (Ь+ и/или увеличении числа многосеточных итераций на уровнях с грубыми сетками (д* и/или повышении эффективности распараллеливания сглаживающих итераций на уровнях с мелкими сетками (Е0 t и/или Е ускорение и эффективность параллелизма будут увеличиваться.

Оценки (10) и (11) имеют важное прикладное значение. Написание и отладку компьютерных программ для параллельного исполнения УМТ следует начинать с распараллеливания сглаживающих итераций на самой мелкой сетке (первая глубина р = 3м) и на сетках первого уровня (вторая глубина р = 32М). В результате отладки данной части программы можно экспериментально получить значения S0 (и б^и Е0 (и Е1). Далее, используя оценки (10) и (11), можно оценить ускорение и эффективность параллельного варианта УМТ при решении данной задачи, поскольку на остальных уровнях УМТ обладает полным параллелизмом.

Как следствие, ускорение и эффектность УМТ в параллельном исполнении оказываются больше, чем ускорение и эффектность при распараллеливании сглаживающих итераций на самой мелкой сетке

Таблица 4

Значения ускорения и эффективности параллелизма при решении трехмерных задач (массивное распараллеливание на 729 процессорах)

Еоб% Ei,% L+ q* Es,% Eo,% Ei,% L+ q* Es,%

60,0 60,0 5 1 596,5 81,8 70,0 60,0 5 1 616,5 84,6

60,0 60,0 5 2 643,2 88,2 70,0 60,0 5 2 657,0 90,1

60,0 60,0 5 3 665,6 91,3 70,0 60,0 5 3 676,1 92,7

60,0 60,0 5 4 678,7 93,1 70,0 60,0 5 4 687,2 94,3

60,0 60,0 6 1 612,4 84,0 70,0 60,0 6 1 630,4 86,5

60,0 60,0 6 2 656,1 90,0 70,0 60,0 6 2 668,0 91,6

60,0 60,0 6 3 676,0 92,7 70,0 60,0 6 3 684,9 94,0

60,0 60,0 6 4 687,3 94,3 70,0 60,0 6 4 694,4 95,3

60,0 60,0 7 1 624,9 85,7 70,0 60,0 7 1 641,2 88,0

60,0 60,0 7 2 665,6 91,3 70,0 60,0 7 2 676,1 92,7

60,0 60,0 7 3 683,4 93,8 70,0 60,0 7 3 691,2 94,8

60,0 60,0 7 4 693,4 95,1 70,0 60,0 7 4 699,5 96,0

60,0 70,0 5 1 616,5 84,6 70,0 70,0 5 1 637,9 87,5

60,0 70,0 5 2 657,0 90,1 70,0 70,0 5 2 671,4 92,1

60,0 70,0 5 3 676,1 92,7 70,0 70,0 5 3 686,9 94,2

60,0 70,0 5 4 687,2 94,3 70,0 70,0 5 4 695,9 95,5

60,0 70,0 6 1 630,4 86,5 70,0 70,0 6 1 649,5 89,1

60,0 70,0 6 2 668,0 91,6 70,0 70,0 6 2 680,4 93,3

60,0 70,0 6 3 684,9 94,0 70,0 70,0 6 3 694,0 95,2

60,0 70,0 6 4 694,4 95,3 70,0 70,0 6 4 701,7 96,3

60,0 70,0 7 1 641,2 88,9 70,0 70,0 7 1 658,5 90,3

60,0 70,0 7 2 676,1 92,7 70,0 70,0 7 2 686,9 94,2

60,0 70,0 7 3 691,2 94,8 70,0 70,0 7 3 699,0 96,0

60,0 70,0 7 4 699,5 96,9 70,0 70,0 7 4 705,7 96,8

60,0 80,0 5 1 632,4 86,8 70,0 80,0 5 1 654,9 89,8

60,0 80,0 5 2 667,8 91,6 70,0 80,0 5 2 682,7 93,6

60,0 80,0 5 3 684,2 93,9 70,0 80,0 5 3 695,3 95,4

60,0 80,0 5 4 693,7 95,2 70,0 80,0 5 4 702,5 96,4

60,0 80,0 6 1 644,6 88,4 70,0 80,0 6 1 664,6 91,2

60,0 80,0 6 2 677,3 92,9 70,0 80,0 6 2 690,0 94,6

60,0 80,0 6 3 691,7 94,9 70,0 80,0 6 3 701,0 96,2

60,0 80,0 6 4 699,8 96,0 70,0 80,0 6 4 707,2 97,0

60,0 80,0 7 1 654,1 89,7 70,0 80,0 7 1 672,0 92,2

60,0 80,0 7 2 684,2 93,9 70,0 80,0 7 2 695,3 95,4

60,0 80,0 7 3 697,1 95,6 70,0 80,0 7 3 705,1 96,7

60,0 80,0 7 4 704,2 96,6 70,0 80,0 7 4 710,5 97,5

60,0 90,0 5 1 645,3 88,5 70,0 90,0 5 1 668,8 91,7

60,0 90,0 5 2 676,4 92,8 70,0 90,0 5 2 691,7 94,9

60,0 90,0 5 3 690,6 94,7 70,0 90,0 5 3 701,9 96,3

60,0 90,0 5 4 698,8 95,9 70,0 90,0 5 4 707,8 97,1

60,0 90,0 6 1 656,1 90,0 70,0 90,0 6 1 676,8 92,8

60,0 90,0 6 2 684,6 93,9 70,0 90,0 6 2 697,6 95,7

60,0 90,0 6 3 697,1 95,6 70,0 90,0 6 3 706,6 96,9

60,0 90,0 6 4 704,1 96,6 70,0 90,0 6 4 711,5 97,6

60,0 90,0 7 1 664,4 91,1 70,0 90,0 7 1 682,9 93,7

60,0 90,0 7 2 690,6 94,7 70,0 90,0 7 2 701,9 96,3

60,0 90,0 7 3 701,7 96,3 70,0 90,0 7 3 709,8 97,4

60,0 90,0 7 4 707,8 97,1 70,0 90,0 7 4 714,2 98,0

Таблица 5

Значения ускорения и эффективности параллелизма при решении трехмерных задач (массивное распараллеливание на 729 процессорах)

Eo,% Ei,% L+ q* Es,% Eo,% Ei, % L+ q* Ee,%

80,0 60,0 5 1 632,4 86,7 90,0 60,0 5 1 645,3 88,5

80,0 60,0 5 2 667,8 91,6 90,0 60,0 5 2 676,4 92,8

80,0 60,0 5 3 684,2 93,8 90,0 60,0 5 3 690,6 94,8

80,0 60,0 5 4 693,7 95,1 90,0 60,0 5 4 698,8 95,9

80,0 60,0 6 1 644,6 88,4 90,0 60,0 6 1 656,1 90,0

80,0 60,0 6 2 677,3 92,9 90,0 60,0 6 2 684,6 93,9

80,0 60,0 6 3 691,7 94,9 90,0 60,0 6 3 697,1 95,6

80,0 60,0 6 4 699,8 96,0 90,0 60,0 6 4 704,1 96,6

80,0 60,0 7 1 654,1 89,7 90,0 60,0 7 1 664,4 91,1

80,0 60,0 7 2 684,2 93,8 90,0 60,0 7 2 690,6 94,7

80,0 60,0 7 3 697,1 95,6 90,0 60,0 7 3 701,7 96,3

80,0 60,0 7 4 704,2 96,6 90,0 60,0 7 4 707,8 97,1

80,0 70,0 5 1 654,9 89,8 90,0 70,0 5 1 668,8 91,7

80,0 70,0 5 2 682,7 93,6 90,0 70,0 5 2 691,7 94,9

80,0 70,0 5 3 695,3 95,4 90,0 70,0 5 3 701,9 96,3

80,0 70,0 5 4 702,5 96,4 90,0 70,0 5 4 707,8 97,1

80,0 70,0 6 1 664,6 91,2 90,0 70,0 6 1 676,8 92,8

80,0 70,0 6 2 690,0 94,6 90,0 70,0 6 2 697,6 95,7

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

80,0 70,0 6 3 701,0 96,2 90,0 70,0 6 3 706,6 96,9

80,0 70,0 6 4 707,2 97,0 90,0 70,0 6 4 711,5 97,6

80,0 70,0 7 1 672,0 92,2 90,0 70,0 7 1 682,9 93,7

80,0 70,0 7 2 695,3 95,4 90,0 70,0 7 2 701,9 96,3

80,0 70,0 7 3 705,1 96,7 90,0 70,0 7 3 709,8 97,4

80,0 70,0 7 4 710,5 97,5 90,0 70,0 7 4 714,2 98,0

80,0 80,0 5 1 672,9 92,3 90,0 80,0 5 1 687,6 94,3

80,0 80,0 5 2 694,3 95,2 90,0 80,0 5 2 703,6 96,5

80,0 80,0 5 3 703,9 96,5 90,0 80,0 5 3 710,7 97,5

80,0 80,0 5 4 709,3 97,3 90,0 80,0 5 4 714,7 98,0

80,0 80,0 6 1 680,4 93,3 90,0 80,0 6 1 693,2 95,1

80,0 80,0 6 2 699,8 96,0 90,0 80,0 6 2 707,7 97,1

80,0 80,0 6 3 708,2 97,1 90,0 80,0 6 3 713,8 97,9

80,0 80,0 6 4 712,8 97,8 90,0 80,0 6 4 717,2 98,4

80,0 80,0 7 1 686,1 94,1 90,0 80,0 7 1 697,5 95,7

80,0 80,0 7 2 703,9 96,5 90,0 80,0 7 2 710,7 97,5

80,0 80,0 7 3 711,2 97,5 90,0 80,0 7 3 716,1 98,2

80,0 80,0 7 4 715,2 98,1 90,0 80,0 7 4 719,0 98,6

80,0 90,0 5 1 687,6 94,3 90,0 90,0 5 1 703,0 96,4

80,0 90,0 5 2 703,6 96,5 90,0 90,0 5 2 713,2 97,8

80,0 90,0 5 3 710,7 97,5 90,0 90,0 5 3 717,6 98,4

80,0 90,0 5 4 714,7 98,0 90,0 90,0 5 4 720,1 98,8

80,0 90,0 6 1 693,2 95,1 90,0 90,0 6 1 706,6 96,9

80,0 90,0 6 2 707,7 97,1 90,0 90,0 6 2 715,7 98,2

80,0 90,0 6 3 713,8 97,9 90,0 90,0 6 3 719,6 98,7

80,0 90,0 6 4 717,2 98,4 90,0 90,0 6 4 721,7 99,0

80,0 90,0 7 1 697,5 95,7 90,0 90,0 7 1 709,3 97,3

80,0 90,0 7 2 710,7 97,5 90,0 90,0 7 2 717,6 98,4

80,0 90,0 7 3 716,1 98,2 90,0 90,0 7 3 721,0 98,9

80,0 90,0 7 4 719,0 98,6 90,0 90,0 7 4 722,8 99,1

(первая глубина р = ) и на сетках первого уровня (вторая глубина

р = 3Ш), т.е. $Е > и Ее > тах(Е0,Е1).

Влияние обмена данными на эффективность параллелизма.

Обмен данными между процессорами приводит к уменьшению эффективности параллелизма. Время исполнения многопроцессорной программы можно представить в виде

Т (р) = + То, р

где Т(1) есть время, необходимое для выполнения программы на однопроцессорном компьютере, а То — время, необходимое для обменов данными. Тогда, согласно (2) и (3), выражения для ускорения и параллелизма принимают вид

Т (1)

Sp = pEp =

To

р

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

То = аТ (1),

где а ^ 0 — коэффициент пропорциональности. Тогда

р

= рЕр = —-,

1 + ра

т.е. наличие обменов данными (а = 0) приводит к снижению ускорения и эффективности параллелизма. К сожалению, значение коэффициента а зависит от программных и аппаратных средств многопроцессорного компьютера и от решаемой задачи, поэтому получить оценку а теоретическими методами весьма затруднительно. Проще экспериментально измерить величину эффективности параллелизма и затем определить значение параметра а по формуле

1 ( 1

а = - кг - 1 р V ЕР

В частности, при Ер = 50 % величина а составит 1/р.

В оценках типа (10) или (12) время обмена данными при выполнении сглаживающих итераций на уровнях с мелкими сетками учтено значениями эффективностей Е0 и Е1. Однако отсутствует учет времени обмена данными при переходе к уровням с числом сеток, меньшим, чем число процессоров. Поэтому в общем случае оценка (9) принимает вид

4=р^=р +1 ,

+ — + ар Е0

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

Отсюда при

нетрудно получить

ap < q*L+ + -1 Е0

SZ _ Es _ т aP

- — - ^ 1 - -Z.-.

Es q* L+ + —

Е0

т.е. действительные значения ускорения и эффективности параллелизма будут несколько ниже, чем следует из оценки (9), из-за негативного влияния обмена данными между процессорами.

Аналогичную оценку можно получить и для распараллеливания второй глубины.

Выводы. Крупная зернистость УМТ позволяет эффективно распараллеливать вычисления при решении (не)линейных краевых задач вне зависимости от выбора сглаживающей процедуры для уровней с грубыми сетками. Отсутствие интерполяции в УМТ позволяет снизить требования к выбору сглаживающей процедуры для уровней с мелкими сетками, и тем самым появляется возможность использовать хорошо распараллеливаемые сглаживатели. Однако столь высокая эффективность распараллеливания УМТ обусловлена свойствами самой мелкой сетки, т.е. возможностью построения многосеточной структуры. Неструктурированные сетки не обладают данным свойством, поэтому эффективность распараллеливания вычислительных алгоритмов для численного решения краевых задач на неструктурированных сетках оказывается гораздо ниже.

Работа выполнена при поддержке РФФИ (проект 09-01-00151). Автор выражает искреннюю признательность профессору М.П. Га-ланину за поддержку работы и ряд ценных критических замечаний по полученным результатам.

СПИСОК ЛИТЕРАТУРЫ

1. Воеводин В. В., Воеводин В л. В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002. - 608 с.

2. М а р ч у к Г. И. Методы вычислительной математики. - М.: Наука, 1989. -608 с.

3. ОртегаДж. Введение в параллельные и векторные методы решения линейных систем: Пер. с англ. - М.: Мир, 1991. - 367 с.

4. Воеводин В. В. Математические модели и методы в параллельных процессах. - M.: Наука, 1986. - 296 с.

5. Edmond Chow, Robert D. Falgout, Jonathan J. Hu, Raymond S. Tuminaro, and Ulrike Meier Yang. A survey of parallelization techniques for multigrid solvers, in Frontiers of Parallel Processing for Scientific Computing, SIAM Publications, Philadelphia, PA, 2005.

6. Мартыненко С. И. Универсальная многосеточная технология для численного решения систем дифференциальных уравнений в частных производных // Вычислительные методы и программирование. - 2001. - Т. 1, раздел 1. - C. 1-11.

7. Martynenko S.I. Robust multigrid technique for black box software // Comp. Meth. in Appl. Math. - 2006. - V. 6, no. 4. - P. 413-435.

8. Мартыненко С. И. Универсальная многосеточная технология // Математическое моделирование. - 2009. - Т. 21, № 9. - С. 66-79.

9. Мартыненко С. И. Распараллеливание универсальной многосеточной технологии // Вычислительные методы и программирование. - 2003. - Т. 4, раздел 1. -С. 45-51.

10. M a r t y n e n k o S. I. Potentialities of the robust multigrid technique // Comp. Meth. in Appl. Math. - 2010. - V. 10, no. 1. - P. 87-94.

11. Мартыненко С. И. К вопросу о сходимости универсальной многосеточной технологии // Математическое моделирование. - 2010. - Т. 22, № 10. - С. 18-34.

12. Кучеров А. Б., Макаров М. М. Метод приближенной факторизации для решения разностных смешанных эллиптических краевых задач. - В кн.: Разностные методы математической физики / Под ред. Е.С. Николаева. - М.: Изд-во Моск. ун-та, 1984. - C. 54-65.

Статья поступила в редакцию 23.05.2011

Сергей Иванович Мартыненко окончил в 1988 г. МВТУ им. Н.Э. Баумана. Канд. физ.-мат. наук, научный сотрудник отдела химмотологии и спецдвигателей ФГУП "Центральный институт авиационного моторостроения им. П.И. Баранова".

S.I. Martynenko graduated from the Bauman Moscow Higher Technical School in 1988. Ph. D. (Phys.-Math.), researcher of department for chemistry of motor combustive-lubricating materials and special motors of the Federal State Unitary Enterprise "Central Institute of Aviation Motors n.a. P.I. Baranov".

i Надоели баннеры? Вы всегда можете отключить рекламу.