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

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

CC BY
319
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / ГЕОМЕТРИЧЕСКАЯ ДЕКОМПОЗИЦИЯ / УСКОРЕНИЕ ВЫЧИСЛЕНИЙ

Аннотация научной статьи по математике, автор научной работы — Максимов Ф. А.

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

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

Похожие темы научных работ по математике , автор научной работы — Максимов Ф. А.

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

THE DECISION OF PROBLEMS OF AERODYNAMICS ON MULTIPROCESSING COMPUTING SYSTEMS

In work experimental times of the decision of problems of aerodynamics are given at use of multiprocessing computers on the basis of geometrical decomposition of settlement area. It is shown, that parallel calculations allow to reduce time of the decision of a problem more than number of used processors. It is necessary to consider the sizes of cache-memory.

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

УДК 519.683

Ф.А. Максимов, д-р техн. наук, ведущий научный сотрудник,

8 (499) 250-82-74, maximov@cfd.ru

(Россия, Москва, Институт автоматизации проектирования РАН)

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

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

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

Многие задачи аэродинамического проектирования могут быть решены методами вычислительной аэродинамики. Для решения широкого круга задач разработан метод на основе уравнений Навье-Стокса в приближении тонкого слоя [1]. Задача решается установлением по времени. Применение этого метода позволяет рассматривать течения в широком диапазоне скоростей. Учет вязкости позволяет описать отрыв потока и образование вихревых структур и, в конечном итоге, определить нелинейные аэродинамические характеристики. Данным методом можно исследовать аэродинамику с учетом струй реактивного двигателя. Основным недостатком метода является необходимость проведения расчетов на сетках с большим количеством узлов, при этом требуются большие затраты процессорного времени. Фактически, время решения задачи ограничивает класс решаемых задач. Возможное время счета определяется целями исследований. Если для научных расчетов приемлемым является время счета до месяца, то в инженерной практике время счета не должно превышать сутки. Хотя эти оценки являются условными, актуально сокращение времени расчета.

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

шения эффективности вычислений при использовании многопроцессорной техники при решении задачи методом [1].

В качестве первой задачи рассмотрим решение задачи об обтекании конического тела. В рамках данной задачи исследуются тела типа конус, треугольное крыло и многое другое. Для адекватного описания на подветренной стороне течения с вихрями при больших числах Рейнольдса необходимо использовать сетки большой размерности (до 106). Предположение о коническом характере течения позволяет использовать двумерную сетку с количеством узлов т на п. Сетка по окружной координате разбивается на N областей. Для получения связанного решения после каждого шага интегрирования происходит обмен информации между областями. Так как при разбиении задачи на N процессоров фактическое количество узлов увеличивается (дополнительные узлы для обмена информацией), а на обмен информацией требуется время, время на шаг интегрирования уменьшится не в N раз, а в 1<-Ы, где к<1. Данное утверждение правильно, если время вычислений на шаг интегрирования линейно зависит от количества узлов расчетной сетки. В используемом методе данное предположение математически является правильным. Однако на практике время на шаг интегрирования изменяется нелинейно.

На рис. 1 представлены затраты времени (в минутах) на 1000 шагов интегрирования Т в зависимости от общего количества узлов М двумерной сетки при использовании одного процессора. Маркерами приведены опытные данные, а сплошной линией - аппроксимация экспериментальных данных. Выделяется излом при общем количестве узлов М«2.5-104.

Рис. 1. Затраты времени (в минутах) на 1000 шагов интегрирования Т в зависимости от общего количества узлов М двумерной сетки при использовании одного процессора

На рис. 2 приведена оценка затрат времени в секундах на 1000 шагов интегрирования для одного узла расчетной сетки А, т.е. А=60-Т/(т-п). Эксперимент ставился в многопроцессорном режиме, т.е. считалось одновременно несколько задач на разных процессорах без обмена информацией. При этом происходило «квантование» результатов по времени счета, т.е. в одном расчете часть процессоров показывала один результат, а другая часть - другой, значительно отличающийся по величине при сопоставлении с разбросом, реализующимся в каждой из групп. Образование двух (или трех) групп результатов не является обязательным в единичном расчете. Естественно предположить, что полученные результаты объясняются частотой процессоров. По всей видимости, есть процессоры с различной частотой, что приводит к разбросу при одной размерности сеток.

0.003

Л

0.002

0.001

О \

- : : ; ¡и>' | О , ^ ^ Н V У !

и/ ■-* 1 1

= Щ 1*1 А Ц-1 ■ у ; 1 ! 1 ! ! ; : 1

20000 40000 60000 80000 ]у[ 100000

Рис. 2. Оценка затрат времени в секундах на 1000 шагов интегрирования для одного узла расчетной сетки А

Первый вид памяти (кэш-память) обеспечивает возможность проведения расчетов до М«2.5-104, при дальнейшем увеличении количества узлов требуется использовать оперативную память. При количестве узлов до М<2.5-104 время затрат на каждый узел приблизительно постоянно, при этом можно полагать, что время затрат на шаг интегрирования линейно пропорционально числу узлов сетки. При М>2.5-104 коэффициент линейности изменяется в сторону увеличения. Проведенные эксперименты с количеством узлов сетки до 5-106 с объемом оперативной памяти до 4 СЬ показали, что наклон линейной зависимости в этих условиях не меняется. Можно предложить аппроксимацию: 74).0008-М/60, если М<2.5-104; и Г=(0.0032-М-60)/60, если М>2.5-104. Излом при М»2.5-104 увеличивает затраты времени на один узел приблизительно в 4 раза (с 0.0008 до 0.0032).

Рекомендация заключается в том, что если проводить расчеты с объемом сетки не более 2.5-104 узлов на процессор (для конкретных вычислительной машины и задачи), то время вычислений на каждый узел сетки можно будет уменьшить. В соответствии с этим требованием было произведено распараллеливание и проведены расчеты на сетках с количеством узлов до 1.5-106. Параметры сеток и экспериментальные оценки затрат времени и эффективности приведены в табл.1.

Таблица 1

Параметры сеток и экспериментальные оценки затрат времени и эффективности

Параметры Фактическое количество узлов сетки

24240 96480 386960 1537920

ОДИН ПРОЦЕССОР

Мхп 245x101 485x201 965x401 1925x801

Ті, мин 0.33 4.20 19.64 81.24

Лі, сек 0.0008 0.0026 0.0030 0.0032

N ПРОЦЕССОРОВ

N 4 16 64 128 192

шхп 65x101 35x201 20x401 20x801 15x801

М 6565 7035 8020 16020 12015

Тк, мин 0.08 0.13 0.16 0.34 0.25

сек 0.0007 0.0011 0.0012 0.0013 0.0012

к=(Ті-1)/(Тк-К) 1.03 2.02 1.92 1.87 1.69

Для расчета на максимальной сетке с использованием одного процессора требуется 81 мин на 1000 шагов интегрирования. Для установления надо делать около 20 тысяч шагов и время расчета в этом случае составит более суток. Распараллеленный на 128 процессоров вариант позволяет сделать 1000 шагов за 0.34 минуты и выполнить расчет 20 тысяч шагов менее чем за 7 мин. В последней строке приведен коэффициент ускорения проведения расчетов, учитывающий использование N процессоров в распараллеленном варианте. Данная величина больше 1. Учет размера кэш памяти при разбиении задачи на Ы-процессорный вариант позволяет сократить время расчета ъ2-И раз.

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

ми областями по отношению к суммарному количеству узлов. В трехмерном случае при столь малом суммарном количестве узлов почти все узлы попадают на границу обмена информацией. Это приводит к значительному росту затрат времени на обмен информацией между процессорами. В трехмерном случае желательно получить линейное ускорение проведения расчетов в зависимости от числа процессоров. На рис. 3 приведено время (в минутах) выполнения 1000 шагов интегрирования в зависимости от числа используемых процессоров. Линия 1 соответствует сетке с суммарным

3 3

числом узлов на один процессор - 64-10 , линия 2 -250-10 .

15

т

ю

5

Рис. 3. Время (в минутах) выполнения 1000 шагов интегрирования в зависимости от числа используемых процессоров

Видно, что с увеличением числа процессоров время практически остается постоянным. Фактически это означает, что параллельная версия программы на N процессоров сокращает время вычислений в N раз (при N<128).

Заключение. Реализована параллельная версия программы расчета моделирования трехмерных течений на основе уравнений Навье-Стокса в приближении тонкого слоя. Разработанный метод математического моделирования и реализованная программа позволяют проводить расчеты трехмерного течения с учетом вязких эффектов: отрыва потока и образования вихревых структур.

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

При моделировании трехмерных задач на сетке с суммарным количеством узлов «4.х106 и распараллеливании задачи на 128 процессоров решение получается в течение часа (20000 шагов). При увеличении сетки до «16.х10б требуется около 5 ч. Тестовые расчеты с изменением числа используемых процессоров при фиксированной сетке на каждый процессор не выявили существенного увеличения времени на шаг интегрирования (не более 10 %) с увеличением числа процессоров от 8 до 128.

Расчеты проводились на МВС-100К МСЦ РАН.

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

1. Шевелев Ю.Д., Максимов Ф.А. Численное моделирование трехмерных пространственных сверхзвуковых течений вязкого газа с отрывом потока // Математическое моделирование. Проблемы и результаты. М: Наука, 2003. С.384-421.

F.A. Maximov

THE DECISION OF PROBLEMS OF AERODYNAMICS ON MULTIPROCESSING COMPUTING SYSTEMS

In work experimental times of the decision of problems of aerodynamics are given at use of multiprocessing computers on the basis of geometrical decomposition of settlement area. It is shown, that parallel calculations allow to reduce time of the decision of a problem more than number of used processors. It is necessary to consider the sizes of cache-memory.

Key words: parallel calculations, geometrical decomposition, acceleration of calculations.

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