Павленко В.М., Вальчук Д.С.

Інститут телекомунікаційних систем НТУУ «КПІ», Україна

Розподілені обрахунки методом MapReduce на мобільній платформі

Вже близько 5-ти років технології розподілених обрахунків набувають стрімкої популярності. Спричинено це глобальним підключенням великої кількості комп’ютерних пристроїв до мережі Internet, яка в свою чергу дає змогу зв’язувати вузли між собою. За ідею покладено твердження, що сучасні електронні машини не використовують всю процесорну потужність свого ядра (оперативної пам’яті,головного процесора) та витрачають енергію нераціонально. Покликанням такої технології є навантаження системи різними простими завданнями під час простою операційної системи, при цьому не блокуючи прикладні програми кореневого користувача. Завдання виконується як фоновий процес з низьким пріоритетом, займаючи до 10% продуктивності при паралельній роботі з процесами від імені користувача, і до 45% при переході операційної системи в режим очікування.

  Вузли які працюють в рамках одного проекту отримують завдання від головного сервера, який спочатку ділить складну задачу на частини, потім розсилає вузлам для виконання, та через встановлений час tвик починає збір обробленої інформації вузлами в єдину відповідь. Сам сервер є унікальної ланкою в роботі цієї технології, і потребує точного налаштування. На відміну від нього, робочі вузли можуть бути різної конфігурації  і навіть не знати про існування один одного. Ця особливість архітектури дає змогу використовувати не тільки загально прийняті настільні комп’ютери, а й інші гаджети оснащені 32 або 64 бітними процесорами.

Вибір мобільної платформи (мобільних телефонів, планшетів, електронних годинників) в якості вузлів системи розподілених обрахунківмає ряд переваг:

·                         Висока продуктивність для простих завдань

·                         Мобільністьгаджету

·                        Простота настройки тастворення додатків

·                         Можливість використання великої кількості вузлів

·                         Постійний статус onlineзавдяки розповсюдженому 3G з'єднанню

·                         Велика кількість часу простою (в режимі очікування)

·                         Можливість унікально ідентифікувати вузол за параметрами гаджету (IMEI, GUID, SerialNumber,номер картки мобільного оператора)


Схематично система розподілених обрахунків являє собою мережу зв’язаних вузлів і сервера в середовищі Internetза допомогою популярного Httpпротоколу. Система складається з сервера написаному і працюючомуза технологією Node.js, що спрощує зв’язування вузлів і роботу з Internet протоколами та декількох вузлів, підключених по мережі WiFi та 3G з різними мобільними операційними системами (IOS та Android).Сервер відповідальний за ділення, розсилку та склеювання завдання повинен мати надійних вихід до мережіInternet, адже він також має моніторити стан вузла та хід виконання обрахунку. Також існує програмна оснастка на мобільному клієнті що виконує приймання завдання, відправлення на обробку та форматування відповіді для подальшого відправлення на головний вузол.

Рис.1 Схема мережі розподілених обрахунків для мобільних вузлів

На сервері після розсилання завдань, та обробкою їх на вузлах, виконується склеювання в загальну відповідь методом оберненим до ділення завдання. Відмінністю цих процесів є те, що на стадії склеювання також перевіряється повнота та актуальність отриманих даних за унікальним ідентифікатором пристрою. Цей етап включає в себе аналіз роботи вузла (наявність статусу online) танеобхідності перевідправлення втраченої частини відповіді повторно на інший вільний працюючий вузол в разі раптового відключення попереднього вузла, який займався обробкою цієї частини завдання.

Для такої системи розроблено додаток на популярні мобільні платформи – IOSта Androidякий можна завантажити з магазину додатків для кожної платформи відповідно. Саме він виконує отримання даних, обробку, відправку та форматування у вигляд відповіді для полегшеного склеювання сервером.

Таким чином, використання мобільних пристроїв для виконання  громіздких та довготривалих обрахунків в якості вузлів малих та середніх мереж має ряд переваг над використання стаціонарних комп’ютерів, а саме: більший час простою операційної системи, більший час роботи пристрою в режимі очікування, легкий вихід в мережу Internet, легкість настроювання платформи для виконання завдань, централізована система розповсюдження.

Література:

 

1. Jeffry Dean and Sanjay Ghemawat (2014). MapReduce: Simplified Data Processing on Large Clusters. Google, Inc.

2. University of California, Barkeley. Source: http://wla.berkeley.edu/~cs61a/fa11/lectures/communication.html.

3. R. G. Gallager, P. A. Humblet, and P. M. Spira (January 1983). "A Distributed Algorithmf or Minimum-Weight Spanning Trees".

4. Hamilton, Howard. "Distributed Algorithms". Retrieved 2013-03-03.