Тема: Разработка клиент-серверного фреймворка для высоконагруженных вычислений на базе Linux и MPI
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
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 программа для проверки работы фреймворка. Также данный проект был развернут на нескольких разных системах.
Таким образом, можно с уверенностью сказать, что все поставленные в данной работе задачи были выполнены, а цели достигнуты.



