Научная статья на тему 'ДИНАМИЧЕСКОЕ УПРАВЛЕНИЕ НАГРУЗКОЙ В ПРОГРАММНО-КОНФИГУРИРУЕМЫХ СЕТЯХ'

ДИНАМИЧЕСКОЕ УПРАВЛЕНИЕ НАГРУЗКОЙ В ПРОГРАММНО-КОНФИГУРИРУЕМЫХ СЕТЯХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
291
49
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦОД / ПРОГРАММНО-КОНФИГУРИРУЕМЫЕ СЕТИ / SDN / ДАТА-ЦЕНТР / ДИНАМИЧЕСКАЯ БАЛАНСИРОВКА НАГРУЗКИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Елагин В.С.

В связи с непрерывно усложняющейся топологией сетевой инфраструктуры ЦОД и предъявляемыми к ней требованиями производительности, надежности и отказоустойчивости трудность управления сетевой инфраструктурой ЦОД так же непрерывно растет. Вот почему возникает потребность в замене ручной конфигурации сетевой инфраструктуры ЦОД автоматизированными средствами. Одним из перспективных направлений модернизации существующей архитектуры сети является концепция SDN. Программно-определяемый ЦОД - это виртуализированная структура, направленная на предоставление услуги. Именно в рамках этой концепции необходимо развивать методы управления трафиком и балансировки внутри сетей ЦОД. В статье представлена математическая модель динамического алгоритма балансировки нагрузки в сетях ЦОД.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IN SOFTWARE-DEFINED NETWORK

In regard with the increasingly complex topology of the network infrastructure of data centers and its requirements of performance, reliability and fault tolerance, the complexity of managing network infrastructure of the data center are also constantly growing. In this regard, there is a need to modification manual configuration of the network infrastructure of data centers by automated means. One of the perspective directions of modernization of the existing network architecture is the concept of SDN. Software-defined data center (Software Defined Data Center, SDDC) is a virtualized structure aimed at providing services. Within this concept it is necessary to develop methods of traffic management and balancing within the data center networks. The article presents a mathematical model of the dynamic load balancing algorithm in data center networks.

Текст научной работы на тему «ДИНАМИЧЕСКОЕ УПРАВЛЕНИЕ НАГРУЗКОЙ В ПРОГРАММНО-КОНФИГУРИРУЕМЫХ СЕТЯХ»

ДИНАМИЧЕСКОЕ УПРАВЛЕНИЕ НАГРУЗКОЙ В ПРОГРАММНО-КОНФИГУРИРУЕМЫХ СЕТЯХ

В.С. Елагин1*

^анкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича, Санкт-Петербург, 193232, Российская Федерация *Адрес для переписки: elagin.vas@gmail.com

Информация о статье

УДК 004.942

Язык статьи - русский

Ссылка для цитирования: Елагин В.С. Динамическое управление нагрузкой в программно-конфигурируемых сетях // Труды учебных заведений связи. 2017. Т. 3. № 3. С. 60-67.

Аннотация: В связи с непрерывно усложняющейся топологией сетевой инфраструктуры ЦОД и предъявляемыми к ней требованиями производительности, надежности и отказоустойчивости трудность управления сетевой инфраструктурой ЦОД так же непрерывно растет. Вот почему возникает потребность в замене ручной конфигурации сетевой инфраструктуры ЦОД автоматизированными средствами. Одним из перспективных направлений модернизации существующей архитектуры сети является концепция SDN. Программно-определяемый ЦОД - это виртуализированная структура, направленная на предоставление услуги. Именно в рамках этой концепции необходимо развивать методы управления трафиком и балансировки внутри сетей ЦОД. В статье представлена математическая модель динамического алгоритма балансировки нагрузки в сетях ЦОД.

Ключевые слова: ЦОД, программно-конфигурируемые сети, SDN, дата-центр, динамическая балансировка нагрузки.

Введение

В управлении сетевой инфраструктурой центров обработки данных (ЦОД) можно выделить ряд отдельных задач, которые должна решать система управления сетевой инфраструктурой. Поэтому для сравнения существующих средств управления сетевой инфраструктурой ЦОД был выбран набор функциональности, который покрывает все основные аспекты управления сетями ЦОД. Каждое рассматриваемое средство далее оценивается по наличию или отсутствию поддержки указанной функциональности из приведенного списка.

Перечень рассматриваемой функциональности, по которому оценивались средства управления сетевой инфраструктурой ЦОД, следующий:

• Автоматическое обнаружение сетевых устройств и динамическое построение карты сети (autodiscovery).

• Наличие автоматизации процессов конфигурации сетевых устройств и управления версиями программного обеспечения.

• Проверка соблюдения нормативных и регуляционных требований, обеспечение безопасности сетевой инфраструктуры.

• Автоматизированное управление потоками трафика в сети, его контроль и мониторинг в режиме реального времени.

• Сбор и анализ событий со всей сетевой инфраструктуры, включая физические и виртуальные устройства.

• Поддержка различных протоколов и технологий передачи данных, сетевого оборудования сторонних производителей, управления географически удаленными локациями, открытого API и возможность внедрения сторонних сервисов.

Из количественных характеристик производительности и эффективности для исследования были выбраны следующие:

• Характеристики, отражающие масштабируемость системы управления сетевой инфраструктурой для поддержки сетей разного размера и природы, а именно:

o максимальный поддерживаемый размер сети (в виде количества узлов, входящих в сеть);

o число различных поддерживаемых моделей сетевых устройств от различных производителей (коммутаторов, маршрутизаторов, межсетевых экранов и другого оборудования).

• Характеристики, отражающие возможности системы по реагированию на изменения в сети, а именно:

o количество событий различной природы, анализируемых в единицу времени;

o количество источников событий, с которых поддерживается одновременный сбор и анализ сообщений.

• Характеристики, отражающие управление трафиком в сети, а именно:

o максимальное количество потоков трафика за единицу времени, для которых обеспечивается управление;

o максимальное количество потоков трафика, для которых обеспечивается сбор и анализ статистики;

o количество поддерживаемых виртуальных сегментов, устройств, туннелей различной природы, маршрутизаторов и т. п.

В связи с повышенной нагрузкой и неоднородностью трафика стала актуальной проблема эффективного использования серверных мощностей. Одним из аспектов данной проблемы является эффективное планирование и распределение нагрузки внутри распределенных вычислительных систем ЦОД с целью оптимизации использования ресурсов и сокращения времени вычисления. Эти и другие задачи решаются при помощи технологий виртуализации. В контексте виртуализации сетевых функций, в качестве примера возможных задач этого типа можно привести: адаптивное увеличение или уменьшение требуемых клиенту ресурсов, например, пропускной способности канала, перераспределение трафика между серверами, - то есть, реализацию балансировки нагрузки как услуги (LBaaS, от англ. Load-Balancing-as-a-Service).

Программно-определяемый ЦОД (SDDC, от англ. Software Defined Data Center) - это ЦОД, в котором инфраструктура виртуализирована и предоставляется в виде услуги. Из определения видно, что в основе этого решения должны лежать технологии виртуализации, получившие свое развитие в концепции виртуализации сетевых функций (NFV, от англ. Network Function Virtualization). Эта концепция, в свою очередь, лежит в основе программно-определяемых сетей (SDN, от англ. Software Defined Networking)[1, 2]. Вкупе с виртуализацией системы хранения данных (SDS, от англ. Software Defined Storage) мы получаем виртуали-зированную инфраструктуру дата-центра, и, в конечном счете, некоторую абстрактную модель программно-определяемого ЦОД. Далее будет рассмотрено алгоритмическое обеспечение функции LBaaS для SDDC.

Разработке алгоритмов управления, ориентированных на тип трафика, посвящены работы Zhang Q., Morselli R., Riska A. В работах Chandra A.,

Sahu S., Pacifici G. [3-5] описаны динамические алгоритмы, которые собирают информацию о загрузке серверов. Таким образом, в научной литературе уделяется внимание вопросам управления входным потоком и связанными с ними аспектами, что подчеркивает важность и актуальность решаемой научно-технической задачи.

Однако известные алгоритмы управления входным потоком имеют ряд недостатков: неравномерное распределение нагрузки между серверами, низкая производительность, недостаточный учет динамики системы, большие накладные расходы ресурсов, значительное время ответа [6]. Указанные недостатки требуют разработки обновленных методов и алгоритмов управления процессом распределения запросов между узлами сети.

Модель динамического алгоритма балансировки нагрузки

Анализируя недостатки классических алгоритмов, можно сделать вывод о целесообразности разработки динамического контентозависимого алгоритма с модифицированной обратной связью. Концепцию предлагаемого алгоритма можно представить в виде схемы, представленной на рисунке 1. Предлагается разработать алгоритм, который будет учитывать тип запроса и динамическое состояние сервера. При поступлении запроса на балансировщик нагрузки определяется тип трафика, и направляется на сервер, который обрабатывает запросы данного класса (типа). При перегрузке одного из серверов, запрос направляется на низкозагруженный сервер, если такой существует, или на наименее загруженный.

ЛЕу Я (A If ............^У S1 50%

I S2 10%

\\ (сУч S3 1 20%

Рис. 1. Схема распределения входящих запросов

Состояние и доступность сетевых узлов (серверов) контролируется путем периодического обмена служебной информацией между всеми серверами и контроллером с приложением системы балансировки нагрузки [7]. Рассматриваемая система состоит из группы серверов, коммутатора OpenFlowSwitch [8] и контроллера [9]. Предварительно трафик попадает на систему DPI (от англ. Deep packet inspection - технология накопления статистических данных, проверки и фильтрации сетевых пакетов по их содержимому), которая

идентифицирует тип сессии в рамках соединения; коммутатор выполняет только функции передачи данных. Подсистема балансировки нагрузки и подсистема управления и мониторинга, которые тесно взаимодействуют друг с другом в рамках данной концепции, реализованы в виде соответствующих приложений на контроллере.

Динамический алгоритм управления входным потоком, который разрабатывается в работе, умеет использовать прогностические оценки интенсивности входящего потока запросов каждого класса. Это позволит предотвратить перегрузки и отслеживать тенденции загрузки отдельных узлов. Совершенствование методики краткосрочного прогноза позволит системе быстрее реагировать на флуктуации во входящем потоке. Для сокращения количества служебной информации и более точного отслеживания изменений во входящем потоке необходимо разработать адаптивный алгоритм мониторинга [10].

Алгоритм должен обеспечивать высокие показатели производительности, пропускной способности и отказоустойчивости (автоматически обнаруживая сбои узлов и перераспределяя поток данных среди оставшихся) и низкое время отклика [11, 12].

Математически задачу динамического управления потоком запросов можно представить следующей зависимостью (рисунок 2):

X = ¡(И, в, V),

(1)

где X - матрица распределения запросов в сети; N - множество серверов кластера N = {Л/,}; в -множество характеристик серверов С = {и ¡тах, и^},

и.

]тах

максимальная загруженность сервера, и.

текущая загруженность сервера; V стика входящего потока запросов.

]

характери-

N1(61) N2(02) N¡(00 Рис. 2. Динамическое управление потоком запросов

Телекоммуникационную сеть ЦОД можно представить в виде открытой системы массового обслуживания со следующей совокупностью характеристик:

1) множеством серверов сети {М1,И2,...,Л/,}, которые образуют кластер, где ] = 1,Ы;

2) интенсивностью входящего потока = 1,М), где / - класс запроса, Х*(к) - прогнозируемое количество запросов /-го класса на к-ом шаге;

3) матрицей распределения запросов Х(к) = [.ху], (1 = 1,М; ] = 1,И), где Ху - доля Х*(к)-х запросов, которые обрабатываются нау-ом сервере;

4) законами распределения времени обслуживания Р1(Ь),Р2 (Ь),... ^¡(Ь) и дисциплинами обслуживания запросов на серверах;

5) длиной очереди на серверах (} ].

Запросы описываются вектором:

V = (гЛ,],гц,т,

д.

1]> "1-ге5оигсе_

где t - время поступления запроса к контроллеру, / - класс запроса, у - номер сервера, который обрабатывает запрос, гу- загруженность у-го сервера (создается /-м классом запросов), тгезоигсе1 - количество обращений /-го запроса к ресурсу, который обрабатывает.

Как только входящий поток будет создавать нагрузки, которые будут превышать максимальную загруженность сервера, то есть не будет выполняться условие (2), то на сервере будут возникать очереди и связанные с ними задержки:

> Ujmax,

(2)

где Уу тах - максимальная загруженность сервера.

С целью внедрения верхней границы подобных задержек на узлах сети общую буферную емкость ограничивают, то есть для каждого сервера определяют текущую и максимальную емкость, обозначив их ц и цтах соответственно. Как только ц > Ц] тах , запросы считают потерянными.

Для обеспечения динамического распределения запросов по серверам на к-ом шаге определяется матрица распределения запросов в сети:

Х(к) = [хи], (1 = 1,М;] = 1,Ю.

(3)

По результатам расчета коэффициентов матрицы Х(к) рассчитывают значение загрузки у-го сервера на к-ом шаге - и) (к):

м

и} (к) = Ц (к-1) + ^ Ц (к) ■ ху (к) ■ 2у. (4)

1=1

Алгоритм управления входным потоком должен распределять запросы по серверам так, чтобы отклонение по загруженности серверов было минимальным, то есть:

S =

lN=i(и - илк))2

N

-» min,

(5)

где

и

U

(к - 1) ■ Xil(h) ■ Zil = и1(к)

i=i м

(к - 1) ■ xi2(k) ■ zi2 = и2(к)

=1 м

Щ(к - 1) +^К(к) ■ хц(к) ■ Zij = Uj(к)

jj ZUW

■ N

^(к) = 1, i = (1,M);

=1 N

=1

хц(к) > 0;

z-.ixj, i = (1,M), j=(1,N).

Алгоритм управления входным потоком

Основной идеей разрабатываемого алгоритма является распределение запросов пользователей на основании прогноза входящего потока по его классам. При этом горизонт прогноза на каждом шагу меняется в зависимости от изменений входящего потока. В работе алгоритма учитывается не только текущее состояние серверов, но и их производительность. Идею разрабатываемого алгоритма можно представить в виде блок-схемы, приведенной на рисунке 3.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Алгоритм выполняется циклически: в результате оптимизации в каждом цикле определяется матрица распределения запросов по узлам сети. Алгоритм представляет собой последовательность следующих шагов.

Шаг. 1. Собирается статистическая информация:

а) об интенсивности входящего потока запросов Х(к - 2),Х(к - 1);

б) о состоянии серверов (утилизация CPU - Uj; загруженность j-го сервера, создаваемая i-м классом запросов - Zij; среднее время обслуживания запросов i-го класса - Wij).

Шаг 2. На основании статистических данных шага 1 рассчитывается коэффициент пульсации входящего потока запросов - Ьт(к - 1), Ьт(к).

Шаг 3. Рассчитывается длина шага (далее - интервал) мониторинга и длина горизонта прогноза d(k) по формуле (7).

Шаг 4. Прогнозируется интенсивность входящего потока для каждого класса запроса на длину горизонта d(k).

^ Начало ^

Сбор статистической информации

Да 1

Расчет распред запр латрицы (еления осов

г

Распределение запросов по серверам

Прогноз интенсивности запросов

Рис. 3. Блок-схема алгоритма управления входным потоком

Шаг 5. Определяется матрица распределения запросов по узлам сети ~х(к) по формуле (3) с учетом класса запроса и загруженности сервера. На основании полученных данных прогнозируется загрузка серверов на следующем интервале.

Шаг 6. Запросы направляются на серверы в соответствии с заданным алгоритмом в пределах каждого класса запросов.

Шаг 7. Осуществляется ревизия прогнозируемого количества запросов Х(к) — Х*(к), которые распределяются согласно алгоритму на наименее загруженный сервер. При этом переоценка прогноза Х1(к) — Х(к) не учитывается алгоритмом, как не вносящая существенных изменений в нагрузку.

м

=1

Шаг 8. Снимаются данные о загруженности серверов и^(к) и передаются на контроллер, для расчета нового распределения запросов х(к + 1).

Для эффективной работы разрабатываемого алгоритма необходимо обеспечить мониторинг состояния серверов. Основной из существующих проблем мониторинга является его точность: при попытке достижения высокой точности служебная информация приобретает избыточный характер.

Шаг 9. Мониторинг состояния серверов, который можно осуществить тремя способами:

1) после каждого поступившего запроса;

2) в фиксированные промежутки времени, определяемые статическим алгоритмом;

3) в нефиксированные промежутки времени, определяемые динамическим алгоритмом.

Информация, полученная первым способом, является наибольшей по объему, т. к. измерения проводятся после каждого поступившего запроса. При втором способе количество информации постоянно, но требуется определить интервал съема информации, чтобы объем информации не был избыточным и недостаточным. При третьем способе количество информации зависит от частоты интервалов контроля, который должен приспосабливаться к потоку поступающих запросов.

На основании вышесказанного, использование динамически меняющегося интервала является наиболее приемлемым с точки зрения уменьшения избыточности данных. При таком способе частота мониторинга будет зависеть от количества всплесков (пульсации) входящего потока. Наличие отдельных всплесков в интернет-трафике является одной из его особенностей. Интервал мониторинга должен сокращаться, если во входящем потоке обнаружен всплеск & vv.

Адаптивный алгоритм мониторинга

Для решения задачи оценки интервала мониторинга предложен соответствующий алгоритм, блок-схема которого приведена на рисунке 4.

Алгоритм представляет собой последовательность следующих шагов:

Шаг 1. Собирается статистическая информация об интенсивности входящего потока запросов А(к — 2),А(к — 1) за два предыдущих интервала и о длине прошлого интервала мониторинга й(к).

Шаг 2. Определяется коэффициент пульсации Ьт(к — 1), Ьт(к), используя формулу (6).

Шаг 3. Для расчета продолжительности интервала мониторинга сравнивается Ьт(к — 1) и Ьт(к). Если Ьт(к) > Ьт(к — 1), то продолжительность интервала уменьшается, в случае Ьт(к) < Ьт(к — 1) - продолжительность интервала увеличивается по сравнению с прошлой итерацией.

Шаг 4. Рассчитывается продолжительность очередного интервала d(k+1) по формуле (7).

^ Начало ^

Сбор статистической информации

Расчет параметров пачечности по формуле (6)

Увеличение d(k+1)

Уменьшение d(k+1)

d(k+1) = d(k)

Сбор инф загруженно ормации о сти сервера *

г

Сбор инф A(k+1) за d(k ормации интервал +1)

г

k = k+1

Расчет длительности интервала d(k+1) по формуле (7)

Рис. 4. Блок-схема алгоритма мониторинга

Шаг 5. Собирается статистическая информация об интенсивности входящего потока запросов А(к — 1),А(к) за два предыдущих интервала и о длине прошлого интервала мониторинга d(k — 1).

Шаг 6. Определяется коэффициент пульсации bm(k — 1),Ьт(к) по формуле (6), используя следующую методику:

1) Подсчитываем количество http или других запросов - L, попавших в интервал длиной d.

2) Интенсивность поступления запросов в ин-

-1 l

тервале определяем, как А = - .

3) Интервал разбиваем на n равных подинтер-

„ d

валов, длиной п = - .

п

4) Определяем L(h) - количество запросов, попавших в интервал h.

5) Находим Ah - интенсивность поступления за-

„ , л L(h)

просов за интервал длиной h, как Ah .

6) Вычисляем L* - общее количество запросов в интервалах, что удовлетворяют условию Xh > X.

7) Определяем д - количество интервалов, удовлетворяющих условию Хи > X.

8) Рассчитываем коэффициент пульсации по формуле:

и 9 т = п'

1 +

Х(к) - Х(к - 1)

Цк—О

(6)

9) Так как продолжительность каждого слота й меняется в зависимости от значения пульсаций входящего потока, то продолжительность интервала мониторинга й (к +1) определяем как:

Ът(к - 1)

Ът (к)

(7)

Шаг 7. Для расчета продолжительности интервала мониторинга сравниваем Ът(к — 1) и -т(к). Если Ът(к) > Ът(к — 1) - продолжительность интервала уменьшается, в случае Ът(к) < Ът(к — 1) -продолжительность интервала увеличивается по сравнению с прошлой итерацией.

Шаг 8. Рассчитывается продолжительность следующего интервала й(к) по формуле (7).

Предложенный алгоритм адаптирован к флук-туациям во входящем потоке, что позволяет сократить количество служебной информации и предотвратить перегрузку за счет качества оценок прогнозирования. Горизонт прогнозирования на к-ой итерации зависит от значений пульсаций, то есть, длительность следующего слота уменьшается, если был обнаружен всплеск & уу.

Динамический алгоритм балансировки нагрузки в сетях ЦОД

Представленные выше алгоритмы и методику необходимо объединить в единый динамический алгоритм балансировки нагрузки (с учетом специфики реализации на базе инфраструктуры БООС). При этом стоит отметить, что анализ состояния загруженности серверов и принятие решения по адресации трафика лежит на контроллере, который должен быть установлен в ЦОД и иметь интерфейсы мониторинга ко всем активным его серверам. Алгоритм, блок-схема которого приведена на рисунке 5, представляет собой последовательность следующих шагов:

Шаг 1. Клиент обращается к одному из серверов (зная его 1Р-адрес, к примеру, 1Р_1).

Шаг 2. На граничный с серверами коммутатор приходит пакет от клиента.

Шаг 3. Коммутатор видит, что клиент хочет обратиться к одному из серверов в первый раз, то есть, у него еще нет сессии с сервером.

Шаг 4. Коммутатор отсылает пакет клиента на контроллер.

Отправк на конт а пакета роллер

Передач баланси а пакету ровщику

1

Сбор статистической информации

-► 4- г

Вычисление коэффициента пульсаций входящего потока запросов

Считать показатель загруженности серверов

Прогноз интенсивности запросов

Расчет распред запр атрицы еления осов

1 т

Распределение запросов к серверу

Да

Задания правила маршрутизации пакета к серверу на коммутаторе

Обновление счетчиков сессий для актуализации загруженности сервера

^ Конец ^

Рис. 5. Блок-схема динамического алгоритма балансировки нагрузки

Шаг 5. Контроллер видит, что IP-адрес назначения - один из балансируемых серверов, поэтому передает обработку пакета приложению по балансировке нагрузки.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Шаг 6. Приложение мониторинга производит сбор и анализ статистической информации: об интенсивности входящего потока запросов Х(к - 2), Х(к - 1), о состоянии серверов (утилизация CPU -Uj; загруженность j-го сервера, создаваемая i-м классом запросов - Z^; среднее время обслуживания запросов i-го класса - W^) за несколько итераций, а также о длине прошлого интервала мониторинга й(к).

Шаг 7. Вычисляется коэффициент пульсаций входящего потока запросов Ьт(к - 2), Ьт(к - 1) по формуле (6) на основании статистических данных шага 6.

Примечание. Коэффициент пульсации bm е [0; 1] - это доля времени, в течение которого мгновенная интенсивность поступления запросов превышает среднюю интенсивность.

Шаг 8. Рассчитывается интервал мониторинга загруженности серверов и горизонт прогноза d(k) по формуле (7).

Шаг 9. Прогнозируется интенсивность входящего потока по каждому типу запросов на длину горизонта d(k), определяемую на шаге 8.

Шаг 10. Приложение балансировки производит расчет матрицы распределения запросов по узлам сети Х(к) с учетом класса запроса и загруженности сервера. На основании полученных данных прогнозируется загрузки серверов на следующей итерации.

Шаг 11. Осуществляется распределение запросов по серверам согласно алгоритму в пределах каждого класса.

Шаг 12. Осуществляется ревизия прогнозируемого количества запросов ^(к) -\*(к), которые распределяются согласно алгоритму балансировки на наименее загруженный сервер.

Шаг 13. Приложение определяет, на какой из серверов передать обработку запроса клиента (например, IP_2).

Шаг 14. На граничном коммутаторе задается правило, что если от клиента приходит пакет с адресом назначения IP_1, то адрес назначения подменяется на IP_2, и пакет передается на порт, соответствующий серверу IP_2.

Шаг 15. Также на коммутаторе задается правило, что если от сервера IP_2 приходит пакет с адресом назначения клиента, то адрес источника подменяется на IP_1 и передается на порт клиента.

Шаг 16. В приложении обновляются значения счетчиков сессий серверов для сохранения актуальности загруженности серверов Uj(к) и расчета нового распределения запросов Х(к + 1).

Шаг 17. Если на граничный коммутатор приходит пакет о закрытии соединения клиентом или сервером, то он также передается контроллеру, который передает управление приложению по балансировке нагрузки, которое декрементирует значение счетчика активированных сессий на сервере.

Алгоритм балансировки нагрузки должен распределять запросы по серверам так, чтобы отклонение загруженности серверов от среднего значения было минимальным, то есть:

=

%N=i(и - Ujm

N

min,

(8)

Алгоритм вычисляет загруженность j-го сервера на k-ом шаге, основываясь на сумме его загруженности до этого момента Uj (к - 1) и нагрузке, создаваемой долей Xj (k) прогнозируемой интенсивности потока A*(k) i-го класса, которая будет обрабатываться на данном сервере.

В качестве искомой матрицы выступает матрица распределения запросов:

Х(к) = [хи], (i = 1,M; j = 1,N).

В результате расчета обеспечивается динамическое распределение нагрузки по серверам в каждом цикле.

Разработанный алгоритм отвечает всем требованиям к балансировке, соответствует концепции SDN, и адаптирован к изменениям интенсивности входящего потока для уменьшения времени ответа, вероятности потерь и повышения производительности системы.

Заключение

В заключение стоит уточнить, что построение и эксплуатация ЦОД не ограничивается выбором алгоритма балансировки трафика между серверами, необходимо учесть индивидуальные технические параметры серверов, варианты резервирования, синхронизации и другие технологические аспекты, которые могут влиять на условия применения адаптивных алгоритмов.

При этом применение SDN не позволяет автоматизировать решение этих вопросов, но оставляет возможность для интеграции рассмотренных алгоритмов в том сегменте ЦОД, где это необходимо и целесообразно.

2

Список используемых источников

1. Vladyko A., Letenko I., Lezhepekov A., Buinevich M. Fuzzy Model of Dynamic Traffic Management in Software-Defined Mobile Networks // Lecture Notes in Computer Science. 2016. Vol. 9870. PP. 561-570.

2. Amelyanovich A., Shpakov M., Muthanna A., Buinevich M., Vladyko A. Centralized Control of Traffic Flows in Wireless Lans Based on the SDN Concept // Systems of Signal Synchronization, Generating and Processing in Telecommunications (SINKHROINFO). 2017. PP. 1-5.

3. Pacifici G., Spreitzer M., Tantawi A., Youssef A. Performance Management for Cluster-Based Web Services // IEEE Journal on Selected Areas in Communications. 2005. 23 (12). PP. 2333-2343.

4. Urgaonkar B., Pacifici G., Shenoy P., Spreitzer M., Tantawi A. An Analytical Model for Multi-Tier Internet Services and its Applications // Proceedings of the 2005 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems. 2005. PP. 291-302.

5. Urgaonkar B., Chandra A. Dynamic Provisioning of Multi-tier Internet Applications // Proceedings of the 2nd International Conference on Automatic Computing. 2005. PP. 217-228.

6. Елагин В.С., Зобнин А.А. Аспекты реализации системы законного перехвата трафика в сетях SDN // Вестник связи. 2016. № 12. С. 6-9.

7. Елагин В.С. Подходы к моделированию систем законного перехвата трафика в SDN // Актуальные проблемы инфотелекоммуникаций в науке и образовании: сборник научных статей V международной научно-технической и научно-методической конференции. СПБГУТ. 2016. С. 353-358.

8. ONF TS-025. OpenFlow Switch Specification. Version 1.5.1. 2015.

9. Елагин В.С., Сорокин В.А. Исследование технологических возможностей внедрения СОРМ в SDN // Труды учебных заведений связи. 2017. Т. 3. № 1. С. 28-35.

10. Labes S., et al. Standardization Approaches within Cloud Computing: Evaluation of Infrastructure as a Service Architecture // Federated Conference on Computer Science and Information Systems. 2012. PP. 923-930.

11. Al-Fares M., Radhakrishnan S., Raghavan B., Huang N., Vahdat A. Hedera: Dynamic Flow Scheduling for Data Center Networks // Proceedings of the 7th USENIX Conference on Networked Systems Design and Implementation. USENIX Association. April 2010. PP. 19-19.

12. Parfenov D., Bolodurina I., Shukhman A. Efficient access to multimedia resources in distributed systems of distance learning // Proceedings of the IEEE Global Engineering Education Conference (EDUCON). 2013. PP. 1228-1231.

* * *

DYNAMIC LOAD BALANCING IN SOFTWARE-DEFINED NETWORK

V. Elagin1

1The Bonch-Bruevich Saint-Petersburg State University of Telecommunications, St. Petersburg, 193232, Russian Federation

Article info:

Article in Russian

For citation: Elagin V. Dynamic Load Balancing in Software-Defined Network / / Proceedings of Telecommunication Univercities. 2017. Vol. 3. Iss. 3. PP. 60-67.

Annotation: In regard with the increasingly complex topology of the network infrastructure of data centers and its requirements of performance, reliability and fault tolerance, the complexity of managing network infrastructure of the data center are also constantly growing. In this regard, there is a need to modification manual configuration of the network infrastructure of data centers by automated means. One of the perspective directions of modernization of the existing network architecture is the concept of SDN. Software-defined data center (Software Defined Data Center, SDDC) is a virtualized structure aimed at providing services. Within this concept it is necessary to develop methods of traffic management and balancing within the data center networks. The article presents a mathematical model of the dynamic load balancing algorithm in data center networks.

Key words: Data center, software defined networking, SDN, dynamic load balancing.

i Надоели баннеры? Вы всегда можете отключить рекламу.