Details

Title: Алгоритм балансировки нагрузки серверов с учетом состояния узлов кластера: выпускная квалификационная работа магистра: 09.04.04 - Программная инженерия ; 09.04.04_02 - Основы анализа и разработки приложений с большими объемами распределенных данных
Creators: Мугутдинов Даниял Абдулбариевич
Scientific adviser: Никифоров Игорь Валерьевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2019
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: Алгоритмы; Интернет; Информационные системы с распределенными параметрами; балансирования нагрузки; кластер; узлы кластера; эмулятор кластера; речевые технологии
UDC: 004.421(043.3); 004.738.5(043.3); 004.75(043.3)
Document type: Master graduation qualification work
File type: PDF
Language: Russian
Level of education: Master
Speciality code (FGOS): 09.04.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2019/vr/vr19-601
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\2390

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

В работе рассмотрено, что такое кластер и какие задачи он решает. Проведен сравнительных анализ существующих алгоритмов балансирования нагрузки. Также в работе предъявлен ряд требований к необходимому алгоритму балансирования нагрузки с описанием шагов по проверке этих требований. Предложен алгоритм балансирования нагрузки, который учитывает состояние узлов в кластере. Практическая реализация алгоритма представлена в виде модуля к nginx. По этой причине в работе рассмотрены особенности использования API для разработки nginx модулей. Также в работе описаны реализации модуля балансирования нагрузки и модуля обработчика. Модуль обработчика симулирует работу узла, обрабатывающего задачи из области речевых технологий. В результате тестирование выявлено, что алгоритм выполняет все поставленные перед ним требования. В заключительной части работы проведено нагрузочное тестирование в разных условиях всех рассматриваемых алгоритмов балансирования. Выявлено, что при использовании предлагаемого алгоритма в рассматриваемых в данной работе условиях кластер обрабатывает на 36% быстрее все поступившие запросы.

The researching work considers the meaning of cluster and tasks which it solves. A comparative analysis of existing load balancing algorithms is conducted. The paper also presents the number of requirements for the necessary load balancing algorithm and gives the description of verification stages of these requirements. It is proposed the load balancing algorithm that considers the state of the nodes in the cluster. The practical implementation of the algorithm is presented as a module for nginx. For this reason, the paper discusses the peculiarities of using the API for developing nginx modules. The work also describes the implementation of both the load balancing module and the handler module, which simulates the operation of the node processing tasks in the field of speech technology. As a result, testing revealed that the algorithm fulfils all conditions required. In the final part of the work, load testing of all considered balancing algorithms was carried out in different conditions. It was revealed that the cluster processes all incoming requests 36% faster due to the using of the proposed algorithm in the conditions considered in this paper.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Usage statistics

stat Access count: 34
Last 30 days: 0
Detailed usage statistics