Научная статья на тему 'Разработка консультирующей системы по выбору параллельных алгоритмов методов решения сеточных эллиптических уравнений'

Разработка консультирующей системы по выбору параллельных алгоритмов методов решения сеточных эллиптических уравнений Текст научной статьи по специальности «Математика»

CC BY
110
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ / БЫСТРЫЕ ПРЯМЫЕ МЕТОДЫ / МНОГОПРОЦЕССОРНАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА / КОНСУЛЬТИРУЮЩАЯ СИСТЕМА

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

В данной работе подводятся итоги разработки экономичных параллельных алгоритмов циклической редукции (CR), Фурье-алгоритма (FA) и FACR(L)-алгоритма, положенных в основу консультирующей системы. Полученные оценки позволяют выбрать наилучший параллельный алгоритм и существенно сократить время решения задач на МВС.

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

Текст научной работы на тему «Разработка консультирующей системы по выбору параллельных алгоритмов методов решения сеточных эллиптических уравнений»

О.И. ОВЧАРЕНКО

РАЗРАБОТКА КОНСУЛЬТИРУЮЩЕМ СИСТЕМЫ ПО ВЫБОРУ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ МЕТОДОВ РЕШЕНИЯ СЕТОЧНЫХ ЭЛЛИПТИЧЕСКИХ УРАВНЕНИЙ

В данной работе подводятся итоги разработки темы. Полученные оценки позволяют выбрать наи-экономичных параллельных алгоритмов циклической лучший параллельный алгоритм и существенно со-редукции (СЯ), Фурье-алгоритма (¥Л) и К4СЯ(Ь)-алго- кратить времярешения задач наМВС. ритма, положенных в основу консультирующей сис-

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

Прогресс в численном моделировании важных прикладных задач теории поля, гидродинамики стал возможен благодаря появлению быстрых прямых методов решения сеточных уравнений [1]. К числу этих методов следует, в первую очередь, отнести циклическую редукцию (cyclic reduction (CR), Фурье-алгоритм (Fourier-algorithm (FA) и типа FACR(L), предназначенные для решения сеточных эллиптических уравнений, с оценками количества арифметических операций 0(Nlog2N) или даже 0(Nloq2(log2N).

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

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

В данной работе подводятся итоги разработки экономичных параллельных алгоритмов CR, FA и FACR(L), положенных в основу консультирующей системы [3].

В качестве исходных данных для выбора эффективного алгоритма в консультирующей системе используются параметры, характеризующие выбранную задачу, а также аппаратные характеристики конкретной МВС:

1) размерность задачи (N);

2) количество процессоров (p), объединенных между собой каналами системы коммутации (расчеты производятся в предположении, что каждый процессор имеет свою локальную память);

3) тип топологии связи между процессорами решающего поля (полнодоступная коммутация, жесткая коммутация («линейка», «матрица», «куб»);

4) параметр, характеризующий быстродействие каналов связи (k);

5) параметры, характеризующие среднее время выполнения арифметических операций и операций обмена данными между процессорами в МВС.

В качестве величин, характеризующих «распаралле-ливаемость» алгоритмов прямых методов, используются коэффициенты абсолютного ускорения Sp=T1/Tp и абсолютной эффективности алгоритма Ep=Sp/p. Величина Т1 характеризует время выполнения лучшего последовательного алгоритма (на множестве рассматриваемых), а

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

Как правило, быстрые прямые методы применимы в том случае, если разностную схему можно свести к решению векторного уравнения вида [4]

- У,-! + СУ, - У|+1 = Б,, 1 < , < N-1, (1)

Ус= Бо, УN= (2)

где У - вектор неизвестных, Б - заданная правая часть и С - квадратная матрица.

При рассмотрении параллельных алгоритмов быстрых прямых методов в качестве модельной рассматривается следующая краевая задача:

Лу = -Дх), хею, у(х) = 0, хеу, (3)

А = Лl+Л2, Лау = ух а х а, ^ = 1,2

Необходимо найти решение разностной задачи Дирихле для уравнения Пуассона (3) в прямоугольнике в=(0<ха<1а, а=1,2) на прямоугольной сетке то=(х£,=(1И1, ^ев, 0<1<ЫЬ 0<(<^, 1^=^/^, Ь2=12^2) с границей у. Задача (3) может быть записана в виде векторного уравнения (1) с граничными условиями (2).

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

Первый способ предполагает разрезание исходных данных на блоки по ОХь где х!^)=Шь 1=1, 2, ..., N1-1. При втором способе исходный массив «режется» по ОХ2, где х2(]НЬ2, ,=1, 2,.. .,N2-1.

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

Реализация серий СЛАУ может осуществляться двумя способами:

• серии СЛАУ для различных значений ,(1) решаются параллельно на всех процессорах, а отдельная СЛАУ для фиксированного ,(1) реализуется в одном процессоре обычным последовательным алгоритмом;

• серии систем уравнений для различных значений, решаются последовательно, а отдельная СЛАУ для фиксированного _К1) реализуется на всех процессорах па-

раллельным алгоритмом.

Для обозначения параллельных алгоритмов введем индекс, характеризующий способ реализации СЛАУ:

(1) - последовательный, (р) - параллельный. Существует достаточно много методов решения СЛАУ с трехдиагональной матрицей, но в данном случае выбор остановлен на двух наиболее эффективных и часто используемых на практике методах циклической редукции (CR1) и прогонки (PRO. Для второго способа реализации СЛАУ рассмотрены параллельные аналоги предложенных выше последовательных методов, а именно параллельный алгоритм циклической редукции (CRp) и метод параллельной прогонки (PRp) H.H. Яненко - А.Н. Коновалова [5].

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

В результате первого этапа сравнения получается, что при параллельном способе решения СЛАУ эффективнее оказываются алгоритмы из семейства, использующего первый способ распределения информации, а при последовательном способе решения - второй. Для оценки качества параллельных алгоритмов используются характеристики, введенные ранее. На основе анализа коэффициентов абсолютного ускорения Sp и эффективности Ер (рис. 1) выбраны оптимальные алгоритмы для различных значений N, р и к.

N=1024

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

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

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

Свободным от указанного недостатка является подход, основанный на использовании быстрого преобразования Фурье (БПФ) вещественных последовательностей, которые являются аналогами комплексных преобразований. Один из таких алгоритмов, известный как алгоритм Доллимора [6], по объему вычислений уступает методу разложения по синусам, но регулярная структура связей дает возможность рассматривать его реализацию как в одном процессоре, так и на всем решающем поле МВС.

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

Введем обозначения параллельных алгоритмов в зависимости от методов и способов выполнения различных этапов. Верхний индекс будет означать следующие алгоритмы выполнения БПФ:

I - метод разложения по синусам;

II - алгоритм Доллимора;

III - параллельный алгоритм Доллимора. Методы и способы решения СЛАУ остаются прежними.

Сравнение параллельных, алгоритмов было проведено по следующим критериям:

• по способу «разрезания» сеточной области;

• способам иметодам решения СЛАУ;

• способам и алгоритмам реализации БПФ.

Первый этап сравнения показал, что первый способ распределения информации по процессорам оказывается предпочтительнее для алгоритмов, использующих последовательное выполнение Фурье-преобразований. Дальнейшее сравнение показало, что наилучшими являются алгоритмы, использующие последовательные алгоритмы выполнения БПФ и СЛАУ. В качестве примера на рис. 2 приведены графики изменения величины Ер в зависимости от р для N=1024.

Рис.2. Графики изменения величины Ер для параллельных алгоритмов метода разложения по базису

Минимальное число операций достигается комбинированием Фурье-алгоритма и циклической редукции в алгоритме FACR(L) , где Ь - шаг, на котором останавливается редукция. Данный параметр можно варьировать для минимизации числа арифметических операций и операций обменов.

Построенные эффективные параллельные алгоритмы методов типа FACR(L) характеризуются различными способами и методами выполнения отдельных этапов. Очевидно, что задача поиска оптимального FACR(L)-алгоритма существенно усложняется по сравнению с ме-

тодами, его составляющими, так как «поведение» алгоритма зависит не только от параметров N р и к, но и от Ь. Поэтому сравнение FACR (Ь)-алгоритмов было проведено в два этапа [7].

Первый этап заключается в поиске оптимального FACR(L)-aлгopитмa в пределах каждой группы алгоритмов, характеризующихся одинаковыми алгоритмами и способами выполнения БПФ и СЛАУ, но различными значениями L. Для этого используются величины 8р и Ер, введенные ранее. В результате были получены оптимальные значения параметра L={3-5} для различных значений N р и к, позволяющие по сравнению с использовавшимися ранее значениями параметра L={ 1,2} повысить эффективность параллельных FACR(L)-aлгopитмoв на 20%-50%.

Второй этап заключается в нахождении оптимальных FACR(L)-aлгopитмoв среди алгоритмов, обладающих лучшими характеристиками внутри групп. Для этого вводятся величины 8 Р=Т 1/Т р и Е р=8 Р/р, где Т 1 — время выполнения лучшего последовательного алгоритма среди всех групп для фиксированного N аТр - лучшего параллельного алгоритма в данной группе.

Оптимальный FACR(L)-алгоритм для любых значений N р и к выбирается на основе анализа величин 8 р и Е р. На рис. 3 изображены графики изменения величины Е р для N=1024 и различных значений р. Данные графики характеризуют изменение величины Е р для целого семейства оптимальных FACR(L)-aлгopитмoв и выделены области равных значений L.

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

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

• наибольших значений величины 8 р и Е р достигают при реализации на топологии «куб», а наименьших на топологии «кольцо»;

• при реализации параллельных алгоритмов быстрых прямых методов на топологиях «кольцо» и «матрица» количество процессоров следует выбирать в диапазоне р={16-1024}, а для топологии «куб» - выбор р неограничен;

• использование полученных оптимальных значений L={3-6} для параллельных FACR(L)-aлгopитмoв позволяет сократить время решения сеточных эллиптических задач в среднем на 50%-80% по сравнению с использовавшимися ранее значениями L={1-2}. Полученные оценки и построенные параллельные алгоритмы, положенные в основу консультирующей системы по выбору наилучшего параллельного алгоритма для решения сеточных эллиптических задач, позволяют:

• выбрать наилучший алгоритм (из семейства предложенных параллельных алгоритмов) для конкретной задачи и МВС;

• определить оптимальное количество процессоров для решения задачи с учетом ее размерности, быстродействия каналов связи и топологии МВС;

• выбрать оптимальное количество шагов циклической редукции L в FACR(L)-aлгopитмe, позволяющее существенно сократить время решения сеточных эллиптических задач.

ЕАр

N=1024

0,5

Рис. 3. Графики изменения величины É'p для параллельных ГАСЩЬ)-алгоритмое

ЛИТЕРАТУРА

1. Swarztrauber, P.N. (1977). The Methods of Cyclic Reduction, Fourier Analysis, and the FACR Algorithm for 3. the Discrete Solution of Poisson's Equations on the Rectangle, SIAM ftev., vol. 19. P. 490-501.

2. Babenko L.K.,Makarevich O.B.,Suhinov A.I., Ovcharenko O.I. Parallel realisation of the fast direct methods, for solving of the mesh elliptical eguations. Proc. the eighth

symposium on Microcomputer and Microprocessor Applications (12-14 Oktober), 1994, Budapest, Hungary, vol. 1. Овчаренко О.И. Разработка консультирующей системы по выбору параллельных алгоритмов решения сеточных эллиптических уравнений //Сборник трудов

III Международной научно-практической конференции «Интеллектуальные и многопроцессорные системы». Таганрог: НИИ МВС, 2003, Т.2.

4. Самарский А.А., Николаев Е.С. Методы решения се-точныхуравнений. М.: Наука, 1978.

5. Яненко H.H., Коновалов А.Н., Бугров А.И., Шустов Г.Б. Об организации параллельных вычислений и «распараллеливании» прогонки //Численные методы механики сплошной среды. 1978. №7.

6. Dollimore J. - J. Inst. Math. Appl., 1973, vol.12. P. 115117.

7. Овчаренко О.И. Разработка параллельных FACR(L)-

алгоритмов решения сеточных эллиптических уравнений // Сборник трудов IV Международной научно-практической конференции «Интеллектуальные и многопроцессорные системы». Таганрог: НИИ

МВС, 2004. Т.1.

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