Исследование масштабируемости задач вычислительной гидроаэродинамики на различных многоядерных и многопроцессорных архитектурах

УПРАВЛЕНИЕ, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ИНФОРМАТИКА

УДК 621.67:519.6

В. А. Васильев, А. Ю. Ницкий

ИССЛЕДОВАНИЕ МАСШТАБИРУЕМОСТИ ЗАДАЧ ВЫЧИСЛИТЕЛЬНОЙ ГИДРОАЭРОДИНАМИКИ НА РАЗЛИЧНЫХ МНОГОЯДЕРНЫХ И МНОГОПРОЦЕССОРНЫХ АРХИТЕКТУРАХ

Проведено численное исследование влияния архитектуры кластера на эффективность решения задач вычислительной гидроаэродинамики (ВГАД) на примере задач течения турбулентной жидкости в тонком слое уплотнительных узлов гидромашин с использованием пакета ANSYS CFX. Получена существенная зависимость производительности от архитектуры и способа загрузки вычислительных узлов. Проведена оптимизация решения задач ВГАД на кластере «СКИФ Урал» ЮУрГУ. CFD; ВГАД; CFX; OpenFOAM; кластер; cуперЭВМ; масштабируемость вычислений

Задачи вычислительной гидроаэродинамики требуют значительных вычислительных ресурсов и мощных программных средств, способных использовать возможности, предоставляемые современными вычислительными системами. При решении больших и сверхбольших задач важным фактором является оптимизация совместной работы вычислительной системы (кластера) и программного продукта. Цель данной работы - исследование эффективности суперкомпьютера «СКИФ Урал» ЮУрГУ на базе четырехъядерных процессоров Е5472, определение необходимых и достаточных условий оптимизации решения совместных задач гидродинамики и динамики ротора на вычислительном кластере ЮУрГУ.

1. ТЕСТОВЫЕ ПЛАТФОРМЫ И ЗАДАЧИ

Для проведения вычислительных экспериментов в качестве тестовой задачи использованы задачи расчета гидродинамики тонкого турбулентного слоя жидкости в щелевом уплотнении мощного питательного насоса. Тесты ориентированы на использование известного параллельного пакета, широко используемого на различных суперкомпьютерных платформах пакета инженерного анализа А№У8

СБХ V. 11.0. В отличие от использования тестов, таких как ЬЮТАСК, основанных на решении

Контактная информация: vasilyev_va@list.ru, nitskiy@list.ru Статья рекомендована к публикации программным комитетом международной конференции "Параллельные вычислительные технологии 2010"

Авторы статьи выражают благодарность официальному представителю АЖУ8 компании

" Делкам-Урал" за предоставленные на время проведения тестирования НРС лицензии СГХ VII .0 8Р1

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

Расчеты проводились на кластере «СКИФ Урал» ЮУрГУ, имееющим ЬЮТАСК производительность 12,2 ТИорБ. Технические характеристики приведены в табл. 1.

Таблица 1 Технические характеристики вычислительного кластера СКИФ Урал ЮУрГУ

N узлов/проц./ядер 166 / 332 / 1328

Тип процессора узла 2 х Intel Xeon E5472

ОЗУ/ дисковая память вычисл. узла 8GB DDR3 / 120 GB

Общая дисковая память 49,39 TB / Panasas ActiveStorage 5100

Т ип системной сети InfiniBand DDR 20Gbit/s

Т ип управляющей сети Gigabit Ethernet

Сервисная сеть СКИФ ServNet

Пик. произв. / Linpack 16 / 12,2 TFlops

Операционная система SLES 10

Тестируемое программ. обеспечение ANSYS CFX Acad. Research, v. 11.0, SP1

Библиотека MPI HP MPI v.02.02.05.01

Система питания APC Symmetra 160 kVA

Также для расчетов использовалась рабочая станция 8ирегшюго (табл. 2), представляющая собой 2-процессорную ЭВМ с объемом ОЗУ 32 Гбайт на базе различных процессоров АМБ семейства Ор1егоп. Кроме того, ряд тестов на малой задаче был проведен на платформе 8ирегшюго с двумя четырехъядерными про-

цессорами Intel Xeon E5520@2,27 ГГц и ОЗУ 24 ГБайт DDR3.

Т аблица 2

Технические характеристики рабочей станции

N проц. 2

N ядер на плаформе 4 / 8 / 12

Тип процессора 2 х AMD Opteron 2216

ОЗУ 32GB DDR2

Дисковая память 144 GB

Операц. система SLES 10

Тестируемое программ. обеспечение ANSYS CFX Academic Research, v. 11.0, SP1

Библиотека MPI HP MPI v.02.02.05.01

С целью оценки влияния размера задачи на эффективность использования вычислительной мощности кластера анализ проводился на трех задачах разного размера. Малая задача 46 218 узлов (29 204 элементов), средняя задача 328 392 узлов (242 663 элементов) и, наконец, большая задача 9 903 873 узлов (9 871 040 элементов).

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

ным на свободном конце модельного ротора стендовой установки (рис. 1). Диск диаметром 130 мм образует с корпусом радиальную щель зазором от 200 до 500 мкм. Внутренний радиус щели 66 мм, внешний 93 мм, длина радиального зазора 27 мм. На вход радиальной щели подавалась жидкость - вода с температурой порядка 40 °С. На рис. 1 представлена двумерная осесимметричная модель радиальной щели в ЛК8У8Я СБХ-Рге и фрагмент расчетной сетки. Средняя задача представляет собой расчет гидродинамики уравновешивающего устройства питательного насоса СВПТ 1150, проводимый для определения упругих и демпфирующих свойств уплотнений проточной части, в частности, уплотнений разгрузочного устройства. Расчеты полей давления, полей скоростей в щелевом уплотнения уравновешивающего устройства насоса СВПТ 350850 проводились для цилиндрической щели диаметром 180 мм, длиной 185 мм, радиальной щели, наружный диаметр которой составлял 300 мм и внутренний 250 мм. Зазор цилиндрической и радиальной щелей принят соответственно 350 и 120 мкм. Перекачиваемая среда - питательная вода, температура 170 °С, давление на входе в цилиндрическую щель 34,4 МПа, давление на выходе из радиальной щели 2,15 МПа.

Задача решалась в осесимметричной постановке (рис. 3) с заданием граничных условий по давлению на входе и выходе. Сетка строилась на одноградусном секторе, размер сетки составил 328392 узлов, 242663 элементов.

Рис. 1. Принципиальная схема стендовой установки и модельного ротора

Рис. 2. Модель малой задачи в ANSYS CFX-Pre и расчетная сетка

Рис. 3. Геометрия щели уравновешивающего устройства питательного насоса СВПТ 350-850

Большая задача представляет собой расчет гидродинамики тонкого турбулентного слоя в радиальной перекошенной щели стендовой установки. В отличие от первого варианта расчета (малая задача), в котором зазор в щели параллелен, решение данной задачи возможно лишь в трехмерной постановке. Это позволяет получить распределения давления по длине щели, присущие конфузорной и диффузорной геометрии зазора (рис. 4).

Для перекошенной щели сетка построена из двух расчетных подобластей (Domain), которые затем стыкуются с помощью интерфейсов (Domain Interfaces), как показано на рис. 5. Общее число узлов на перекошенной радиальной щели составило 9 903 873. Необходимая оперативная память 31,6 Гбайта, время счета на 16 ядрах кластера «СКИФ Урал» составляет порядка 4 часов.

Рис. 4. Распределение давления по длине щели в сечениях конфузор

Рис. 5. Участок расчетной сетки на стыке 2 доменов: входной зоны и щелевого уплотнения

В большинстве вариантов расчетов использовалась версия решателя CFX с двойной точностью чисел с плавающей точкой (double), кроме того, проведен ряд вычислительных экспериментов на решателе с одинарной точностью на тех задачах, где одинарная точность давала устойчивую сходимость решения.

2. АНАЛИЗ ЭФФЕКТИВНОСТИ ВЫЧИСЛЕНИЙ

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

В свою очередь, эффективность работы в параллельном режиме зависит также от размера задачи или числа узлов сетки, типа элемента, используемого при генерации сетки. Например, для тетраэдрических сеток рекомендуется не использовать меньше 30 000 узлов на блок сетки (на вычислительное ядро), для гексаэдриче-ских сеток минимальное количество узлов на блок рекомендовано не менее 75 000 узлов [1]. Количество узлов на процессор не является жестким; при решении реальной задачи на определенной аппаратной платформе критическое количество узлов может быть больше или меньше.

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

па к памяти, чем может обеспечить шина памяти.

3. МАСШТАБИРУЕМОСТЬ ЗАДАЧИ НА КЛАСТЕРЕ В ЗАВИСИМОСТИ

ОТ ЧИСЛА ВЫЧИСЛИТЕЛЬНЫХ ЯДЕР

Вычисления проводились на большой задаче с числом узлов равным 9 903 873. Результаты приведены на рис. 6 и в табл. 3. Эффективность вычислений оценивалась по числу итераций в час. Получены две кривые: первая с насыщением на уровне 200 ядер, вторая кривая показывает рост производительности до 300 ядер. Отличие в эффективности использования кластера зависит от количества используемых ядер вычислительных узлов. Первая кривая соответствует использованию полной вычислительной мощности каждого узла с загрузкой всех восьми ядер. Вторая кривая соответствует специальной загрузке, при которой на каждом отдельном узле загружается только 4 ядра. Более эффективным является второй вариант загрузки кластера. Это свидетельствует о вероятных проблемах, связанных с совместной работой процессоров на узле кластера. В ходе проведения вычислительных экспериментов было выявлено, что при использовании от 1 до 4 (включительно) ядер на узел производительность вычислений зависит от общего числа используемых ядер и не зависит от количества используемых ядер на вычислительном узле. На рис. 6 и далее прямые линии иллюстрируют линейное ускорение.

1-4 или ш >тзел

А ♦

if*

; Н ядер на узел

0 50 100 150 200 250 300 350 400 450 500N ядер

Рис. 6. Масштабирование большой задачи в зависимости от использования числа ядер внутри узла

Т аблица 3 Масштабирование большой задачи

N ядер Способ запуска Время 100 ит. Ускор. Эфф-ть, %

417 104*4+1 0:13:08 157,8 37,8

415 138*3+1 0:13:05 158,2 38,1

291 145*2+1 0:13:31 153,5 52,7

241 80*3+1 0:14:09 147,0 61,0

241 120*2+1 0:14:08 146,6 60,8

161 80*2+1 0:25:02 117,1 72,7

146 146 0:18:47 110,2 75,5

121 121 0:20:12 102,6 84,8

83 83 0:31:03 66,8 80,5

64 64 0:40:13 51,8 80,9

33 33 1:05:33 31,6 95,9

4 4 8:37:56 4,0 100,0

4. МАСШТАБИРУЕМОСТЬ ЗАДАЧ ВНУТРИ ВЫЧИСЛИТЕЛЬНОГО УЗЛА

Вычисления проводились на всех типах задач, производительность вычислений оценивалась по числу итераций в минуту. Результаты для малой задачи приведены на рис. 7 (узел кластера «СКИФ Урал») и рис. 8 (рабочая станция ЛМБ с процессорами Оріегоп 2354 и 2427, рабочая станция с двумя процессорами Іпіеі Е5520). При тестировании на узле «СКИФ Урал» получены две кривые: первая с насыщением на уровне 4 ядер при запуске задачи внутри узла, вторая кривая показывает больший рост производительности и соответствует специальной загрузке, при которой к первому ядру одного узла последовательно подключаются по одному вычислительному ядру на каждом следующем узле, подключенному через сеть интер-коннекта. Данный способ загрузки позволяет оценить «параллельный» потенциал задачи без ограничения архитектуры узла. Как оказалось, узел кластера, содержащий два процессора и восемь вычислительных ядер, имеет ограничение по масштабируемости, вероятнее всего, из-за недостаточной пропускной способности шины памяти. Подобное поведение наблюдается и на других пакетах ВГАД, использующих отличные от СБХ алгоритмы решателей [2, 3, 4], и тестах производительности, основанных на решении систем линейных уравнений итерационными методами [5].

Аналогичная картина наблюдается и на рабочих станциях (рис. 8), однако общий уровень масштабируемости этих систем на малой задаче выше, чем предыдущей.

! ! ! ! ! ж

г В узлов по 1 ядру ÿr

’ і 11

! ! ! ! !

О 1 2 3 4 5 6 Н ядер

Рис. 7. Масштабируемость малой задачи на узле кластера СКИФ Урал при использовании различных способов запуска задачи

\

\ *

/j

—я—Opteron 2427 Optsron 2SE- —*— Хвоп EEE2Ü

О 1 2 3 4 5 6 7 8 Э N ядер

Рис. 8. Масштабируемость малой задачи на различных платформах

Следует отметить, что новое поколение процессоров AMD Opteron Istanbul существенно не улучшило масштабируемость по сравнению с Barcelona, а линейка процессоров Intel Nehalem улучшила свои показатели по сравнению с предыдущей Harpertown и сравнялась по масштабируемости с системами AMD. Однако уровень абсолютной производительности систем оказался разный, и процессор E5520 значительно обгоняет конкурентов теста (рис. 9), несмотря на значительное отставание по частоте от Xeon X5472 и по количеству ядер от Opteron 2427.

Рис. 9. Абсолютная производительность различных систем при решении малой задачи

Рис. 11. Масштабируемость большой задачи: 2х AMD Opteron 2427, решатели одинарной (верхняя линия) и двойной (нижняя линия) точности

Результаты тестирования средней и большой задачи на рабочей станции ЛМБ Ор1егоп 2427 приведены на рис. 10, 11, в тестах были использованы версии решателя с одинарной и двойной точностью. Очевидно, на большой задаче с использованием решателя с одинарной точностью не достигается ограничение пропускной способности шины памяти, кроме того, масштабируемость решателя с двойной точностью превышает масштабируемость на малой и средней задаче. Средняя задача показывает наименьшую масштабируемость среди трех тестовых задач для решателя как с одинарной, так и с двойной точностью. Вероятно, это обуславливается наличием нескольких областей с высоким градиентом скоростей и давления, и, как следствие, существенным различием по сходимости и времени расчета между подобластями декомпозиции расчетной области.

О

0 2 4 Є 8 N ядер

Рис. 10. Масштабируемость средней задачи: 2х AMD Оріегоп 2427, решатели одинарной (верхняя линия) и двойной (нижняя линия) точности

5. ЭФФЕКТИВНОСТЬ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ НА МАЛЫХ ЗАДАЧАХ

Эффективное использование кластеров ограничивается размером задачи. Разбиение сетки приводит к созданию областей перекрытия в зонах связи между расчетными подобластями задачи. Процентное отношение количества наложенных (перекрытых) узлов расчетной сетки к общему количеству узлов сетки в оптимальном варианте должно быть минимальным, не более 10%. Величина перекрытия более 20% свидетельствует о том, что размер расчетной области на один процесс решателя достиг критического минимума; время вычислений на каждой подобласти будет незначительным по сравнению со временем обмена информацией между ними. Величина перекрытия сохраняется в диагностической информации процесса решателя А№У8 СБХ при проведения вычислений.

Тестовые вычисления проводились на малой задаче с числом узлов равным 46 218. Загрузка вычислительных ядер проводилась по самой эффективной схеме по одному ядру на узел. Эффективное ускорение в 11,3 раза (эффективность 56,3%) было получено при работе кластера на 20 ядрах (рис. 12). При этом увеличение вычислительной мощности происходит практически линейно с коэффициентом ускорения равным 14,3. Минимальное эффективно используемое количество узлов сетки на одно ядро для исследуемой задачи находится в пределах от 2000 до 3000 (около 1500 элементов), что существенно ниже уровня, рекомендуемого документацией А№У8 СБХ [1].

О 10 20 30 40 50 60 N ядер

Рис. 12. Максимальное масштабирование на малой задаче

ВЫВОДЫ

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

Проведен сравнительный анализ производительности и масштабируемости новейших процессоров AMD Opteron Istanbul и Intel Nehalem

Выявлены проблемы оценки производительности суперкомпьютерных систем: HPL-тест не отражает реальное поведение системы на прикладном программном обеспечении (конечноэлементные пакеты, ВГАД).

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

СПИСОК ЛИТЕРАТУРЫ

1. Руководство пользователя ANSYS CFX: AN-SYS CFX-Solver Modeling Guide, Using the Solver in Parallel, Advice on Using CFX in Parallel.

2. Интернет-ресурс URL: http://www.fluent.com/ software/fluent/fl6bench/fl6bench_ 12.0/index. htm

3. Решение больших задач вычислительной гидродинамики на СКИФ МГУ с помощью FLOWVISION / А. А. Аксенов [и др.] // Матер. Все-российск. науч. конф. «Научный сервис в сети ИНТЕРНЕТ: решение больших задач». М.: Изд-во Моск. ун-та, 2008. С. 69-73.

4. Еремин М. А., Любимов В. Н. Параллельный код трехмерного моделирования процессов космической газодинамики // Параллельные вычислительные технологии (ПаВТ'2010): Тр. международн. науч. конф. (Уфа, 30 марта - 3 апреля 2010 г.).

5. Оценочное тестиррование кластеров на базе процессоров AMD Barcelona и Shanghai с сетями Infiniband DDR и QDR / М. В. Кудрявцев [и др.] // Вычислительные методы и программирование. 2009. Т. 10. С. 69-77.

ОБ АВТОРАХ

Васильев Виталий Альбертович, дипл. инж. по мех. оборуд. автоматическ. установок (Челябинск. политехн. ин-т, г. Челябинск). Канд. техн. наук (Челябинск. гос. техн. ун-т, 1992). Иссл. в обл. гидродинамики проточн. части мощн. питательн. насосов.

Ницкий Антон Юрьевич, техн. дир. ООО НТЦ «Сигма». Дипл. инж.-матем. по вычислительн. машинам, комплексам, системам и сетям (ЮУрГУ, г. Челябинск, 2001). Иссл. в обл. гидродинамики проточн. части мощн. пи-тательн. насосов.