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

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

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

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

#9 сентябрь 2006 Ред. совет Специальности Рецензентам Авторам English Koi-8 Win

Найти выделенное

Параметрическое согласование вычислительных алгоритмов с архитектурой многопроцессорных систем #9 сентябрь 2006

А.П. Карпенко, д-р физ.-мат. наук проф., МГТУ им. Н.Э. Баумана

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

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

Методы и алгоритмы, используемые при решении задачи согласования, существенно зависят от того, какой параллелизм имеется в виду — "мелкозернистый" или "крупнозернистый" [3]. Статья ориентирована на "крупнозернистый" параллелизм (параллелизм на уровне ветвей алгоритма), который адекватен МВС с архитектурой MIMD.

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

В статье в качестве указанного множества алгоритмов рассматривается множество алгоритмов А, порожденных изменением некоторого вектора параметров К: А = {А(^, К е К}, где К — множество допустимых значений К. В этом случае задача согласования

*

(параметрического) есть задача поиска вектора параметров K е К ( а

*

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

Идея построения параметрического множества алгоритмов и поиска в нем оптимального для данной МВС алгоритма впервые, вероятно, высказана в работах [5, 6]. Упоминание о возможности подобного использования параметризованных множеств параллельных алгоритмов имеется также в работе [7].

В данной статье для построения параметризованных множеств алгоритмов используется методика, основанная на комбинации метода декомпозиции области решения до и после дискретизации задачи и ускоряющих преобразований на основе многосеточных методов. Методика предложена нами совместно с Ю.П. Боглаевым в работе [8]. Методика порождает множества, вообще говоря, трехуровневых иерархических алгоритмов, параметрами которых являются порядок ускоряющего преобразования и количество подобластей [9—11].

Указанная методика использована нами для построения параметризованных множеств следующих алгоритмов: 1) вычисления кубатур [9]; 2) интерполяции на основе локальных и нелокальных кубических сплайнов [10]; 3) интегрирования одного класса обыкновенных дифференциальных уравнений [11]. В качестве примера рассмотрим использование этой методики для задачи интерполяции на основе нелокальных кубических сплайнов.

Программная реализация идеи параметрического согласования приводит к "гибкой" программе [12], параметрически самосогласующейся с архитектурой используемой вычислительной системы Такая программа на основе информации о вычислительной сложности задачи, допустимой погрешности решения и архитектуре

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

МЕТОДИКА СИНТЕЗА ПАРАМЕТРИЗОВАННЫХ АЛГОРИТМОВ.

Изложим методику параметризации на примере прямой задачи численного анализа.

Пусть Ц(О) — пространство функций х) с нормой || ' определенных

на множестве О с Кп. Линейный оператор Vдействует из Ц(О) в пространство Ц(ю) функций и(у) с нормой || ' || , определенных на

ш

1

множестве ю и имеющих значения в пространстве К , т.е. Vf = и. (1)

Рассмотрим задачу приближенного построения функции и(у) по заданной функции ^х). Строгая постановка задачи дана в работе [8].

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

Прямой метод. Проведем дискретизацию множеств О, со и обозначим

полученные множества ^ Дискретный аналог оператора V

обозначим V. Тогда дискретный аналог уравнения (1) можно записать в виде

Л А

и(У() = К/(хг), XI е £2, у{ е

(2)

Разобьем множества О * & на К подмножеств

Л Л Л Ж Й. А

□ й^;^, м-, таким образом, что объединение

этих множеств есть множества ^ * соответственно.

Прямой метод распараллеливания включает в себя два этапа:

• построение на основе найденных значений приближенного решения и (у) е Цю) ("сборка" решения).

Параметром численного алгоритма, полученного на основе прямого метода, является количество подмножеств К.

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

Блочный метод. Разобьем множества О, ю на К непересекающихся подмножеств О ю / е [1, К]. Эти разбиения порождают [8] разложение

пространств ЦО), Цю) в прямую сумму подпространств ЦО.), Цю.) и

блочное представление (1):

где // е ЦО.), и. е Цю.).

Блочный метод распараллеливания состоит из двух следующих шагов.

• параллельное вычисление

и = V / + V / + + V / / е [1 К]'

/ /' 11 /'22 /'КК' 1 '

• построение на основе найденных значений и приближенного решения (1).

Ускоряющий метоо. Этот метод основан на применении ускоряющих преобразований Ричардсона, Эйткена, Шенкса и др. [14]. Изложим схему метода на примере преобразования Ричардсона. Пусть Q. , i = 1

2, ... есть последовательность дискретизаций множества Q такая, что

lim iiQ.ll = 0, i —0

где || ' || есть некоторая норма в Rn. Найдем приближенное решение задачи (1) и.(у) е L (ю). Если погрешность приближения и(у) функцией

и.(у) может быть представлена в виде

||u(y) - и.(у)|| = c Ш.||д + О Ш.||9+1),

I ю

где д > 0, с — неизвестная константа, то ускоряющее преобразование Ричардсона для функций и.(у), и/+1(у) задается формулой

Здесь а = ^^Н / ||Q|-||. Погрешность приближения и(у) функцией и.(у)

равна || и (у) - иШ = 0(|| Q. ||)q+1).

I ю I

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

• параллельное нахождение решений и.(у); и.+1(у);

• "сборка" по формуле (3) уточненного решения. Количество параллельных ветвей К в данном случае равно двум.

Большим потенциальным параллелизмом обладают известные обобщения преобразования Ричардсона, использующие при формировании и) (у) не только решения а,(у), иЛ/у), но и решения и*2<У). ил3(у) и т.д.

Постановка задачи. Рассматривается функция /(х), х е [а, Ь] одного переменного из класса функций (Мт) = С(т)(Мт). Решается

задача построения непрерывной на [а, Ь], возможно со своей первой и старшими производными, функции F(x), интерполирующей /(х) на сетке

А : а = х_< х. < х0...<х = Ь, 0 12 п

где х . — х-1 = 1п., / е [1, п] — шаг сетки (рис. 1).

Функция F(x) строится на основе непериодических нелокальных кубических сплайнов с краевыми условиями вида

тх0) = = /(1)(х0), ^(хп) = ^ = /(1)(хп),

где Wn, W — "наклоны" в узлах х_, х сетки А [15]. 0 п 1 0 п 1 -1

Погрешность приближения /(х) функцией F(х) оценивается величиной

||Я(х) || = вир |/(х) - F(х)|. х е [а,Ь]

Наряду с сеткой А используется сетка А', содержащая 2п + 1 узлов (рис. 1).

Заметим, что все результаты могут быть перенесены на случай периодического сплайна, задания сплайна через "моменты", и отличные от рассматриваемых краевые условия [15].

Блочный алгоритм. Схема блочного алгоритма построения функции F (х) имеет вид:

1) разбиение интервала [а, Ь] по узлам сетки А на К подынтервалов [а., Ь.], / е [1, К] и К— 1 подынтервалов [а'., Ь'.], / е [1, К- 1] (рис. 2);

2) параллельное построение на интервалах [а., Ь.] нелокальных кубических сплайнов Б.(х) с краевыми условиями

3) параллельное построение на V . + 2 узлах каждого из подынтервалов [а'., Ь'.], I е [1, К — 1] интерполирующих полиномов Эрмита Е(х) порядка V. + 5 с краевыми условиями

где У= 0, 1, 3;

4) "сборка" искомой функции

Ограничимся случаем V = 0. При этом порядок интерполирующего полинома Эрмита равен 5.

В работе [10] показано, что если х) е С(т)(Мт), т > 1, то функция F(х),

построенная на основе нелокального кубического сплайна Б(х) и локального сплайна пятого порядка Е(х) с помощью блочного алгоритма:

'(х),

3) приближает /(х) с погрешностью

А\/ШМЪИЪ, /Ос)е С(3)(М3),

5/384М4Я4, /а) е С(4,(М4).

Ускоряющий алгоритм на основе преобразования Ричардсона. Схема ускоряющего алгоритма построения функции F(х) имеет вид:

1) построение сеток А, А' (см. рис. 1);

2) параллельное определение на этих сетках интерполирующих нелокальных кубических сплайнов в(х), в' (х);

3) "сборка" искомой функции F(x) = З'(х) + (в(х) - З'(х)) р (х),

где функция р(х) определяется главными членами погрешностей приближения /(х) сплайнами в(х), З'(х).

В работе [10] показано, что если /(х) е С(т)(Мт), т * 5, то функция Р(х), построенная с помощью ускоряющего алгоритма на основе преобразования Ричардсона:

(2)

1) принадлежит классу С '[а, Ь];

2) совпадает в узлах сетки А ' с соответствующими значениями функции /(х);

3) приближает /(х) с погрешностью || Я(х) || < 3/8 а Ы5Л5;

где

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

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

• на единицу относительно Н повышает порядок приближения f(x) функцией F(x);

• на единицу повышает порядок гладкости функции f(x), при котором происходит насыщение интерполяционного процесса.

Существенным является тот факт, что функция F(x), построенная с помощью ускоряющего алгоритма на основе преобразования Ричардсона, не обладает основным свойством нелокальных кубических сплайнов — непрерывностью второй производной. Причиной этого, легко видеть, является разрывность первой

производной функции р(х) в узлах сетки А. В работе [10] предложена

(3)

модификация р(х), при которой F(x) принадлежит классу С '[а, b], и исследованы некоторые другие свойства функции F(x).

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

(4)

гладких, чем функции класса f(x) е С (М4). Это обстоятельство

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

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

W ^ W ^ W W

прямой и блочный либо прямой и ускоряющий алгоритмы.

ПРИМЕР РЕАЛИЗАЦИИ. На основе предложенного подхода разработаны параметрически самосогласующиеся программы для ряда МВС, реализующие рассмотренные блочный и/или ускоряющий алгоритмы одномерной интерполяции на основе нелокальных кубических сплайнов: 1) программа для двухпроцессорной вычислительной системы NORD 10/50 (блочный и ускоряющий алгоритмы) [16]; 2) программа для вычислительной системы ПЭВМ ЕС 1840 — параллельный сопроцессор ПСП (блочный алгоритм) [17]; 3) программа для вычислительной системы ПС-3000 с одним скалярным и одним векторным процессорами (блочный алгоритм) [13].

по К, к, (к — количество узлов в каждом из К блоков) и погрешность [ (Я) приближения /(х) функцией F(х), убывающую по тем же параметрам. Алгоритм состоит в выборе (путем перебора) из допустимых К, к, при которых Я(^) < е, значений, доставляющих локальный минимум критерию эффективности согласования. Здесь е — максимально допустимая погрешность интерполяции.

Рассматривается два отображения алгоритма на архитектуру МВС: отображение Х^ при котором все вычисления выполняются на

скалярном процессоре; отображение Х^, при котором вычисление

значений интерполируемой функции и построение интерполирующих сплайнов и полиномов Эрмита в блоках выполняются на векторном процессоре, а построение интерполирующей функции F(х) (ее "сборка") — на скалярном процессоре. В последнем случае вычисления в соседних блоках выполняются на соседних процессорах векторного процессора.

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

+ (7к + (14 £ + + АруКкауд^;

где р— вычислительная сложность функции /(х); а^ а2 —

экспериментально определенные константы; д^, —

производительности скалярного и векторного процессоров, соответственно; [V] — ближайшее целое, большее V.

Погрешность приближения /(х) функцией F(х) оценивается суммой взвешенных величин [(в), И(Е) — погрешностей приближения /(х) на

Здесь К(к — 1) и К — 1 — количество шагов сетки, на которых }(х) приближается нелокальными кубическими сплайнами и полиномами Эрмита, соответственно, Кк — 1 — общее число шагов.

С помощью рассматриваемой программы мы выполнили исследование эффективности параметрического согласования В качестве интерполируемой функции ^х) использовалась функция с порядком

гладкости т = 3, имеющая производную /3)(х), ограниченную величиной = 240 Максимально допустимая погрешность

3

-4

интерполяции е принималась равной 24 ' 10 . Использовались следующие ограничения на параметры К:

к > 3, 1 < К < 50, Кк= 250,

т е число блоков могло изменяться от 1 до 50, а суммарное количество узлов в сетке ограничивалось 250 Так как при каждом данном количестве блоков оптимальным, очевидно, является алгоритм, имеющий минимальное число узлов в них, то эксперименты проводились при тех К, к, при которых R(F) = е.

Результаты исследования показывают, что для всех рассмотренных вычислительных сложностей интерполируемой функции р^

оптимальным является отображение Х^ (с использованием векторного

процессора) Время решения задачи уменьшается при этом до 7 раз по сравнению с отображением Х1 (без его использования).

Для отображения Х1 независимо от р оптимальным является число

блоков К = 1 и число узлов к = 169 Объясняется это тем, что при данных значениях К, к: минимально суммарное количество узлов в сетке

Для отображения Х2 оптимальные значения параметров К, к зависят

от вычислительной сложности интерполируемой функции. С уменьшением р оптимальное число блоков К возрастает до ~15, а

стороны, с ростом К увеличивается уровень параллелизма алгоритма и эффективность использования векторного процессора.

Выигрыш в значении критерия эффективности согласования может достигать 5 раз

Список литературы

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

2 Молчанов И.Н. Введение в алгоритмы параллельных вычислений Киев Наукова думка, 1990 128 с

3 Gruber R., Cooper W.A., Beniston M., Gengler M. Software development strategies for parallel computer architectures // Physics Report (Review Section of Physics Letters) 1991. V.207 N 3—5 Р 167-214

4 Карпенко А.П. Параметрическое согласование вычислительных алгоритмов с архитектурой многопроцессорных систем / 1. Общий случай М , 1993 25 с. (Препринт/ИВТАН; N 2—367).

5 Давыдов Ю.М. Дифференциальные приближения и представления разностных схем М МФТИ, 1981 131 с.

6. Давыдова И.М., Давыдов Ю.М. Об особенностях решения вычислительных задач на современных и перспективных высоко производительных вычислительных системах // Вычислительные процессы и системы (Москва). 1985. N 2. С. 162—172.

7. Миренков Н.Н. Параллельное программирование для много модульных вычислительных систем. М.: Радио и связь, 1989. 320 с.

8. Bogaev Yu.P., Karpenko A.P. Hierarchy of parallelism in some problems of numerical analysis. Chernogolovka, 1988. 19p.(Preprint/Institute of Solid State Physics).

9. Боглаев Ю.П., Карпенко А.П. Иерархия параллельных вычислений кубатур. Черноголовка, 1986. 22 с. (Препринт/ИФТТ АН СССР).

10. Боглаев Ю.П., Карпенко А.П. Некоторые алгоритмы интерполяции

11. Карпенко А.П. Методы интегрирования линейных обыкно венных дифференциальных уравнений второго порядка, ориенти рованный на многопроцессорные вычислительные системы. М , 1990. 33 с. (Препринт/ ИВТАН; N 8-306).

12. Schwan K., Jones A.K. Flexible software development for multiple computer system // IEEE Trans. on Software Eng. - 1986. VSE12, N 3. P. 385-401.

13. Карпенко А.П., Шумаева С.М. Одномерная сплайн-интер поляция, самосогласующаяся с архитектурой вычислительной системы ПС-3000 // Информ. бюлл. "Алгоритмы и программы" / ВНТИЦентр. М., 1990. N 2. С. 7. (Рег. номер ГосФАП 50890000528).

14. Марчук Г.И., Шайдуров В.В. Повышение точности реше ний разностных схем. М.: Наука, 1979. 240 с.

15. Алберг Дж., Нильсон Э., Уолш Дж. Теория сплайнов и ее приложения. М.: Мир, 1973. 230 с.

16. Карпенко А.П., Шумаева С.М. Программа одномерной сплайн-интерполяции, самосогласующаяся с архитектурой двух процессорной вычислительной системы МОКВ 10/50// Информ. бюлл. "Алгоритмы и программы" / ВНТИЦентр. 1990. N 1. С. 6 (Рег. номер ГосФАП 50890000404).

17. Одномерная сплайн-интерполяция, самосогласующаяся с архитектурой вычислительной системы ПЭВМ ЕС 1840 / парал лельный сопроцессор ПСП / А.П. Карпенко, В.М. Кузьмицкий, А.С. Липницкий и др. // Информ. бюлл. "Алгоритмы и програм мы" / ВНТИЦентр. 1989. N11. С. 4. (Рег. номер ГосФАП 50880000075).

18. Боглаев Ю.П., Карпенко А.П., Шумаева С.М. Параметри ческое согласование некоторых алгоритмов сплайн-интерполяции с архитектурой многопроцессорных вычислительных систем // Автоматика и телемеханика. 1990. N 5. С. 166—176.

Публикации с ключевыми словами: вычислительные алгоритмы -

Основы построения распределенных систем управления коллективами роботов Вычислительные методы для инженеров

Написать комментарий >>

УЧАСТНИКДЬ

Г-W^rVXH.

Журнал | Портал | Раздел Copyright © 2003 «Инженерное образование» E-mail: [email protected] | тел.: +7 (495) 263-68-63

Вход для редакторов

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