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


Разработка клиент-серверного фреймворка для высоконагруженных вычислений на базе Linux и MPI

Работа №62520

Тип работы

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

Предмет

информатика

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

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


Введение 3
1 Постановка задачи 5
2 Обзор существующих технологий и решений 7
2.1 Принципы параллельных вычислений 7
2.2 Технологии параллельных вычислений 8
2.3 Обзор средств управления параллельными вычислениями 10
3 Проектирование и разработка фреймворка 12
3.1 Технологии разработки 12
3.1.1 Язык программирования 12
3.1.2 Средства разработки 13
3.1.3 Средства проектирования 14
3.1.4 Разработка серверной части 15
3.1.5 Разработка клиентской части 17
3.2 Проектирование фреймворка 17
3.3 Разработка серверной части 20
3.3.1 Разработка сервиса параллельных задач 21
3.3.2 Разработка сервера управления 24
3.4 Разработка клиентской части 26
3.5 Взаимодействие клиента с сервером 28
4 Экспериментальные исследования 31
4.1 Разработка параллельной MPI программы 31
4.2 Работа фреймворка на разных операционных системах 31
Заключение 33
Список использованных источников 35



В мире существует множество задач, которые можно разделить на мелкие подзадачи и решать их параллельно. Особенно часто это встречается в науке. Разнообразные математические преобразования и вычисления. В настоящее время даже на мобильных устройствах по несколько процессоров, и было бы глупо не использовать возможности параллельных вычислений.
Параллельные вычисления уже давно стали важной частью Computer Science и активно используются на практике. Во многих научных организациях, например, в Казанском Федеральном Университете существует кластер электронно-вычислительных машин для выполнения параллельных вычислений на базе технологии MPI. [1] Но не существует простого, удобного и недорогого способа управлять вычислениями: разворачивать программный код, запускать, отслеживать, получать результаты или данные о скорости работы. Либо система является сложной, либо очень дорогой, либо же всё это выполняется вручную прямо на кластере, пользователь подключается к кластеру, загружает нужные ему файлы и запускает процесс.
Исходя из вышеизложенного, было принято решение создать клиентсерверный фреймворк (программная платформа) для работы с параллельными вычислениями. Данный фреймворк должен позволять гибко настраивать взаимодействие с сервером параллельных вычислений.
Единожды развернув и настроив фреймворк,пользователь получает удобный способ управления своими вычислениями. Пользователь получает возможность организовать работу извне, не подключаясь напрямую к высокопроизводительному кластеру.
1 Вычислительный кластер КФУ [электронный ресурс]. Режим доступа http://kpfu.ru/cluster/ свободный.
Так как фреймворк подразумевает дальнейшее использование и развитие другими разработчиками, то одной из задач является разработать проект таким образом, чтобы его структура была понятна без больших усилий.
Данная работа позволит улучшить результативность работы разных научных групп, которые используют в большом количестве параллельные вычисления. Таким образом, данная работа несет в себе практическую пользу в научной сфере.
Итогом данной дипломной работы является готовый к использованию клиент-серверный фреймворк для управления параллельными MPI задачами, функционирующий на базе операционной среды Linux.


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

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

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


По итогам работы был разработан кроссплатформенный фреймворк, который упрощает работу с высокопроизводительными параллельными вычислениями. Задач, связанных с параллельными вычислениями с каждым годом, будет становиться всё больше и больше, а значит инструменты, которые повышают удобство, то есть, ускоряют процесс работы с ними, будут очень важны в научной сфере.
Разработаннаяпрограммная платформаготова к развёртыванию и применению. Помимо этого, фреймворк имеет большие возможности для доработки и добавления нового функционала, так как при создании закладывалось возможности для этого.
В ходе работы пригодились знания, полученные во время учебы в университете. Познания в проектирования программного обеспечения, навыки объектно-ориентированной разработки, знания веб-разработки помогли успешно разработать данный проект.
Во время разработки было получено большое количество новых знаний и умений, как в разработке, так и в проектировании программного обеспечения, самостоятельное проектирование всего приложения позволило узнать многое о том, как спроектировать понятный для разработчиков и гибко настраиваемый фреймворк.
Также были изучены как старые, зарекомендовавшие себя с хорошей стороны, так и самые новые, только развивающиеся, но уже популярные технологии. Были изучены такие технологии как MPI и .NETCore.
В дальнейшем планируется добавление нового функционала в систему. Получение статистики работы параллельной программы, получение результатов работы параллельной задачи, взаимодействие через протокол
FTP, запуск вычислений по определенному расписанию. Помимо этого, планируется разработка клиента в виде веб приложения.
Во время выполнения данной работы были разработаны сервис параллельных задачам, сервер управления задачами, клиентское приложение, а также параллельная MPI программа для проверки работы фреймворка. Также данный проект был развернут на нескольких разных системах.
Таким образом, можно с уверенностью сказать, что все поставленные в данной работе задачи были выполнены, а цели достигнуты.


1. Вычислительный кластер КФУ [электронный ресурс]. Режим доступа http://kpfu.ru/cluster/ свободный. Дата обращения 28.04.2017[1]
2. Таксономия Флинна[электронный ресурс]. Режим доступа
https: //ru.wikipedia. org/wiki/Т аксономия_Флинна/свободный. Дата
обращения 03.05.2017[2]
3. Основы параллельного программирования с использованием технологий MPI и OpenMP: учебное пособие / Жалнин Р.В., Панюшкина Е.Н., Пескова Е.Е., Шаманаев П.А. - Изд-во СВМО, 2013 - 78 с. [3]
4. TORQUEResourceManager [электронный ресурс] Режим доступа http://www.adaptivecomputing.com/products/open-source/torque/ свободный. Дата обращения 04.05.2017 [4]
5. TIOBEIndex [электронный ресурс] Режим доступа https://www.tiobe.com/tiobe-index/ свободный. Дата обращения
23.05.2017 [5]
6. Эндрю Троелсен, Язык программирования C# 6.0 и платформа .NET 4.6 7-е издание: книга для разработчиков С# / Эндрю Троелсен - Изд-во Вильямс, 2016. - 1440 с. [6]
7. Microsoft .NET [электронный ресурс]. Режим доступа https://www.microsoft.com/net/ свободный. Дата обращения 08.05.2017 [7]
8. Мартин Фаулер, Архитектура корпоративных программных приложений / Мартин Фаулер - Изд-во Вильямс, 2006. — 544 c. [8]
9. Microsoft Developer Network [электронныйресурс]. Режим доступа https://msdn.microsoft.com/ свободный. Дата обращения
10.05.2017 [9]
10. Getting Started with ASP.NET Core [электронныйресурс]. Режим доступа https://docs.microsoft.com/ru-ru/aspnet/core/getting-started/
свободный. Дата обращения19.05.2017 [10]


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




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