Тема: Многопользовательская клиент-серверная Web-система для управления распределенными вычислениями
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение 6
1 Анализ поставленной задачи и методов ее решения 8
1.1 Анализ предметной области 8
1.1.1 Постановка задачи 8
1.1.2 Обзор существующих решений систем распределенных
вычислений 8
1.1.3 Обзор существующих решений подбора пароля 13
1.1.4 Необходимость разработки 14
1.1.5 Т ребования к разработке 16
1.2 Технология разработки 17
1.2.1 Выбор средств разработки 17
1.2.2 Выбор языка разработки 25
1.2.3 Выбор инструментов разработки 29
1.3 Выбор стратегии разбиения задачи 32
1.3.1 Перебор вариантов. Построение дерева вариантов 32
1.3.2 Организация обхода деревьев 34
1.4 Выбор методологии разработки 37
1.4.1 Обзор основных методологий разработки ПО 37
1.4.2 Выбор пути разработки проекта 39
2 Реализация многопользовательской клиент-серверной Web-системы для
управления распределенными вычислениями 40
2.1 Способ распределения подзадач 40
2.1.1 Определение размера статистической подзадачи 40
2.1.2 Коэффициент производительности клиента 43
2.2 Описание разработанного программного обеспечения 44
2.2.1 Сервер 45
2.2.2 Клиент 59
2.2.3 Взаимодействие между сервером и клиентами 66
2.2.4 Состояния работы программы 67
3 Результаты работы 69
3.1 Тестирование 69
3.2 Руководство пользователя 70
Заключение 71
Список использованных источников 72
Приложение А Исходный код программы 73
📖 Введение
Постоянно появляются новые задачи подобного рода и, возрастают требования к точности и к скорости решения прежних задач; поэтому вопросы разработки и использования сверхмощных компьютеров (называемых суперкомпьютерами) актуальны сейчас и в будущем. К сожалению, технологические возможности увеличения быстродействия процессоров ограничены: увеличение быстродействия связано с уменьшением размеров процессоров, а при малых размерах появляются трудности из-за квантово-механических эффектов, вносящих элементы недетерминированности; эти трудности пока что не удается преодолеть. Из-за этого приходится идти по пути создания параллельных вычислительных систем, т.е. систем, в которых предусмотрена одновременная реализация ряда вычислительных процессов, связанных с решением одной задачи. На современном этапе развития вычислительной техники такой способ, по-видимому, является одним из основных способов ускорения вычислений.
Первоначально идея распараллеливания вычислительного процесса возникла в связи с необходимостью ускорить вычисления для решения сложных задач при использовании имеющейся элементной базы. Предполагалось, что вычислительные модули (процессоры или компьютеры) можно соединить между собой так, чтобы решение задач на полученной вычислительной системе ускорялось во столько раз, сколько использовано в ней вычислительных модулей. Однако, достаточно быстро стало ясно, что для интересующих сложных задач достичь упомянутого ускорения, как правило, невозможно по двум причинам:
1) любая задача распараллеливается лишь частично (при полном распараллеливании параллельные части не могут взаимодействовать в процессе счета и представляют собой отдельные задачи меньшего размера, так что использование параллельной системы теряет смысл) — закон Амдала,
2) коммуникационная среда, связывающая отдельные части параллельной системы, работает значительно медленнее процессоров, так что передача информации существенно задерживает вычисления...
✅ Заключение
В процессе работы над дипломным проектом были изучены и применены технологии Django, SQLite, CryptoAPI.
Поскольку у программы решаемый круг задач ограничен, есть пути ее доработки. В дальнейшем функционал программы можно расширить.
К примеру, если помимо MD5 использовать для вычислений другие алгоритмы хеширования, продукт будет более универсальным. Также можно осуществить подбор пароля по маске, распаковку запароленных архивов.
Для сайта можно добавить платежную систему и, в зависимости от коэффициента клиента, распределить денежное вознаграждение за предоставление вычислительных мощностей.



