Алгоритм агента:
1. Получение входных данных.
2. Формирование адреса узла сети.
3. Если этот адрес использовался, то переход к п.1.
4. Передача по сформированному адресу вербуемого узла служебной ин-
.
5. Если пришел ответ от вербуемого узла, то переход к п.1.
6. Передача служебной информации соседним узлам графа B о завербован-
.
7. Конец работы алгоритма.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Лорин Г. Распределенные вычислительные системы. - М.: Радио и связь, 1984. - 296 с.
2. Таненбаум Э. Распределенные системы: принципы и парадигмы. - СПб: Питер, 2003. - 877 с. '
3. Хованское С.А., Мельник ЭМ, Блуишвили ИМ. Метод организации распределенных вычислений в управляющих системах // Мехатроника, автоматизация, управление. «Новые технологии», №4. 2003.
4. . ., . .
// . «
САПР». - Таганрог: Изд-во ТРТУ, 2007, №1(73). - С. 246-250.
УДК 681.3
О.И. Овчаренко
ПАРАЛЛЕЛЬНАЯ РЕАЛИЗАЦИЯ БЫСТРЫХ ПРЯМЫХ МЕТОДОВ РЕШЕНИЯ СЕТОЧНЫХ ЭЛЛИПТИЧЕСКИХ УРАВНЕНИЙ
Прогресс в численном моделировании важных прикладных задач теории по,
решения сеточных уравнений [1]. К числу этих методов следует, в первую очередь, отнести циклическую редукцию (cyclic reduction (CR)), Фурье-адгоритм (Fourier-algorithm (FA)) и типа FACR(L), предназначенных для решения сеточных эллиптических уравнений, с оценками количества арифметических операций 0(Nlog2N) или даже 0(Nloq2(log2N)).
Основными этапами быстрых прямых методов являются решение трехдиагональных систем уравнений и выполнение Фурье-преобразований, которые можно реализовать различными алгоритмами. Для каждого алгоритма, в свою очередь, можно распределить исходную информацию по процессорам несколькими способами. В связи с этим основные этапы быстрых прямых методов могут быть реали-
( ), ( -
).
Поэтому актуальной становится задача не только построения параллельных алгоритмов быстрых прямых методов, но и поиск наиболее эффективных в зависимости от размерности задачи, количества процессоров, значения параметра, характеризующего быстродействие каналов связи при заданной топологии много-
( ).
В данной работе подводятся итоги разработки экономичных параллельных алгоритмов СЯ, БЛ и БЛСЩЪ), положенных в основу консультирующей системы.
В качестве исходных данных для выбора эффективного алгоритма в консультирующей системе используются параметры, характеризующие выбранную задачу, а также аппаратные характеристики конкретной МВС:
1) размерность задачи (Ы);
2) количество процессоров (р), объединенных между собой каналами системы коммутации (расчеты производятся в предположении, что каждый
);
3) тип топологии связи между процессорами решающего поля (полнодоступная коммутация, жесткая коммутация («линейка», «матрица», «куб»));
4) параметр, характеризующий быстродействие каналов связи (к);
5) параметры, характеризующие среднее время выполнения арифметических операций и операций обмена данными между процессорами в МВС.
В качестве величин, характеризующих "распарадлеливаемость" алгоритмов прямых методов, используются коэффициенты абсолютного ускорения 8р=1УТр и абсолютной эффективности алгоритма Бр=8р^р. Величина Т1 характеризует время выполнения лучшего последовательного алгоритма (на множестве рассматриваемых), а Тр - время выполнения алгоритма с использованием р-процессоров. При расчете времен выполнения параллельных алгоритмов помимо основных характеристик, таких как время выполнения арифметических операций и операций обмена информацией между процессорами, учитывался тип связи между процессорами. А именно, для жесткой коммутации учитывалось, что процессоры не связанные непосредствен, .
, , -стную схему можно свести к решению векторного уравнения вида [2]:
- Уя + СУ; - У;+1 = Ц, 1 <] < N-1 (1)
У0 = Fo, ум = ^ (2)
где У - вектор неизвестных , Б - заданная правая часть и С - квадратная матрица.
При рассмотрении параллельных алгоритмов быстрых прямых методов в качестве модельной рассматривается следующая краевая задача:
Лу = -Дх), хеш, у(х) = 0, хеу,
(3)
Л = Л1+Л2, Лау = Ух а х а, а = 1,2.
Необходимо найти решение разностной задачи Дирихле для уравнения Пуассона (3) в прямоугольнике в=(0<х^1а, а=1,2) на прямоугольной сетке И=(ху=(Шь ^ев, 0<1<МЬ 0<|<М2, Ь1=11/М1, И2=12/М2) с границей у Задача (3) может быть запи-
(1) (2).
При реализации прямых методов на МВС возможны несколько подходов к распределению сеточной информации по процессорам.
1,
где х!(1)=Шь 1=1, 2, ..., N^1. При втором способе исходный массив "режется" по ОХ2, где х20НЬ2, ;=1, 2,...,М2-1.
Для метода циклической редукции построены два семейства параллельных
,
информации. Каждое семейство, в свою очередь, состоит из двух групп, характеризующихся различными способами и методами решений систем линейных алгеб-
раических уравнений (СЛАУ), потребность в решении которых возникает на отдельных этапах метода.
Реализация серий СЛАУ может осуществляться двумя способами:
♦ серии СЛАУ для различных значений _^) решаются параллельно на всех процессорах, а отдельная СЛАУ для фиксированного ,^) реализуется в одном процессоре обычным последовательным алгоритмом;
♦ серии систем уравнений для различных значений ] решаются последовательно, а отдельная СЛАУ для фиксированного реализуется на всех процессорах параллельным алгоритмом.
Для обозначения параллельных алгоритмов введем индекс, характеризующий способ реализации СЛАУ: (1) - последовательный, (р) - параллельный.
Существует достаточно много методов решения СЛАУ с трехдиагональной матрицей, но в данном случае выбор остановлен на двух наиболее эффективных и часто используемых на практике методах циклической редукции (СЯ1) и прогонки (РЯО. Для второго способа реализации СЛАУ рассмотрены параллельные аналоги предложенных выше последовательных методов, а именно параллельный алгоритм циклической редукции (СЯр) и метод параллельной прогонки (РЯр) Яненко-Коновалова [3].
Поиск оптимальных параллельных алгоритмов заключается в их поэтапном сравнении по различным критериям (способам распределения сеточной информа-, ).
В результате первого этапа сравнения получается, что при параллельном способе решения СЛАУ эффективнее оказываются алгоритмы из семейства, использующего первый способ распределения информации, а при последовательном способе решения - второй. Для оценки качества параллельных алгоритмов использу-, . -лютного ускорения 8р и эффективности Бр (рис. 1) выбраны оптимальные алгоритмы для различных значений N р и к.
Еще одним перспективным методом решения сеточных эллиптических задач
- . - , -новного этапа использует алгоритм дискретного преобразования Фурье. При поиске эффективных алгоритмов для выполнения Фурье-преобразований на отдельных этапах прямых методов, следует учитывать тот факт, что последовательность является не только вещественной, но и обладает дополнительной симметрией.
N=1024
Ер
02 34 5678 ІО®2 Р
Рис. 1. Графики изменения абсолютной эффективности для параллельных алгоритмов метода циклической редукции
Наиболее эффективными оказываются алгоритмы, специально разработанные для вычисления симметрических преобразований, учитывающие особенности по,
. ,
разложения по синусам, подробно изложен в [3]. Единственным недостатком явля-, , ,
.
рассматривать в одном процессоре.
Свободным от указанного недостатка является подход, основанный на использовании быстрого преобразования Фурье (БПФ) вещественных последова-, . таких алгоритмов, известный как алгоритм Доллимора [4], по объему вычислений уступает методу разложения по синусам, но регулярная структура связей дает возможность рассматривать его реализацию как в одном процессоре, так и на всем решающем поле МВС. Очевидно, что для Фурье-шгоритма существует значительно больше параллельных алгоритмов, что объясняется наличием этапа, связанного с преобразованием последовательностей.
Введем обозначения параллельных алгоритмов в зависимости от методов и способов выполнения различных этапов. Верхний индекс будет означать следующие алгоритмы выполнения БПФ: I - метод разложения по синусам; II - алгоритм Доллимора; III - параллельный алгоритм Доллимора. Методы и способы решения СЛАУ остаются прежними.
, -
риям: способу "р^резания" сеточной области; способам и методам решения СЛАУ; способам и алгоритмам реализации БПФ.
Первый этап сравнения показал, что первый способ распределения информации по процессорам оказывается предпочтительнее для алгоритмов, использующих последовательное выполнение Фурье-преобразований. Дальнейшее сравнение , , алгоритмы выполнения БПФ и СЛАУ. В качестве примера, на рис. 2 приведены графики изменения величины Ер в зависимости от р для N=1024.
Минимальное число операций достигается комбинированием Фурье-алгоритма и циклической редукции в алгоритме РАСЯ(Ь) , где Ь-шаг, на котором
.
числа арифметических операций и операций обменов.
Рис. 2. Графики изменения величины Ер для параллельных алгоритмов метода
разложения по базису
Построенные эффективные параллельные алгоритмы методов типа РЛСЯ(Ь) характеризуются различными способами и методами выполнения отдельных этапов. Очевидно, что задача поиска оптимального РЛСЩЪ)-шгоритма существенно усложняется по сравнению с методами его составляющими, так как "поведение" алгоритма зависит не только от параметров N р и к, но и от Ь. Поэтому сравнение РЛСЯ (Ь)-шгоритмов было проведено в два этапа [5].
Первый этап заключается в поиске оптимального РЛСЩЪ)-шгоритма в пределах каждой группы алгоритмов, характеризующихся одинаковыми алгоритмами и способами выполнения БПФ и СЛАУ, но различными значениями Ь. Для этого используются величины йр и Ер, введенные ранее. В результате были получены оптимальные значения параметра Ь={3-5} для различных значений N р и к, позволяющие по сравнению с использовавшимися ранее значениями параметра Ь={1,2}, повысить эффективность параллельных РЛСК(Ь)-шгоритмов на 20%-50%.
Второй этап заключается в нахождении оптимальных РЛСК(Ь)-шгоритмов
, .
_Л _А Л А Л Л
этого вводятся величины й р=Т р И Е р=й р/р, где Т 1 - время выполнения лучшего последовательного алгоритма среди всех групп для фиксированного N а Т р - лучшего параллельного алгоритма в данной группе.
Оптимальный РЛСК(Ь)-адгоритм для любых значений N р и к выбирается на основе анализа величин йр и ЕЛр. На рис. 3 изображены графики изменения величины ЕЛр для N=1024 и различных значений р. Данные графики характеризуют изменение величины Е р для целого семейства оптимальных РЛСЩЪ)-адгоритмов и выделены области равных значений Ь.
еар Ы=1024
Рис. 3. Графики изменения величины Е^'р для параллельных ГЛСЩЦ-тгоритмов
При оценке временных затрат при реализации алгоритмов на топологиях: «кольцо», «матрица» и «куб» учитывалось, что процессоры не связанные непосред-, . Анализ значений величин й р и Е р , полученных для оценки качества параллельных алгоритмов быстрых прямых методов на данных топологиях, позволяет сделать следующие выводы:
♦ наибольших значений величины й р и Е р достигают при реализации на
" ", " ";
♦
топологиях "кольцо" и "матрица" количество процессоров следует вы-
бирать в диапазоне p={16-1024}, а для топологии "куб" - выбор р неограничен;
♦ использование полученных оптимальных значений L={3-6} для параллельных FACR(L)-MropHTMOB позволяет сократить время решения сеточных эллиптических задач в среднем на 50%-80% по сравнению с использовавшимися ранее значениями L={1-2} .
Полученные оценки и построенные параллельные алгоритмы, положенные в
основу консультирующей системы по выбору наилучшего параллельного алгоритма для решения сеточных эллиптических задач, позволяют:
♦ выбрать наилучший алгоритм (из семейства предложенных параллельных
) ;
♦
учетом ее размерности, быстродействия каналов связи и топологии МВС;
♦ выбрать оптимальное количество шагов циклической редукции L в FACR(L)- , -
ния сеточных эллиптических задач.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Swarztrauber, P.N. (1977). The Methods of Cyclic Reduction, Fourier Analysis, and the FACR Algorithm for the Discrete Solution of Poisson's Equations on the Rectangle, SIAM ftev., vol. 19, pp. 490-501.
2. Самарский А.А., Николаев КС. Методы решения сеточных уравнений. - М.: Наука, 1978. - 592 с.
3. . ., . ., . ., . .
вычислений и "распараллеливании" прогонки // Численные методы механики сплошной среды. - 1978, №7. - С.139-146.
4. Dollimore J. - J. Inst. Math. Appl., 1973, vol.12, pp. 115-117.
5. . . FACR(L)- -
// IV -
конференции «Интеллектуальные и многопроцессорные системы». - Таганрог: НИИ МВС, 2004, Т.1. - С. 270-273.