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


Многопользовательская клиент-серверная Web-система для управления распределенными вычислениями

Работа №161842

Тип работы

Магистерская диссертация

Предмет

информатика

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

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


Реферат 2
Введение 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) коммуникационная среда, связывающая отдельные части параллельной системы, работает значительно медленнее процессоров, так что передача информации существенно задерживает вычисления...

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

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

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


В ходе выполнения дипломной работы была разработана Многопользовательская клиент-серверная Web-система для управления распределенными вычислениями. Благодаря алгоритму распределения подзадач в зависимости от производительности клиента, программа быстро осуществляет поиск пароля по его хэш значению.
В процессе работы над дипломным проектом были изучены и применены технологии Django, SQLite, CryptoAPI.
Поскольку у программы решаемый круг задач ограничен, есть пути ее доработки. В дальнейшем функционал программы можно расширить.
К примеру, если помимо MD5 использовать для вычислений другие алгоритмы хеширования, продукт будет более универсальным. Также можно осуществить подбор пароля по маске, распаковку запароленных архивов.
Для сайта можно добавить платежную систему и, в зависимости от коэффициента клиента, распределить денежное вознаграждение за предоставление вычислительных мощностей.



1. Г. Шилдг Полный справочник по C# — изд. Вильнюс, 2004г
2. Г.Р. Эндрюс Основы многопоточного, параллельного и распределенного программирования — изд. Вильнюс, 2003г
3. Джеффри Рихтер CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#. — изд. Питер, 2012г
4. Криптография. Базовые знания о шифровании. [Электронный ресурс], URL: http://www.furfur.me/furfur/culture/culture/166567-kriptografiya (дата обращения: 15.05.2017).
5. Распределенные вычисления на платформе .Net. [Электронный ресурс], URL: http://habrahabr.ru/post/97292/(дата обращения: 10.05.2017).
6. Токарев А.Н. Стратегия размещения подзадач в распределенных вычислительных системах кластерно-метакомпьютерного типа — Пенза, 2005г
7. В.В.Корнеев Параллельные вычислительные системы — изд. Нолидж, 2009г
8. Самоучитель Python. [Электронный ресурс],
URL: https://pythonworld.ru/samouchitel-python (дата обращения:
28.04.2017).
9. Django. [Электронный ресурс], URL: https://djbook.ru/ (дата обращения: 5.05.2017).



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




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