УДК 504.3.054, 519.6
РАСПАРАЛЛЕЛИВАНИЕ ПРОСТРАНСТВЕННОЙ МОДЕЛИ ПЕРЕНОСА ПРИМЕСИ НА СИСТЕМАХ С РАСПРЕДЕЛЕННОЙ ПАМЯТЬЮ С ПОМОЩЬЮ ОДНО- И ДВУМЕРНОЙ ДЕКОМПОЗИЦИИ ОБЛАСТИ
Д.А. Великое, А.В. Старченко
PARALLELING OF THE THREE-DIMENSIONAL MODEL OF THE ADMIXTURE TRANSFER IN THE DISTRIBUTED MEMORY SYSTEMS USING ONE-DIMENSIONAL AND TWO-DIMENSIONAL DOMAIN DECOMPOSITION
D.A. Belikov, A.V. Starchenko
Представлено распараллеливание вычислительного алгоритма решения системы адвективно-диффузионно-кинетических уравнений математической модели переноса малых составляющих примеси с учетом их химических взаимодействий в приземном слое атмосферы. Распараллеливание основано на одно- или двумерной декомпозиции расчетной области с использованием синхронных операций для межпроцессорной передачи данных. Производительность разработанного параллельного алгоритма при различных способах декомпозиции и организации обменов оценена экспериментально на кластере Томского государственного университета СКИФ Cyberia.
Ключевые слова: параллельные вычисления, модель переноса примеси
In the article the authors present paralleling of the computing algorithm of the solution of the system of the advective-diffusive-kinetic equations of the mathematical model of the transfer of the minor constituents of the admixture taking into consideration their chemical interaction in the atmosphere bottom layer. The paralleling is based on the one- or two-dimensional decomposition of the rated domain using the synchronous operations for the interprocessor data transfer. The efficiency of the worked out parallel algorithm using various decomposition modes and transput organization were tested using the cluster of the Tomsk State University «СКИФ Cyberia»(SKIF).
Keywords: parallel computing, admixture-transfer model
Введение
Подробное моделирование протекания сложных атмосферных процессов в региональных масштабах требует значительных вычислительных затрат. При этом затраты со временем будут только возрастать, поскольку развитие моделей подобного класса идет по пути повышения пространственного разрешения и включения в рассмотрение более широкого спектра атмосферных явлений [1].
Эффективным способом сокращения времени расчета, активно развиваемым в настоящее время, является применение вычислительных систем с параллельной архитектурой.
Наиболее общим подходом при создании параллельных программ на системах с распределенной памятью является стандарт MPI (Message Passing Interface), разработанный в 1993 году в результате обобщения и стандартизации различных библиотек передачи сообщений [2]. Однако его практическое применение сопровождается необходимостью решения не всегда тривиальных задач, а для достижения положительного результата (получения параллельных программ с эффективностью, близкой к единице) требуется учитывать особенности алгоритма решения задачи и вычислительной системы [3].
Универсальным подходом при реализации моделей атмосферного пограничного слоя и переноса примеси на вычислительных системах с параллельной архитектурой является распараллеливание по данным. При этом область исследования разделяется на подобласти в соответствии с числом доступных процессоров, и каждый процессор одновременно с другими производит вычисления в своей подобласти. Тогда объемы вычислений для всех процессов примерно равны и напрямую зависят от равномерности декомпозиции области исследования. Хотя при расчете химических реакций уровни нагрузки на процессы, работающие с подобластями, характеризующимися большим количеством источников примеси (урбанизированная территория), могут быть выше, чем у процессов, имеющих дело с подобластью с меньшим количеством источников (сельская местность) [1].
При использовании парадигмы распараллеливания по данным для моделирования пространственных процессов в атмосфере декомпозиция расчетной области может быть проведена по трем координатным направлениям. Однако разбиение области исследования по вертикальной координате представляется менее эффективной, поскольку в мезомасштабных метеорологических моделях или фотохимических моделях качества атмосферного воздуха необходимо вычислять интегральные характеристики в вертикальном столбе воздуха [1, 4, 5], что потребует межпроцессорных пересылок и негативно скажется на ускорении параллельного алгоритма. Поэтому двумерная декомпозиция по двум горизонтальным координатам является оптимальным способом распараллеливания, поскольку обеспечивает масштабируемость и гибкость параллельной программы при проведении вычислений на современных многопроцессорных кластерных системах. Заметим, однако, что при небольшом числе используемых процессоров эффективность параллельных программ, построенных с применением одномерной и двумерной декомпозиции области исследования, отличается незначительно [6]. Это следует также принимать в расчет, поскольку трудоемкость создания параллельных программ для решения сеточных уравнений с использованием более простой одномерной декомпозиции значительно ниже.
Данная работа посвящена теоретическому анализу и апробации параллельных алгоритмов, основанных на одномерной и двумерной декомпозиции сеточной области, для численного решения уравнений пространственной прогностической модели переноса примеси с учетом химических реакций.
1. Прогностическая пространственная модель переноса
примеси с учетом химических и фотохимических реакций
Для расчета концентрации компонентов примеси с учетом химических взаимодействий между ними применяется эйлерова модель турбулентной диффузии, включающая транспортные уравнения с описанием адвекции, турбулентной диффузии и химических реакций
[5]:
dt дх ду dz дх ду dz
(1)
Здесь С{,С1 - осредненная и пульсационная составляющие концентрации ьой компоненты примеси; IV, V) - осредненная и пульсационная составляющие вертикальной компоненты скорости примеси; С/, - осредненные и пульсационные составляющие горизонтальной
скорости; () - осреднение по Рейнольдсу, Бг - источниковый член, представляющий выбросы компонентов примеси в атмосферу; Щ описывает образование и трансформацию вещества за счет химических и фотохимических реакций с участием компонентов примеси; п8 - количество химических компонентов примеси, принятых к рассмотрению в выбранной схеме химических реакций.
Уравнения (1) незамкнуты, так как в них кроме концентрации Сг , которую необходимо рассчитать, присутствуют дополнительные неизвестные - корреляции (с^), (с{у), (сгио), моделирующие турбулентную диффузию примеси. В данной работе для их определения используются замыкающие соотношения, которые получаются в рамках равновесного приближения для дифференциальных уравнений переноса турбулентных потоков массы в условиях локальной однородности атмосферного пограничного слоя [7].
В настоящее время в рассматриваемой фотохимической модели адаптировано три сокращенные кинетические схемы [5]: модуль АШСНЕМ (п8 = 10) [8], механизм 0118 (п8 = 11) [9], 1ШЖ (п8 = 11)[Ю].
2. Начальные и граничные условия
На нижней границе области исследования ставятся граничные условия, моделирующие сухое осаждение компонентов примеси [11]. На верхней границе для концентраций С{ применяются простые градиентные условия. На боковых границах расчетной области используются условия радиационного типа, обеспечивающие выход возмущений, сгенерировавшихся в области (погрешность метода и округления), за ее пределы без отражения. При инициализации модели считается, что во всей расчетной области концентрации рассматриваемых компонентов примеси равны начальным фоновым.
Расчет полей метеорологических характеристик осуществляется при помощи мезомас-штабной метеорологической модели [4] или модели атмосферного пограничного слоя в однородном приближении [12].
3. Метод расчета
Дискретизация дифференциальных уравнений модели переноса примеси (1) осуществлена с использованием метода конечного объема на основе схем второго порядка аппроксимации для диффузионных (центрально-разностная схема) и адвективных (МШ-схема Ван-Лира [13]) членов уравнений переноса на равномерной в горизонтальных направлениях (Ох и Оу) и неравномерной, сгущающейся к поверхности конечно-разностной сетке.
Дискретный аналог уравнения переноса (1) при фиксированном индексе 1 < г < п5, 5 = 5г,Д = Дг,Ф = С'г можно записать в виде:
где
а°Р - {Щ)кРАхАуАг + А + £>ь] Ф*+1 = А$г+1 + А>Ф|+1+
+ а^Ф^л + °лгФлг + + ат^т + ав^в ~ врФр + Ь,
а,Е = тах(-^е, 0) + £>е; а\у = тах(^то, 0) + адг = тах(—1^, 0) + £>„;
05 = тах(^, 0) + Д,; ат = тах(-^, 0); ав = тах(Рь, 0);
Ь = (($)£ + (К)кР) АхАуАг + Вт*Р; а°Р = Ах^Аг.
(2)
Здесь Фр+1 « Ф (tk + At,Xi,yj,zm), к -номер слоя по времени, AxAyAz - размеры конечного объема с центром в точке Р (рис. 1); центры соседних конечных объемов обозначены по направлениям сторон све-та Е (xi + Ах/2, y3,zm), W (ж* - Аж/2,y3,zm),
N (хi, у3 + Ay/2, zm), S (xi, yj - Ау/2, zm). Для центров, расположенных выше конечных объемов, используется Т (xi,y3,zm + Az/2), а ниже - В (Xi, y3iZm — Az/2). Центры соответствующих граней конечного объема обозначены n, s, е, -ш, £, Ь. Расходы и эффективные коэффициенты диффузии на соответствующих гранях конечного объема записаны как F и D.
Под обозначением Dm* понимается конечнообъемная аппроксимация смешанных производных по x,y,z от Ф на временном слое к и сумма наклонов, получаемых в MLU-представлении адвективных потоков.
Используемая явно-неявная разностная схема (2) позволяет неявным образом провести расчет в вертикальных столбцах, и тем самым избежать существенных ограничений на шаг по времени, вследствие малых вертикальных размеров вычислительных ячеек, высота которых из-за сгущения вычислительной сетки к поверхности в первом узле составляет всего 2 м. В то же время горизонтальные размеры сетки (300 - 500 м) позволяют использовать явную вычислительную схему. Такой подход обеспечивает высокую скорость вычислений вследствие применения экономичного метода прогонки для решения на каждом шаге по времени систем линейных уравнений с трехдиагональной матрицей (2).
Расчетная область представляет собой часть пограничного слоя атмосферы размером 50 х 50 км на поверхности и 2 км в высоту, выбранную таким образом, что ее квадратное основание содержит участок подстилающей поверхности с крупным населенным пунктом в центре. В расчете учитывается эмиссия примеси от линейных, площадных и точечных источников, находящихся на поверности или приподнятых над землей. Область покрывается вычислительной сеткой с размерами: Nx х Ny х Nz = 100 х 100 х 30 узлов. Период прогностического моделирования обычно составляет 48 часов. Использовался шаг по времени Atc = 6 сек для решения уравнений химической кинетики и Atc = 60 сек для интегрирования адвективно-диффузионных процессов. Поля метеорологических характеристик, необходимые для проведения расчета, подготавливались перед началом вычислений полей концентраций [4, 12].
Таким образом, в данной постановке для исследования распространения и рассеяния основных загрязнителей воздуха над крупным индустриальным центром требуется решить порядка десяти пространственных нестационарных адвективно-диффузионных уравнений переноса с учетом химических реакций. Основным направлением использования данной модели является краткосрочный прогноз качества атмосферного воздуха над урбанизированной территорией, поэтому важно обеспечить наименьшее время вычислений. Однако современные рабочие станции и сервера даже с многоядерной архитектурой не способны обеспечить в полной мере требуемого быстродействия при использовании обыкновенной последовательной версии расчетной программы. Но широко распространенные в наши дни
Рис. 1. Вычислительная ячейка с обозначением центров используемых по шаблону ячеек и граней выбранного конечного объема
системы с параллельной архитектурой, в особенности кластеры [14], делают возможным эффективно сократить время вычислений за счет распараллеливания алгоритма.
4. Распараллеливание численного алгоритма
При параллельной реализации алгоритма очень важно выбрать оптимальный способ распределения нагрузки между процессорами, который определяется особенностями самого алгоритма, архитектурой вычислительной системы, количеством доступных для расчета процессоров, а также соображениями физического и вычислительного характера.
Рассмотрим особенности разработки параллельных программ, а также оценим ускорение и эффективность при одномерной и двумерной декомпозиции сеточной области. Схема расчетной области представлена на рис. 2.
Непосредственно область расчета (2 < х < Ых + 1) х(2 < у < Му + 1) окаймлена по периметру фиктивными ячейками вследствие используемого расчетного шаблона и для обеспечения второго порядка аппроксимации граничных условий.
4.1. Одномерная декомпозиция
В случае одномерной декомпозиции расчетная область разделяется на блочные столбцы или строки (совокупности узлов расчетной сетки, попавших на один процессорный элемент) по одной из горизонтальных координат, выбор которой определяется особенностями хранения данных в оперативной памяти. В результате каждому вычислительному процессору предоставляется участок подстилающей поверхности и столб атмосферы над ним. На этапе инициализации процессы получают информацию о физических параметрах своей подобласти (метеорологические данные, параметры подстилающей поверхности, данные об источниках и т.д.) и подготавливаются к вычислениям.
При расчете приграничных значений в силу используемого разностного шаблона ^расширенный» крест - рис. 3) процессы нуждаются в данных, которые находятся в локальной памяти соседних процессов, поэтому возникает необходимость обеспечения обменов данными из приграничных ячеек между соседними процессами в течение всего времени расчета. Рассмотрим пример декомпозиции сеточной области в случае использования двух процессоров (нулевого и первого), представленный на рис. 4. Вдоль горизонтального направления Ож, по которому производится декомпозиция, выполняется перенумерация узлов сетки сле-
Рис. 2. Схема расчетной области
дующим образом. Нулевой вычислительный процесс ведет расчеты в подобласти шириной Рто = Мх/2 с нумерацией узлов по оси Ох со второго до узла с номером 7\Гж/2 + 1 (под делением подразумевается целочисленная операция).
х
Рис. 3. Вычислительный шаблон разностной схемы вблизи границы раздела
области на подобласти
Рис. 4. Схема одномерной декомпозиции параллельной реализации явно-неявного
метода на примере двух процессоров
Вычислительная область нулевого процесса ограничивается справа двумя фиктивными сечениями, в которые заносятся данные, рассчитываемые процессом с номером на единицу большим (первым процессом). Таким образом, область, с которой работает нулевой процессор, состоит из Рт0 + 3 сечений с нумерацией от А® = 1 до В® = Рто + 3 = іУж/2 + 3. Аналогичным образом, расчетная область первого процессора, состоит из Рт\ + 3 сечений с нумерацией от А\ = N^/2 до В\ = Рт\ + 2 = Их + 2 рис. 4.
В общем случае, при декомпозиции на р процессов ширина расчетной области для любого у ого процесса, имеет вид:
Здесь также подразумевается целочисленное деление. В случае, если Ых не делится нацело на число используемых процессоров р, то оставшиеся от деления полосы в количестве Нх — ^х/р дораспределяются по процессам, т.е. часть процессов имеет ширину расчетной области Рт3 = -АГж/р, & оставшиеся - Ртэ = ^/р + 1. При этом, естественно, выполняется условие:
Первоначально процедура обмена сеточными значениями искомой функции между соседними (по направлению декомпозиции расчетной области) процессами была реализована при помощи двух пар последовательных блокирующихся операций МР1_8ЕМБ11ЕСУ. Во время первой серии операций каждый процессор передает свои правые приграничные сечения, в данном случае Арто, -Арш +1, процессу с номером на единицу большему и принимает левые граничные сечения А\ от процесса с номером на единицу меньшего (рис. 4). Вторая часть передачи данных выполняется в обратном направлении: процессоры передают левые приграничные сечение А\^ А\ своим предыдущим по номерам процессам и принимают правые граничные сечения В$, В± от последующих по номерам процессоров [6]. Обмены осуществляются на каждом временном шаге после расчета новых значений концентраций в подобласти. При этом индекс пересылаемого массива концентраций, соответствующий координате, по которой производится разбиение области, следует делать последним, поскольку это обеспечивает хранение пересылаемых элементов в области памяти последовательно и помогает получить более простой и быстрый доступ к ним [6].
Такой подход легко реализуется и гарантированно обеспечивает синхронизацию между одновременно выполняемыми процессами при расчете [2]. В то же время он не является оптимальным, поскольку каждый процесс вынужден бездействовать до момента завершения обменов, т.е. пока все процессорные элементы не получат отправленные им сообщения.
Устранить указанный выше недостаток можно используя неблокирующиеся или асинхронные операции обмена МР1__18ЕКБ и МР1_ШЕСУ. В этом случае операции получения и отправки сообщений идут во время расчета и не требуют ожидания их завершения.
4.2. Двумерная декомпозиция
Двумерная декомпозиция предполагает лучшую масштабируемость задачи, решаемой конечно-разностными или конечноэлементными методами на многопроцессорных вычислительных системах, поскольку такой подход позволяет задействовать большее число процессоров. Так, при некотором ограничении на ширину обрабатываемой сеточной области при одномерном разбиении можно использовать р процессоров, а при двумерном -р2. Теоретиче-
(3)
р-1
(4)
3=0
ски при увеличении числа процессоров и заданной размерности задачи время на пересылку будет сокращаться. Тогда, начиная с некоторой размерности и некоторого числа процессоров, для данной задачи более эффективным является двумерное разбиение области [6].
Двумерное разбиение можно рассматривать как два одномерных разбиения, выполненных независимо вдоль координатных направлений Ох и Оу на рх и ру (рх х ру = р) процессоров соответственно рис. 5.
Реализация двумерной декомпозиции с использованием стандарта MPI [2] существенно отличается от одномерной. Во-первых, необходимо организовать двумерную топологию одновременно выполняемых процессов. В данной работе выбрана декартова топология. После инициализации MPI и определения числа задействованных процессоров вызывается процедура MPI_Dims_Create, подбирающая оптимальные параметры рх х ру = р для двумерной декомпозиции, используя которые процедура MPI_Cart_Create создает декартову топологию с перенумерацией процессов. Далее MPI_Comm_Rank и MPI__Cart_Shift позволяют определить новый номер процесса и новые номера соседних процессоров уже в декартовой топологии. После этого вычисляются размеры подобластей для каждого процесса. Такой подход универсален и позволяет организовать вычисления на любом четном числе процессоров, но для сбалансированного распределения нагрузки рекомендуется выбирать р, удовлетворяющее условию:
Рх=Ру = л/р-
Во-вторых, в двумерной декомпозиции более сложной является реализация межпроцессорных обменов. Если в одномерном случае всегда можно выбрать направление декомпозиции таким образом, что элементы трехмерного массива концентрации вдоль границы будут располагаться в памяти последовательно друг за другом, что, несомненно, будет удобным для формирования пересылаемого сообщения, то при двумерной декомпозиции добиться этого для всех направлений, по которым проводится декомпозиция, не представляется возможным. Поэтому для организации обменов при помощи процедуры MPI_Type_Hvector создаются новые типы данных - трехмерные массивы, представляющие собой сечения подобласти, выполненные плоскостями X = const и Y = const (h_ vector и v_ vector (рис. 5)), с размерами (Nz, 1, Ny/py) и (Nz,Nx/px, 1). Пересылка данных между процессорами осуществляется такими блоками при помощи блокирующих операций обмена MPI_SENDRECV.
В-третьих, при двумерной декомпозиции непросто осуществить сбор решения на одном процессорном элементе. Для сбора решения на одном процессорном элементе, например, перед выдачей в файл процессы формируют одномерные массивы данных и пересылают процессорному элементу с номером <0», который собирает полученные данные и вновь их переписывает в соответствующем порядке в трехмерный массив.
Рис. 5. Схема двумерной декомпозиции параллельной реализации явно-неявного метода на примере четырех процессоров (р = 4, Рх = 2 ,ру = 2)
5. Ускорение параллельной программы
В работе проведено экспериментальное исследование ускорения параллельной программы по отношению к последовательной и ее эффективность. С этой целью была проведена серия расчетов на кластере ТГУ СКИФ СуЬепа при следующих условиях: период моделирования 1 час, вычислительная сетка 100 х 100 х 30 узлов, кинетическая схема химических и фотохимических реакций - СИЭ [9]. Для обеспечения сбалансированной нагрузки и достижения тем самым наилучшей производительности расчеты проводились с использованием такого числа процессоров, чтобы количество узлов сетки расчетной области, обрабатываемых каждым процессорным элементом, было одинаковым. Для одномерной декомпозиции использовалось 1, 2, 4, 10, 20, 25 и 50 процессоров вычислительного кластера, для двумерной
- 1, 2, 4, 16, 25, 64. Графики достигнутого ускорения представлены на рис. 6.
Численное решение используемых в модели уравнений переноса и химических превращений представляет собой достаточно трудоемкую в вычислительном плане задачу, поэтому доля временных затрат на пересылки в общем времени работы программы незначительна. В результате при использовании малого числа процессоров (2 или 4) наблюдается практически линейное равное для обеих конфигураций ускорении. Действительно, при использовании 2-х процессоров двумерная декомпозиция сводится к одномерной и ни чем от нее не отличается.
При задействовании десяти и более процессоров ситуация становится более определенной. При использовании блокирующихся операций при увеличении числа межпроцессорных обменов увеличивается время простоя процессоров в ожидании завершения передачи сообщения. Эффективность одномерной конфигурации снижается, что особенно отчетливо видно на фоне более высокой производительности алгоритма с двумерной декомпозицией.
При двумерной декомпозиции увеличение числа процессов для решения задачи приводит к уменьшению размера пересылаемого сообщения при неизменном числе обменов на каждый процессор (общее количество обменов растет вместе с числом задействованных процессов), поэтому производительность продолжает расти. При использовании 64 процессоров ускорение составляет 54, а эффективность соответственно 0,84.
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71
Количество процессоров
Рис. 6. Ускорение параллельной программы для различных вариантов
декомпозиции
Таким образом, для обеспечения высокой производительности параллельной программы с двумерной декомпозицией на кластере ТГУ СКИФ СуЬепа принципиальное значение имеет размер пересылаемого сообщения (количество пересылаемых элементов), а не общее количество обменов.
Вычислительная система ТГУ СКИФ СуЬепа собрана из двухпроцессорных узлов и сконфигурирована так, что при запуске задачи в стандартном режиме процессы распределяются по принципу минимизации количества работающих узлов, т.е. задействуются оба процессора на узле. Такой подход способствует экономии ресурсов, но не оптимален с точки зрения быстродействия, поскольку в этом случае оба процессора на одном узле используют одну сетевую карту и один канал связи, а также делят между собой оперативную память. Это, прежде всего, затрудняет коммуникационные обмены между процессами, что в конечном итоге, сказывается на производительности вычислений.
При помощи специальных директив ОС 1лпих возможно использование в параллельных вычислениях только одного процессора на узле. Проведенная серия вычислений с использованием только одного и двух процессоров на узле показывает, что эффективность рассматриваемых способов декомпозиции сеточной области в этом случае возрастает (см. пунктирные кривые на рис. 7). Особенно заметен прогресс для одномерной декомпозиции, эффективность которой увеличивается на 30 - 45 %. Причина кроется в следующем. При синхронных обменах оба процессора на узле вынуждены одновременно использовать один канал связи, следовательно, скорость обменов уменьшается примерно в 2 раза. В случае запуска программы только на одном процессоре на узле этой проблемы нет, так как нет конкурента, претендующего на сетевые ресурсы. Двумерная конфигурация также показывает более высокие результаты, эффективность достигает 0,95. Но наибольший прирост производительности (20 - 30 %) наблюдается при использовании 4-25 процессоров, когда размеры пересылаемых блоков значительны, и двухпроцессорная конфигурация вычислительного узла заметно замедляет передачу данных другим вычислительным узлам.
Таким образом, использование двухпроцессорных вычислительных узлов с одной сетевой картой на узле сужает канал передачи сообщений и уменьшает скорость обменов при использовании блокирующихся операций, особенно при одномерной декомпозиции. Возможно, для конструирования высокоэффективной параллельной программы следует использовать асинхронные обмены, которые более рационально используют коммуникационную среду. При обеспечении высокой скорости передачи сообщений эффективность разных подходов при организации межпроцессорных обменов примерно одинакова. Но и в этом случае предпочтительнее использовать более масштабируемую двумерную декомпозицию, позволяющую получить решение за минимальное время. Так, один час моделирования на 64 процессорах выполняется за 21 секунду, а на одном - за 19 минут.
Таким образом, в данной работе проведено исследование эффективности одно- или двумерной декомпозиции расчетной области для распараллеливания алгоритма решения системы адвективно-диффузионно-кинетических уравнений в математической модели переноса примеси. Двумерная декомпозиция производится по двум горизонтальным координатам, одномерная - по одной. Межпроцессорная передача данных основана на синхронных операциях обмена. Выявлено, что производительность параллельной программы с двумерной декомпозицией выше, чем с одномерной. А ее эффективность начинает расти при использовании 16-ти и более процессоров. При одномерной декомпозиции эффективность с увеличением доступных для вычислений процессоров наоборот падает.
Применение двухпроцессорных вычислительных узлов с одним каналом передачи сообщений уменьшает скорость обменов при использовании блокирующих операций при рассмотренных способах декомпозиции. Применение специальных директив для задействования при вычислениях только одного процессора на узле позволяет увеличить производи-
—♦—Одномерная декомпозиция Двумерная декомпозиция —Одномерная декомпозиция (1 проц/узел) —Двумерная декомпозиция (1 проц/узел)
Количество процессоров
Рис. 7. Эффективность параллельной программы для различных вариантов
декомпозиции
тельность параллельной программы. В данном случае прирост эффективности программы с одномерной декомпозицией составляет 30 - 45 %, с двумерной - 20 - 30 %.
Данная модель и разработанный алгоритм решения будут использованы в создаваемой в Томском государственном университете информационно-вычислительной системе для контроля и прогноза качества воздуха над городом Томском. Высокая эффективность численного алгоритма открывает широкие возможности для модификации модели: укрупнения расчетной области и увеличения разрешения сетки, включения более сложных механизмов химических реакций и других усовершенствований.
Статья выполнена при поддержке РФФИ грант № 07-05-01126-а и рекомендована к печати программным комитетом международной научной конференции <Параллельные вычислительные технологии 2009>
Литература
1. Dabdub, D. Parallel Computation in Atmospheric Chemical Modeling / D. Dabdub, J.H. Seinfeld // Parallel Computing. - 1996. - V. 22. - P. Ill - 130.
2. Gropp, W. Using MPI-2: Portable Parallel Programming with the Message-Passing Interface / W. Gropp, E. Lusk, A. Skjellum. - Cambridge, MA: MIT Press, 1999.
3. Воеводин, B.B. Параллельные вычисления / B.B. Воеводин, Вл.В. Воеводин. - СПб.: БХВ-Петербург, 2002.
4. Есаулов, А.О. Использование параллельных вычислений при моделировании мезомае-штабных атмосферных процессов /А.О. Есаулов // Труды Второй Сибирской школы-семинара по параллельным вычислениям. - Томск, 2004. - С. 100 - 107.
5. Беликов, Д.А. Исследование образования вторичных загрязнителей (озона) в атмосфере г. Томска / Д.А. Беликов, А.В. Старченко // Оптика атмосферы и океана. - 2005. - Т. 18, № 05 - 06. - С. 435 - 443.
6. Толстых, М.А\ Особенности использования MPI для распараллеливания задач математической физики на вычислительных системах с невысокой скоростью обменов между процессорами / М.А. Толстых // Сибирская школа-семинар по параллельным вычислениям. - Томск, 2006. - С. 99 - 125.
7. Беликов, Д.А. Численная модель турбулентного переноса примеси в пограничном слое атмосферы / Д.А. Беликов, А.В. Старченко // Оптика атмосферы и океана. - 2007. -Т. 20, № 8. - С. 667 - 673.
8. Morison, R.P. Atmospheric modeling of air pollution as a tool for environmental prediction management / R.P. Morison, L.M. Leslie, M.S. Speer // Meteorology and atmospheric physics. - 2002. - V. 80. - P. 141 - 151.
9. Hurley, P.J. The Air Pollution Model (TAPM) Version 2 / P.J. Hurley // CSIRO Atmospheric Research Technical Paper. - 2002. - N. 55. - P. 37.
10. Короленок, E.B. Моделирование приземных концентраций озона городского региона /
Е.В. Короленок, О.В. Нагорнов // Математическое моделирование. - 2002. - Т. 14, № 4.
- С. 80 - 94.
11. Perego, S. Metphomod - a Numerical Mesoscale Model for Simulation of Regional Photosmog in Complex Terrain: Model Description and Application during Pollumet 1993 (Switzerland) / S. Perego // Meteorology and Atmospheric Physic. - 1999. - V. 70. - P. 43 - 69.
12. Старченко, А.В. Численная модель для оперативного контроля уровня загрязнения городского воздуха / А.В. Старченко, Д.А. Беликов // Оптика атмосферы и океана. -2003. - Т. 16, № 7. - С. 657 - 665.
13. Van Leer, В. Towards the ultimate conservative difference scheme. Part IV: A new approach to numerical convection / B. Van Leer // J.Comput. Phys. - 1977. - V. 23. - P. 276 - 299.
14. Электронный ресурс. Режим доступа (http://parallel.ru/).
Кафедра вычислительной математики и компьютерного моделирования,
Томский государственный университет
[email protected], [email protected]
Поступила в редакцию 2 марта 2009 г.