Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА МЕХАНИЗМОВ ПРИМЕНЕНИЯ МОБИЛЬНЫХ УСТРОЙСТВ ДЛЯ ЗАДАЧ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ

Работа №32230

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

Объем работы78
Год сдачи2019
Стоимость0 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
103
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 3
1 ПОСТАНОВКА ЗАДАЧИ 5
1.1 Обоснование применимости мобильных устройств 5
1.2 Концепция системы 7
2 СТРУКТУРА КОМПОНЕНТОВ ЗАДАНИЯ 9
2.1 Данные 9
2.2 Алгоритм 10
3 МОБИЛЬНОЕ ПРИЛОЖЕНИЕ 11
3.1 Инициализация 11
3.2 Обработка заданий 13
3.3 Обработка исключений 16
3.4 Контроль за использованием ресурсов 16
4 СЕРВЕРНАЯ ЧАСТЬ ПРОГРАММНОГО РЕШЕНИЯ 18
4.1 Добавление задания 18
4.2 Подключение новых устройств к системе 19
4.3 Распределение данных 21
4.4 Обработка исключений 23
4.5 Контроль за процессом вычисления 24
5 ИНТЕРФЕЙС УПРАВЛЕНИЯ ЗАДАЧАМИ 27
ЗАКЛЮЧЕНИЕ 31
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
ПРИЛОЖЕНИЕ А. Исходный код Android-приложения 35
ПРИЛОЖЕНИЕ Б. Исходный код серверной части 47
ПРИЛОЖЕНИЕ В. Исходный код веб-интерфейса

Вследствие повсеместного использования вычислительной техники неумолимо растут и объёмы данных, которые необходимо обработать. Согласно аналитическому обзору, подготовленному Московской Биржей совместно с аналитиками “IPOboard”, средний объем базы данных в компании на данный момент составляет от 1 гигабайта (10Л9 байт) до одного терабайта (10л12 байт), для Big Data объемы базы данных составляют от одного петабайта (10Л15 байт) до одного эксабайта (10л18 байт) [1]. Работа с такими объемами данных требует использования суперкомпьютеров, но их дороговизна (к примеру стоимость суперкомпьютера Titan, установленного в национальной лаборатории министерства энергетики США, по оценкам составляет 100 миллионов долларов [2]) стала толчком развития систем на основе распределенных вычислительных сетей. Данный подход позволяет производить вычисления на огромных объемах данных, но при этом не требует больших затрат на покупку оборудования.
Суть данных систем заключается в разделении всего объема данных на более мелкие, а соответственно и менее требовательные к ресурсам пакеты данных. Данные пакеты распределяются по удаленным устройствам в сети, где и производятся вычисления [3]. После завершения вычислений на удаленных устройствах их результат отсылается на центральный компьютер, где производится объединение результатов и, при необходимости, запуск следующей итерации распределенного вычисления.
Однако, несмотря на все свои преимущества, у распределенных вычислений есть и недостатки. Одним из них, и наиболее препятствующим широкому распространению алгоритмов распределенных вычислений, является невозможность оперативной замены алгоритма вычисления на удаленных устройствах. Данная проблема особенно актуальна для случаев, когда для вычисления используются сторонние устройства, к которым у
вычисляющего нет прямого доступа. К таковым можно отнести мобильные устройства, их популяризация в купе с ростом производительности делает их явными кандидатами на роль базовых устройств для систем распределенного вычисления.
Зная потенциал систем, основанных на распределенных вычислениях, а также понимая проблему, препятствующую их распространению, было принято решение создать систему, основанную на мобильных устройствах, с возможностью изменения алгоритма вычисления без необходимости переустановки приложения.
Таким образом, цель данной выпускной квалификационной работы - разработка механизмов применения мобильных устройств для задач распределенных вычислений.
Задачи, выполнение которых необходимо для достижения поставленной цели:
1. Разработать клиентскую часть системы - приложение, отвечающее за вычисления и способное проводить их с минимальным участием владельца устройства.
2. Разработать серверную часть, которая отвечает за прием, распределение и перераспределение задач, а также контролирует весь процесс вычисления и принимает меры для устранения возникших проблем.
3. Разработать пользовательский интерфейс, который позволяет добавлять задачи, подзадачи, а также получать уведомления в процессе вычисления и отображать результат вычисления.
4. Разработать правила для создания задач, которые позволяли бы корректно управлять алгоритмом и данными.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате выполнения данной работы была достигнута поставленная цель - разработан инструмент для организации распределенных вычислений с использованием мобильных устройств под управлением операционной системы Android.
Для достижения цели были выполнены поставленные задачи, а именно:
• Разработана клиентская часть системы - приложение, отвечающее за вычисления и способное производить их с минимальным участием владельца устройства.
• Разработана серверная часть, которая отвечает за прием, распределение и перераспределение задач, а также контролирует весь процесс вычисления и принимает меры для устранения возникших проблем.
• Разработан пользовательский интерфейс, который позволяет добавлять задачи, подзадачи, а также получать уведомления в процессе вычисления и отображать результат вычисления.
• Разработаны правила для добавления задач, позволяющие корректно управлять алгоритмом и данными.
Результатом проделанной работы стала система, отвечающая всем поставленным требованиям и реализующая в себе следующие функциональные возможности:
• Добавление заданий на вычисление. При этом запрашиваются алгоритм и данные, относительно которых будет производиться вычисление.
• Добавление цепочек задач. Данная функция позволяет вычислять следующую задачу, основываясь на результатах предыдущей.
• Возможность изменения алгоритма вычисления без необходимости переустановки приложения.
• Контроль за ходом вычислений. Контролируются следующие события: чрезмерное использование данных на стороне приложения, появление ошибок во время вычисления, а также недоступность устройств в течение определенного времени.
• Перераспределение данных при выбывании одного из вычисляющих устройств из задания.
• Оценивание производительности устройств и распределение данных с учетом мощности устройства.
• Отображение результата вычисления на экране пользователя в виде документа с возможностью скачивания.
Результаты данной дипломной работы опубликованы в открытом доступе в репозитории GitLab и доступны по следующей ссылке: http: //gititis .kpfu.ru/NuRNizamov/VKR.



1. Аналитический обзор рынка Big Data [Электронный ресурс]. - URL: https://habr.com/company/moex/blog/256747/ (дата обращения: 23.05.2019) .
2. Meet the fastest, most powerful science machine in the world: Titan
supercomputer [Электронный ресурс]. - URL:
https://www.computerworld.com/article/2473620/meet-the-fastest-most-po werful-science-machine-in-the-world—titan-super.html (дата обращения: 23.05.2019) .
3. Distributed Computing [Электронный ресурс]. - URL:
https://cpsc.yale.edu/research/distributed-computing (дата обращения: 21.05.2019) .
4. The Mobile Economy 2018 [Электронный ресурс]. - URL: https://www.gsma.com/mobileeconomy/wp-content/uploads/2018/05/The-M obile-Economy-2018.pdf (дата обращения: 12.05.2019).
5. Almost Half Of Smartphone Users Spend More Than 5 Hours A Day on
Their Mobile Device [Электронный ресурс]. - URL:
https://www.counterpointresearch.com/almost-half-of-smartphone-users-spe nd-more-than-5-hours-a-day-on-their-mobile-device/ (дата обращения: 11.05.2019) .
6. Mobile Operating System Market Share Worldwide [Электронный ресурс]. - URL: http://gs.statcounter.com/os-market-share/mobile/ worldwide (дата обращения: 11.05.2019).
7. How far we’ve come: a look at smartphone performance over the past 7
years [Электронный ресурс]. - URL: https://www.androidauthority.com/ smartphone-performance-improvements-timeline-626109/ (дата обращения: 23.05.2019).
8. Firebase Cloud Messaging [Электронный ресурс]. - URL: https://firebase.google.com/products/cloud-messaging/ (дата обращения: 25.03.2019) .
9. Питттем модули для троянов для Android. Часть 2 [Электронный
ресурс]. - URL: https://xakep.ru/2016/07/05/android-plugins-binder-2/
(дата обращения: 20.03.2019).
10. ActivityManager. Memory Info | Android Developers [Электронный
ресурс]. - URL: https://developer.android.com/reference/android/app/
ActivityManager.Memory Info (дата обращения: 28.04.2019).
11. CpuStatsCollector.CpuStats [Электронный ресурс]. - URL: https://source.android.com/reference/tradefed/com/android/tradefed/device/ CpuStatsCollector.CpuStats (дата обращения: 30.04.2019).
12. Cron [Электронный ресурс]. - URL: https://help.ubuntu.ru/wiki/cron (дата обращения: 30.03.2019).


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ