УДК 519.71
В. Н. ЕФАНОВ, М. И. АХМЕТОВ
СОВМЕЩЕННЫЙ СИНТЕЗ АЛГОРИТМИЧЕСКОГО ОБЛИКА И АРХИТЕКТУРЫ БОРТОВЫХ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ СИСТЕМ
В статье рассматривается проблема синтеза архитектуры бортовой информационно-управляющей системы с заданным набором свойств. Исследуются условия, при выполнении которых можно получить оптимальный облик синтезируемой системы. Предлагается аналитическая модель для описания вычислительных процессов в бортовой информационно-управляющей системе, являющаяся основой для решения задачи совмещенного синтеза алгоритма управления. Фактор-множество, совмещенный синтез, монотонные преобразования, аналитическая модель, рекурсивные алгоритмы, макрокоманда, арифметико-логический граф, диспетчеризация
ВВЕДЕНИЕ
Перспективные направления развития современного авиастроения связаны с реализацией ряда крупных научно-технических программ, выполненных как у нас, так и за рубежом (ИКБО-95, АРИА-200, DAIS, PAVE PILLAR и др.), которые регламентиру-
-
( ) ,
,
архитектуру информационного обмена между их
,
-
цессов, протекающих в подобных системах В ре-
-
-
-
,
.нения элементов многомашинной ИУС предлагается использовать стандартные цифровые соединения на
-
-
лизованным методом доступа (MIL-STD-1553B, STANAG3910, AS4074, AS4075). При этом предполагается, что разработка алгоритмического, программного и аппаратного обеспечения подобных многомашинных вычислительных комплексов может
,
-
лизован с той или иной долей успеха в рамках любой ., осуществление этапов разработки алгоритмического обеспечения и его технической реализации может
, , -дачи проектирования ИУС. В самом деле, реализа-
-
-
дит к различным значениям производительности или
,
,-
,-
,,
-
. , -
лительного алгоритма управления может быть выбрана наиболее выгодная архитектура ИУС. Очевидно, что оптимадьное решение может не принадле-
,
.
,
-
-
.
,-
тельного алгоритма существует своя оптимальная
,
конкретного структурного варианта построения ИУС
-
.,
,-
-
низации аппаратной части необходимо осуществлять
,-
-
.-
-
.
1. УСЛОВИЕ СОГЛАСОВАНИЯ ОСНОВНЫХ ЭТАПОВ ФОРМИРОВАНИЯ ОБЛИКА БОРТОВЫХ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ СИСТЕМ
,
последовательность операций выбора оптимальных алгоритмов управления и структурной организации аппаратной части позволяет получить оптимальный
.
Обозначим через Х(1) и Х-2), соответственно, множе-
-
ческих вариантов построения многопроцессорной .
-
териев и £^2), первая из которых определяет каче-
,
вторая - оценивает вычислительную эффективность
.-
ство возможных вариантов построения бортовой .
В. Н. Ефанов, М. И. Ахметов • Совмещенный синтез алгоритмического облика и архитектуры..
Разобьем теперь множество ^1) на подмножества
Л*1,А), к=1, 2, ..., Ы1, включающие элементы исходного ,
^1>. Каждому элементу Х(1,к) е X'1,k), ,= 1, 2, ..., и1к, соответствует некоторое подмножество Х[1,к,,] с X. Объединяя подмножестваХ[1,к,/'] по всем ,, получаем совокупность элементов
X = их[/, к], к = 1,2,..., N; I = 1,2.
(2)
Х[1, к ]= и Х[1, к, і] с X,
(1)
образующих класс эквивалентности с точки зрения критерия Очевидно, что как первому, так и второму этапу разработки ИУС соответствует свое разбиение множества А' в определенную совокупность непересекающихся подмножеств
-
ния приведена на рис. 1.
-
дуры был сформирован оптимальный вариант облика X,* е X, необходимо на каждом этапе разработки
-
множество А^,к)*, которому соответствует класс экви-валентностиХ [1,к], включающий элементХ,, т.е.
ЄХЇТ е
X ( ,к )с X (І)
е(1 ^ (к )*) где X* є X* [І, к] X((,к)*, I = 1,2 .
()(x (,к)
(3)
\<і.
Рис. 1. Формирование фактор-множесгв множествах
ДО) Д<’>
^ Ад. Ь)*
А [1,к2]
/1 / / ■’Ч-
\
(| ■ )
\ /
Рис. 2. Процедура совмещенного синтеза по критериям
Для того чтобы в результате двухэтапной процедуры был сформирован оптимальный вариант облика X* є X, необходимо на каждом этапе разработки
-
множество (І=1, 2), которому соответствует
класс эквивалентности X [І,к], включающий элемент X*, т.е.
Л (і,к )* ) =
ехії е
X (,к )(= X ()
()(x
(,к)
(3)
где X* е X* [, к] X(,к)*, I = 1,2.
При выполнении сформулированного требования двухэтапной процедуре совмещенного синтеза будет соответствовать, как это показано на рис. 2, последовательность вложенных подмножеств вида
X [1,к1] с X [2,к2] ~ X/
(4)
Однако на любом из двух этапов описанной процедуры полное множество возможных вариантов X и, следовательно, вариант X* не построены. Поэтому непосредственная проверка условия (4) оказывается невозможной. В то же время переход от первого ко второму этапу сопровождается дискретным
изменением множества целевых функций £® и множества вариантов Х[ 1,к] ( 1=1, 2), первое из которых, ,-ритмы управления, а второе - топологические варианты построения многопроцессорной ИУС. Это при-
ных решений (4).
-
вместимости является существование монотонных
,
функций г1-1-1 в области значений Є2) [1, 2]. Сформу-
-
-
процессорной ИУС в виде следующего утверждения.
Утверждение 1. Если существует множество монотонных преобразований Ща), /=1, 2,..., т, таких, что і-е преобразование переводит область значений і-й компоненты критерия гI■(2)(X) в область значений критерия Є^^ И Є,0^ = ^єР^} для все,
локальных критериев Є,-^^, 1=1, 2, приводит к формированию оптимального варианта облика системы.
.-
зации критериев
(1)
(2)
-
к
и
возрастающем преобразовании №,(а), остальные
.
Пусть X!, X2 е X - такие, это е^^^) > е/2-1^), , = 1,2,...,т . По условию утверждения Wi{е(1)(X1)} > WІ{£(1)(X2)}, следовательно, е/1'1^) > е/1-1^). Данное
-
ветствующих классов эквивалентности
X1 е X [1,1], X2 е X [1,2]. В свою очередь, каждому классу эквивалентности соответствует определенное множество вариантов алгоритмического обеспечения
МВС X(и) ^ X [1,1] X(и) ^ X [1,2]. Отсюда чаем (1,1))> (1,2)). Таким образом, предпочтительный вариант в смысле критерия е2) -
,, множеству предпочтительных вариантов в смысле критерия Л что соответствует сформулированному результату.
Доказанное утверждение служит методической основой для разработки процедуры совмещенного
,-
-
,-
ствования монотонных преобразований диктуют
,
обеспечивающий совместимость локальных целей
-
пологии многопроцессорной ИУС.
Чтобы получить аналитическое выражение для множества монотонных преобразований Ща), ,= 1, 2,..., т, необходимо выразить характеристики возможных вариантов алгоритмов управления через
-
турной организации аппаратной части. Для этого
,
-
,
,
структуру связей между ними. На базе этой модели
-
-
зации бортовой многопроцессорной ИУС.
2. АНАЛИТИЧЕСКАЯ МОДЕЛЬ ДЛЯ ОПИСАНИЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ В БОРТОВЫХ
-
,
-
,
алгоритмов, т.е. в них повторяются операции одного и того же типа над последовательно поступающими данными. Такие алгоритмы в дискретной форме записи могут быть представлены в виде следующей совокупности разностных уравнений:
х(к +1) = Ах(к) + Ви(к);
(5)
у(к +1) = Сх(к +1).
Здесь векторы х(к) и и (к) определяют исходное состояние вычислительного процесса на (к+1)-м интервале управления и состояние внешних воздействий, влияющих на ход вычислительного процесса, вектор у(к) защит совокупность возможных результатов.
,
управляющие алгоритмы бортовых систем относятся
-,
-
(5) -
текстам общего алгоритма.
-
-
ритма.
Алгоритм обладает параллелизмом уровня й, ес,
(,
такт исполнения макрокоманды) равно й. В свою
,
длительности / если количество отсчетов времени, за которое реализуется алгоритм, равно/
Введенные понятия позволяют сопоставить свойства алгоритма управления с особенностями
,-ся. Так, если алгоритм обладает параллелизмом единичного уровня (т.е. допускает только последова-
), -зовываться на одном вычислительном блоке. При
-
-
ми задачами, либо будут простаивать. В то же время ,-,-
-
лений. В общем случае длительность исполнения
,,
,
,-
,
уровню параллелизма алгоритма Поскольку уровень
-
,
минимально возможной длительности исполнения
-
,
уровень параллелизма. Однако на тех тактах вычис-
,
,-
,-
тельности вычислительной системы. Таким образом,
-
-
-
ритма и производительностью ИУС.
-
,-
горитм управления. Обозначим результаты выполне-,-команд микропроцессора, через , где , (,= 1, 2,...,/)
- номер временного такта выполнения соответст-
вующих операции; і - номер операции в /'-и совокупности операций, допускающих параллельное выполнение (і=1, 2,..., ё; ё - уровень параллелизма на і-м такте). Отметим, что нумерация операций в пределах указанной совокупности является произвольной Установим связь результатов операций і/ с математической моделью алгоритма управления.
,
-
-
кретных состояний (контекстов) дь д2, ..., дм, в каж-
-
тельного процесса. Переключение контекста осуще-
-
числительного процесса х, внешней среды ц, а также по командам на переключение дс, поступающим из внешних систем. Аналитически процедуру переклю-
-
зом:
д = с к{х,м, дс)
(6)
где д - символьная переменная, принимающая значения из области £ = {д1, д2, ... дм}, рк - оператор квантования, который переменным величинамх, /ли дискретным сигналам дс ставит в соответствие значение символа д е £
Опишем состояние каждого из характерных
-
дующего вида:
х, (к +1) = А,х, (к) + В,и, (к);
(7)
у, (к )= С,х, (к); , = 1,2,..., N.
Здесь векторы х,(к) описывают текущее состояние ,-го фрагмента вычислительного процесса нак-м временном такте, векторы и,(к) определяют состоя,-лительного процесса, векторы у,(к) содержат массивы выходных данных.
-
-
можных контекстов можно описать следующим уравнением:
и(к) = ЬЕ (д)у{к) + Ь0 Е0 (д ^(к),
(8)
где и(к), у(к) - прямые суммы векторов иі(к) и у (к), g(k) - вектор задающих воздействий;
Ь = |Ы , Ь0 = Ць^Ц,х - блочные матрицы;
--
"/]\\ыхЫ ’ ^0 ЦЬ-/°1 Nх1
Е(д) = blockdiag {Е1 (д),...,Еы(д)}
,
-
,
реализации д-го контекста соответствующий фраг-
;
имеет матрица Е0(д), элементы которой определяют
-
щих внешних воздействий.
(7) (8),
-
:
х(к +1) = Ас (д )х(к)+ Вс (д )и (к); у(к )= Сх(к )
(9)
Здесь х(к) - прямая сумма векторов х,(к), Ас(д)=[А+ВЬЕ(д)С], ВС(д)=ВЬ(Ео(д), A=blockd/ag {Аь А2, ..., AN}, B=blockd/ag {Вь В2, ..., BN}, C=blockd/ag {Сь С2, ..., CN}.
Используя введенные математические описания
-
,-
литической модели для описания вычислительных процессов в бортовых ИУС.
Поставим в соответствие алгоритму (9) арифме-
- , -тельность выполнения арифметических и логических , - -ные ОЗУ, вызова констант из ПЗУ и т. д. Этот ориен-
-
:
- вершины-истоки, соответствующие операциям
-
;
-, операциям сложения или умножения двух операндов --
;
- , -деленным логическим операторам (например, услов-
),
,-
док их выполнения.
,
т.е. его ветвям присваиваются веса С этой точки
:
-; -( логическим переменным).
Рассмотрим способ построения подобного графа на следующем примере.
-
:
х1 (к +1) = а^ (к) + Ь^ (к);
У1(к +1) = С1х1(к +1).
-
будет иметь вид, представленный на рис. 3.
,-ного алгоритма/=3, а уровень параллелизма составляет на первом такте Й1=2, на втором и третьем
Й2=Йз=1.
.
(10) имеет вид г = (( — Я1 )П2\ . Однако вследствие чрезвычайно высокой размерности вектора г это
.
особенности построения вектора г приводят к тому, что матрица (( — /71) является нижней треугольной
,-таты операций, выполняемых на некотором ,-м вре-,-ве использования результатов ранее выполненных .,
(( — Я1) может быть представлена как произведение матриц типа М [3], которые можно обозначить
Рис. 3. Граф алгоритма без ветвлений
-
,-
горитм управления. Обозначим результаты выполне-,-
команд микропроцессора, через і,, ще і - номер соответствующей операции (і=1, 2,., г). Поставим в
, , -, , :
і = + П 2у,
(10)
где г - обобщенный вектор результатов операций; V = [х(к); и (к)] - ; 1, 2 -
,-
-
ления в зависимости от результатов выполнения
,
соответственно.
,-
-
сов, заключается в их высокой размерности. Это свя-,,
,-, - -ное ОЗУ. Число подобных операций в зависимости
-
гать нескольких тысяч. Для сокращения размерно-
дующее утверждение.
Утверждение 2. Пусть И,- = Іг -е,П
(1)
где
} ~лг
П-у-я строка матрицы Яь еу -у'-й координатный вектор, r=dim г - размерность вектора г, тогда реше-(10) -
:
Р, + Й
(+ 1)/г — £ H^П2V, (11)
і =п
/=А
і-1
где Рі = Е ёк к=1
как Ну , т.е. ( —П1 )= Н2 И3.. Иг. Тогда для обратной матрицы справедливо следующее выражение:
(іг -П1 )-1 = и;1и;\- и 2-1
(12)
Разобьем полученное произведение обратных
,
,-
менном такте:
1 Рі +1
Иг-1Иг--1.. И2-1 = п П И -1
(13)
і=А і=Рі+di
-
дой совокупности, объединяющей операции, допус-
,-
вольной, то матрицы И—1 из соответствующей совокупности являются перестановочными, т.е.
Рі+1 , Рi■+di■ ,
П И-1 = П И-
і=Рi+di і=Р/+1
(14)
В свою очередь И у1 = 1Г + еу Я(1), причем произведение этих матриц дает нижнюю треугольную матрицу с единичной диагональю и с ненулевыми
,
у = (р, +1,..., р, + й, ). Полученные таким образом нижние треугольные матрицы могут быть выражены в виде суммы единичной матрицы и элементарных
матриц еуЯ(1), соответствующих ненулевым стро-
кам:
Рі+di , Рі+di {)
П и - = Іг + I е,П {1)
і=Рі +1
і=Рі+1
(15)
Преобразуем последнее выражение следующим образом:
Іг + Р‘т е,п{ = (і/ + 1) - РіТ (іг - і{)= і=Рі+1 і=Рі +1
Рі +di
= (і/ + 1)іг - .
і=Рі+1
Объединяя полученное соотношение с (12)-(14), приходим к результату, сформулированному в утверждении:
Рі+
і = (г-П1 )-1Я2У =П
і=А
Рі+ё,
(і, + 1)г -
і=Рі +1
,
,-
ского решения системы (10) да алгоритма, те со.
, .3,
из системы уравнений (10) принимают вид: і =[ і1, і2, і3, і4]т, V =[ х1, и1]т, а матрицы П1 и П2 будут следующими:
1=
,
число операций г=4 и обладает конвейерностью/=3. Уровень параллелизма меняется в зависимости от
-
зом: й, е {2;1;1|, где ,= 1,., 3. Следовательно, реше-:
1
^0 0 0 0~ а1 0~
0 0 0 0 ; П2 = 0 Ь1
1 1 0 0 0 0
0 0 с1 0 0 0
і=П
і=3
Рі+ё (і/ +1)14 - Е И}
і=р, +1
П-2^.
Подставив численные значения величин в последнее выражение и выполнив необходимые вычисления, получим следующий результат:
і=
а1
0
а1 а1С1
0
Ь1
Ь1
ь1с1
Используя полученное решение, мы можем найти аналитическую зависимость для финальной операции алгоритма - гА, не выполняя промежуточные вычисления.
-
-
цессорной вычислительной системе, т.е. к разработке алгоритма диспетчеризации. Обозначим через
О = {1,2,...,г} множено номеров операций, состав.-ство на совокупность подмножеств
О, = { +1, • • •, Р, + й, } (, = 1,2,..., /) номеров операций, допускающих параллельное выполнение для ,-го отсчета времени. Иначе говоря, О! - ,-я группа параллельных операций. Пусть в состав многопроцессорной ИУС входит ^ (1 < ^ < г) )роцессоров. То-
-
ма может быть реализована данной совокупностью процессоров за (к,+1) машинных тактов выполнения макрокоманд, если й, не делится нацело на я, или за к, тактов в противном случае. Здесь к, = / я] - число
полных тактов ([ / я]означает целую часть дроби,
), -
груженными оказываются все я процессоров. Есл и di не делится нацело на я, то последний (к,+1)-й такт этой последовательности временных тактов является неполным, т.е. на нем загруженными оказываются только ((, — як,) )роцессоров.
Выделим теперь в составе подмножеств О, совокупности номеров операций, реализуемых у'-м (у = 1,2,...,я) процессором: О, ={п, 1/2,..}. В состав каждой такой совокупности входит (к,+1) номеров, есл и у'-й процессор оказывается загруженным на последнем неполном временном такте, и к, номеров -в противном случае.
,, качестве примера, реализуется на 3-процессорном вычислительном комплексе (я=3), а множества операций из ,-той группы, выполняем ых у'-м процессором, имеют вид:
О/ = {1}, О2 = {2}, О3 = 0;
О1 = {3}, О22 = {4,6,7}, О23 = {5};
О3 = {8,12}, О32 = {11}, О33 = {9,10};
О1 = {13,15}, О2 =0, О4 = {14};
о1 = {17}, О52 =0, О53 = {16};
Об =0, Об2 =0, Об3 = {18};
О) = {19}, О72 =0, О7 =0.
Для оценки результатов проведенного распределения загрузки процессоров введем в рассмотрение индикаторную матрицу Е = diag {е, е2, ..., е}, элементы которой £, = <5^ при , е О^ показывают, что операция с номером ,, соответствующая 1-му отсчету времени, выполняется на процессоре с номером к.
1 2 Е,
матрицы О1 = ЕЩ, О2* = ЕЯ2, строки которых оказываются помеченными в соответствии с номерами процессоров, выполняющих данные операции.
Поскольку структура матрицы О/ аналогична 1, ,
,
матриц Щи Я2 на О/ и О2*. Вектор результатов операций г, вычисленный с использованием матриц О1 и О2*, будет зависеть от числа процессорных блоков ИУС и от структуры связей между ними, т.е. от архитектуры ИУС. Выделение в составе вектораг ком,-,-
,-
ражающую характер распределения вычислительных операций между отдельными процессорами
х(к+1) = А(О1 ;О2 )х(к) + В(О1 ;О2 )и(к); у(к+1) = С(О1*;О2*)х(к+1). (16)
Поясним сказанное на примере. Пусть алгоритм управления описывается следующей совокупностью разностных уравнений
х1(к+1) = а11х1(к) + а12х2(к) + Ь11и1(к) + Ь12и2(к); х2(к+1) = а21х1(к) + а22х2(к) + Ь21и1(к) + Ь22и2(к);
У! (к+1) = с11х1(к+1) + с12х2(к+1); у2(к+1) = с21х!(к+1) + с22х2(к+1).
-
-
дующие подмножества О1={1,2,3,4},
О2={5,6,7,8,9,10}, О3={11,12}, О4={13,14},
О5={15,16}, О6={17,18}, О7={19,20}. Пусть получен-
-
лить между двумя процессорами. Тогда первое подмножество операций может быть выполнено за два такта работы каждого из процессоров, второе - за три, а все остальные - за один такт. В соответствии с этим распределим операции между процессорами таким образом О11={1,3}, О^={2,4}, О21={5,7,9}, О22={6,8,10}, О31={11}, О32={12}, О41={13}, О42={14}, О51={15}, О52={16}, О61={17}, О62={18}, О71={19}, О72={20}. Индикаторная матрица, постро-
,
Е = {<ь <1 (^ь <1 S^2, <22, <2, <22, <12, <22,
<3, <23, <4, <24, <5, <25, <6, <26, <7, <7}.
г 13- 14, х1(к+1)
х2(к+1), а также 19-ю и 20-ю компоненты, соответствующие у^к+1) и у2(к+1):
х1(к+1) <1 <2<4а11х1(к) + <22<23<\4а12х2(к) +
+<1 <2<4Ь11и1(к) + <22<23<14Ь 12и2(к);
х2(к+1) <2<Ъ<24а21х1(к) + <21 <22<24а22х2(к) +
+<2<3<4Ь21и1(к) + <21<22<24Ь22и2(к);
у1(к+1) = <5<7с11х1(к+1)+ <6<7с12х2(к+1); у2(к+1) = <6<7с21х1(к+1)+ <5<7с22х2(к+1).
Подобное представление алгоритма с учетом распределения вычислительных операций между процессорами позволяет сформировать процедуру
-
-
тельных процессов. Результатом такой процедуры станет не только обеспечение желаемого качества ,-
,-
,
макрокоманд, и средняя загрузка процессоров с ЗАКЛЮЧЕНИЕ
-
-
ности систем бортового оборудования на платформе массово-парадлельных вычислительных систем. В
-
-
-
-
товождения, управления полетом и тягой, предупре-
,
,
-
туры с параллельной архитектурой.
Параллельность архитектуры вычислительного ,-
-
няемых алгоритмов, программ, структуры, данных, маршрутов передачи информации. В связи с этим
-
,
-
ка ИУС с заданным набором свойств. Основу такой
-
ментов алгоритма управления между отдельными
-
,
распределения определяют важнейшие показатели
,
,-
,
процессоров. Тем самым, возникает возможность для выбора оптимального варианта распараллеливания
-
плекса.
СПИСОК ЛИТЕРАТУРЫ
1.Лазарев, И. А. Композиционное проектирование сложных агрегативных систем / И. А. Лазарев. М. : Радио и связь, 1986. 311 с.
2. Михалевич, В. С. Вычислительные методы исследования и проектирования сложных систем / В. С. Миха-
, . . . .: , 1982. 286 .
3. , . . / . . -
водин. М. : Наука, 1984. 318 с.