Высокопроизводительные парал. вычисления на кластерных системах. Воеводин (2005) (1186026), страница 24
Текст из файла (страница 24)
П. Федоренко [8].Для декомпозиции расчетной области использовались вложенные сетки. Эта декомпозиция области вычислений была взята за основу дляраспараллеливания. Для балансировки загрузки процессоров использовалась статическая схема. Все процессоры считались одинаковыми поскорости работы, числа операций на каждом узле сетки равными, аподобласти выбирались так, чтобы включать примерно одинаковоеколичество узлов. Каждая подобласть приписывалась к одному процессору.
Численное моделирование проводилось на компьютере CRAYT3E.Аналогичный подход был рассмотрен в [2], где для решения результирующей системы уравнений использовался метод предикторкорректор второго порядка по времени и четвертого порядка по пространству. Расчетная сетка разбивалась на подобласти, которые распределялись между процессорами.
Для переносимости алгоритма использовался механизм передачи сообщений MPI. Это позволило использовать полученный код на различных параллельных платформ иоценить на них его базовую производительность. Применение явнойсхемы допускает простую, но достаточно эффективную балансировкузагрузки процессоров. В конце работы как предиктора, так и корректора на каждом шаге процессоры обменивались граничными значениямис соседями. При расчетах требовалась только одна общая коммуникационная операция в начале каждого шага для вычисления его величи118ны. Работа [2] — одна из немногих, где в качестве параллельной платформы использовался кластер из персональных компьютеров.В [9] для решения гидродинамической части задачи реагирующихпотоков был использован метод характеристик.
Разработка численныхметодов решения уравнений в частных производных с использованиемсеточно-характеристическихметодовбылавыполненаМ.К. М. Магомедовым и А. С. Холодовым [10]. Оригинальный путь параллельной реализации этого класса методов был разработанМ. О. Васильевым [11, 12].Операторное расщепление. Методы операторного расщепленияиспользуются в [3]. Для решения уравнений, описывающих поля давлений и скоростей, предложен SIMPLE-подобный алгоритм. Для возникающих систем алгебраических уравнений использован многосеточный подход, для уравнений сохранения массы фракций примененапроцедура расщепления на два шага: конвекция-диффузия и системахимических реакций. Уравнения конвекции-диффузии решаются раздельно, а на химическом шаге — совместно для всех фракций и объемов с помощью модифицированного метода Ньютона для ЖС ОДУ.
Заоснову для распараллеливания берется декомпозиция расчетной области. В качестве параллельной вычислительной системы с распределенной памятью использовался кластер Beowulf.Другой подход к расщеплению по операторам – это использованиелокально-одномерных операторов. Основные идеи таких методов былиразработаны Н.Н. Яненко [13], Писменом и Рэкфордом [14]. В [15] метод локально-одномерной аппроксимации операторов был объединен сбыстрым преобразованием Фурье для решения уравнений Навье–Стокса, что позволило добиться хороших показателей эффективностираспараллеливания как на машинах массового параллелизма с распределенной памятью, так и на кластерах из рабочих станций.Решение жестких систем ОДУ (ЖС ОДУ).
Большинство численных методов для решения задачи Коши требуют многократного вычисления вектора правой части системы уравнений. Большая размерностьделает это вычисление трудоемким. Часто задачи Коши для системОДУ являются жесткими, для устойчивости численного решения требуются только неявные или диагонально-неявные методы. При их реализации приходится многократно вычислять матрицу Якоби и обращать ее. При использовании численных методов для решения задачиКоши необходимо управление шагом по времени.
Предпочтительнымиоказываются методы, которые могут оценивать ошибки и использовать119оценки для управления величиной шага.За последние годы было разработано семейство одноитерационныхметодов Розенброка для ЖС ОДУ и систем дифференциально–алгебраических уравнений [16–18]. Главной их особенностью являетсятолько одно вычисление и обращение матрицы Якоби на каждом шаге.В [17] приведен алгоритм построения жестко-точного A-устойчивогометода Розенброка порядка 4.
Коэффициенты метода подобраны изусловия минимизации вычислительной ошибки. Метод является вложенным, оценка погрешности вычислений выполняется без дополнительных затрат. Результаты сравнительных тестов [17] показывают, чтопостроенный метод превосходит классические. В [19] метод типа Розенброка был применен для решения задач атмосферной химии.Неявный метод решения чрезвычайно жестких систем ОДУ предложен в [20] для моделирования многофазных химических реакций воблаке с каплями, разделенными на классы по размерам.
Для интегрирования уравнений, описывающих химию фаз, фазовые переходы между газом и жидкостью и перенос масс между различными классамикапель, использованы формулы дифференцирования назад (ФДН) высокого порядка. Решение возникающих разреженных систем линейныхуравнений проводится модификацией кода LSODE, учитывающей особенности их структуры. В [20] применяется приближенная матричнаяфакторизация с явной генерацией матрицы Якоби. Проведенные расчеты показали, что вычислительная стоимость метода растет линейно поотношению к количеству классов капель, но он не является параллельным.
По тому же пути использования приближенной матричной факторизации для уменьшения вычислительной стоимости метода типаРозенброка идут и в [21].Другой подход к модификации ФДН методов для их параллельнойреализации на машинах массового параллелизма рассматривается в[22]. Этот подход развивается для жестких систем ОДУ с низкой степенью связности. Благодаря разреженности матриц вычисление правыхчастей, матриц Якоби, LU разложение матриц в методе Ньютона ипрямая/обратная подстановки при решении могут быть выполненыпараллельно.Использование метода минимальной невязки в приближенном неявном методе для вычисления временного шага [23] на фиксированномчисле итераций позволяет свести решение нелинейной задачи к решению набора линейных.
Каждая из них может быть решена явно, методобладает высоким потенциалом для распараллеливания. Существует120большое количество параллельных реализаций методов типа Рунге–Кутта: однократно неявный метод [24, 25], диагонально-неявный метод[26], Ньютоновский параллельный итерационный солвер линейныхсистем для методов Рунге–Кутта [27]. Эти методы являются многостадийными, и вычисления стадий могут проводиться параллельно. В [28]исследуется возможность динамической балансировки загрузки процессоров для таких методов.
Для параллельных реализаций методовтипа Розенброка [29] основная идея является той же, что и для параллельных методов Рунге–Кутта. Каждая стадия обрабатывается на своемпроцессоре параллельно с остальными.Заключение. Проведенный анализ работ в области задач физикохимической гидродинамики показал, что практически все проводимыеисследования в настоящее время связаны с использованием численногомоделирования на параллельных системах. При этом выделяются дваосновных подхода: геометрическое распараллеливание и использование многостадийных методов для решения жестких систем ОДУ.Геометрическое распараллеливание применяется на этапе решениягидродинамических частей задач и легко реализуется.
После решениязадач в пределах своих подобластей на текущем шаге процессоры производят обмен новыми граничными значениями. Малые обмены данными делают при этом эффективным использование вычислительныхкомплексов с большим количеством процессоров и распределеннойпамятью.Все многостадийные методы обладают достаточным потенциаломдля распараллеливания. Для s-стадийного метода вычисления для значений стадий могут быть осуществлены параллельно на s процессорах.Из-за больших обменов информацией между процессорами эти методыявляются особенно эффективными при использовании на машинах сразделяемой памятью с небольшим числом процессоров – по числустадий.С точки зрения авторов представляется целесообразным соединитьгеометрический параллелизм, достигаемый при конечно-разностнойаппроксимации, с многостадийным параллелизмом, используемым вметодах типа Розенброка, на смешанных параллельных системах –кластерах, состоящих из SMP-узлов.
Геометрический параллелизм реализуется на уровне отдельных узлов кластера, в то время как параллельное решение ЖС ОДУ внутри каждой подобласти – по стадиям напроцессорах узла.121Работа выполнена при поддержке РФФИ-TNO, грант № 04-0708029 2004Литература1. Robbert Verweij L. et al. Parallel Computing for Reacting Flows UsingAdaptive Grid Refinement // Contemporary Mathematics, V. 218, 1998. Р. 538–546.2. Stone C., Menon S.. Parallel Simulations of Swirling Turbulent Flames //The Journal of Supercomputing. V.
22. 2002. P. 7–28.3. Cònsul R., Pérez-Segarra C.D. et al. Detailed numerical simulation oflaminar flames by a parallel multiblock algorithm using loosely coupled computers // Combustion theory and modelling. V 7. 2003. P. 525–544.4. Salinger A.G., Shadid J.N. et al. Parallel Reacting Flow Calculations forChemical Vapor Deposition Reactor Design // Proc. of the Int. Conf.
on Comput. Eng. Sci., San Jose, Costa Rica, May 4–9, 1997.5. Salinger A.G., Pawlowski R.P. et al. Computational Analysis and Optimization of a Chemical Vapor Deposition Reactor with Large-Scale Computing,February 9, 2004, http://endo.sandia.gov/DAKOTA/papers/ CVD_2004.pdf.6.