Реферат по теме выпускной работы

При написании данного реферата магистерская работа еще не завершена. Окончательное завершение: июнь 2019 года. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.

Содержание

Введение

В развитии индустрии электронных устройств наблюдается тенденция, направленная на достижение максимально-возможной компактности и мобильности устройств за счет уменьшения габаритов и веса используемых модулей и материалов. Данная тенденция сопровождается тенденцией наращивания их интеллектуальности. В основе таких устройств лежат встраиваемые системы, реализующие функционал устройства, и работающие под управлением специального программного обеспечения. Важным требованием к таким системам является возможность обработки поступающих событий в установленные промежутки времени, т.е. исполнение программного обеспечения в рамках определённых границ реального времени. В стремлении к компактности, вычислительная мощность таких систем уменьшается. Установленные ограничения на время выполнения программы и максимальная возможная частота микропроцессора определяют максимальную трудоемкость алгоритма. В случае наличия ограничений на размеры и вес устройства, а также выхода алгоритма за пределы максимально-допустимой трудоемкости, физическая реализация устройства оказывается под сомнением.

Одним из подходов для решения данной проблемы может служить вынесение трудоемких частей алгоритма в виде функций на внешние вычислительные ресурсы, с обеспечением последующего доступа к ним. Применение технологий распределения программного обеспечения при проектировании устройств подразумевает необходимость использования интерфейса передачи данных для доступа к удаленной части программного обеспечения.

При этом, разновидность доступных интерфейсов и разновидность возможных используемых ресурсов, задействованных для исполнения удаленной части программного обеспечения, вносят некоторую неопределенность, препятствующую получению точного времени, необходимого на выполнение удаленной части программного обеспечения, относительно встраиваемой системы. Неопределенность этих значений при рассмотрении процесса взаимодействия распределенных встраиваемых системы соответственно возрастает.

1. Актуальность темы

Новой тенденцией в развитии электронных устройств является появление умных вещей, обладающих функциями взаимодействия друг с другом.

Наблюдается развитие индустрии автономных подвижных устройств, таких как: беспилотные самолеты, корабли и автомобили, пользовательские роботы и квадрокоптеры. Данные устройства имеют в составе встраиваемую систему управления, набор датчиков и исполнительных механизмов, в совокупности образующие кибер-физическую систему. На сегодняшний день кибер-физические системы активно внедряются во все сферы жизнедеятельности человека, обеспечивая при этом позитивный экономический эффект [1].

2. Цель и задачи исследования, планируемые результаты

Наличие математической модели позволяет определить возможные временные затраты на выполнение той или иной функции, использующей удалённое программное обеспечение, в процессе взаимодействия встраиваемых систем, относительно конкретного экземпляра системы, во время работы. Ее использование позволяет более гладко планировать задачи реального времени.

Данная магистерская работа посвящена разработке модели взаимодействия встраиваемых систем с распределенными ресурсами на основе математической и физической моделей.

В работе планируется рассмотреть методы использования удаленного программного обеспечения и оценить полученные результаты.

3. Обзор исследований и разработок

За последние два десятилетия, ввиду активного развития веб-технологий, можно наблюдать, что у владельцев крупных Интернет-ресурсов появилась необходимость в организации собственных центров обработки данных (ЦОД), обеспечивающих работу их Интернет-ресурсов. Как свидетельствуют данные Synergy Research Group, количество гипермасштабируемых дата-центров, развёрнутых по всему миру, по состоянию на 2016 г. достигло 300. В конце 2016 г. такие крупные компании, как Amazon, Google и Alibaba, в массовом порядке открывали новые ЦОДы. Больше всего таких объектов — около 45% от общего количества — находится в США. В Китае и Японии их насчитывается 8 и 7% соответственно. Далее в списке стран с наибольшим числом центров обработки данных, используемых для работы облачных сервисов и предоставления интернет-доступа, расположились Великобритания, Австралия, Канада, Сингапур, Германия и Индия. На их долю приходится ориентировочно от 3 до 5% площадок.

Отмечается, что каждый из 24 крупных операторов дата-центров, фигурирующих в аналитическом отчете Synergy, имеет в среднем по 13 таких объектов. Лидерами среди них являются Amazon, Microsoft и IBM. Их ЦОДы располагаются более чем в 40 странах мира, по меньшей мере в двух из четырех основных регионов (Северная и Латинская Америка, EMEA, Азиатско-Тихоокеанский регион). Широкими глобальными сетями дата-центров также располагают Google и Oracle. У остальных компаний ЦОДы находятся в основном в США (например, Apple, Twitter, Salesforce, Facebook, eBay, LinkedIn, Altaba (ранее Yahoo)) или Китае (Tencent, Baidu) [2]. Так, в тенденции развития ЦОДов, появилась возможность разработки технологии облачных вычислений как продукта, который может быть доступен конечному пользователю.

Распределённые вычисления не являются новой тенденцией в развитии компьютерных технологий, однако, в ней наблюдается новый виток, открывающий широкому кругу пользователей возможность доступа на коммерческой основе к распределенным ресурсам, в том числе с возможностью конфигурации своей собственной инфраструктуры через панель управления, без необходимости непосредственного доступа к оборудованию.

Современные облачные вычисления основываются на принципах, предложенных разработчиками операционной системы Clouds, разработанной в Технологическом институте Джорджии (Georgia Institute of Technology), США, реализованной в 1986 году [3].

На сегодняшний день, облачные вычисления — это предоставление вычислительных служб (серверов, хранилища, баз данных, сетевого оборудования, программного обеспечения, аналитики и т.д.) через Интернет. Компании, которые предоставляют такие вычислительные службы, называются поставщиками облачных служб. Обычно они взимают плату за облачные вычислительные службы на основе использования [4].

Не существует общих, единых для всех, стандартов работы с облаками. Существует классификация моделей обслуживания и моделей развертывания платформ облачных вычислений, сформулированная в 2011 году Национальным институтом стандартов и технологий США [5]. Так, различают три модели обслуживания:

  • Software as a Servics (SaaS) — модель предоставления конечному пользователю возможности доступа к удаленного программному обеспечения, которое имеется у провайдера облачных услуг.
  • Platform as a Service (PaaS) — модель предоставления конечному пользователю платформы, позволяющей ему выполнять свои приложения, написанные специально под эту платформу, соответственно, разрабатывать такие приложения под эту платформу и получать доступ к ним удаленно.
  • Infrastructure as a Service (IaaS) — предоставление конечному пользователю доступа к виртуальной (или физической) инфраструктуре, организовывать таким образом собственные центры обработки данных, кластеры и т.д. и управлять ими. Так пользователь может сам определять операционные системы, используемые в его инфраструктуре.

При этом, различают облака частные, общественные, публичные и гибридные. Каждый поставщик облачных служб предлагает свои возможности использования его облачных сервисов, предоставляя при этом программный интерфейс (API), обеспечивающий быструю интеграцию.

Рассматривая технологию облачных вычислений как решение проблемы распределения вычислений встраиваемых систем, следует отметить, что для доступа к облачным ресурсам требуется время, обусловленное наличием транспортной задержки при передаче данных через Интернет. Для некоторого класса задач обработка данных локально может быть выполнена быстрее, чем будет получен доступ в облако, что, впрочем, может быть определено относительно локальной системы реального времени заранее [6].

Решение, позволяющее снизить транспортные задержки, заключается в использовании парадигмы туманных вычислений (“fog computing”), которая является расширением парадигмы облачных. Идея туманных вычислений заключается в максимальном географическом приближении потребительского облачного программного обеспечения к устройству за счет осуществления миграции облачного потребительского программного обеспечения на серверы уровня Fog (рис. 1), называемые Fog-нодами, располагающиеся максимально близко к границе сети [7].

Диаграмма миграции виртуальных машин на Fog-ноды

Рисунок 1 — Диаграмма миграции виртуальных машин на Fog-ноды
(анимация: 103 кадра, 427 килобайт)

Парадигма туманных вычислений предусматривает автоматическую миграцию программного обеспечения на Fog-ноды, обеспечивает разделение и выделение системных ресурсов за счет использования специальных алгоритмов оркестрации [8]. Стоит отметить, что осуществление операций вблизи устройств не только снижает временные задержки, но и способствует существенному снижению нагрузку на магистральные узлы Интернет.

3.1 Обзор международных источников

На сегодняшний день предоставление облачных сервисов как услуги обеспечивают компании Amazon, Google, Microsoft и Яндекс. Разработчики программного обеспечения активно присматриваются к возможности использования облачных сервисов в своих проектах.

Примером в развивающемся направлении являются идеи компании Aldec использовать облако совместно с FPGA технологиями. Так, 28 сентября 2017 года представитель компании Farhad Fallah провел для разработчиков вебинар на тему Как подключить FPGA плату к облаку Амазона для использования высокопроизводительных вычислений в промышленных устройствах Интернета-вещей, продемонстрировав в реальном времени возможность получения температуры с беспроводных датчиков по средствам Bluetooth платой FPGA под управлением Embedded Linux, передачей значений в облако Амазона посредствам Wi-Fi через Интернет и получением значений из облака на удаленном компьютере. В дальнейшем компания продемонстрировала как на базе FPGA технологий организовать маршрутизатор для направления данных в облако из Интернета-вещей с использованием одной из отладочных плат [9].

В свою очередь, в мае 2018 компания MikroElektronika, которая профилируется на разработке отладочных плат и модулей быстрой разработки, выпустила модуль AnyNet, который предназначен для быстрой интеграции разрабатываемых устройств с облачными сервисами Amazon (подробности на сайте компании).

Компания Ментор на одной из конференций ARM Technology Conference продемонстрировала распределенное медицинское приложение. Образец состоит из монитора пациента, который собирает и обрабатывает данные с распределенных сенсоров, собирающих электрокардиограмму, кровяное давление, и информацию о пульсе. В этом решении передача данных обеспечивается в реальном времени, с использованием Mentor Embedded Linux и Nucleus RTOS. Собранные данные могут быть записаны, сохранены и проанализированы локально, а также использованы для генерации сигналов и событий в реальном времени. Критическая информация пациента может быть отправлена в облако для удаленного мониторинга, клинического доступа либо для расширенной аналитики [10].

Еще одним лидером в области облачных решений и автоматизации с использованием облачных технологий является компания Eurotech. Предлагаемая компанией облачная платформа Everyware Device Cloud обеспечивает механизм доставки и управления данными в рамках бизнес-предприятия. Платформа сочетает в себе облако, M2M (mobile-2-mobile) и Интернет вещей, чтобы учитывать требования клиентов, например, в транспортных, логистических и промышленных компаниях. Специалисты Eurotech предлагают новый тип облака — DaaS (облако устройств) = Device (устройство) + SaaS (ПО по требованию). Отмечается, что первая версия данного решения в 2013 году была признана лучшим M2M-решением в мире [11].

Стоит отметить активный рост публикаций в мировом научном сообществе на тему применения облачных и туманных вычислений в кибер-физических системах. Туманные вычисления являются одним из способов распределения программного обеспечения для встраиваемых систем, с обеспечением при этом минимальной задержки в процессе доступа к удаленной части программного обеспечения.

3.2 Обзор национальных источников

Поиск материалов по теме показал наличие множества публикаций, где рассматриваются преимущества и недостатки облачных вычислений, частных облаков. Так же рассматриваются достоинства и перспективы туманных вычислений в концепции сетей 5G. Стоит отметить множество разработок и публикаций в сфере распределенных вычислений. Также в работах рассматриваются проблемы организации частных облаков. Затрагиваются проблемы использования облачных сервисов в сфере разработки программного обеспечения. В свою очередь, выделяется большое множество работ, посвященных кибер-физическим системам. Также, научное сообшество уделяет внимание развитию Интернета-вещей.

При этом, работ, посвященных использованию облачных и туманных вычислений в распределённых встраиваемых системах, в системах реального времени и в кибер-физических системах, среди национальных источников, найти не удалось.

3.3 Обзор локальных источников

Множество магистров ДонНТУ неоднократно затрагивали проблемы, связанные с распределенными вычислениями, со встраиваемыми системами. Так же были рассмотрены разные проблемы, касающиеся облачных вычислений.

Среди работ выделяются работы:

  • Мовчан О.В. — Разработка и анализ метода размещения на облаке программного обеспечения для решения динамических задач распределения ресурсов.
  • Карпенев А.С. — Исследование методов проектирования инфокоммуникационных сетей с использованием облачных технологий.
  • Егоров А.А. — Исследование методов и средств защиты конфиденциальных данных при распределенной обработке в облачной инфраструктуре.

Работ посвященных использованию облачных и туманных вычислений в распределённых встраиваемых системах, в системах реального времени и в кибер-физических системах, среди работ магистров ДонНТУ найти не удалось.

4. Методика определения эффективности использования облачных функций на базе математической модели

Трудоемкость алгоритма определяется требуемым количеством процессорных операций и операций ввода-вывода [12]. Допустим, что в рассматриваемой системе реального времени скорость обработки команд равна частоте базового микропроцессора, а длительность обработки одной команды составляет 1 такт. Тогда, при наличии в системе ограничения на время реакции и при постоянной частоте, можно определить максимальную трудоемкость алгоритма по следующей формуле:

(1)

где
– максимальная трудоемкость алгоритма,
– частота обработки команд,
– время реакции на внешнее событие.

Для достижения эффективного распределения процессорного времени среди задач, при использовании распределенного алгоритма, суммарное значение времени передачи данных (при передаче аргумента функции), собственно времени выполнения функции и времени получения результата не должно превышать времени выполнения той же функции микропроцессором. Следовательно, должно выполняться условие:

(2)

где
– время передачи данных облачной функции,
– время выполнения облачной функции,
– время получения результата от облачной функции,
– время обработки данных микропроцессором,
– количество передаваемых байт,
– количество получаемых байт,
– трудоемкость алгоритма.

Для проверки выполнения условия (2) требуется определить трудоемкость алгоритма, для которого проводится расчет, и определить формы временных функций.

Стоит отметить, что теоретический расчет трудоемкости алгоритма может иметь большую погрешность в следствие того, что при таком расчете приходится использовать вероятностный анализ перехода при разветвлении алгоритма. При этом, трудоемкость алгоритма может быть определена эмпирически, путем определения времени выполнения алгоритма микропроцессором системы реального времени.

Временные функции, в свою очередь, зависят от интерфейса передачи данных, протокола и среды передачи данных.

Выводы

Развитие технологий достигло момента, при котором множество решаемых задач перекладывается на устройства, минимизируя при этом участие человека. В процессе развития интеллектуальной составляющей устройств все больше и больше возрастают требования к вычислительным способностям встраиваемых систем. Ввиду отсутствия единого координационного центра, вопросы координации действий устройств ложатся на их алгоритмы.

На сегодняшний день уже существуют технологии, позволяющие расширять вычислительные возможности встраиваемых систем и минимизировать их габариты, достигая тем самым возможности реализации таких устройств. Однако, вопросы, связанные с выполнением распределенных таким образом алгоритмов, в рамках заданных временных границ, все еще остаются открытыми. Таким образом, является необходимым разработка модели взаимодействия между собой встраиваемых систем с распределёнными ресурсами, анализ и изучение ее откликов для успешного формирования алгоритмов взаимодействия распределенных встраиваемых систем.

Список источников

  1. Куприяновский В.П. Кибер-физические системы как основа цифровой экономики / В.П. Куприяновский, Д.Е. Намиот, С.А. Синягов // International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 2, 2016.
  2. 2016. Число гипермасштабируемых ЦОДов в мире достигло трехсот [Электронный ресурс]. — Режим доступа: http://www.tadviser.ru/index.php/Статья:ЦОД_(мировой_рынок)_Коммерческие_дата-центры
  3. G. Coulouris, J. Dellimore & T. Kindberg, Distributed Systems — Clouds, Edition 2, 1994.
  4. Что такое облачные вычисления? Руководство для начинающих [Электронный ресурс]. — Режим доступа:https://azure.microsoft.com/ru-ru/overview/what-is-cloud-computing/
  5. Mell, Peter and Grance, Timothy. The NIST Definition of Cloud Computing. Recommendations of the National Institute of Standards and Technology. NIST (20 October 2011) [Электронный ресурс]. — Режим доступа: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
  6. Соломаха С.С., Мальчева Р.В., Дегтярева И.И. — Применение облачных вычислений в системах реального времени // Материалы IX Международной научно-технической конференции Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ-2018). — Донецк: ДонНТУ, 2018. — С. 182-186; [Электронный ресурс]. — Режим доступа: http://iuskm.donntu.ru/electronic/iusmkm2018.pdf
  7. Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are // Cisco White Paper, 2015. — 6 c. [Электронный ресурс]. — Режим доступа: https://www.cisco.com/c/dam/en_us/solutions/trendsiot/ docs/computing-overview.pdf
  8. Туманные вычисления (Fog Computing), как составная часть 5G // Телеком и ИТ. [Электронный ресурс]. — Режим доступа: https://shalaginov.com/2018/07/24/4510/
  9. FPGAs Accelerating IoT Gateway and Infrastructure Tiers [Электронный ресурс]. — Режим доступа: https://www.aldec.com/en/company/blog/125--fpgas-accelerating-iot-gateway-and-infrastructure-tiers
  10. Fog Computing for the Internet of Everything, Mentor, July 28, 2017 [Электронный ресурс]. — Режим доступа: http://www.rtcmagazine.com/fog-computing-for-the-internet-of-everything/
  11. Жирков А. Интернет вещей и облачные технологии Eurotech // Современные технологии автоматизации. — 2015. — № 2. — С. 6-12. https://tp.prosoft.ru:443/docs/shared/Техпортал/Eurotech/Техническая%20статья/Интернет%20вещей%20и%20облачные%20технологии%20Eurotech.pdf
  12. Оценка трудоемкости алгоритма [Электронный ресурс]. — Режим доступа: http://life-prog.ru/1_56130_otsenka-trudoemkosti-algoritma.html