Диссертация (1148255), страница 18
Текст из файла (страница 18)
Текущая реализация данного уровня (основанная на механизме круговой передачи токена) наиболее эффективна для систем, в которых каждыйиз узлов одинаково активен в эфире. В системах, где активных узлов меньше, более эффективны будут другие реализации. Поскольку в рамках данногоисследования рассматривается только DSM уровень, его производительностьследует оценивать относительно низлежащего сетевого уровня. Снижение производительности с переходом на уровень МАКС DSM, как было показано выше,приблизительно десятикратное.3.8. ВыводыВ данной главе была описана реализация прикладного интерфейса, принципы системы сообщений и ключевые фрагменты протокола, рассмотрена реализация отказоустойчивости, а также представлен пример программы, функционирующей на нескольких устройствах и демонстрирующей все возможностисозданной системы.
В завершение был рассмотрен испытательный стенд и приведены результаты измерений производительности решения.Использование техники метапрограммирования (реализованной посредством языка Си++ и директив препроцессора, что отличается от ранее при109менявшихся в DSM системах подходах), позволило достичь сочетания в одномрешении качеств, ранее совместно не встречавшихся: простоты в использовании, проверки корректности на этапе компиляции и отсутствия зависимости отспецифичных компонентов среды разработки (таких как специализированныйдля конкретной DSM системы компилятор или препроцессор). Ожидается, чтоданные свойства будут способствовать широкому распространению созданногорешения.Система ролей позволила выстроить лаконичный протокол обмена сообщениями, что повышает надежность решения. Вместе с принципом атомарностивысокоуровневых сообщений, это позволило снизить сложность реализации требования отказоустойчивости.
Отказоустойчивость реализуется рассмотрениемвсех возможных ситуаций выхода из строя устройств любой роли, в том числеодновременного выхода из строя нескольких устройств. Для каждой ситуациипредусмотрена процедура восстановления системы. Хотя восстановление системы после сбоя отдельного узла или нескольких узлов происходит достаточнобыстро, следует отметить, что в текущей реализации не обрабатывается ситуация, когда сбой происходит в процессе восстановления системы от предыдущегосбоя (каскадный сбой) – данный недостаток необходимо вынести на дальнейшую проработку вне рамок текущего исследования.Была рассмотрена экспериментальная распределённая программа, функционирующая на нескольких устройствах и выполняющая некоторую вычислительную задачу. Было показано, что благодаря МАКС DSM, исходный кодпрограммы получился крайне лаконичен, но, несмотря на это, обеспечил синхронную работу нескольких устройств и работоспособность системы в случаевыключения отдельных узлов.
Таким образом, работоспособность созданногорешения была доказана.В заключение были проведены измерения – как на реальном, специально созданном оборудовании (для системы от двух до пяти устройств), так ина модели (от двух до 16 устройств).
Для более глубокого понимания происхо110дящих в системе процессов и более качественной интерпретации результатов,измерения были проведены для всех логических уровней сетевых протоколов.Округлённо, введение уровня МАКС DSM снижает производительность системы в десять раз (относительно низлежащего сетевого уровня), что в основномявляется следствием количества сообщений, необходимых для выполнения отдельной операции (транзакции) данного уровня.111ЗаключениеЦелью данного диссертационного исследования была разработка моделей,алгоритмов и программных средств, реализующих концепцию распределённойобщей памяти для мультиагентных систем в IoT и позволяющих существенноупростить и ускорить создание прикладных решений в данной области.
Заявленная цель была достигнута.Итоги выполненного исследования. Основные результаты диссертационной работы заключаются в следующем.1. Разработана усиленная модель консистентности по выходу, позволяющая гарантировать согласованность данных в различных узлах распределённоймультиагентной системы и отличающаяся от существующих тем, что сочетаетв себе свойства нескольких других моделей, в своей совокупности позволяющие минимизировать время существования уникальных данных в системе иобеспечить высокий уровень устойчивости к непреднамеренным ошибкам прикладного программиста, вместе с тем, не наследуя свойств, избыточных дляобозначенной сферы применения.2.
Разработан алгоритм организации узлов мультиагентной системы всамо-восстанавливающуюся структуру, устойчивую к выходу из строя отдельных узлов. Алгоритм основан на концепции ролей – каждый узел системы исполняет некоторую роль, динамически сменяющуюся в случае изменений в конфигурации системы. Проработаны возможные аварийные ситуации, способы ихвыявления и восстановления системы без потери функциональности и данных.Также определена ситуация, в которой восстановление системы в текущей реализации не обеспечивается (каскадный отказ нескольких узлов).3.
Разработаны принципы программного интерфейса для прикладного взаимодействия с созданным механизмом реализации концепции распределённойпамяти. При формировании принципов были учтены недостатки прошлых решений, препятствующие широкому распространению соответствующих систем.1124. Разработано алгоритмическое и программное обеспечение, реализующееконцепцию распределённой общей памяти для мультиагентных систем в сфереIoT. Созданное решение позволяет существенно упростить задачу организациивзаимодействия устройств в МАС, что показано на примере использования данного решения.5.
Создан экспериментальный программно-аппаратный стенд из пятиустройств. С его помощью собраны характеристики разработанного решениядля конфигураций от двух до пяти устройств в системе. В дополнение к стенду создан программный имитационный комплекс, позволяющий предсказатьхарактеристики решения в более широких пределах вариантов использования.Достигнута точность модели, обеспечивающая сравнимые характеристики модели и программно-аппаратного стенда при одинаковом количестве устройств.На модели произведены замеры для количества устройств от двух до шестнадцати.Рекомендации по применению результатов работы.
При применении результатов данной работы в научных исследованиях или на производственеобходимо учитывать следующие аспекты.1. При переносе МАКС DSM на другие платформы и среды разработкинеобходим анализ возможностей компилятора, используемого в конкретной ситуации. Система МАКС DSM реализована на языке C++ с использованиемвозможностей языка, разрешенных стандартом ISO/IEC 14882:2003, однако вобласти встраиваемых решений поддержка даже распространённых стандартовможет быть ограничена.2. При использовании решения необходимо учитывать, что устойчивость ккаскадным сбоям, когда очередной сбой происходит в процессе восстановлениясистемы от предыдущего сбоя, в данный момент решением не обеспечивается.3.
При использовании разработанной системы в практических задачах сцелью максимизации производительности следует настраивать величину таймаутов в алгоритме смены роли узлом в соответствии с характеристиками кон113кретной сети.Перспективы дальнейшей разработки темы. В ходе проведения данного исследования было выявлено несколько моментов, нуждающихся в дополнительной проработке вне рамок текущей работы. Основные из них перечислены ниже.1.
Доработка решения в плане отказоустойчивости – необходимо предусмотреть устойчивость к каскадным сбоям, в ситуациях когда очередной сбойпроисходит в процессе восстановления системы от предыдущего сбоя.2. Сбор метрик решения, связанных со скоростью восстановления системыпосле сбоев отдельных узлов.3. Выявление причин аномалий, обнаруженных при проведении замеров наоборудовании. Описанные в данной работе аномалии выглядят незначительными, однако потенциально могут быть следствием неучтённых, но существенныхявлений.4. Оптимизация решения по производительности в стандартных режимах,сравнение вариантов по всем метрикам, включая метрики, связанные со скоростью восстановления системы после сбоев. К примеру, одним из способовсущественной оптимизации может стать ликвидация роли «Копия» – необходимо оценить влияние данного решения на скорость восстановления, а также навозможности масштабирования решения.5.
Разработка моделей программирования, примеров для распространённых вариантов использования. Например, конечное ПО, предназначенное длягруппы устройств, каждое из которых порождает новые данные, может существенно отличаться от ПО для системы, в которой дополнительные устройствавводятся исключительно с целью резервирования основного узла.
В обоих случаях МАКС DSM позволяет существенно упростить разработку конечного решения, однако для достижения оптимального результата нужно придерживатьсяпринципов разработки, несколько различающихся для каждой из ситуаций.114Список сокращений и условных обозначенийАСКУЭ—Автоматизированная система коммерческого учёта электроэнергииБПЛА—Беспилотный летательный аппаратМАС—Мультиагентная система, многоагентная система (англ.multi-agent system)ОС—Операционная системаОСРВ—Операционная система реального времениОСРВ МАКС —ОСРВ для мультиагентных когерентных системПО—Программное обеспечениеЦП—Центральный процессорAPI—Программный интерфейс приложения (англ.
applicationprogramming interface)DSM—Распределённая общая память (англ. distributed sharedmemory)FIFO—Очередь сообщений типа «первый пришел – первый вышел» (англ. first in, first out)IoT—Интернет вещей (англ. internet of things)MMU—Блок управления памятью (англ. memory managementunit)OFDMA—Множественный доступ с ортогональным частотным разделением каналов (англ. orthogonal frequency divisionmultiple access)OSI—Базовая эталонная модель взаимодействия открытых систем (англ. open systems interconnection basic referencemodel)POSIX—Переносимый интерфейс операционных систем (англ.portable operating system interface)115RPC—Удаленный вызов процедур (англ.
remote procedure call)TCP—Протокол управления передачей (англ. transmission controlprotocol)UML—Унифицированный язык моделирования (англ. unifiedmodeling language)WiMax—Неофициальное название технологии, созданной по стандарту IEEE 802.16 для предоставления высокоскоростногобеспроводного доступа к сети116Список литературы1. Андреев, А. М. Многопроцессорные вычислительные системы: теоретический анализ, математические модели и применение [Текст] / А.
М. Андреев,Г. П. Можаров, В. В. Сюзев. — Москва : Изд-во МГТУ им. Н. Э. Баумана,2011. — ISBN: 9785703834398.2. Бойко, П. В. МАКС DSM: Метаязык для организации взаимодействиягрупп автономных аппаратов [Текст] / П. В. Бойко // Навигация и гидрография. — 2017. — № 50. — С. 7–11.3. Бойко, П. В. Подход к задаче обеспечения когерентности распределённыхданных в мультиагентной системе [Текст] / П. В. Бойко // Инновации иинвестиции. — 2017. — № 2.