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

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

CC BY
100
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЧИСЛЕННАЯ СХЕМА / ШАБЛОН ЧИСЛЕННОЙ СХЕМЫ / ПОРЯДОК АППРОКСИМАЦИИ / ФИКТИВНЫЕ ЯЧЕЙКИ / ПОЛЯ ЯЧЕЕК / ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / РАСПРЕДЕЛЕННАЯ ПАМЯТЬ / MPI / ГИДРОДИНАМИЧЕСКИЙ КОД / ПРОИЗВОДИТЕЛЬНОСТЬ / ЭФФЕКТИВНОСТЬ / ИНТЕНСИВНОСТЬ ОБМЕНА ДАННЫМИ / АТОМНАЯ ЭНЕРГЕТИКА / МНОГОФАЗНЫЕ ТЕЧЕНИЯ / NUMERICAL SCHEME / NUMERICAL SCHEME STENCIL / APPROXIMATION ORDER / GHOST CELLS / CELL PADDING / NUMERICAL SIMULATION / PARALLEL COMPUTING / DISTRIBUTED MEMORY / HYDRODYNAMIC CODE / PRODUCTIVITY / EFFICIENCY / DATA RATE / ATOMIC POWER ENGINEERING / MULTIPHASE FLOW

Аннотация научной статьи по физике, автор научной работы — Дьяченко Сергей Валерьевич, Кочкарева Яна Викторовна

В работе исследуется влияние размера шаблона численной схемы на производительность параллельного гидродинамического кода, разрабатываемого в настоящее время в ФГУП «ГНЦ РФ ФЭИ» и предназначенного для моделирования многофазных течений в атомной энергетике. В численном коде используется модель распределенной памяти и механизм полей из ячеек (ghost cells), а для обменов данными применяется MPI. Соответственно, размер шаблона численной схемы существенно влияет на интенсивность обменов данными между параллельными процессами и на производительность кода. В работе проводится анализ результатов численных экспериментов для различного количества приходящихся на один процесс ячеек сетки и для различных размеров шаблона численной схемы на примере конкретной задачи атомной энергетики.

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

Похожие темы научных работ по физике , автор научной работы — Дьяченко Сергей Валерьевич, Кочкарева Яна Викторовна

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

Investigation of the influence of numerical scheme stencil size on productivity of parallel hydrodynamic code

In this paper we investigate the influence of numerical scheme stencil size on productivity of parallel hydrodynamic code. The code is developed in the Institute for Physics and Power Engineering (IPPE) and aimed on modelling multi-phase flows in nuclear power engineering. The model of distributed memory and ghost cells method are used in numerical code. MPI is used for exchange data. Thus numerical scheme stencil size affect essentially on exchange data rate between parallel processes and code performance. Analysis of numerical experiments results for different number of mesh cells that are accounted for one process and for different numerical scheme stencil sizes are adduced in this paper in terms of one particular nuclear power engineering problem.

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

ISSN 1992-6502 (Print)_

2015. Т. 19, № 2 (68). С. 169-178

Ъюьшм QjrAQllQj

ISSN 2225-2789 (Online) http://journal.ugatu.ac.ru

УДК 519.6

Исследование влияния размера шаблона численной схемы

на производительность параллельного гидродинамического кода

1 2 С. В. Дьяченко , Я. В. Кочкарева

1 dyachenko.sergey@gmail.com, 2 yakochkareva@ippe.ru 1,2 Физико-энергетический институт имени А.И.Лейпунского (ГНЦ РФ-ФЭИ) Поступила в редакцию 04 апреля 2015 г.

Аннотация. В работе исследуется влияние размера шаблона численной схемы на производительность параллельного гидродинамического кода, разрабатываемого в настоящее время в ФГУП «ГНЦ РФ -ФЭИ» и предназначенного для моделирования многофазных течений в атомной энергетике. В численном коде используется модель распределенной памяти и механизм полей из ячеек (ghost cells), а для обменов данными применяется MPI. Соответственно, размер шаблона численной схемы существенно влияет на интенсивность обменов данными между параллельными процессами и на производительность кода. В работе проводится анализ результатов численных экспериментов для различного количества приходящихся на один процесс ячеек сетки и для различных размеров шаблона численной схемы на примере конкретной задачи атомной энергетики.

Ключевые слова: численная схема; шаблон численной схемы; порядок аппроксимации; фиктивные ячейки; поля ячеек; численное моделирование; параллельные вычисления; распределенная память; MPI; гидродинамический код; производительность; эффективность; интенсивность обмена данными; атомная энергетика; многофазные течения.

ВВЕДЕНИЕ

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

Статья рекомендована к публикации программным комитетом международной научной конференции Параллельные вычислительные технологии 2015

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

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

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

В данной работе мы ограничились проведением численных экспериментов с полностью явной гидродинамической конечно-объемной схемой, используемой в пакете программ для расчета многофазных многокомпонентных течений на неструктурированных сетках [1], который разрабатывается в ГНЦ РФ - ФЭИ. На данном этапе все диссипативные члены в уравнениях [1] были отброшены, так как мы задались целью оценить изолированную работу используемой нами параллельной TVD-схемы [2-9] без влияния других факторов. Для расчета диссипа-тивных членов в численном коде используются неявный интегро-интерполяцонный метод и неявный метод конечных элементов, реализация которых очень сильно отличается от реализации TVD-схемы, соответственно, сильно отличаются и свойства в контексте распараллеливания. Разумеется, выполнение численных экспериментов с нашими реализациями интегро-интерполяцонного метода и метода конечных элементов также представляет большой практический интерес, однако эта задача осталась за рамками настоящей работы.

Смысл проведения численных экспериментов заключался в оценке влияния размера шаблона численной схемы (в нашем случае - полностью явной TVD-схемы) на среднее время счета одной итерации при различном отношении размера расчетной сетки и количества процессов MPI (т. е. при различном количестве ячеек сетки, приходящихся на один процесс MPI). Ранее в [10] уже было показано, что для используемых нами численных схем и их программных реализаций при умеренном количестве параллельных процессов (по меньшей мере вплоть до нескольких сотен) эффективность параллельного счета на компьютере с распределенной памятью зависит от такого ключевого для CFD кодов параметра, как количество ячеек сетки, приходящихся на один процесс. Соответственно, для нас представляла особый интерес экспериментальная зависимость среднего времени расчета итерации (а также различных редуци-

руемых из него параметров) от двух величин: количества ячеек на один процесс и размера шаблона.

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

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

Распараллеливание работы явных численных схем осуществляется с помощью известного механизма фиктивных (виртуальных) ячеек (ghost cells), являющихся локальными образами оригинальных ячеек расчетной сетки с удаленных вычислительных узлов (т. е. нелокальных ячеек). Обновление значений в локальных фиктивных ячейках-образах на основе актуальных значений в оригинальных ячейках, расположенных на удаленных узлах, осуществляется на требуемых этапах работы численного алгоритма средствами MPI. Фиктивные ячейки образуют поля фиктивных ячеек, окружающие локальные ячейки вычислительного узла. При этом имеется возможность варьировать толщину слоев фиктивных ячеек, формирующих поля фиктивных ячеек. Большая толщина слоя фиктивных ячеек позволяет теоретически достичь большего порядка аппроксимации по пространству за счет использования больших сеточных шаблонов, однако временные затраты на обмены данными MPI (синхронизацию данных в фиктивных элементах сетки с удаленными узлами) при этом существенно возрастают. Меньшая толщина полей фиктивных ячеек требует меньшего времени на обмены MPI (синхронизацию), однако вводит ограничения на порядок аппроксимации численных схем. Примеры полей фиктивных ячеек толщиной в 2 и 3 ячейки показаны на рис. 1, 2.

Размер шаблона численной схемы мы варьировали не напрямую, а опосредованно, изменяя толщину слоев фиктивных ячеек (ghost cells) в полях фиктивных ячеек. Например, слой толщиной в 2 фиктивных ячейки соответствует построению аппроксимаций 2 порядка по про-

домен домен домен 1;

обычные сеточные элементы Щ сеточные элементы, имеющие образы в другом домене н сеточные элементы, являющиеся образами элементов Н другого домена — граница домена

Рис. 1. Поле фиктивных сеточных элементов

ч/\ А / V V V —с ~Ч?\ "

домен домен .. домен 1g

обычные сеточные элементы

се точные элементы, имеющие образы в другом домене сеточные элементы, являющиеся образами элементов другого домена граница домена

Рис. 2. Поле фиктивных сеточных элементов толщиной в 3 ячейки

странству, слой толщиной в 3 фиктивных ячейки - аппроксимаций 3 порядка по пространству и т.д. В процессе синхронизации с удаленными вычислительными узлами на каждой итерации схемы участвовали абсолютно все фиктивные элементы из полей фиктивных элементов (независимо от того, использовались ли их значения в действительности, т. е. непосредственно в расчете). Заметим, что вычислительная нагрузка при этом могла быть существенно меньше нагрузки, требуемой для построения высокоточной схемы высокого порядка аппроксимации (например, высокоточной ENO/WENO-схемы). Это означает, что полученные нами в настоящей работе оценки потерь времени на обмены MPI при больших размерах шаблонов (толщине полей фиктивных элементов) являются консервативными (т. е., в рассматриваемом контексте -завышенными), так как в действительности увеличившаяся вычислительная нагрузка при расчете высокоточной схемы может заметно уменьшить долю затрат непосредственно на обмены данными MPI за счет увеличения полного времени расчета итерации (вычислительная нагрузка плюс обмены). Таким образом, наши оценки можно интерпретировать как «наихудшие», ожидая в действительности (при реализации сильнозатратных высокоточных схем) более оптимистичной картины.

ВЫЧИСЛИТЕЛЬНЫЕ ЭКСПЕРИМЕНТЫ

Для выполнения численных экспериментов использовалась постановка задачи об истечении воды в свинец из разорванной трубки парогенератора. Постановка задачи была предельно упрощена с учетом того, что, как было сказано выше, нашей целью являлось тестирование только параллельной TVD-схемы, а не диссипа-тивных солверов. Тем не менее, решалась полностью трехмерная задача с нетривиальной геометрией на неструктурированной расчетной сетке (в данном случае использовались только тетраэдральные сетки, хотя разрабатываемый пакет программ поддерживает и другие типы сеточных элементов). Диссипативные процессы были выключены, чтобы не оказывать влияния на расчет. Использовалась однофазная одно-компонентная односкоростная модель с жестким уравнением состояния [11]. Таким образом, тесты выполнялись пусть и для предельно упрощенной, но вполне реальной постановки задачи из области атомной энергетики (подробный анализ которой выходит за рамки настоящей публикации). Использовался TVD-лимитер типа monotonized central (van Leer) [12].

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

Расчеты проводились в монопольном (однопользовательском, без очередей и конкуренции задач) режиме на постоянно доступном нам тестовом мини-кластере, состоящем из восьми 8-ядерных вычислительных узлов на базе процессоров Intel Xeon, соединенных сетью Gigabit Ethernet под управлением 64-разрядной ОС семейства GNU/Linux. Заметим, что по современным меркам конфигурация тестового мини-кластера достаточно скромная, однако, с другой стороны, именно его мы и используем в настоящее время для решения ряда практических задач атомной энергетики как с помощью разрабатываемого пакета программ [1], так и стороннего ПО. Поэтому представляемые результаты представляют для нас не только теоретический, но и практический интерес.

ПОСТАНОВКА ЗАДАЧИ ОБ ИСТЕЧЕНИИ ВОДЫ В СВИНЕЦ ИЗ РАЗОРВАННОЙ ТРУБКИ ПАРОГЕНЕРАТОРА

Рассматривались три трубки диаметром й = 18 мм и длиной Н = 120 мм. Расстояние между центрами труб О = 33 мм. Толщина стенки средней трубки к = 2,5 мм. Во второй трубке находится вода и течет снизу вверх с постоянной скоростью. При достижении верхней границы трубки вода свободно вытекает. В средней трубке есть эллиптическое отверстие (моделирующее разрыв трубки) диаметром 5 = 10 мм, из которого вода втекает в жидкий свинец (см. рис. 3). Свинец течет сверху вниз между трубками и при достижении нижней границы камеры свободно вытекает. Размеры камеры 120x90x120 мм.

k-

РЬ

о

¥

¥

£7^

¥

ПаО

Рис. 3. Схема расчета вытекания воды из моделирующего разрыв трубки отверстия в жидкий свинец

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

Геометрическая твердотельная модель расчетной задачи была построена в программном комплексе SALOME [13], предназначенном для пре- и постпроцессинга данных численного моделирования. Также в SALOME была создана разметка двумерных элементов (поверхностей) геометрической модели. Данная разметка предназначена для задания граничных условий в численном коде.

В SALOME на основе геометрической модели были построены неоднородные расчетные сетки, элементы которых адаптированы к трубкам. Размер сеточной ячейки при этом изменяется пропорционально коэффициенту роста от максимального (около границ камеры) до минимального (около трубок). Для генерации адаптивных сеток использовался алгоритм Netgen 1D-2D-3D, доступный в SALOME. Все трехмерные ячейки сеток имеют форму тетраэдра. На сетках была создана согласованная с геометрической моделью разметка двумерных элементов (граней), представленная на рис. 4. Значения параметров расчетных трехмерных сеток представлены в таблице 1.

Рис. 4. Согласованная с геометрической моделью разметка двумерных элементов сеточной модели в SALOME (показан разрез плоскостью YZ)

Таблица 1 Параметры адаптивных сеток

Количество 3D элементов Количество 2D элементов Минимальная длина ребра ячейки Максимальная длина ребра ячейки Коэффициент роста длины ребра

60 792 10 058 2,70 10,0 0,025

175 055 12 666 2,50 9,5 0,025

269 666 13 246 2,50 8,0 0,025

1 056 897 35 464 1,75 3,5 0,025

1 849 632 66 276 1,50 2,0 0,025

2 842 297 68 056 1,25 2,5 0,020

На рис. 4, 5 представлена одна из построенных в программе SALOME расчетных адаптивных сеток. На этих рисунках видно, что внутренняя часть средней трубки (за исключением непосредственно металлических стенок трубки) явным образом входит в сеточную модель. Также в сеточную модель входить область, ограни-

ченная эллиптическим отверстием, моделирующим разрыв трубки. Для проведения параллельного расчета каждая из сеток была разбита на 64 фрагмента (рис. 5).

Рис. 5. Разбиение сетки на фрагменты для проведения параллельного расчета (показан разрез плоскостью У2)

РЕЗУЛЬТАТЫ ЧИСЛЕННЫХ ЭКСПЕРИМЕНТОВ

На рис. 6, 7 приведены экспериментальные зависимости времени выполнения одной итерации явной TVD-схемы в зависимости от размера сеточного шаблона (точнее, толщины полей фиктивных элементов, измеряемой в количестве ячеек) с линейной и логарифмической шкалами. Зависимости приведены для ряда фиксированных значений величины «количество ячеек на процесс MPI». Обращаем внимание на хорошо проиллюстрированный на рис. 6 и 7 факт, что при сравнительно небольшом количестве ячеек на процесс (порядка тысячи и менее) зависимость времени выполнения итерации от размера шаблона очень близка к линейной, в то время как при большом количестве ячеек на процесс (порядка десяти тысяч и более) зависимость носит экспоненциальный характер. Причем указанный характер зависимостей (линейный для малого количества ячеек на процесс и экспоненциальный для большого количества ячеек на процесс) вполне четко выражен вплоть до толщины полей фиктивных сеточных элементов, равной 16. Дальнейшее увеличение толщины полей не проводилось, так как это не имеет никакого практического смысла (схемы с такими обширными сеточными шаблонами на практике, насколько нам известно, не используются).

Размер шаблона Рис. 6. Зависимость времени выполнения одной итерации явной TVD-схемы от размера сеточного шаблона. Линейная шкала

20,00

■ 2H9U1 ♦44411

0,02

2 4 6 Я 10 12 14 16 Размер шаблона Рис. 7. Зависимость времени выполнения одной итерации явной TVD-схемы от размера сеточного шаблона. Логарифмическая шкала

На рис. 8 приведены экспериментальные зависимости времени выполнения одной итерации от количества ячеек на процесс MPI для ряда фиксированных значений размера шаблона. Любопытно, что графики для больших значений размера шаблона (6 и более) носят кусочно-линейный характер с одной и той же абсциссой точки излома в районе четырех тысяч ячеек на процесс MPI, в то время как для размеров шаблона менее 6 точка излома не выражена и соответствующие графики носят простой линейный характер. Заметим, что при любых размерах шаблона зависимости имеют четко линейный характер - с точкой излома или без нее. Абсцисса точки излома (приблизительно четыре тысячи ячеек на процесс) вполне коррелирует с нашими предыдущими результатами [10], в которых было установлено, что при существенно меньшем количестве ячеек на процесс возникает сильное снижение эффективности параллельного кода за счет больших затрат времени на

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

12

Размер шаблона численной схемы + 2 • 3 * 4 ♦ 6 ■ 8 * 12

5 10 15 20 25 30 35 40 45 Количество ячеек на процесс MPI.103 Рис. 8. Зависимость времени выполнения одной итерации расчета от количества ячеек на процесс MPI

АНАЛИЗ ОБЪЕМА ПЕРЕДАВАЕМЫХ ДАННЫХ И СУММАРНОЙ ИНТЕНСИВНОСТИ ОБМЕНА

Представляет интерес упрощенная аналитическая оценка объемов передаваемых средствами MPI данных и суммарной интенсивности обмена данными (с привлечением экспериментальных данных из предыдущего раздела). Воспользуемся следующей упрощенной моделью. Пусть расчетная сетка состоит из N ячеек, является декартовой и имеет форму квадрата со стороной VN ячеек сетки. Далее, пусть сетка разбита на p фрагментов (где p - количество процессов MPI), каждый из которых также представляет собой квадрат со стороной a = ^ N / p

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

Пусть требуется построить поле фиктивных элементов толщиной в S ячеек. Для построения можно воспользоваться итеративной процедурой, наращивая на каждой итерации очередной слой фиктивных элементов. Схема построения геометрически проиллюстрирована на рис. 9. Первый слой содержит 4a + 4 фиктивных ячеек, второй слой содержит 4a + 12 фиктивных ячеек, третий: 4a + 20 ячеек и т. д.

ч k i

......

...... домен А

...... ( г

слой 1

см Ü2

11 ч:

Рис. 9. Итеративное наращивание слоев ячеек в поле фиктивных элементов (упрощенная постановка)

Общая формула для количества ячеек в к-м слое имеет следующий вид:

l (к) = 8к + 4 a - 4.

Полное количество ячеек в поле фиктивных элементов толщиной в ячеек равно сумме количеств ячеек 1(к) в каждом из 5 слоев:

L(S ) = £ l (k ) =

S (I (1) +1 (S ))

= 4S (a + S ). (1)

k=i

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

sizeof(double) = 8 байт. Кроме того, следует учесть, что мы используем схему предиктор-корректор аппроксимации по времени, поэтому за одну итерацию выполняются два сеанса обмена данными (один обмен после этапа «предиктор» и один - после этапа «корректор»).

С учетом вышесказанного общий объем передаваемых на одной итерации данных составляет (суммарно по всем p процессам)

D(S) = 23 • p • sizeof (double) • 2 • L(S),

где L(S) определяется выражением (1). Таким образом, полный объем передаваемых за одну итерацию данных зависит от толщины полей фиктивных элементов S квадратичным образом.

Соответственно, если среднее время выполнения итерации составляет t(S), то можно оце-

нить среднюю суммарную интенсивность обмена данными как

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

I (5) = )/г (5).

Соответствующие графики представлены на рис. 10, 11. При этом величины О(Б) и 1(Б) оценивались аналитически, в то время как величина г(Б) бралась из результатов вычислительных экспериментов. Таким образом, графики на рис. 10 являются полностью аналитическими, а графики на рис. 11 - гибридными, использующими одновременно как аналитические оценки, так и экспериментальные данные (среднее время расчета итерации).

Рис. 10. Зависимость суммарного объема передаваемых на одной итерации данных от размера сеточного шаблона

900

II

Количество ячеек

на процесс ■ 950 * 2735 * 4214 ♦ 16514 28901 • 44411

н К 5

400

0

14

16

2 4 6 8 10 12 Размер шаблона Рис. 11. Зависимость суммарной интенсивности обмена данными от размера сеточного шаблона

Представляют некоторый интерес также сгенерированные на основе аналитических оценок и экспериментальных данных зависимости среднего времени выполнения одной итерации

от объема передаваемых на одной итерации данных (рис. 12) и от суммарной интенсивности обмена данными (рис. 13). Заметим, что наибольшая достигнутая суммарная интенсивность обмена данными составила около 800 Мбит/с (см. графики для варианта 950 ячеек на процесс на рис. 11, 13), что уже достаточно близко к наибольшей пропускной способности Gigabit Ethernet (порядка 1 Гбит/с). Однако при большем количестве ячеек на процесс (что намного ближе к практическим расчетам) суммарная интенсивность обмена данными не превышала 400 Мбит/с при любых размерах шаблонов.

Рис. 12. Зависимость времени выполнения одной итерации от суммарного объема передаваемых на одной итерации данных. Логарифмическая шкала

Рис. 13. Зависимость времени выполнения одной итерации от суммарной интенсивности обмена данными. Логарифмическая шкала

Разумеется, рассмотренная модель построения полей и соответствующие оценки для объема передаваемых данных и интенсивности обмена данными являются упрощенными. В действительности мы имеем дело с неструктурированными сетками, неоднородностью

распределения ячеек по процессам при разбиении исходной расчетной сетки и другими факторами, влияющими на характер обмена данными между процессами. Тем не менее, по нашему мнению, модель и соответствующие оценки являются достаточно реалистичными, особенно с учетом того, что мы измеряем интегральные характеристики обмена данными (т. е. характеристики, относящиеся ко всему семейству параллельных процессов в целом, а не к отдельным процессам). Для интегральных оценок сделанные допущения вполне оправданы. Однако следует помнить, что зависимости интегральных параметров обмена данными, представленные на рис. 10-13, являются не измеренными напрямую, а пересчитанными с помощью упрощенной аналитической модели. Соответственно, эти зависимости имеют тем большую погрешность, чем менее упрощенная модель соответствует действительному характеру обмена данными.

ЗАКЛЮЧЕНИЕ

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

Показано, что при небольшом количестве ячеек на процесс (порядка тысячи и менее) зависимость времени выполнения итерации от размера шаблона близка к линейной, а при большом количестве ячеек на процесс (порядка десяти тысяч и более) зависимость близка к экспоненциальной.

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

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

от суммарной интенсивности обмена данными. Пиковая суммарная интенсивность обмена данными оценена в 800 Мбит/с, однако в более близких к практическим расчетам вариантах она не превышала 400 Мбит/с при любых размерах шаблона.

Приведенные оценки потерь времени на обмены MPI при больших размерах шаблонов (толщине полей фиктивных сеточных элементов) являются консервативными, так как в действительности увеличившаяся вычислительная нагрузка при расчете высокоточной схемы может заметно уменьшить долю затрат непосредственно на обмены данными MPI за счет увеличения полного времени расчета итерации (вычислительная нагрузка + обмены). Наши оценки можно интерпретировать как «наихудшие», ожидая в действительности (при реализации сильнозатратных высокоточных схем) более оптимистичной картины.

Заметим, что представленные в настоящей работе зависимости для среднего времени выполнения итерации, суммарного объема передаваемых данных, суммарной интенсивности обменов данными и т. д. относятся к разрабатываемому коду [1], причем они определяются как свойствами соответствующих алгоритмов и их программной реализации, так и особенностями аппаратно-программной платформы, использованной для тестов. Однако это вовсе не означает, что полученные данные представляют интерес только в контексте разработки нашего пакета программ. Опыт общения с разработчиками параллельных CFD кодов различного назначения для компьютеров с распределенной памятью убедительно показывает, что подобного рода зависимости имеют достаточно общий, универсальный характер (разумеется, если речь идет об относительно схожих алгоритмах и их программных реализациях). Конкретные численные данные (например, критическое для эффективности отношение числа ячеек сетки к количеству параллельных процессов) могут заметно отличаться, однако порядки величин и, главное, характеры их зависимостей друг от друга оказываются, как правило, весьма схожими. Поэтому, на наш взгляд, представленные в настоящей работе данные могут быть интересны не только нам как разработчикам прикладного кода [1], но и другим специалистам, включая разработчиков параллельных CFD кодов различного назначения. Разумеется, было бы интересно сравнить представленные данные с результатами других вычислительных экспериментов подобного рода, полученных с помощью других параллельных численных кодов.

За рамками настоящей работы оказалось представляющее интерес аналогичное профилирование диссипативных солверов, реализованных в разрабатываемом пакете программ неявными методами - интегро-интерполяционным и конечно-элементным. Также интерес представляет и совместное профилирование параллельной TVD-схемы и диссипативных солверов при их работе в рамках общей схемы расщепления (суммарной аппроксимации). Кроме того, было бы весьма желательно в ходе профилирования использовать более реалистичную вычислительную нагрузку, коррелирующую с размером шаблона и точнее соответствующую тем или иным высокоточным схемам, действительно использующим большие сеточные шаблоны для построения аппроксимаций. Наконец, хотелось бы провести более масштабные вычислительные эксперименты с существенно большим количеством вычислительных узлов и параллельных процессов. Все это, наряду с другими возможными усовершенствованиями, входит в перспективу дальнейших работ по рассматриваемой теме.

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

1. Дьяченко С. В. Разработка пакета программ для трехмерного численного моделирования многофазных многокомпонентных течений в атомной энергетике // Вычислительные методы и программирование. 2014. Т. 15, Вып. 1. С. 162-182. [S.V. Dyachenko Development of a software package for 3D modeling of multiphase multicomponent flows in nuclear power engineering in Vychislitelnye metody i programmirovanie, 2014. Vol. 15, No. 1, P. 162-182.]

2. Harten A. High resolution schemes for hyperbolic conservation laws, J. Comput. Phys. 1983. Vol. 49, No. 3, P. 357-393.

3. Harten A. On a class of high resolution total-variation-stable finite-difference schemes, SIAMJ. Numer. Anal. 1984. Vol. 21, No. 1, P. 1-23.

4. Sweby P. K. High resolution schemes using flux limiters for hyperbolic conservation laws, SIAMJ. Numer. Anal. 1984. Vol. 21, No. 5, P. 995-1011.

5. Roe P. L. Some contributions to the modelling of discontinuous flows, in Lectures in Applied Mathematics. 1985. Vol. 22, P. 163-193, AMS, Providence, RI.

6. Yee H. C. A Class of High-Resolution Explicit and Implicit Shock-Capturing Methods, von Karman Institute for Fluid Dynamics Lecture Series. 1989. 04 (NASA TM-101088).

7. Hirsch C. Numerical Computation of Internal and External Flows. 1990. Vol. 1-2, John Wiley, Chichester, U.K.

8. Toro Е. F. Riemann Solvers and Numerical Methods for Fluid Dynamics. 1997. A Practical Introduction, Springer, Berlin.

9. Гасилов В. А., Дьяченко С. В. Квазимонотонная двумерная схема МГД для неструктурированных сеток // Математическое моделирование. 2005. Т. 17, № 12, С. 87109. [V.A. Gasilova, S.V. Dyachenko Quasimonotonous 2D

MHD scheme for unstructured meshes in Matemeticheskoe modelirovanie, 2005. Vol. 17, No. 12, P. 87-109]

10. Багдасаров Г. А., Дьяченко С. В., Ольховская О. Г.

Измерение производительности и масштабируемости программного комплекса MARPLE3D // Препринты ИПМ им. М.В.Келдыша. 2012. № 37, 22 с, URL: http://library.keldysh.ru/preprint.asp?id=2012-37 (дата обращения 02.02.2015) [G.A. Bagdasarov, S.V. Dyachenko, O.G. Olkhovskaya Program package MARPLE3D performance and scalability measurements, preprint No. 37 Keldysh Institute of applied mathematics, Moscow, 2012]

11. Flatten T., Morin A., Munkejord S. T. On Solutions to Equilibrium Problems for Systems of Stiffened Gases. SIAM Journal of Applied Mathematics. 2011. Vol. 71(1), P. 41-67

12. Van Leer B. Towards the ultimate conservative difference scheme III. Upstream-centered finite-difference schemes for ideal compressible flow., J. Comp. Phys. 1977. Vol. 23, P. 263-275.

13. Дьяченко С. В., Гасилова И. В., Дорофеева Е. Ю.

Разработка конвертера данных из интегрированной CAD-CAE системы Salome в прикладной код для численного решения начально-краевых задач методом сеток // Препринты ИПМ им. М.В.Келдыша. 2012. № 36, 25 с, URL: http://library.keldysh.ru/preprint.asp?id=2012-36 (дата обращения 02.02.2015) [S.V. Dyachenko, I.V. Gasilova, E.Ju. Dorofeeva Development of a data converter from a integrated CAD-CAE system Salome into an application code for mesh-based numerical solution of initial-boundary value problem, preprint No. 36 Keldysh Institute of applied mathematics, Moscow, 2012]

ОБ АВТОРАХ

ДЬЯЧЕНКО Сергей Валерьевич, ст. науч. сотрудник ГНЦ РФ-ФЭИ. Канд. физ.-мат. наук по спец. 05.13.18 (Ин-т мат. модел. РАН, 2006). Науч. интересы: мат. моделир.; числ. методы; компьютерное моделир. физ. процессов; парал. программирование; технол. парал. выч.; высокопроизв. выч. системы; современные технол. разработки ПО и программирования.

КОЧКАРЕВА Яна Викторовна, инж.-иссл. ГНЦ РФ-ФЭИ. Дипл. прикл. мат-ка (ИАТЭ НИЯУ МИФИ, 2010). Науч. интересы: мат. моделир.; числ. методы; компьютерное моде-лир. физ. процессов.

METADATA

Title: Investigation of the influence of numerical scheme stencil size on productivity of parallel hydrodynamic code.

Authors: S. V. Dyachenko1, Ya. V. Kochkareva2 Affiliation:

1 Institute for Physics and Power Engineering named after A.I. Leypunsky (SSC RF - IPPE), Russia.

2 Institute for Physics and Power Engineering named after A.I. Leypunsky (SSC RF - IPPE), Russia.

Email: 1 dyachenko.sergey@gmail.com,

2 yakochkareva@ippe.ru. Language: Russian.

Source: Vestnik UGATU (scientific journal of Ufa State Aviation Technical University), vol. 19, no. 2 (68), pp. 169-178, 2015. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print).

Abstract: In this paper we investigate the influence of numerical scheme stencil size on productivity of parallel hydrody-namic code. The code is developed in the Institute for Physics and Power Engineering (IPPE) and aimed on modelling multi-phase flows in nuclear power engineering. The model of distributed memory and ghost cells method are used in numerical code. MPI is used for exchange data. Thus numerical scheme stencil size affect essentially on exchange data rate between parallel processes and code performance. Analysis of numerical experiments results for different number of mesh cells that are accounted for one process and for different numerical scheme stencil sizes are adduced in this paper in terms of one particular nuclear power engineering problem.

Key words: Numerical scheme; numerical scheme stencil; approximation order; ghost cells; cell padding; numerical simulation; parallel computing; distributed memory; MPI; hydrodynamic code; productivity; efficiency; data rate; atomic power engineering; multiphase flow.

About authors:

DYACHENKO, Sergey Valeryevich, Senior scientist in IPPE. Cand. of phys. and math. sci. (Institute for Mathematical Modelling RAS, 2006). Scientific interests: mathematical modeling; numerical methods; computer modeling of physical processes; parallel programming; parallel computing technologies; high performance computing; modern software development and programming technologies. KOCHKAREVA, Yana Viktorovna, research engineer in IPPE. Dipl. applied math. (Obninsk inst. of atomic power engineering., 2010). Scientific interests: mathematical modeling; numerical methods; computer modeling of physical processes.

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