УДК 681.3 И.А. Назарова Донецкий национальный nazarova@r5.dgtu.donetsk.ua технический университет, Донецк, Украина. Экспоненциальные методы решения линейной задачи Коши с альтернативными способами оценки локальной погрешности для массивнопараллельных компьютерных систем Предложены специальные параллельные алгоритмы численного решения линейной задачи Коши на основе экспоненциального метода. Исследована эффективность применения альтернативных способов оценки локальной апостериорной погрешности. Разработаны вычислительные схемы отображения методов на параллельные структуры различной архитектуры и топологии процессорных элементов. Теоретические исследования и проведенные вычислительные эксперименты показывают, что наиболее используемым способом получения параллельных алгоритмов есть распараллеливание известных последовательных методов и математических описаний. Для разработки параллельных алгоритмов задач практического уровня сложности используется многоэтапный технологический процесс, названный иерархической декомпозиционной методикой [1-3]. Первоначально вычислительная задача разбивается на подзадачи, анализируются информационные взаимосвязи между подзадачами, биективно к множеству подзадач определяется множество макроопераций, оценивается эффективность потенциального крупно или среднеблочного параллелизма. Затем, методика применяется для распараллеливания каждой из макроопераций, то есть используется мелкозернистый параллелизм. Для разработки параллельного алгоритма и проверки корректности его построения на каждом из уровней используется математический аппарат графов влияния [1]. На основе применения декомпозиционной методики разработаны параллельные алгоритмы решения задачи Коши для систем линейных обыкновенных дифференциальных уравнений (СЛОДУ) со встроенными способами оценки локальной апостериорной погрешности: дублирование шага по правилу Рунге, вложенные методы, локальная экстраполяция Ричардсона. В частности, предложены специальные, экспоненциальные, методы решения однородных и неоднородных СЛОДУ с постоянными коэффициентами. Как показали исследования, учет специфики задачи позволяет строить более эффективные параллельные вычислительные алгоритмы, чем в случае применения стандартных численных схем. «Штучний інтелект» 3’2007 Назарова И.А. 4Ш М Экспоненциальный метод относится к частным методам численного интегрирования линейной задачи Коши для однородных СОДУ с постоянными коэффициентами, основан на точном представлении решения в аналитической форме и приближенном вычислении матричной экспоненты [4]. Общий вид задачи Коши для однородных СЛОДУ с постоянными коэффициентами: y ( x ) A y( x ), (1) y(x0 ) y0 , A const , где y (y1 , y 2 ,..., y m )T – вектор неизвестных; y0 ( y10 , y20 ,..., ym0 )T – вектор начальных условий; A aij , i , j 1, m – матрица коэффициентов линейной системы, элементы матрицы являются константами. Точным решением задачи Коши для СЛОДУ вида (1) является матричная экспонента: y( x0 h ) e hA y0 , ( hA )i . (2) hA e F ( hA ) . i 0 i! Приближенное решение можно построить, экспоненту отрезком её ряда Тейлора при малом h : y n1 Fr ( hA ) y0 , i F ( hA ) r ( hA ) , r i 0 i! аппроксимировав матричную (3) а затем, используя некоторый алгоритм умножения матриц, вычислить численное решение (1). Полученная вычислительная схема (3) интегрирования однородных СЛОДУ с постоянными коэффициентами соответствует разностному методу решения порядка O( h r ) [5]. На основе экспоненциального метода построены три различных параллельных алгоритма с учетом альтернативных способов оценки локальной погрешности : 1) экспоненциальный и правило Рунге; 2) вложенный - экспоненциальный; 3) экспоненциальный с локальной экстраполяцией. F ( hA ) Матричная экспонента обладает следующим свойством: F ( hA ) F h2 A F h2 A , что позволяет достаточно легко встраивать алгоритмы определения локальной погрешности на основе дублирования шага и локальной экстраполяции в вычислительные схемы явных численных методов для линейных СОДУ. Применение экспоненциального метода для вложенных форм делает практически ненужными вычисления по формуле высшего порядка. Предлагаемые 426 «Искусственный интеллект» ’2007 Экспоненциальные методы решения линейной задачи Коши с альтернативными способами оценки локальной погрешности для массивно-параллельных компьютерных систем алгоритмы особенно эффективны при решении задач с большой константой Липшица и требуют меньшего объема вычислений, чем стандартные методы решения линейной задачи Коши [4]. Интегрирование однородных СЛОДУ с постоянными коэффициентами на основе экспоненциального метода и встроенного способа вычисления локальной погрешности на основе дублирования шага по правилу Рунге требует вычисления решения с удвоенным и дважды с половинным шагом. Используя аппроксимацию матричной формы F , а также ее свойства для половинного шага, получим следующую преобразованную вычислительную схему численного решения при переходе из точки xn в точку xn 1 : (1) r ( 2 hA )i (1) yn , y n1 F y n Fr ( 2 hA ) y n i 0 i! 2 i y ( 2 ) F ( 2 ) y F 2 ( hA ) y r ( hA ) y , n r n n 1 i n 0 i! h 2 A2 h r A r ... где матричная форма (функция): Fr ( hA ) E hA 2! r! (5) (6) Основными преимуществами предложенного метода являются: 1) фактическое отсутствие вычислений для промежуточной точки с половинным шагом; 2) возможность введения подготовительного этапа, который будет выполняться до начала интегрирования, и вынесение в него наиболее ресурсоемких операций нахождения матричных форм, а именно матричного умножения, не зависящего от шага интегрирования. Применение идеи вложенных форм в сочетании с экспоненциальным методом решения предполагает вычисление двух аппроксимаций решения смежных порядков точности в одной точке интегрирования: y n 1 порядка O( h r ) и y n 1 порядка O( h r1 ) с использованием матричной экспоненты: y ( x h; y ) F ( hA ) y , n r 1 n n1 n y n1 ( x n h; y n ) Fr ( hA ) y n , d n y n1 y n1 . (7) Как правило, формула более высокого, ( r 1 ) го, порядка используется только для оценки локальной погрешности, а в качестве аппроксимации решения на шаге интегрирования берется формула r го порядка. Поэтому вычислительная схема вложенного экспоненциального метода после элементарных преобразований принимает вид: h 2 A2 h r Ar y E hA ... n1 2! r! r 1 d h A r 1 y n . n ( r 1 )! «Штучний інтелект» ’2007 yn ; (8) Назарова И.А. 4Ш М Вычислительная схема (8) позволяет уменьшить время каждого шага интегрирования за счет создания подготовительного этапа, который будет выполняться до начала основного счета и содержать операции, не связанные непосредственно с номером шага. Ускорение вычислений по технологии локальной экстраполяции при решении линейной однородной задачи Коши с постоянными коэффициентами также может быть получено на основе экспоненциального метода. Минимизировать вычислительные затраты можно реализацией h 2 - экстраполяции для симметричных опорных методов малого порядка точности [5]. Использование в качестве формы F частичной суммы из первых r0 членов разложения матричной экспоненты в ряд Тейлора соответствует применению определенного метода Рунге-Кутты r0 го порядка точности: h r0 A r0 (9) y n1 E hA ... y Fr0 ( hA ) y n . n r ! 0 Так, например, классический явный метод Рунге-Кутты четвертого порядка точности соответствует использованию матричной формы F4 ( hA ) . Если h базовый шаг интегрирования, то T11 Fr0 ( hA ) yn есть аппроксимация решения y( xn h ) порядка O( h r0 ) . При получении решения на шаге n 1 заданного порядка точности r , необходимо провести вычисления для шагов h / n2 ,..., h / nk и получить ответствующие аппроксимации решения T21 ,...,Tk 1 : hA n hA (10) T21 Frn2 yn ,..., Tk 1 Fr k yn . 0 0 n2 nk Затем, используя соотношение для полиномиальной экстраполяции ЭйткенаНевилла, вычислить приближения: Tkk порядка O( h r ) и Tk 1,k порядка O( h r1 ) Для того, чтобы получить заданный порядок аппроксимации решения с минимальными затратами, опорный метод должен быть симметричным, а в качестве Pi может быть выбрана любая четная последовательность чисел. Тогда, необходимое количество строк экстраполяционной таблицы равно: k r / 2 . Для построения параллельных экспоненциальных алгоритмов решения линейной задачи Коши для однородных СОДУ с постоянными коэффициентами + способ оценки шаговой погрешности используется декомпозиционная иерархическая технология и аппарат графов влияния. Поскольку в линейной задаче Коши вид правой части СОДУ известен, то алгоритм решения может быть разбит на известные подзадачи линейной алгебры. Совокупность подзадач реализуется через следующее множество макроопераций: 1) выполнение однократного матричного умножения; 2) вычисление матричной формы, как функции шага интегрирования; 3) вычисление аппроксимаций решения. Параллельная реализация двух основных наиболее ресурсоемких макроопераций требует распараллеливания операций умножения двух матриц и матрицы на вектор. Для рассматриваемых параллельных приложений топологическим решением, адекватно отображающим логическую связь между независимыми процессами, 428 «Искусственный интеллект» ’2007 Экспоненциальные методы решения линейной задачи Коши с альтернативными способами оценки локальной погрешности для массивно-параллельных компьютерных систем является квадратная сетка или ее замкнутый эквивалент – 2D-тор. На такой топологической схеме эффективно выполняются матричные операции, составляющие основу всех преобразованных форм. Вычисление матричного умножения и умножения матрицы на вектор будет выполнено с использованием блочного систолического алгоритма [7]. Временные характеристики этих базовых макроопераций приведены в таблицах 1 и 2, где t op - время выполнения одной арифметической операции с плавающей точкой, t s - латентность, t w - время передачи одного слова. Распределение исходных данных и результатов по процессорам: каждый процессор решетки с номером i , j содержит два блока матриц: Aij и Bij , и отвечает за вычисление блока матрицы результата: C ij . Таблица 1 Время параллельного выполнения матричных /векторных умножений для блочного систолического алгоритма Вид операции Время вычислений в t op Умножение матриц, A A 2m 3 p2 Умножение матрицы на вектор, AY 2m 2 p 2 m log 2 p p Таблица 2 Время коммуникационных операций параллельного выполнения матричных /векторных умножений на основе блочного систолического алгоритма при топологии 2D-тор Время коммуникационных операций ] Вид операции Умножение матриц, A A Умножение матрицы на вектор, A Y 0 шаг i й шаг m2 2( p 1 ) t s 2 t w p m2 2( p 1 ) t s 2 t w p 2 log 2 p p 2 t m t s p w m2 m 2( p 1 ) t s 2 t w p p Все исследуемые параллельные алгоритмы на основе экспоненциального метода содержат 0-ой подготовительный этап, который выполняется один раз до начала «Штучний інтелект» ’2007 Назарова И.А. 4Ш М интегрирования и вычисляет блоки матриц: A2 , A3 , ..., Ar с соответствующими числовыми коэффициентами. Причем процессор p ij будет содержать блоки i , j матриц A2 / 2! , ..., 2 Ar / r!. Для оценки эффективности разработанных экспоненциальных алгоритмов решения линейной задачи Коши проведем сравнение с общепринятыми схемами вычислений на базе s стадийного ЯМРК аналогичного порядка точности O( h r ) . При сравнении асимптотической сложности двух параллельных алгоритмов решения СЛОДУ с правилом Рунге ограничимся учетом наиболее ресурсоемкой операции, а, именно, умножения матрицы на вектор. Пусть временные характеристики указанных алгоритмов обозначены, соответственно, T p12 - для стандартной схемы и T p11 - для вычислительной схемы на базе матричной экспоненты. Тогда, справедливо следующее 3s 1 s , то есть стандартная схема решения обладает соотношение: T p12 / T p11 3 вычислительной сложностью в s раз большей, чем экспоненциальная. Аналогичный результат имеет место при учете полного времени выполнения рассматриваемых алгоритмов (рис. 1). Соотношение времен Tp11 и Tp12 от порядка метода r 4 Tp r 5 r 10 12 Tp 12 Tp 11 T p 12 Tp 11 Tp 11 Рисунок 1 – Графики зависимости соотношения времен реализации параллельных алгоритмов экспоненциальной и стандартной явной одношаговой схем с правилом Рунге от порядка метода Аналогичные результаты можно получить при оценке асимптотической сложности различных вычислительных схем на основе вложенных форм. Пусть время выполнения параллельного алгоритма на основе стандартной вложенной схемы равно T p22 , а на основе экспоненты, соответственно, T p21 . Тогда, имеем следующее sc , c 1,2..., то есть вложенная стандартная схема решения 2 обладает большей вычислительной сложностью, чем экспоненциальная. Сравнение реальных динамических характеристик двух вычислительных схем решения линейной задачи Коши с оценкой локальной погрешности на основе идеи вложенных форм позволяет сделать выводы о преимуществах предложенного экспоненциального подхода (рис. 2-3). Так, время реализации параллельного алгоритма для экспоненциальной схемы меньше, чем для стандартной и традиционно для соотношение: T p22 / T p21 430 «Искусственный интеллект» ’2007 Экспоненциальные методы решения линейной задачи Коши с альтернативными способами оценки локальной погрешности для массивно-параллельных компьютерных систем параллельных алгоритмов 21 m T p T p22 и p T 21 p T 22 p возрастает уменьшается с с ростом ростом размерности задачи: числа процессоров: . Tp 5 10 4 10 3 10 2 10 1 10 6 6 1 ВМРК 6 6 2 Влож експ 6 m 2000 4000 6000 8000 Рисунок 2 – Графики зависимости времени реализации параллельных вложенных методов на основе стандартной и экспоненциальной схем от размерности задачи Тp 6 10 5 10 4 10 3 10 2 10 1 10 7 7 7 1 ВМРК 7 7 2 Влож експ 7 p 200 400 600 800 Рисунок 3 – Графики зависимости времени реализации параллельных вложенных методов на основе стандартной и экспоненциальной схем от числа процессоров Для сравнения вычислительной сложности двух параллельных алгоритмов решения СЛОДУ на базе локальной экстраполяции также ограничимся учетом наиболее ресурсоемкой операции. Пусть время выполнения параллельного алгоритма на основе стандартной схемы равно T p32 , а на основе экспоненты, соответственно, T p31 . s0 N ( k ) s0 , то есть N( k ) стандартная схема решения обладает вычислительной сложностью в s0 раз большей, Тогда, справедливо следующее соотношение: T p32 / T p31 «Штучний інтелект» ’2007 Назарова И.А. 4Ш М чем экспоненциальная. Таким образом, как и при других способах оценки апостериорной шаговой погрешности, применение экспоненциального метода интегрирования для технологии локальной экстраполяции Ричардсона, сокращает вычислительные и коммуникационные затраты. До сих пор при построении параллельных алгоритмов в качестве топологического решения использовалась замкнутая 2D-решетка или 2D-тор. При переходе на физическую коммутационную сеть иной топологии необходимо иметь гибкий программный механизм логического отображения одной топологии на другую. Математическим аппаратом, способным решить поставленную задачу, являются двоичные рефлексивные коды Грея [7]. Соединение процессоров в коммуникационную сеть по типу гиперкуб одно из наиболее используемых топологических решений в реальных параллельных архитектурах. Рассматривается параллельная вычислительная система с p p процессорами и топологией гиперкуб размерности h . Базовая макрооперация для рассматриваемых схем, а, именно, матричное умножение, при параллельной реализации естественным образом отображается на топологию замкнутая квадратная решетка. Построение отображения рассмотренных методов, полностью использующего внутренний параллелизм матричных операций, на топологию гиперкуб есть не тривиальная задача. Поэтому возникает необходимость матричного представления сети гиперкуб. Гиперкуб рассматривается как решетка, столбцы и строки которой формируются подкубами или гиперкубами меньшей размерности. Такая матричная визуализация вместе с серией свойств, вытекающих из рекурсивного определения гиперкуба, составляет полезный инструмент конструирования параллельных алгоритмов для компьютеров описанной архитектуры. Гиперкуб H ( h ) размерности h содержит p 2 2 h узлов. Каждый узел идентифицируется бинарным адресом длиной h бит. Узел i смежен всем узлам, адреса которых отличаются от адреса i одним разрядом. Каждый узел гиперкуба смежен h log 2 p 2 другим узлам. Обозначим значение кода Грея, как: G( i ,h ) , где i порядковый номер значения в коде, h его длина. Тогда, G( 0 ,1 ) 0; G( 1,1 ) 1 список кодов длины 1. Алгоритм генерации двоичного кода Грея длины k 1 состоит в выполнении следующей примитивно рекурсивной процедуры: 1)помещаем 0 перед каждым кодом в k списке кодов Грея; 2)помещаем 1 перед каждым кодом в реверсированном k списке; 3)записываем последовательно первый и второй полученные списки, имеем код Грея длины k 1 . Логическое отображение двумерной замкнутой решетки на гиперкуб выполняется по правилу: процессорному элементу решетки с координатами ( i , j ) будет соответствовать процессор гиперкуба с номером G( i , p ) || G( j , p ) , где || - операция конкатенация кодов Грея. Заметим, что в результате выполнения такого отображения процессоры, являющиеся “непосредственными соседями” в топологии тор, будут иметь те же свойства в топологии гиперкуб. Таким образом, все параллельные алгоритмы, разработанные для замкнутой решетки, только использованием средств библиотеки MPI, могут быть перенесены без изменения алгоритма на коммуникационную сеть 432 «Искусственный интеллект» ’2007 Экспоненциальные методы решения линейной задачи Коши с альтернативными способами оценки локальной погрешности для массивно-параллельных компьютерных систем гиперкуб. Построение аналогичного логического отображения описанного множества алгоритмов на параллельные архитектуры с физической топологией кольцо влечет за собой увеличение времени выполнения коммуникационной составляющей алгоритмов и имеет заведомо худшие характеристики параллелизма, чем в случае топологий тор и гиперкуб. Существует другой способ решения возникшей задачи. Для топологии кольцо эффективно применять ленточное (по строкам или по столбцам) разбиение данных и простой алгоритм матричного умножения. Численное решение задачи Коши для неоднородной системы линейных уравнений с постоянными коэффициентами: y ( x ) A y( x ) b , y( x0 ) y0 , A,b const можно записать в виде: y n1 y n Rr ( hA ) ( Ay n b ), r R ( hA ) Ai 1 h i / i! , r i 1 где Rr ( hA ) – матричная функция, которая также может быть аппроксимирована отрезком ряда Тейлора. В случае линейных систем общего вида: y ( x ) A( x ) y( x ) b( x ), при заданной гладкости матрицы коэффициентов правой части уравнений возможно на каждом отрезке интегрирования аппроксимировать исходную задачу однородной или неоднородной системой с постоянными коэффициентами [5]. Заключение Численный эксперимент на базе тестов для СОДУ [8] и проведенный сравнительный анализ динамических характеристик параллельных алгоритмов показал, что вне зависимости от способа вычисления локальной погрешности, параллельные алгоритмы, основанные на применении экспоненциального метода решения, имеют меньшую вычислительную сложность и лучшие показатели качества параллелизма по сравнению со своими стандартными аналогами. Исследована эффективность альтернативных способов определения локальной апостериорной погрешности при решении линейной задачи Коши для СОДУ на основе явных схем и выявлены предпочтительные области применения различных алгоритмов вычисления шаговой погрешности. Наименее трудоемкий способ определения локальной апостериорной погрешности решения для управления шагом интегрирования – это методы вложенных форм. Преимущества локальной экстраполяции Ричардсона проявляются при получении высокоточного решения. Перспективным направлением дальнейших исследований является разработка и исследование особенностей применения способов оценки апостериорной локальной погрешности для управления шагом интегрирования при решении задачи Коши параллельными блочными k - точечными одношаговыми методами. «Штучний інтелект» ’2007 Назарова И.А. 4Ш М Литература 1. 2. 3. 4. 5. 6. 7. 8. Воеводин В.В., Воеводин Вл. В. Параллельные вычисления. – СПб.: БХВ - Петербург, 2002. – 608с. Foster I. Designing and Building Parallel Programs. – Addison-Wesley, 1999. – 302 с. Немнюгин С.А., Стесик О.Л. Параллельное программирование для многопроцессорных ВС. – СПб.: БХВ-Петербург, 2002. – 400 с. Арушанян О.Б., Залеткин С.Ф. Численное решение обыкновенных дифференциальных уравнений на Фортране.– М.: МГУ,1990.–336с. Иванов В.В. Методы вычислений на ЭВМ. – К.: Наукова думка, 1986. – 584с. Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Жесткие и дифференциально-алгебраические задачи: Пер. с англ. – М.: Мир, 1999. – 685с. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных машин. – Нижний Новгород: Изд-во ННГУ им. Н.И.Лобачевского, 2000. – 176с. Арушунян О.Б., Залеткин С.Ф., Калиткин Н.Н. Тесты для вычислительного практикума по обыкновенным дифференциальным уравнениям.// Вычислительные методы и программирование, 2002, т.3, С.11-19. І.А.Назарова Експоненційні методи вирішення лінійної задачі Коші з альтернативними засобами оцінки локальної похибки для масивно-паралельних комп’ютерних систем Запропоновані спеціальні паралельні алгоритми чисельного вирішення лінійної задачі Коші на базі експоненціального методу. Досліджена ефективність застосування альтернативних засобів оцінки локальної апостеріорної похибки. Розроблені обчислювальні схеми відображення методів на паралельні структури різної архітектури та топології з’єднання процесорних елементів. I.A.Nazarova Exponential methods for the decision of linear Cauchy’s problem with alternative facilities of local error estimation’s for massive-parallel computer systems There are proposed special parallel algorithms for numerical decision of linear Cauchy’s problem based on exponential methods. The efficiency of applications of alternative facilities of local a posteriori error estimation’s are investigated. The calculable schemes of methods reflection on parallel structures with different architectures and topologies are developed. Статья поступила в редакцию .07.2007. 434 «Искусственный интеллект» ’2007