Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2011, № 3 (2), с. 194-200
УДК 519.6
ПАРАЛЛЕЛЬНОЕ ПОСТРОЕНИЕ МНОЖЕСТВА ДОСТИЖИМОСТИ ВЫСОКОМАНЕВРЕННОГО ЛЕТАТЕЛЬНОГО АППАРАТА МЕТОДОМ «МУЛЬТИФИНИША»*
© 2011 г. Е.М. Воронов, А.П. Карпенко, В.А. Федин
МГТУ им. Н.Э. Баумана
Поступила в редакцию 10.12.2011
Рассматривается задача построения области достижимости динамической системы и подход к решению этой задачи на основе метода «мультифиниша». Предлагается метод балансировки загрузки многопроцессорной вычислительной системы при параллельном решении задачи на основе указанного подхода. Описывается реализация метода средствами коммуникационной библиотеки MPI. Приводятся результаты параллельного решения задачи для системы, описывающей динамику высокоманевренного летательного аппарата.
Ключевые слова: область достижимости динамической системы, летательный аппарат, балансировка загрузки многопроцессорной вычислительной системы.
Введение
Во многих прикладных областях, использующих модели исследуемых объектов в виде обыкновенных дифференциальных уравнений (ОДУ), возникает задача построения области достижимости соответствующей динамической системы. Например, такая задача возникает при решении проблемы траекторной безопасности летательного аппарата [1], а также при решении близкой задачи о посадке вертолета на подвижный носитель [2]. Важной особенностью задачи построения области достижимости является то, что ее часто приходится решать в режиме реального времени.
Аналитическое построение области достижимости удается лишь в простейших случаях, не представляющих практического интереса. Поэтому для построения этой области приходится использовать численные методы.
Дискретную аппроксимацию области достижимости можно построить путем многократного интегрирования модельной системы ОДУ при различных управлениях (метод мультифиниша). В практических задачах типичной является ситуация, когда основные вычислительные затраты при построении области достижимости методом мультифиниша обусловлены затратами
* Статья рекомендована к публикации программным комитетом Международной научной конференции «Параллельные вычислительные технологии 2010».
на интегрирование указанной системы ОДУ. Поэтому ускорить вычисления можно за счет параллельного интегрирования этой системы ОДУ.
К параллельным методам интегрирования ОДУ относятся блочные методы, а также методы на основе геометрической схемы декомпозиции системы ОДУ.
Методы первого класса основаны на использовании одношаговых и многошаговых блочных формул интегрирования ОДУ, например, формулы Адамса-Башфорта [3]. В вычислительной практике обычно используются не более чем 4-точечные блочные методы. Поэтому потенциальный параллелизм этой группы методов невелик.
Идея методов второго класса состоит в разбиении модельной системы ОДУ на подсистемы, количество которых равно количеству используемых процессоров вычислительной системы, и интегрировании каждой из этих подсистем ОДУ на своем процессоре. В силу, как правило, относительно невысокой размерности вектора фазовых координат исследуемой динамической системы данные методы также принципиально не могут обеспечить значительное ускорение.
В работе полагается, что используемая многопроцессорная вычислительная система (МВС) представляет собой однородную М1МБ-систему с распределенной памятью [4]. Поскольку ме-
тод мультифиниша использует интегрирование совокупности систем модельных ОДУ, естественным в данном случае является распараллеливание на основе разделения этой совокупности на наборы, количество которых равно количеству процессоров в используемой МВС.
В работе рассматривается проблема балансировки загрузки МВС при распараллеливании метода мультифиниша по указанной схеме, получены оценки эффективности параллельных вычислений. В качестве примера рассмотрена задача построения области достижимости для летательного аппарата, описываемого системой ОДУ шестого порядка.
1. Постановка задачи
Рассмотрим динамическую систему •
X1 = A(t, x1» •••» Xn» «1» •••» «mX X1(0) = X1°»
<••• (1)
.Xn = fn(t» X1» •••» Xn» «1» •••» «m)» Xn(0) = X°n »
где X = X(t) = (xt(t), x2(t),x„ (t))T - n-
мерный вектор фазовых переменных системы, U = U(t) = (ux(t), u2(t), ..., um(t))T - m-мерный вектор управлений, X0 = (x°, )T -
n-мерный вектор начальных условий, t e [0, T]. На вектор фазовых переменных X и вектор управления U наложены ограничения
X е DX, U е Dv с Lv[0, T], (2)
где Lv [0, T] - некоторое пространство т-
мерных функций, определенных на интервале [0, T ], например, пространство функций, интегрируемых с квадратом на этом интервале.
Для компактности записи используем векторную форму системы (1)
X = F(t, X, U), X(0) = X0 , (3)
где
F = F (t, X, U) =
= (f(t, X, U), f2(t, X, U),..., fn(t, X, U))T
- n-мерная вектор-функция, соответствующая правой части системы ОДУ (1).
Среди фазовых переменных х15 х2хп
выделим V < п переменных. Не ограничивая общности, положим, что эти переменные образуют V -мерный вектор У = У(V) =
= (х1 (), х2(ху ({))Т . Областью достижимости йу = йу (Т, X0) системы (3) назовем множество всех возможных значений вектора У (Т), которые достигаются на решениях системы (3) при начальных условиях X0 и ограничениях (2).
Рассмотрим следующую прямую задачу: при
заданном векторе начальных условий X и конечном времени Т построить область достижимости Оу системы (3). Рассмотрим также обратную задачу: при заданных векторе
начальных условий X0 , конечном времени Т и точке У(Т) , принадлежащей области достижимости Оу, найти управление и е , переводящее систему (3) в эту точку.
Для решения прямой задачи, очевидно, достаточно построить границу Г7 области достижимости Ог. В некоторых случаях удается найти множество допустимых управлений ОЦГ с , принадлежащих классу управлений
[0, Т] с Ьи [0, Т], которые приводят систему (3) на эту границу [1]. В таком случае прямая задача сводится к построению границы Гу.
2. Метод мультифиниша
Покроем множество некоторой сеткой с узлами их, и2, •••, им, где М - общее количество узлов сетки. Поставим в соответствие системе (3) совокупность М систем ОДУ с указанными управлениями:
X1 = ^ Х1,и1), Х1(0) = X 0,
... (4)
X м = ^ Ц, Xм ,им ), Xм (0) = X 0.
Во введенных обозначениях схему приближенного решения прямой задачи методом мультифиниша можно представить в следующем виде:
- путем интегрирования совокупности систем ОДУ (4) находим множество точек (Т),
i е [1, M], представляющее собой дискретную аппроксимацию области DY;
- сохраняем в памяти ЭВМ полученные наборы значений (,Y (T));
- во множестве точек Y (T) находим граничные точки Zj (T), j е [1, с;], представляющие собой дискретную аппроксимацию границы Г7 области достижимости;
- сохраняем в памяти ЭВМ соответствующие наборы значений (Uj, Zj (T));
- при необходимости, на основе полученных точек Zj (T) строим непрерывную аппроксимацию Гг границы Гг.
Сделаем следующие допущения. Во всех случаях при интегрировании систем ОДУ (4) используется алгоритм с постоянным шагом T
интегрирования At = —, где K = K (T) - коли-K
чество шагов интегрирования. Для каждого из шагов интегрирования требуется l вычислений значения функции F(t, X, U), вычислительная сложность которой (количество арифметических операций, необходимых для однократного вычисления значения этой функции) не зависит от аргументов t, X, U и равна CF . Вычислительная сложность затрат на реализацию алгоритма интегрирования на одном шаге интегрирования равна С7 = С7 (/) .
3. Организация параллельных вычислений
Схема распараллеливания метода мультифиниша имеет следующий вид:
- процессор р, i е [1, N] получает от host -
процессора векторы U(i_1)u+1, U,
(і —1)ц+19 (i—1)ц+2
- процессор р интегрирует при указанных
управлениях соответствующие компоненты системы ОДУ (4) - находит множество точек (Т), 7 е [(г- 1)ц +1, г>];
- процессор р передает координаты этих точек host -процессору. Здесь N - количество
' M
N
процессоров в используемой МВС; ц
где [р] - символ ближайшего целого,
большего р.
При параллельном построении границы Г7
области достижимости В¥ возникает проблема
балансировки загрузки МВС. Рассмотрим для
примера случай, когда класс функций ¿и [0, Т ]
представляет собой класс релейных функций с не более чем одной точкой переключения. Положим, что одна из границ множества достижимости формируется управлениями этого класса, в которых все компоненты вектора управления, кроме одного, постоянны, а один из компонентов имеет одну точку переключения. Пусть, например,
1 +1, t є [0,tS ],
I-1, t є (tS ,T],
u2 (t) = u3 (t)
= um (t) = const, где ts e [0, T] - момент времени, когда происходит переключение управления и\ (t) [1].
Равномерная декомпозиция точек переключения. Покроем интервал [0, T] равно. S T
мерной сеткой с шагом At = — < At и узлами
M
S S
tj , i е [1, M ]. Положим, что шаг At кратен
шагу At, так что
ДГ K
= r , где r >1 -
At М
целое число. При этом множество управлений и\, и2,иМ естественно сформировать
г/г ^ гг г V
в виде и і = ( (,( ), и2, щ , ит) ,
і є [1, М]. Таким образом, в данном случае схема распараллеливания имеет вид, представленный на рис. 1.
if
0 L
Atf
К,
J____L
1
Pi
J_____I___L
I
12ц
S
(N-1)ц+1
_J________L
J____I
1
N
S
Рис. 1. Схема распараллеливания при равномерной декомпозиции точек переключения
В соответствии с этой схемой на процессоре р выполняется интегрирование системы ОДУ (3) при управлениях ЦГ,и£, на про-
Г Г
цессоре Р2 - при управлениях [/ц+1,..., П2^ и т.д. до процессора Рк, который выполняет инте-
Г Г
грирование при управлениях [/<• ^-1)ц+1,им.
Вычисления на процессоре р организуем следующим образом.
Шаг 0 (этап «разгона»). Исходя из начальных условий X , выполняем интегрирование системы ОДУ (3) при управлении
(1, м2г, и3ит) от момента времени 0 до моС
мента времени и сохраняем в памяти процессора значения компонентов векторов
Х0(г-1)ц+1) , Х(^(г-1)^+2) , •■•, Х0гц-1) .
Шаг 1. Исходя из начальных условий
X (7^-1)ц+1), выполняем интегрирование системы ОДУ (3) при управлении (— 1, М2, и^,) от момента времени -1)^+1 до момента вре-
мени Т.
Шаг 2. Исходя из начальных условий
X (^^2 ), выполняем интегрирование системы ОДУ (3) при управлении (-1, и^, и3,итт)
от момента времени _1)ц+2 до момента времени Т.
Шаг ц. Исходя из начальных условий
X(¿^), выполняем интегрирование системы
ОДУ (3) при управлении (— 1, М2 , ,..., Мт) от
С
момента времени 1^_х до момента времени Т.
В рассмотренной схеме каждый из последующих процессоров повторяет шаг 0 своего предыдущего процессора и только затем выполняет интегрирование системы (3) на «своем» интервале . Если вычислитель-
ные затраты на интегрирование системы (3) велики, то может оказаться целесообразной более тонкая организация вычислений на этапе разгона: однократное интегрирование системы (3) на интервале [0, Т] при управлении (1,и\,и3) на одном процессоре и передача значений необходимых компонентов
векторов X (^) , X (}2) ,..., X (^м ) остальным процессорам МВС. Однако, если ц >> 1, что можно считать типичной ситуацией, выигрыш от такой организации вычислений не может быть существенным.
Оценим ускорение рассмотренной схемы распараллеливания. В сделанных допущениях время выполнения процессором р этапа «разгона» равно
T0 = tcr (щ- Y)(ICf + Cj) ;
(5)
время выполнения j-го шага можно оценить величиной
T j = tcalr ( - (i - 1)ц - j) + Ci ), (6)
где j e [1, ц], tcat - время выполнения арифметической операции на одном процессоре используемой МВС. Таким образом, общее время решения задачи процессором P равно
Т = Т, 0+XT j •
j=1
(7)
Поскольку загрузка первого процессора р в данном случае, очевидно, максимальна, время параллельного решения задачи определяется выражением
Ц
Tn = T = X tcalr (M - j)(lCF + C )
j=1
М 2
* ^ г (Юр + С1)—,
где учтено, что М >> ц. Аналогично, время последовательного решения задачи на одном процессоре оценим величиной
м
Т = tcal г (Ср + С1) (М - (I -1})*
1 tcal r (ICF + Ci )M2.
2
Отсюда имеем
Утверждение 1. Ускорение параллельного метода на основе равномерной декомпозиции точек переключения управления и[ ) оцени-
N
вается величиной S
i=1
Из утверждения 1 следует, что равномерная декомпозиция точек переключения управления
и О не может обеспечить ускорение, превышающее 50% от максимального потенциально возможного ускорения, равного N .
Лучшей балансировки загрузки многопроцессорной вычислительной системы можно добиться за счет неравномерной декомпозиции
точек переключения управления и[ (^).
Неравномерная декомпозиция точек переключения. Положим, что процессор Р выполняет интегрирование системы ОДУ (3) при управлениях V Г,VГ, а процессор р+1 - при
управлениях иг+1,иг, 0 < а < Ь < с < М ;
а, Ь, с - целые положительные константы. Потребуем, чтобы времена решения задачи процессорами р, Р+х были равны, т.е. чтобы
выполнялось равенство р. = р+1, / е [1,(N -1)].
Из выражений (5)-(7) следует, что для этого необходимо выполнение равенства
і=а
1 =Ь
или, что то же самое, равенства
г 2М — (Ь + а) 2М — (с + Ь) .
Ь +---------- ------- (Ь — а) = с +------------ ------ (с — Ь).
(8)
Из выражения (8) вытекает квадратное уравнение для определения величины с при известных значениях а, Ь :
с 2 - 2(М + 1)с +
+ (а2 - 2Ь2 - 2Ма + 2(2М + 1)ь) = 0 . (9)
Если для процессора р задаться величинами а = ах = 0, Ь = Ьх, то из выражения (9) легко найти последовательно управления, которые должны обрабатывать процессоры Р2,Р3, р.
Рассмотрим для примера случай М = 1000, Ь1 = к = 100. Из уравнения (9) вытекает, что в данном случае можно обеспечить равномерную загрузку 6 процессоров (табл. 1). Отметим, что здесь количество точек переключения к6 = 6 - 6 вычислено по остаточному
принципу и не удовлетворяет уравнению (9).
Таблица 1
Пример неравномерной декомпозиции точек переключения
Процессор р і а.і ТS ТЪ,1 кі
р 0 100 100
Р 101 212 111
Р 213 342 129
Р4 343 504 151
Р 505 756 251
Р 757 1000 243
Оценим ускорение рассматриваемого метода. Положим, что в последовательном режиме задача решается по схеме, аналогичной рассмотренной выше (с этапом «разгона»). Тогда время последовательного решения задачи можно оценить величиной
Т1 - КаїГ + СІ І М - 1 + X - ^
V ¿=1
= ^ г / + Сі )(/ -1) + 0.5М).
Поскольку в данном случае вычислительная загрузка всех используемых процессоров (исключая, быть может, последний процессор) примерно одинакова, оценка времени параллельного решения задачи следует из выражения (8) и равна
тN = Т = ^г( + С)((М + 1)Й! - 0.5Ь2).
Утверждение 2. Ускорение параллельного метода на основе неравномерной декомпозиции
точек переключения управления и[ (^) оценивается величиной
М 2
(М -1)(1 + 0.5М) л ___________________
(М + 1)Ь - 0.5Ь2 ~ 2МЬХ - Ь2
Из утверждения 2 следует, что для рассмотренного выше примера ускорение равно
10002
2 х1000 х 100 -1002
5.26.
Заметное отличие ускорения от максимально возможного (равного 6) объясняется тем, что загрузка последнего процессора Р6 опреде-
лена, как отмечалось выше, по остаточному принципу и далека от оптимальной загрузки.
г
Рассмотрим другой пример. Пусть к1 = 88 .
г
Тогда по формуле (9) получим к2 = 98,
к/ = 109, к4 = 129, к5 = 168 , к6 = 405 . Поскольку здесь все шесть процессоров загружены практически равномерно, из утверждения 2 следует, что в данном случае ускорение равно
■я
1000
2
2 х 1000 х 88 - 882
5.93.
Решение рекуррентного уравнения (8) не удается получить в явном виде. Поэтому количество точек переключения Ь = , обрабаты-
ваемых процессором р, приходится подбирать таким образом, чтобы вычислительная загрузка всех процессоров, включая последний процессор, была примерно одинакова. При этом критерий окончания перебора удобно строить, исходя из того, что при несбалансированности загрузки процессора р корни уравнения (9) оказываются комплексными.
4. Построение множества достижимости летательного аппарата
Рассмотрим высокоманевренный летательный аппарат, движение центра масс которого в нормальной земной системе координат 0хуг описываются системой нелинейных дифференциальных уравнений (10), где V - скорость летательного аппарата, 0 - угол наклона траектории, у - угол поворота траектории, у - высота
летательного аппарата, щ - тангенциальная перегрузка, пп - нормальная перегрузка, ус -скоростной угол крена, g - ускорение свободного падения [1].
Управлениями летательного аппарата являются тангенциальная перегрузка, нормальная перегрузка и скоростной угол крена, так что и = (п, пп, ус )т. На управления наложены ограничения
^ ^ тах шіп і г тах а
< пг < пг , п =-1.6, п = 0.6;
V = g(п - БІП 0),
0 = gV (Пп ^ У с - С0І5 0)
* - gnn БІП у с /
У = g” /V С08 0, (I0)
*
X = V С0Б 0 С0Б у,
*
У = V БІП 0,
*
2 = -V С0Б 0 БІП у.
В работе [1] показано, что дальняя, ближняя и боковая границы области достижимости динамической системы (10) формируются управлениями, принадлежащими классу кусочно-постоянных управлений. Ограничимся рассмотрением дальней границы области достижимости. Структура управлений, формирующих эту границу, представлена на рис. 2.
Для экспериментального исследования эффективности метода мультифиниша разработана МР1-программа, реализующая этот метод. Эксперименты выполнены на кластере «8к15> МГУ им. М.В. Ломоносова. Результаты экспериментов иллюстрирует рис. 3 и табл. 2, которые показывают, что на 2, 4, 8, 16, 32 и 64 процессорах достигается ускорение, близкое к расчетному. Черными точками на рисунке отмечены экспериментальные результаты. Соответствующая дискретная аппроксимация дальней границы области достижимости представлена на рис. 4.
Ш1П
п
г
а) б)
Рис. 2. Структура управлений, формирующих дальнюю границу области достижимости
/
о N
Рис. 3. Экспериментальные оценки ускорения:
X - M = 1000 ; ® - M = 500 ; 0 - M = 250
Рис. 4. Дискретная аппроксимация дальней границы области достижимости высокоманевренного летательного аппарата
Таблица 2
Экспериментальные оценки ускорения
Число процессоров N Число управлений М
250 500 1000
2 1.97 1.99 2.00
4 3.88 3.86 3.99
8 7.58 7.60 7.88
16 14.27 14.78 15.61
32 25.27 28.15 29.83
64 42.32 50.32 56.58
Заключение
В работе рассмотрен метод мультифиниша для построения области достижимости динамической системы. Предложен соответствующий параллельный алгоритм, ориентированный на вычислительные системы класса MIMD. Рассмотрены два метода балансировки загрузки этих вычислительных систем. Эффективность метода исследована аналитически, а также экспериментально на примере построения границ области достижимости высокоманевренного летательного аппарата. Исследование показало перспективность практического использования метода мультифиниша.
Список литературы
1. Воронов Е.М., Карпунин А.А. Алгоритм оценки границ области достижимости летательного аппарата с учетом тяги // Вестник МГТУ. Сер. Приборостроение. 2007. № 4 (69). С. 81-99.
2. Гурман В.И., Квоков В.И., Ухин М.Ю. Приближенные методы оптимизации управления летательным аппаратом // Автоматика и телемеханика. 2008. № 4. С. 191-201.
3. Ортега Дж., Пул У. Введение в численные методы решения дифференциальных уравнений / Пер. с англ.; Под ред. А.А. Абрамова М.: Наука, Гл. ред. физ.-мат. лит., 1986. 288 с.
4. Воеводин В.В., Воеводин В л.В. Параллельные вычисления. СПб.: БХВ-Петербург, 2004. 608 с.
PARALLEL CONSTRUCTION OF HIGHLY MANEUVERABLE AIRCRAFT ATTAINABILITY SET
USING MULTIFINISH APPROACH
E.M. Voronov, A.P. Karpenko, V.A. Fedin
The problem of dynamic system attainability domain construction and an approach based on the Multifinish method are considered. For parallel problem solving in a multiprocessor system, a load balancing method is proposed on the basis of this approach. The implementation of this method by means of the MPI communication library is described. The results of parallel problem solving for a system describing the dynamics of a highly maneuverable aircraft are given.
Keywords: dynamic system attainability domain, aircraft, load balancing in a multiprocessor system.