Научная статья на тему 'Оптимизация структуры сети доставки контента на основе балансировки нагрузки по критерию средней задержки'

Оптимизация структуры сети доставки контента на основе балансировки нагрузки по критерию средней задержки Текст научной статьи по специальности «Строительство и архитектура»

CC BY
227
57
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТИ ДОСТАВКИ КОНТЕНТА / БАЛАНСИРОВКА НАГРУЗКИ / СЕТЕВЫЕ УЗЛЫ / ПЕРЕРАСПРЕДЕЛЕНИЕ НАГРУЗКИ / СРЕДНЯЯ ЗАДЕРЖКА / ПРОПУСКНАЯ СПОСОБНОСТЬ / СТРУКТУРА / CONTENT DELIVERY NETWORK / LOAD BALANCING / NETWORK NODES / LOAD REDISTRIBUTION / AVERAGE DELAY / BANDWIDTH / STRUCTURE

Аннотация научной статьи по строительству и архитектуре, автор научной работы — Аль-таяр Башир Али, Марголис Борис Иосифович, Матвеев Юрий Николаевич

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

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

Похожие темы научных работ по строительству и архитектуре , автор научной работы — Аль-таяр Башир Али, Марголис Борис Иосифович, Матвеев Юрий Николаевич

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

Optimizing the structure of content delivery network based on load balancing

The article considers the problem of optimizing the structure of content delivery network. The optimization criterion based on average delay, restrictions on the values of the incoming flows and the conservation of flows on the network have been formulated. A program that allows determining the optimal load distribution between network nodes has been developed in Matlab. the node structure has been selected on the basis of the optimal load distribution. The results of calculating the optimal load distribution, which minimizes the average packet delay, have been given.

Текст научной работы на тему «Оптимизация структуры сети доставки контента на основе балансировки нагрузки по критерию средней задержки»

системотехника

УДК 004.725.4

Аль-таяр Башир Али

Тверской государственный технический университет

[email protected]

Марголис Борис иосифович

доктор технических наук Тверской государственный технический университет

[email protected]

Матвеев юрий николаевич

доктор технических наук Тверской государственный технический университет

[email protected]

оптимизация структуры сети доставки контента на основе балансировки нагрузки по критерию средней задержки

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

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

Обеспечение эффективной доставки информации является важной задачей управления и организации процесса функционирования сети доставки контента -content delivery network (CDN) - и любой другой компьютерной сети при доставке, в первую очередь, мультимедийного контента. Эта задача особенно актуальна в CDN в связи с появлением неожиданных всплесков нагрузки «flash crowd» в некоторых зонах действия сети.

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

Рассмотрим CDN инфраструктуру, состоящую из n узлов, размещение которых в разных зонах можно осуществить по предложенному в [1] алгоритму. Предполагается, что задержки

Т.., i = 1, n; j = 1, n между всеми узлами известны.

j

Если обмен данными между узлами i и j отсутствует, то Ту = 0. Обозначим через ^, i = 1, n среднюю интенсивность потока запросов, поступающего на узел i за единицу времени. Таким образом, суммарная внешняя интенсивность запросов, поступающих на узлы сети, определяется по формуле

n

^ = . Узлы в зависимости от их типа разли-

i=1

чаются номиналами производительности (мощности) ^, i = 1, n.

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

п

формуле: У1 = 2 Л 'хр , где хр - доля потока Л,

1=1

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

п п

формуле: 71 = Л - 2Л' Х + 2Л1' х1•. Первое сум-

1=1 1=1

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

Чтобы получить ожидаемый эффект от CDN и обслуживать поступающую нагрузку с интенсивностью Лобс, определенной с учетом ограничения по качеству обслуживания, номинал производительности щ узла сети должен удовлетворить условию щ > Лобс. Производительность узлов сети доставки контента можно определить по следующим показателям: количество запросов, обслуживаемых в единицу времени (обычно за одну секун-

Вестник КГУ им. Н.А. Некрасова .f^ № 5, 2014

© Аль-Таяр Башир Али, Марголис Б.И., Матвеев Ю.Н., 2014

46

Оптимизация структуры сети доставки контента на основе балансировки нагрузки..

ду); объем контента разного типа доставляемого от узла до конечных пользователей за определенный интервал времени и с заданным качеством; средняя (или общая) задержка при доставке веб-контента. _

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

Предположим, что поступающий поток запросов является пуассоновским, а его параметры стационарны на интервале наблюдения или хотя бы локально-стационарны в течение сеанса обмена данными. Если рассматривать каждый узел как СМО типа М/М/1, то выбор потоков для балансировки нагрузки между узлами можно произвести при минимизации критерия средней задержки по

сети Т = 4 £ (у, ■ Т) = | £ [3-5].

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

Очевидно, что если мощность узла С( измерить единицами данных (байтами) в секунду, а измеряемая в байтах средняя длина пакета 1 объекта контента одинакова для всех узлов, то должно быть справедливым равенство ^ = ЬС, [2; 5]. Следовательно, поток нагрузки в узле / можно выразить

у.

с использованием обозначения Р, = — < С,.

' Ь '

Включив в выражение для определения средней задержки [5] межузловую задержку Тр = Т. ■ р , которая состоит из времени распространения информации, время обработки и других фиксированных задержек в пути передачи и обратно пропорциональна пропускной способности, получим зависимость:

Т = - £

р.

Л VI I С. - Р,

- + Т

(1)

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

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

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

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

„ ( 4- \

Т=л ££

л /=1 ]=1

л

С. - л..

1 •> 1

+^2 ■ ЛТ

^ min,

при следующих ограничениях:

Л * 0; < С;

(2)

(3)

(4)

(5)

веса средней задержки

для резервирования

£ Л. = Р,

1=1

где Л - интенсивность потока, перенаправляемого из узла / на узел 1; w1, w2 - весовые коэффициенты каждой части критерия, они могут быть определены экспертным путем при условии, что w2 = 1 - w1; п, т - числа узлов источников и адресатов соответственно. Ограничение (3) разрешает только положительные значения перенаправляемых потоков. Ограничение (4) ограничивает потоки значениями свободной мощности узлов, то есть ограничение пропускной способности. Ограничение (5) является ограничением сохранения потока. Оно указывает на то, что входящий в узел поток должен соответствовать потоку, выходящему из узла.

Выражение (1) широко применяется при решении задач оптимизации маршрутизации и проектирования компьютерных сетей [3]. Нашей целью является эффективное использование ресурсов сети путем балансировки нагрузки между узлами. Другими словами, в режиме реального времени нужно решить задачу динамического определения долей нагрузки, поступающей на узлы, которая будет обслужена другими узлами. Эта задача может быть эффективно решена с использованием встроенных в математическом пакете МайаЬ методов и алгоритмов оптимизации.

Предполагаем, что нагрузки на узлы поступают в виде бесприоритетных потоков запросов. Обслуживание нагрузки осуществляется узлами, на которые они поступили, то есть каждый узел возьмет на себя обслуживание первой части поступившей из своей зоны нагрузки, соответствующей 80% его пропускной способности, так как загрузка узла более чем на 80% приведет к быстрому снижению производительности. Остаток нагрузки оптимальным образом необходимо распределить между менее загруженными узлами, минимизируя критерий (2) при выполнении ограничений (3-5).

w

(=1

Р

С. - Р

После исключения из первоначальной мощности части, используемой для обслуживания собственной нагрузки, а также запаса (20% от первоначальной мощности) для предотвращения перегрузки узла, оставшаяся мощность будет представлена массивом ||С,.||, , = 1, п, а нагрузка, подлежащая распределению, массивом . Обозначим матрицу задержек через Т9,, = 1, п; у = 1, т при передаче от узла , до узла у рассматриваемой сети. Матрица Т. необходима для формализации путей направления потоков запросов между узлами. В матрице Т. строка , характеризует направляющий узел, а столбец у - узел-получатель.

Результатом оптимизации будет массив перенаправляемых потоков ||/1| от узлов , к узлам у. Для рассматриваемого в статье примера задержки между узлами (табл. 1), массивы и ||С,.|| выглядят следующим образом:

Рт\ = [30; 50; 10; 20; 40]; С, || = [30; 20; 20; 60; 40].

В таблице 2 приведены результаты работы программы распределения нагрузки между узлами , и ], полученные с помощью функции тайаЬ fmincon. Выполнение ограничения (4) и ограничения (5) для каждого случая показано в последней строке и правом столбце соответственно.

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

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

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

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

_ 1 п т

Т =\11

А ,=1 у=1

(

Л

- + " ■ /Л + "3 •

(6)

С. - /..

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

Задержки между узлами Т ,, = 1, п; у = 1, т

\/ , \ 1 2 3 4 5 6

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

1 0,35 0,84 0,90 0,36 0,53 0,17

2 0,36 0,22 0,27 0,94 0,16 0,77

3 0,40 0,28 0,15 0,88 0,93 0,59

4 0,59 0,27 0,90 0,87 0,41 0,17

5 0,81 0,70 0,68 0,99 0,08 0,52

Перераспределение нагрузки / ,, = 1, п; у = 1, т

Таблица 1

Таблица 2

\/ , \ 1 2 3 4 5 6 X

1 3,58 0 0 12,95 0 13,47 30

2 19,37 12,04 9,54 0,7 8,35 0 50

3 1,05 2,49 6,46 0 0 0 10

4 0 1,47 0 0 0 18,53 20

5 0 0 0 0,35 39,65 0 40

X 24 16 16 14 48 32 150

Оптимизация структуры сети доставки контента на основе балансировки нагрузки...

ев Я В

ч

ю ев Н

гч I I

55

ев Ч

а

и

00, <3 <3

0,49 | 0,33

0,41 | 0,52

(Ч 0,1 | 0,84

со, о" 0,46

о о о о о о о о о о о о

со со со со

II II II II II II II II

1П 1П

00 00

со~

о о о о о о о о о о

сз сз '—1 '—1

СО сч сч

£ о о со со о УЗ УЗ о о о

со,

1Л, 1Л,

о 00^ 00^ о о о о о о о о о

со со

г-,

^ ^

о о о о о о о о о о

УЗ со 00 00 00,

<4 ^ 00 о 00 о со~ со" о о о

СО" оо" со со со со УЗ со

о о о о о о о о о о о о

со со со со

II II II II II II II II

со со

'—1 '—1 '—1 '—1

^ ^ УЗ УЗ о о о о

о о со со о о

со,

<3 00 00

II СЛ СЛ

со со~ со

о '—1 '—1 о СО" СО" о о о о о о

сз

II со со

м

й о 00^ 00 о о о о о о о о о

со со

00 00

^ о о о о о о

о со о со со о со со о со

УЗ со

'—1 УЗ

СО" 00 о о о о о о о о о

о о о о о о о о о о о о

со со со со

II II II II II II II II

1П 1П

сз, сз, 00 00

^ ^

о о о о о о о о

о СЛ СЛ УЗ УЗ

II сз сз

со о о о о

^ о о м м о ^ ^г о ^ ^

о

II

м <4 <4

й о 00 00 о о о о о о о о о

00 00

^ ^

сч о о о о о о о о о о

СЛ СЛ

УЗ г-, о о о о о

го 00 со о со со о со со о о

<4

¿3 * сз сз сз СЛ 00 о 8

и УЗ 8

<4 II II II II

II и о и и и

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

или виртуальных серверов - такое подмножество NonT с N, которое могло бы обслуживать нагрузку и в то же время минимизировать критерий T по формуле (6) с учетом ограничений (3-5).

Синтез структуры CDN состоит в реализации двух этапов:

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

II. Осуществляется оптимизация полученной на первом этапе структуры путем минимизации критерия (6), учитывающего среднюю задержку доставки контента, задержку между узлами и затраты на обслуживание нагрузок в каждой зоне.

Нагрузки будут заданы одномерным массивом |Fr(||, i = 1, n, а задержки - матрицей Tf . Доступные мощности узлов будут заданы массивом , а затраты обслуживания в узлах будут заданы массивом ||Z.|i = in.

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

IFI = [0; 30; 0; 0; 40];

IZJ = [0.63; 0.88; 0.88; 0.75; 1].

Необходимо оптимальным образом распределить нагрузки между всеми узлами, минимизируя критерий (6) при выполнении ограничений (3-5). Распределение нагрузки между узлами i,j для оптимизации структуры CDN осуществляется в математическом пакете Matlab с помощью встроенной функции fmincon. Стандартный вызов функции fmincon с ее входными и выходными аргументами выглядит следующим образом:

[fmin,Tval]=fmincon(@Floadbalanc,x0,A,B,Ae q,Beq,lb,ub,[],options,C,T,Z,m,n), где Tval - минимальное значение критерия T; fmin - найденные в результате минимизации критерия доли потоков; Floadbalanc - оптимизируемая функция, описывающая критерий (6); А - матрица коэффициентов линейных ограничений-неравенств, B - вектор значений правых частей ограничений-неравенств; Aeq - матрица коэффициентов линейных ограничений-равенств, Beq - вектор значений правых частей ограничений-равенств; lb и ub - векторы минимальных и максимальных значений соответственно; T- матрица задержек между узлами; С - массив мощностей узлов; Z - массив затрат обслуживания в узлах, options - параметры опций, используемых в fmincon; n и m - число узлов отправителей и узлов-получателей соответственно. Точки начального приближения x0 могут быть найдены с помощью функции linprog с теми же ограничениями. Вызов функции linprog с входными и выходными

параметрами будет выглядеть следующим образом [x0,fval] = linprog f,A,B,Aeq,Beq,lb,ub).

В таблице 4 представлены результаты расчетов по распределению потоков запросов для рассматриваемого в статье примера. Выполнение ограничения (5) и ограничения (4) для каждого случая показаны справа и снизу соответственно. В левом столбце приведены значения мощности ||сг|| = 1,2 • || _В||, взятой с коэффициентом запаса, равным 1,2.

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

Библиографический список

1. Аль-Таяр Б.А., Матвеев Ю.Н. Решение задачи о размещении узлов сети // Науковедение. -2013. - №3 (16). - [Электронный ресурс]. - Режим доступа: http://naukovedenie.ru/PDF/109tvn313.pdf (дата обращения: 21.07.2014).

2. Вишневский В.М. Теоретические основы проектирования компьютерных сетей. - М.: Техносфера, 2003. - 512 с.

3. Дмитриев Г.А., Марголис Б.И., МузаннаМ.М. Решение задачи оптимальной маршрутизации по критерию загруженности сети // Программные продукты и системы. - 2013. - № 4. - С. 17-19.

4. Парфенов В.И., Золотарев С.В. Об одном алгоритме решения задачи оптимальной маршрутизации по критерию средней задержки // Вестник ВГУ: сер. Физика. Математика. - 2007. - № 2. - С. 28-32.

5. Шварц М. Сети связи: протоколы, моделирование и анализ: пер. с англ.: в 2 ч. - М.: Наука, 1992. - Ч. 1. - 336 с.

6. Ayyasamy S. A Cluster Based Replication Architecture for Load Balancing in Peer-to-Peer Content Distribution / S.Ayyasamy, S.N. Sivanandam // International Journal of Computer Networks & Communications (IJCNC). - 2010. - Vol. 2. - № 5 (September). - P. 158-172.

7. Mukaddim Pathan, Christian Vecchiola, Rajkumar Buyya. Load and Proximity Aware Request-Redirection for Dynamic Load Distribution in Peering CDNs // OTM '08 Proceedings of the OTM 2008 Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008. Part I on On the Move to Meaningful Internet Systems. - P. 62-81.

8. Pallis George, Konstantinos Stamos, Athena Vakali «and other». Replication based on Objects Load under a Content Distribution Network // Proceedings of the 22nd (In conjunction with ICDE'06). - Atlanta, 2006. - 53 p.

9. Tim Wauters, Jan Coppens, Bart Dhoedt, Piet Demeester. Load balancing through efficient distributed content placement // In proceeding of: Next Generation Internet Networks. - NY, 2005. - P. 99-105.

50

Вестник КГУ им. H.A. Некрасова № 5, 2014

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