ЭЛЕКТРОТЕХНИЧЕСКИЕ КОМПЛЕКСЫ И СИСТЕМЫ ELECTRICAL FACILITIES AND SYSTEMS
л к
Дегтярев А.Р. Degtyarev А.Ж.
аспирант кафедры «Измерительно-вычислительные комплексы» ФГБОУВО «Ульяновский государственный технический университет», Россия, г. Ульяновск
Киселев С.К. ^е^ S.K.
доктор технических наук, профессор, заведующий кафедрой «Измерительно-вычислительные комплексы» ФГБОУ ВО «Ульяновский государственный технический университет», Россия, г. Ульяновск
УДК 629.7.05
СМЕШАННАЯ РЕКОНФИГУРАЦИЯ В МНОГОПРОЦЕССОРНЫХ КОМПЛЕКСАХ ИНТЕГРИРОВАННОЙ МОДУЛЬНОЙ АВИОНИКИ
В статье рассмотрены проблемы программной и функциональной реконфигурации в бортовых многопроцессорных вычислительных системах. Показано, что для построения перспективных отказоустойчивых систем интегрированной модульной авионики (ИМА) требуется разработка комплексных алгоритмов их реконфигурации. Рассмотрены особенности смешанной реконфигурации по сравнению с аппаратной, влияние на ее выполнение структуры многопроцессорного комплекса и типа применяемой операционной системы реального времени, а также особенности практической реализации реконфигурации, выявленные при отработке алгоритмов на макете мультипроцессорной системы. Поставлена задача смешанной реконфигурации, состоящая в перераспределении функций по исправным модулям с учетом выбранного критерия оптимальности. Предложен алгоритм смешанной реконфигурации, включающий в себя распределение функциональных задач между доступными аппаратными ресурсами многопроцессорных комплексов ИМА по заданному критерию оптимальности, который учитывает критичность выполняемых функций, количество исправных и отказавших модулей крейта, а также режим полета. В качестве примера рассмотрен комплекс бортового оборудования (КБО) военного вертолета, который способен функционировать в режиме крейсерского полета и режиме боя. Построены графы его функциональной и аппаратной структур, учитывающие критичность функций, потоки данных между ними и особенности аппаратной платформы, а также упорядоченные множества функций, которые соответствуют выбранному режиму функционирования комплекса. Показано распределение функциональных задач КБО, полученное на основе предложенного алгоритма. Даны рекомендации по усовершенствованию предложенного алгоритма с целью осуществления частичной реконфигурации, не затрагивающей исправные модули, а также обозначена невозможность реализации реконфигурации на существующих комплексах с динамически перестраиваемой архитектурой, не учитывающей особенностей построения систем ИМА. Предложенный
алгоритм может использоваться для построения и исследования крейтов модульной авионики, а также для разработки математических моделей взаимодействия аппаратной и программной частей комплекса ИМА и их отказов.
Ключевые слова: многопроцессорные вычислительные системы, реконфигурация, алгоритм, интегрированная модульная авионика, отказ, операционная система реального времени, крейт, распределение задач, оптимальность, граф.
MIXED RECONFIGURATION OF INTEGRATED MODULAR AVIONICS MULTIPROCESSOR COPMPLEXES
This paper briefly surveys a problem of functional and program reconfiguration in airborne multiprocessor systems. It's shown that perspective reliable IMA system development is impossible without proper reconfiguration algorithms. Differences and features of mixed and hardware reconfigurations are examined along with influence of multiprocessor system architecture and real-time operating system type on reconfiguration's implementation. Features of practical reconfiguration's implementation, which were revealed during the tests of algorithm on the multiprocessor system prototype, are also shown. The task of mixed reconfiguration, that consists of function redistribution among operational modules adjusted for chosen optimal criterion, is raised. Mixed reconfiguration algorithm, which includes functional tasks distribution among available IMA multiprocessor hardware resources, is presented in order to provide requisite optimal functionality and it is also adjusted for chosen optimal criterion, which includes functions criticality, amount of operational and not operational crate modules and the flight mode. Attack helicopter hardware complex, which is capable to function in cruise flight mode and combat mode, was considered as an example. Respective hardware and functional graphs were built, which are adjusted for functions criticality, data streams between them, hardware features and also streamlined set of functions that fit in given functionality mode of the complex. Given functional tasks of the complex are distributed with presented algorithm. Recommendations are given in order to improve presented algorithm for performing partial reconfiguration which doesn't concern operational modules. It is shown that impossible to implement reconfigurable architecture based on existing dynamically reconstructive architecture which doesn't take in account IMA system features.
Respective hardware and functional graphs were built and. This algorithm can be used to build and research IMA crates and for IMA hardware-to-software interactions mathematical models development and it's failures.
Key words: multiprocessor system, reconfiguration, algorithm, Integrated Modular Avionics, failure, real-time operating system, crate, tasks distribution, optimality, graph.
Введение
Реконфигурация программно-аппаратных ресурсов КБО, построенного на основе концепции интегрированной модульной авионики (ИМА), является перспективным направлением их развития, позволяющим повысить надежность комплексов и эффективность выполнения поставленных задач.
Кроме аппаратной реконфигурации, необходимой для перераспределения программных ресурсов по функционирующим вычислительным модулям, если один или несколько модулей крейта вышли из строя, большое значение имеют программная и функциональная реконфигурации, которые необходимы для поддержания нормальной работы всей системы при сбое отдельных программных компонентов (функциональных приложений). Функциональная реконфигурация, в свою очередь, может осуществляться не только в случае возникновения отказа, но и при изменении полетного задания в условиях полностью функционального КБО.
Поскольку эти два вида реконфигурации в боль-
шей степени связаны с операционной системой реального времени (ОСРВ) и программными приложениями, нежели чем с аппаратной платформой, то для создания эффективных алгоритмов перераспределения необходимо детально рассмотреть механизмы управления, имеющиеся у ОСРВ и мультипроцессорной системы в целом, а также определить набор дополнительных функций, встраиваемых в программные приложения для обеспечения возможности реконфигурации.
1. Программная и функциональная реконфигурации
Программная реконфигурация позволяет перераспределить правильно работающие приложения по функционирующим модулям крейта с учетом выбранного критерия оптимальности в том случае, если какое-либо из приложений функционирует неверно или получает неверную информацию от внешних устройств (датчиков и устройств управления) [1].
Программная реконфигурация, так же как и ап-
паратная, требует перераспределения функциональных приложений по аппаратной платформе. Так, например, если задачи были распределены по критерию минимума загрузки сети, то отказ какого-либо приложения приведет к уменьшению суммарного потока данных либо оставит поток данных неизменным (если отказавшее приложение и приложение, соединенное с ним инцидентной дугой, находятся на одном модуле), что не требует проведения реконфигурации по заданному критерию оптимальности:
тт^Е Е^Л-П™11! X Е^Лтк (1)
[теУ пеУ ) ЬвеУг леУг J
где т и п - натуральные числа, У - множество всех функций до реконфигурации, У - множество всех функций после реконфигурации, опт - размер массива данных, идущих по каналу связи от функции п е У в функцию т е У, ипт - частота обращения к данному массиву [2].
На практике выявлено, что повторное применение алгоритма распределения по алгоритму, описанному в [2], приводит к дальнейшему уменьшению нагрузки на сеть. Это достигается за счет разрыва некоторых единичных связей между приложениями (отказавшими и рабочими), которые имели большее значение суммарного потока данных, что позволило определить их в модули с другими рабочими приложениями, связь с которыми не нарушается.
Функциональная реконфигурация представляет собой особый вид реконфигурации, который может потребоваться для выполнения специальной задачи, например, перехода в режим, когда одна информация (например, данные от обзорной системы, системы управления вооружением и т. д.) становится более приоритетной, чем другая (например, навигация, автопилот и т. д.) [1].
В общем случае функциональная реконфигурация проводится при отсутствии отказов. Ее смысл состоит в том, чтобы задействовать доступные вычислительные ресурсы аппаратной части комплекса и временные ресурсы ОСРВ для выполнения приоритетных задач с большей скоростью или точностью. Дополнительные ресурсы для решения данных задач могут освобождаться путем исключения тех или иных приложений из состава КБО. При этом поток данных в сети уменьшается, а время, доступное для выполнения приложений, увеличивается.
Основным отличием функциональной реконфигурации от реконфигураций других типов является определенность конечных состояний КБО. Разработчик при проектировании комплекса должен составить перечень выполняемых приложений, соответствующих заданной полетной задаче, и осуще-
ствить их распределение по аппаратной платформе в соответствии с каким-либо алгоритмом. Сама же функциональная реконфигурация будет заключаться лишь в переходах между режимами, а закрепление приложений за модулями не потребует реализации какого-либо алгоритма непосредственно в полете. Исключение могут составить алгоритмы физического переключения аппаратной платформы в процессе реконфигурации при переходах между режимами, но в данной статье такие алгоритмы не рассматриваются.
2. Постановка задачи смешанной реконфигурации
Рассмотрим вычислительную систему, состоящую из множества V типовых ВМ, входящих в состав крейта ИМА. Пусть для реализации полного набора прикладных функций КБО необходимо выполнять множество Р приложений, работающих под управлением операционной системы. Более подробно данная система описана в работе [2], однако для постановки задачи смешанной реконфигурации необходимо внести несколько уточнений.
Пусть k е К - параметр критичности функции у е У которая входит в состав неориентированного графа функциональной структуры G=(У, X), где г € Z - дуга, соответствующая информационной связи между двумя функциями из множества У. В соответствии с [3] множество К имеет пять членов k (количество уровней гарантии разработки аппаратуры от А до Е). Положим, что k>k>k>k>k т. е. k¡соответствует уровню гарантии разработки аппаратуры А, k2 - уровню В и т. д. Таким образом, каждой вершине у е У графа Gp=(У, 2) соответствует свой параметр критичности k е К.
Пусть т е М - количество отказавших модулей крейта ИМА. При этом аппаратная платформа КБО представляется неориентированным графом G=(V, Ж), где вершины V е Vсоответствуют модулям, а ребра ^ е Ж - каналам связи между ними.
Для выполнения различных задач в полете определим множество режимов Q. Количество режимов Q определяется разработчиком, задается в техническом задании и заранее известно. Перечень функций у е У, выполняющихся в режиме q € Q, также определен и представляет собой неориентированный граф функциональной структуры G=(У, X), где г € - дуга, соответствующая информационной связи между двумя функциями из множества У.
При этом объединение всех множеств У' дает нам исходное множество функций У:
(2)
я
Соответственно объединение графов, соответ-
ствующих режимам полета, даст нам исходный граф функциональной структуры Gp:
(3)
ч
Таким образом, задача смешанной реконфигурации состоит в перераспределении функций у е ¥ по исправным модулям V е V с учетом выбранного критерия оптимальности. При этом данное перераспределение должно учитывать критичность функций к е К, количество отказавших модулей т е М и приложений п е И, а также установленный режим полета д е Q.
3. Алгоритм смешанной реконфигурации КБО ИМА
В качестве примера рассмотрим КБО военного вертолета. В общем случае он должен обеспечивать выполнение следующих функций:
1. Решение задач навигационного обеспечения.
2. Вертолетовождение по запрограммированному маршруту.
3. Формирование и отображение полетно-навигационной информации (ПНИ).
4. Пилотирование и управление полетом.
5. Круглосуточная обзорная система.
6. Оперативный ручной ввод заданных значений параметров полета.
7. Отсчет и отображение текущего и полетного времени.
8. Ручная и автоматическая настройка радиотехнических систем навигации и посадки.
9. Обеспечение взаимодействия с радиолокаторами управления воздушным движением.
10. Передача информации в обеспечение автоматического зависимого наблюдения.
9
Рис. 1. Функциональные графы
11. Контроль состояния силовой установки и общевертолетного оборудования.
12. Управление общевертолетным оборудованием.
13. Управление системой электропитания бортового оборудования.
14. Формирование и регистрация массива полетной информации в бортовом регистраторе.
15. Функции комплекса средств связи.
16. Передача радиосигналов бедствия.
17. Полетный автоматический контроль исправности комплекса с отображением результатов контроля.
18. Управление вооружением.
19. Управление системами постановки помех.
20. Многоканальная система наведения.
В дальнейшем будем полагать, что КБО должен функционировать в двух режимах - режим крейсерского полета и режим боя. Функциональные графы Gpl и Gp2 данного КБО для крейсерского полета и боя соответственно представлены на рисунке 1. Порядковые номера вершин графа соответствуют порядковым номерам перечисленных выше выполняемых функций, цифровые значения - требуемым ресурсам процессора, параметры к - уровням критичности. При этом задачи под номерами 18-20 характерны только для режима боя, а задачи 8-10 - только для крейсерского полета. При этом учитываются функции, которые требуют реализации на специальном вычислителе или вне крейта ИМА:
6. Оперативный ручной ввод заданных значений параметров полета; 16. Передача сигналов бедствия.
9
вычислительной системы КБО
Перед началом работы алгоритма реконфигурации функции уе У необходимо упорядочить таким образом, чтобы впоследствии их было удобно исключать из процесса распределения по аппаратной платформе. При упорядочении используются параметры критичности k и суммарный выходной поток данных и а идущий от каждой функции. Функции должны располагаться в порядке убывания параметра k и убывания параметра ирар. Для рассматриваемого КБО функции разделяются так, как показано в таблицах 1 и 2. При этом полагается, что:
Ь1,2а1,2>и13,12а13,12>Ь1.8а1,8>Ь1. 9>Ь1,1^1.14>Ь13, 1^13, 11 >и2,14 а2,14>
>и а >и а >и а > и а >и а >и
15,10 15,10 2,9 2,9 12,17 12,17 1,20 1,20 11,17 11,17 13,14 а13,14>
>и а > и а >и а > и а > и а >
13,17 13,17 20,18 20,18 20,19 20,19 19,11 19,11 18,11 18,11
>V12,18ai2,18>V7,ia7,1>V7,17a7,1T
(4)
Таблица 1
Упорядоченное множество функций КБО для режима крейсерского полета
k(= К Функции JG Y
К 13 11 12 17 4 3
К 2 1
k3 8 9 15
k4 10 5 7
k5 14
Таблица 2 Упорядоченное множество функций КБО для режима боя
Ке К с >ункции Y
К 13 11 12 17 4 3
К 2 1 18 19 20
К 15
k4 5 7
к5 14
Перераспределение функций в случае отказа по исправной аппаратной платформе осуществляется следующим образом.
Шаг 1. Определяется заданный режим работы КБО q, количество отказавших ВМ т и приложений р. Переход к шагу 2.
Шаг 2. Проверяется условие для заданного режима полета q^Q
(5)
рёР уеГ
где - коэффициент запаса на основе экспертных оценок.
Если условие выполняется, то КБО имеет достаточное количество исправных аппаратных ресурсов для выполнения всех исправных функций,
не распределенных по какому-либо критерию оптимальности. Переход к шагу 3. Если условие не выполняется, то необходимо исключение каких-либо функций из состава комплекса. Шаг 3 пропускается и осуществляется переход к шагу 4.
Шаг 3. Реализуется алгоритм распределения функций по какому-либо заранее заданному критерию оптимальности (например, по минимуму загрузки сети [2]). В случае его успешной реализации реконфигурация комплекса завершается, поскольку все исправные функции заново назначены для работы в исправных модулях. Если реализовать алгоритм распределения по какой-то причине не удалось (отсутствует необходимое число дополнительных модулей для назначения оставшихся в ходе распределения задач либо нарушается ход алгоритма при «ручном» назначении задачи в какой-либо модуль), то переходят к шагу 4.
Шаг 4. Из всего множества функций у е У выбирается функция с наименьшими значениями уровня критичности и наименьшим суммарным потоком данных от этой функции и исключается из состава КБО. Затем реализуется алгоритм распределения функций по какому-либо заранее заданному критерию оптимальности. В случае его успешной реализации реконфигурация комплекса завершается. Если реализовать алгоритм не удалось, то переходят к шагу 5.
Шаг 5. Выбирается функция с тем же значением критичности k, что и на шаге 4, но с большим по сравнению с ней выходным суммарным потоком и.ар (но меньшим, чем у всех остальных) или, если функции с данным уровнем критичности отсутствуют, то выбирается функция со следующим уровнем и с минимальным для данного уровня суммарным выходным потоком данных (например, в рассматриваемом КБО для режима боя порядок исключения будет следующим: 14, 5, 5-14, 7, 7-14, 7-5, 7-5-14 и т. д.).
Данный порядок исключения функций основан на том, что необходимо минимизировать потери данных, которые возникнут при удалении функции из состава КБО. Это делается для того, чтобы оставшиеся функции работали максимально эффективно после реконфигурации в условиях аппаратного отказа. Так как если функция потеряет весь поток данных, который ей необходим, то она не сможет выполняться дальше.
Если распределение функциональных задач по заданному критерию оптимальности выполнить не удалось и были выбраны все функции со всеми возможными допустимыми уровнями критичности, то необходимо либо изменить критерий оптимально-
сти, либо выставлять сигнал полной неисправности КБО.
Шаг 5 повторяется до тех пор, пока не будут исключены все функции с отличными от заданного уровнями критичности. Конец вычислений.
Работа данного алгоритма над КБО вертолета,
изображенным на рисунке 1, представлена на рисунках 2(а) и 2(б) при отказе двух аппаратных модулей в режиме крейсерского полета и в режиме боя соответственно. Как видно из рисунка, все функции с уровнями критичности к1 и к2 отображены на вершины графа аппаратной структуры Gs.
Креит ИМА
Крейт ИМА
а) Крейсерский полет. Отказали 2 модуля Исключены задачи 5,7,10,16,15
5) Режим доя. Отказали 2 модуля. Исключены задачи 5,7,16,15
Рис. 2. Работа алгоритма на примере КБО военного вертолета
Следует также отметить, что в случае отказа ВМ или приложения в каком-либо режиме простое переключение на другой режим с сохранением оптимального распределения функциональных задач невозможно, поскольку предыдущий процесс реконфигурации (если он был) эти отказы не учитывал. Поэтому для эффективной работы КБО необходимо производить расчеты по перераспределению функций для всех режимов и сохранять их для последующего использования при переключении. Это позволит избежать опасных ситуаций, когда переход в другой режим невозможен, и, в случае необходимости, функционировать в аварийном режиме для совершения экстренной посадки.
Заключение Предложенный алгоритм будет более эффективен при проектировании сложных систем авионики, в которых решается большее количество различных задач и используется большое число модулей. Алгоритм может быть усовершенствован, если будет учитывать специфику управления ОСРВ и тип мультипроцессорной системы [4]. Внесением дополнительных условий можно добиться частичной реконфигурации, когда система перераспределяет не все функции КБО, а только функции, принадлежащие отказавшим модулям. Однако данный вопрос затра-
гивает архитектуру конкретной ОСРВ, что в данной статье не рассматривается.
Предлагаемые на сегодняшний день многопроцессорные вычислительные системы с динамически перестраиваемой архитектурой, подробно описанные в работах [5-7], не могут быть применены к рассматриваемым системам ИМА, которые требуют именно динамической реконфигурации во время полета. Создание частных алгоритмов реконфигурации может служить основой для разработки эффективных реконфигурируемых систем, сохраняющих свою работоспособность при множественных аппаратных отказах [8]. Однако данные алгоритмы требуют наличия дополнительных специальных средств для их реализации, экономическая оправданность которых пока не ясна.
Список литературы
1. Дегтярев А.Р. Разработка перспективных динамически реконфигурируемых систем интегрированных комплексов бортового оборудования [Текст] / А.Р. Дегтярев // Сборник тезисов докладов конгресса молодых ученых. - Выпуск 1. - СПб.: Университет ИТМО, 2014. - 232 с.
2. Дегтярев А.Р. Алгоритм распределения задач в многопроцессорных комплексах интегриро-
ванной модульной авионики [Текст] / А.Р. Дегтярев, Г.В. Медведев //Автоматизация процессов управления - 2014. - № 1. - С. 79-84.
3. Руководство по гарантии конструирования бортовой электронной аппаратуры КТ-254 [Текст]. -М.: Авиаиздат, 2011. - 86 с.
4. Таненбаум Э. Современные операционные системы [Текст] / Э. Таненбаум. - 3-е изд. - СПб.: Питер, 2010. - 1120 с.: ил.
5. Реконфигурируемые мультиконвейерные вычислительные структуры [Текст] / И.А. Каляев [и др.] - Ростов н/Д.: Издательство ЮНЦ РАН, 2008.
- 393 с.
6. КаляевА.В. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений [Текст] / И.А. Каляев, И.И. Левин. - М.: Янус-К, 2003. - 380 с.
7. Беседин И.В. Семейство базовых модулей для построения реконфигурируемых многопроцессорных вычислительных систем со структурно-процедурной организацией вычислений [Текст] / И.В. Беседин [и др.] // Научный сервис в сети Интернет: технологии распределенных вычислений: материалы всероссийской научной конференции. -М.: Издательство Московского университета, 2006.
- С. 47-49.
8. Чуянов Г.А. Перспективы развития комплексов бортового оборудования на базе интегрированной модульной авионики [Текст] / Г.А. Чуянов, В.В. Косьянчук, Н.И. Сельвесюк // Известия ЮФУ. Технические науки. - 2013. - № 3. - С. 55-62.
References
1. Degtjarev A.R. Razrabotka perspektivnyh dinamicheski rekonfiguriruemyh sistem integrirovannyh
kompleksov bortovogo oborudovanija [Tekst] / A.R. Degtjarev // Sbornik tezisov dokladov kongressa molodyh uchenyh. Vypusk 1. - SPb.: Universitet ITMO, 2014. - 232 s.
2. Degtjarev A.R. Algoritm raspredelenija zadach v mnogoprocessornyh kompleksah integrirovannoj modul'noj avioniki [Tekst] / A.R. Degtjarev, G.V. Med-vedev //Avtomatizacija processov upravlenija. - 2014. - № 1. - S. 79-84.
3. Rukovodstvo po garantii konstruirovanija bortovoj jelektronnoj apparatury KT-254 [Tekst]. - M.: OAO Aviaizdat, 2011. - 86 s.
4. Tanenbaum Je. Sovremennye operacionnye sistemy [Tekst] / Je. Tanenbaum. - 3-e izd. - SPb.: Piter, 2010. - 1120 s.: il.
5. Rekonfiguriruemye mul'tikonvejernye vychis-litel'nye struktury [Tekst] / I.A. Kaljaev [i dr.] - Rostov n/D.: Izdatel'stvo JuNC RAN, 2008. - 393 s.
6. Kaljaev A.V. Modul'no-narashhivaemye mno-goprocessornye sistemy so strukturno-procedurnoj organizaciej vychislenij [Tekst] / I.A. Kaljaev, I.I. Levin. - M.: Janus-K, 2003. - 380 s.
7. Besedin I.V Semejstvo bazovyh modulej dlja postroenija rekonfiguriruemyh mnogoprocessornyh vychislitel'nyh sistem so strukturno-procedurnoj organizaciej vychislenij [Tekst] / I.V. Besedin [i dr.] // Nauchnyj servis v seti Internet: tehnologii raspredelennyh vychislenij: materialy vserossijskoj nauchnoj konferencii. - M.: Izdatel'stvo Moskovskogo universiteta, 2006. - S. 47-49.
8. Chujanov G.A. Perspektivy razvitija kompleksov bortovogo oborudovanija na baze integrirovannoj modul'noj avioniki [Tekst] / G.A. Chujanov, V.V. Kos'janchuk, N.I. Sel'vesjuk // Izvestija JuFU. Tehnicheskie nauki. - 2013. - № 3. - S. 55-62.