Параллельная реализация локального ансамблевого фильтра Калмана для усвоения атмосферных данных - page 5

Параллельная реализация локального ансамблевого фильтра Калмана …
5
3) выбрать из
o
g
y
локальные наблюдения
y
o
, находящиеся в круге
заданного радиуса, центр которого — в рассматриваемой точке
сетки;
4) вычислить матрицу
( )
T 1
=
b
C Y R
;
5) вычислить матрицу
(
)
1
= ( 1) / ρ
a
b
P k I
CY
+
%
,
ρ
— множитель
инфляции ансамбля;
6) вычислить матрицу
1/2
= ( 1)
a
a
W k P
− ⎣
%
;
7) вычислить вектор среднего анализа в пространстве ансамбля
(
)
=
a
b
a
o
w P C y y
%
и добавить к каждому столбцу матрицы
W
a
(получим матрицу
w
a
);
8) вычислить векторы анализов
=
b
a
b a
x x X w
+
.
Один из опытов реализации схемы усвоения с помощью LETKF
описан в статье [6]. В этой работе приводится описание реализации, в
которой применялось гибридное распараллеливание с использованием
библиотек MPI и OpenMP. Вся расчетная область разбивалась на гори-
зонтальные широтные полоски для распараллеливания с помощью
MPI. Внутри каждой локальной области циклы по вертикальной коор-
динате были распараллелены с помощью OpenMP. Для различных со-
четаний количества членов ансамбля и количества процессоров была
достигнута параллельная эффективность, близкая к 100 % [6].
Как показали исследования [7], для эффективного выполнения
счета задачи на всех доступных узлах вычислительной системы не-
обходим алгоритм сбалансированной нагрузки узлов. Простое деле-
ние расчетной области на равномерные широтно-долготные квадраты
при увеличении числа доступных процессоров не дает ожидаемого
выигрыша. Происходит это ввиду возрастающего количества пере-
сылок и различного количества обрабатываемых данных: процессо-
ры, которые обрабатывают хорошо наблюдаемые регионы, тратят на
расчет гораздо больше времени, чем те, что обрабатывают регионы с
малым количеством наблюдений.
Для оптимального с этой точки зрения разбиения расчетной об-
ласти на заданное количество регионов авторами [7] была применена
бисекция. Первоначально авторы изучили распределение наблюде-
ний по локальным областям. Далее, учитывая это распределение, в
Северном и Южном полушариях были найдены по два таких разбие-
ния, при которых наблюдалась наименьшая разница между времена-
ми, затраченными на обработку каждым из двух процессоров (от-
дельно в Северном и отдельно в Южном полушариях). После этого
регион, в котором время счета было больше, делился на две меньшие
1,2,3,4 6,7,8,9,10,11,12
Powered by FlippingBook