Реферат за темою випускної роботи
При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: червень 2019 року. Повний текст роботи та матеріали по темі можуть бути отримані у автора або його керівника після зазначеної дати.
Зміст
- Вступ
- 1. Актуальність теми
- 2. Мета і задачі дослідження та заплановані результати
- 3. Огляд досліджень та розробок
- 3.1 Огляд міжнародних джерел
- 3.2 Огляд національних джерел
- 3.3 Огляд локальних джерел
- 4. Методика визначення ефективності використання хмарних функцій на базі математичної моделі
- Висновки
- Перелік посилань
Вступ
У розвитку індустрії електронних пристроїв спостерігається тенденція, спрямована на досягнення максимально-можливої компактності і мобільності пристроїв за рахунок зменшення габаритів і ваги використовуваних модулів і матеріалів. Дана тенденція супроводжується тенденцією нарощування їх інтелектуальності. В основі таких пристроїв лежать вбудовані системи, що реалізують функціонал пристрою, і що працюють під управлінням спеціального програмного забезпечення. Важливою вимогою до таких систем є можливість обробки подій що надходять в певні проміжки часу, тобто виконання програмного забезпечення в рамках певних меж реального часу. У прагненні до компактності, обчислювальна потужність таких систем зменшується. Встановлені обмеження на час виконання програми і максимальна можлива частота мікропроцесора визначають максимальну трудомісткість алгоритму. У разі наявності обмежень на розміри і вагу пристрою, а також виходу алгоритму за межі максимально допустимої трудомісткості, фізична реалізація пристрою опиняється під сумнівом.
Одним з підходів для вирішення даної проблеми може служити винесення трудомістких частин алгоритму у вигляді функцій на зовнішні обчислювальні ресурси, із забезпеченням подальшого доступу до них. Застосування технологій розподілу програмного забезпечення при проектуванні пристроїв передбачає необхідність використання інтерфейсу передачі даних для доступу до віддаленої частини програмного забезпечення.
При цьому, різноманітність доступних інтерфейсів і різноманітність можливих використовуваних ресурсів, задіяних для виконання віддаленої частини програмного забезпечення, вносять деяку невизначеність, що перешкоджає отриманню точного часу, необхідного на виконання віддаленій частині програмного забезпечення, відносно вбудованої системи. Невизначеність цих значень при розгляді процесу взаємодії розподілених вбудованих системи відповідно зростає.
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-ноди, забезпечує розподіл і виділення системних ресурсів за рахунок використання спеціальних алгоритмів оркестрації [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) потрібно визначити трудомісткість алгоритму, для якого проводиться розрахунок, і визначити форми часових функцій.
Варто зазначити, що теоретичний розрахунок трудомісткості алгоритму може мати велику похибку в наслідок того, що при такому розрахунку доводиться використовувати ймовірнісний аналіз переходу при розгалуженні алгоритму. При цьому, трудомісткість алгоритму може бути визначена емпірично, шляхом визначення часу виконання алгоритму мікропроцесором системи реального часу.
Часові функції, в свою чергу, залежать від інтерфейсу передачі даних, протоколу і середовища передачі даних.
Висновки
Розвиток технологій досяг моменту, при якому безліч вирішуваних завдань перекладається на пристрої, мінімізуючи при цьому участь людини. В процесі розвитку інтелектуальної складової пристроїв все більше і більше зростають вимоги до обчислювальних можливостей вбудованих систем. Зважаючи на відсутність єдиного координаційного центру, питання координації дій пристроїв лягають на їх алгоритми.
На сьогоднішній день вже існують технології, що дозволяють розширювати обчислювальні можливості вбудованих систем і мінімізувати їх габарити, досягаючи тим самим можливості реалізації таких пристроїв. Однак, питання, пов'язані з виконанням розподілених таким чином алгоритмів, в рамках заданих часових меж, все ще залишаються відкритими. Таким чином, є необхідним розробка моделі взаємодії між собою вбудованих систем з розподіленими ресурсами, аналіз і вивчення її відгуків для успішного формування алгоритмів взаємодії розподілених вбудованих систем.
Перелік посилань
- Куприяновский В.П. Кибер-физические системы как основа цифровой экономики / В.П. Куприяновский, Д.Е. Намиот, С.А. Синягов // International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 2, 2016.
- 2016. Число гипермасштабируемых ЦОДов в мире достигло трехсот [Електронний ресурс]. — Режим доступу: http://www.tadviser.ru/index.php/Статья:ЦОД_(мировой_рынок)_Коммерческие_дата-центры
- G. Coulouris, J. Dellimore & T. Kindberg, Distributed Systems — Clouds, Edition 2, 1994.
- Что такое облачные вычисления? Руководство для начинающих [Електронний ресурс]. — Режим доступу:https://azure.microsoft.com/ru-ru/overview/what-is-cloud-computing/
- 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
-
Соломаха С.С., Мальчева Р.В., Дегтярева И.И. — Применение облачных вычислений в системах реального времени // Материалы IX Международной научно-технической конференции
Информатика, управляющие системы, математическое и компьютерное моделирование
(ИУСМКМ-2018). — Донецк: ДонНТУ, 2018. — С. 182-186; [Електронний ресурс]. — Режим доступу: http://iuskm.donntu.ru/electronic/iusmkm2018.pdf - 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
- Туманные вычисления (Fog Computing), как составная часть 5G // Телеком и ИТ [Електронний ресурс]. — Режим доступу: https://shalaginov.com/2018/07/24/4510/
- FPGAs Accelerating IoT Gateway and Infrastructure Tiers [Електронний ресурс]. — Режим доступу: https://www.aldec.com/en/company/blog/125--fpgas-accelerating-iot-gateway-and-infrastructure-tiers
- Fog Computing for the Internet of Everything, Mentor, July 28, 2017 [Електронний ресурс]. — Режим доступу: http://www.rtcmagazine.com/fog-computing-for-the-internet-of-everything/
- Жирков А. Интернет вещей и облачные технологии Eurotech // Современные технологии автоматизации. — 2015. — № 2. — С. 6-12. https://tp.prosoft.ru:443/docs/shared/Техпортал/Eurotech/Техническая%20статья/Интернет%20вещей%20и%20облачные%20технологии%20Eurotech.pdf
- Оценка трудоемкости алгоритма [Електронний ресурс]. — Режим доступу: http://life-prog.ru/1_56130_otsenka-trudoemkosti-algoritma.html