Тема: РАЗРАБОТКА МЕХАНИЗМОВ ПРИМЕНЕНИЯ МОБИЛЬНЫХ УСТРОЙСТВ ДЛЯ ЗАДАЧ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
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
ПРИЛОЖЕНИЕ В. Исходный код веб-интерфейса
📖 Введение
Суть данных систем заключается в разделении всего объема данных на более мелкие, а соответственно и менее требовательные к ресурсам пакеты данных. Данные пакеты распределяются по удаленным устройствам в сети, где и производятся вычисления [3]. После завершения вычислений на удаленных устройствах их результат отсылается на центральный компьютер, где производится объединение результатов и, при необходимости, запуск следующей итерации распределенного вычисления.
Однако, несмотря на все свои преимущества, у распределенных вычислений есть и недостатки. Одним из них, и наиболее препятствующим широкому распространению алгоритмов распределенных вычислений, является невозможность оперативной замены алгоритма вычисления на удаленных устройствах. Данная проблема особенно актуальна для случаев, когда для вычисления используются сторонние устройства, к которым у
вычисляющего нет прямого доступа. К таковым можно отнести мобильные устройства, их популяризация в купе с ростом производительности делает их явными кандидатами на роль базовых устройств для систем распределенного вычисления.
Зная потенциал систем, основанных на распределенных вычислениях, а также понимая проблему, препятствующую их распространению, было принято решение создать систему, основанную на мобильных устройствах, с возможностью изменения алгоритма вычисления без необходимости переустановки приложения.
Таким образом, цель данной выпускной квалификационной работы - разработка механизмов применения мобильных устройств для задач распределенных вычислений.
Задачи, выполнение которых необходимо для достижения поставленной цели:
1. Разработать клиентскую часть системы - приложение, отвечающее за вычисления и способное проводить их с минимальным участием владельца устройства.
2. Разработать серверную часть, которая отвечает за прием, распределение и перераспределение задач, а также контролирует весь процесс вычисления и принимает меры для устранения возникших проблем.
3. Разработать пользовательский интерфейс, который позволяет добавлять задачи, подзадачи, а также получать уведомления в процессе вычисления и отображать результат вычисления.
4. Разработать правила для создания задач, которые позволяли бы корректно управлять алгоритмом и данными.
✅ Заключение
Для достижения цели были выполнены поставленные задачи, а именно:
• Разработана клиентская часть системы - приложение, отвечающее за вычисления и способное производить их с минимальным участием владельца устройства.
• Разработана серверная часть, которая отвечает за прием, распределение и перераспределение задач, а также контролирует весь процесс вычисления и принимает меры для устранения возникших проблем.
• Разработан пользовательский интерфейс, который позволяет добавлять задачи, подзадачи, а также получать уведомления в процессе вычисления и отображать результат вычисления.
• Разработаны правила для добавления задач, позволяющие корректно управлять алгоритмом и данными.
Результатом проделанной работы стала система, отвечающая всем поставленным требованиям и реализующая в себе следующие функциональные возможности:
• Добавление заданий на вычисление. При этом запрашиваются алгоритм и данные, относительно которых будет производиться вычисление.
• Добавление цепочек задач. Данная функция позволяет вычислять следующую задачу, основываясь на результатах предыдущей.
• Возможность изменения алгоритма вычисления без необходимости переустановки приложения.
• Контроль за ходом вычислений. Контролируются следующие события: чрезмерное использование данных на стороне приложения, появление ошибок во время вычисления, а также недоступность устройств в течение определенного времени.
• Перераспределение данных при выбывании одного из вычисляющих устройств из задания.
• Оценивание производительности устройств и распределение данных с учетом мощности устройства.
• Отображение результата вычисления на экране пользователя в виде документа с возможностью скачивания.
Результаты данной дипломной работы опубликованы в открытом доступе в репозитории GitLab и доступны по следующей ссылке: http: //gititis .kpfu.ru/NuRNizamov/VKR.



