Вычислительные технологии
Том 13, Специальный выпуск 5, 2008
Параллельная реализация метода естественных соседей для решения задач гидродинамики со свободными границами
С.Н. Карабцев, Т.е. Рейн Кемеровский государственный университет, Россия e-mail: [email protected], [email protected]
In this article the issues on related to a simulation of viscous and inviscid incompressible fluid flows are discussed. Numerical calculations are performed with parallel implementation of natural element method on a cluster with distributed memory.
Введение
Существует широкий круг задач механики жидкости, требующих для своего решения вычислительных ресурсов, значительно больших, чем может предоставить персональный компьютер. Многим из этих задач необходимо не только высокое быстродействие, но также обработка и хранение большого объема информации, что предъявляет повышенные требования к оперативной памяти. Использование для решения таких задач высокопроизводительных систем и систем с параллельной архитектурой значительно расширяет возможности исследователей, занимающихся компьютерным моделированием сложных физических процессов. Решение задачи в параллельном режиме требует правильного выбора модели распараллеливания программного кода, тесно связанной с аппаратными и системными средствами параллельной обработки данных.
В настоящей работе рассматривается ряд вопросов по моделированию задач вязкой и идеальной жидкости методами естественных соседей (Natural element method) [1] на многопроцессорных вычислительных системах с распределенной памятью. Обсуждаются методы блочной декомпозиции матрицы системы, способы распределения данных по процессорам, а также особенности параллельной реализации численных методов, применяемых для решения подзадач. На примере задачи о колебаниях жидкости в бассейне исследуется производительность программного кода в зависимости от размера задачи и числа процессоров.
1. Метод естественных соседей и его распараллеливание
Метод естественных соседей (Natural element method, NEM) предложен Л. Травереони в 1994 г. для решения задач теории упругости. Данный метод представляет собой разновидность бессеточного метода Галёркина, При формировании дискретной системы
© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2008.
уравнений используется метод взвешенных невязок. Для интерполяции значений неизвестных используются функции формы ('погона и Лапласа, основанные на диаграммах Вороного первого и второго порядков, В работе [2] метод естественных соседей адаптирован для решения задач идеальной (NEM) и вязкой (General NEM) несжимаемой жидкостей с большими деформациями расчетной области.
Течения вязкой и идельной несжимаемой жидкости описываются системами уравнений Навье — Стокса (1) и Эйлера (2) соответственно, а также уравнением неразрывности (3):
Du
р— = -Vp + nV2u + pF■ (1)
Du
p^ = ~Vp + pF- (2)
Vu = 0. (3)
В случае идеальной жидкости на твердых границах задается условие непротекания un = 0, на свободных — p = patm; для вязкой жидкости условие непротекания заменяется условием прилипания u = 0, а на свободных границах задаются плотности поверхностных сил pn = Tij nj — pni = ani. Здесь щ, nj — компоненты вектора внешней нормали к твердой границе; Tij — тензор вязких напряжений; f = (f\, f2) — вектор внешних сил; р — плотность жидкости.
На рисунке приведена блок-схема метода GNEM, Для решения системы уравнений (1), (3) и (2), (3) используется метод дробных шагов. После ввода начальных данных строится диаграмма Вороного и определяются границы расчетной области (шаг 2), Затем вычисляется предиктор скорости u* = (u*,v*) (шаг 3), из решения уравнения Пуассона вычисляется давление, которое используется для определения гидродинами-
uv
временном слое (шаг 5), Шаг 6 — стабилизация функции давления методом конечных приращений — выполняется в методе GNEM для моделирования вязких течений. При переходе к дискретной форме уравнений (шаги 3-6) формируются системы линейных алгебраических уравнений (СЛАУ), которые решаются методом сопряженных градиентов.
Для исследования производительности приведенного алгоритма методов NEM и GNEM рассматривалась задача о колебаниях жидкости в прямоугольном бассейне, В табл. 1 приведены временные затраты на выполнение основных операций. На одном шаге по времени формируется несколько однотипных блоков, которые включают численное интегрирование, сбор матрицы, внедрение граничных условий, решение полученной СЛАУ, В рамках модели вязкой жидкости число таких блоков равно семи, в случае идеальной — трем, В табл. 1 приводится суммарное время реализации блоков
Блок-схема расчета одного шага по времени методом естественных соседей
Таблица 1. Временные затраты на реализацию блоков последовательной программы, с.
Число узлов, N Дискретизация области Сбор матрицы (вязк./идеал.) Внедрение граничных условий (вязк./идеал.) Решение СЛАУ (вязк./идеал.)
1200 0.05 1.21 / 0.51 0.15 / 0.06 1.08 / 0.40
2930 0.17 4.74 / 1.86 0.56 / 0.23 5.77 / 2.43
4120 0.31 7.39 / 3.12 2.24 / 0.99 10.25 / 4.29
6208 0.76 20.01 / 8.82 4.55 / 2.01 46.24 / 19.96
одного временного шага. Из данных табл. 1 видно, что при увеличении числа расчетных узлов в области процентное соотношение времени сбора матрицы к общему времени одного временного шага уменьшается с 48 до 28 %, а соотношение времени решения СЛАУ увеличивается с 43 до 65 %. Внедрение граничных условий занимает 5-12 %, а дискретизация области (построение диаграммы Вороного и определение границ) — 1-2 %.
Параллельная программа представляет собой систему процессов, взаимодействующих посредством передачи сообщений (Message Passing Interface, MPI) [3], В рамках данной модели для создания эффективного приложения необходимо снижать долю последовательных вычислений и минимизировать пересылки данных между процессорами, Подход к распараллеливанию NEM и GNEM основан на декомпозиции матрицы СЛАУ на блоки, число которых равняется числу процессоров, расчете каждым процессором своего блока, обмене данными между процессорами на каждом шаге по времени, В результате достигается равномерная загрузка данными и вычислительными операциями каждого процессора. Дополнительным преимуществом подобной декомпозиции является значительная экономия оперативной памяти: при построении СЛАУ выделяется матрица размером N х N/np, где np — число узлов кластера. Вычисление нового положения узлов осуществляется каждым процессором в пределах своей подобласти. Затем производится обмен векторов координат расчетных узлов для синхронизации данных.
Одним из трудоемких шагов в NEM и GNEM является вычисление функций формы Сибсона и Лапласа и построение СЛАУ, Матрицы и векторы правой части формируются в результате численного интегрирования уравнений (1), (3) для задач вязкой и (1), (2) для задач идеальной жидкостей. После декомпозиции области операции по вычислению интегралов осуществляются только над теми узлами, которые хранятся на данном процессоре. Каждая результирующая строка матрицы строится независимо от других, при этом полностью отсутствуют коммуникационные операции. Таким образом, степень параллелизма данного участка алгоритма является максимальной,
2. Решение СЛАУ
Важное значение имеют распределение данных по процессорам, синхронизация вычислений и маршрутизация данных, неудачная организация которых приводит к неверному счету или большим задержкам, связанным с ожиданием и пересылкой данных и бездействием процессоров. Дополнительно организация данных на каждом процессоре должна соответствовать схеме алгоритма численного метода, применяемого для решения СЛАУ,
Полученная система линейных алгебраических уравнений решается методом сопряженных градиентов (МСГ) [4], Распараллеливание МСГ осуществляется следующим
образом. Используется одномерная декомпозиция по столбцам, т, е, каждому процессору выделяется определенное число столбцов, для которых он будет производить вычисления, Алгоритм метода состоит из операций умножения матрицы на вектор и вычисления скалярных произведений, которые достаточно легко распараллеливаются. Структура массивов на каждом процессоре без труда позволяет организовать вычисления так, что обмен требуется лишь для пересылки вектора неизвестных на каждой итерации,
3. Тестирование
Для количественной оценки эффективности распараллеливания используются следующие характеристики,
1, Ускорение Бр = Т\/Тр, где Т — время выполнения программы на одном процессоре, Тр — время выполнения программы в системе из р процессоров,
2, Эффективность Ер = Бр/р .
Для определения эффективности и ускорения реализованного параллельного алгоритма метода естественных соседей проведена серия расчетов на учебном кластере кафедры ЮНЕСКО по НИТ Кемеровского государственного университета и СКИФ
Таблица 2. Характеристики используемого кластера
Характеристика Кластер кафедры ЮНЕСКО по НИТ СКИФ Cvberia, ТГУ
Процессорная архитектура х86 х86 с поддержкой 64
Кол-во узлов / проц. 8/8 286 / 566 (1132 ядра)
Процессор Pentium III, 1 ГГц Intel Хеоп 5150, 2.66 ГГц
Суммарный объем ОЗУ 2 Гб 1136 Гб
Суммарный объем ПЗУ 160 Гб 22 Тб
Коммуникационная сеть Fast Ethernet InfiniBand
Операционная система Red Hat Linux 9.0 SUSE Enterprise Server 10.0
Компилятор Fortran Intel 9.0 + MPI 2 Fortran Intel 9.1 + MPI 2
Таблица 3. Ускорение и эффективность на кластере КемГУ
Ускорение Эффективность
np 2 4 8 2 4 8
N ВЯЗК ид ВЯЗК ид ВЯЗК ид ВЯЗК ид ВЯЗК ид ВЯЗК ид
1200 0.53 0.75 0.44 0.63 0.38 0.54 0.26 0.37 0.11 0.15 0.04 0.06
4120 0.86 1.09 0.86 1.09 0.85 1.07 0.43 0.54 0.21 0.27 0.1 0.13
6208 1.65 1.96 1.72 2.05 1.7 2.07 0.82 0.98 0.43 0.51 0.21 0.25
Таблица 4. Ускорение на кластере СКИФ Cvberia
пр 2 4 8 16 32 128
N ВЯЗК ид ВЯЗК ид ВЯЗК ид ВЯЗК ид ВЯЗК ид ВЯЗК ид
1200 1.15 1.14 1.18 1.17 1.17 1.16 1.16 1.15 1.14 1.13 0.98 0.97
4120 1.36 1.34 1.43 1.4 1.61 1.57 1.69 1.63 1.65 1.61 1.66 1.61
6208 1.37 1.35 1.48 1.45 1.7 1.65 1.87 1.83 1.76 1.7 1.82 1.7
10 160 1.44 1.42 1.55 1.51 1.99 1.92 2.21 2.12 2.31 2.21 2.29 2.2
Таблица 5. Эффективность на кластере СКИФ Cvberia
пр 2 4 8 16 32 128
N вязк ид вязк ид вязк ид вязк ид вязк ид вязк ид
1200 0.57 0.57 0.29 0.29 0.14 0.14 0.07 0.07 0.03 0.03 0.007 0.007
4120 0.68 0.67 0.35 0.35 0.02 0.19 0.1 0.1 0.05 0.05 0.013 0.012
6208 0.68 0.67 0.37 0.36 0.21 0.2 0.12 0.11 0.06 0.05 0.014 0.013
10 160 0.72 0.71 0.38 0.37 0.25 0.24 0.14 0.13 0.07 0.07 0.017 0.017
Cvberia Томского государственного университета, В табл. 2 приведены основные характеристики указанных кластеров,
В табл. 3 приведены значения ускорения и эффективности параллельного алгоритма, полученные на кластере КемГУ, В табл. 4 и 5 приведены значения ускорения и эффективности параллельного алгоритма для различного числа процессоров на кластере СКИФ Cvberia при решении одного шага по времени в задачах о колебании вязкой и идеальной несжимаемой жидкостей в бассейне.
Заключение
Проведено тестирование программного кода и его составных частей на многопроцессорных вычислительных системах. Вследствие разделения ресурсов переход от однопроцессорной конфигурации к многопроцессорной системе из np процессоров не приводит к сокращению времени счета в np раз, С ростом числа процессоров эффективность уменьшается, В результате тестирования параллельного алгоритма установлено, что наилучшее значение ускорения достигается в тех случаях, когда на каждом узле кластера хранится не менее 2500-3000 расчетных узлов. Данная зависимость объясняется особенностью МСГ, который занимает до 65 % процессорного времени: при малом числе расчетных узлов на каждом процессоре пересылка данных занимает гораздо большее время, чем непосредственные вычисления с ними. Распараллеливание алгоритма методов NEM и GNEM позволяет проводить расчеты для большого числа узлов за счет разделяемой памяти.
Список литературы
fll Sukumar N., Moran В., Belytschko Т. The natural element method in solid mechanics // Intern. J. Num. Methods Eng. 1998. Vol. 43, N 5. P. 839-887.
[2] Афанасьев K.E., Каравцев С.H., Рейн T.C., Стуколов C.B. Метод естественных соседей на основе интерполяции Сибсона // Вест. Том. гос. ун-та. 2006. № 19. С. 210-219.
[3] Многопроцессорные вычислительные системы и параллельное программирование / К.Е. Афанасьев, C.B. Стуколов, A.B. Демидов, В.В. Малышенко. Кемерово: Кузбассвуз-издат, 2003.
[4] Saad Y. A basic tool kit for sparse matrix computation // Tech. Rep. CSRD TR 1029, CSRD, Univ. of Illinois, Urbana, IL., 1990.
Поступила в редакцию 28 марта 2008 г.