Научная статья на тему 'Разработка эффективного генетического алгоритма маршрутизации и обеспечения качества обслуживания для программно-конфигурируемой сети'

Разработка эффективного генетического алгоритма маршрутизации и обеспечения качества обслуживания для программно-конфигурируемой сети Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
518
148
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОРПОРАТИВНЫЕ СЕТИ / ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ / ПРОГРАММНО-КОНФИГУРИРУЕМЫЕ СЕТИ / МАРШРУТИЗАЦИЯ / ОБЕСПЕЧЕНИЕ КАЧЕСТВА ОБСЛУЖИВАНИЯ / CORPORATE NETWORKS / CLOUD COMPUTING / SOFTWARE-DEFINED NETWORKS / ROUTING / DELIVERING QOS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Полежаев Петр Николаевич, Бахарева Надежда Федоровна, Шухман Александр Евгеньевич

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Полежаев Петр Николаевич, Бахарева Надежда Федоровна, Шухман Александр Евгеньевич

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

DEVELOPMENT OF EFFICIENT GENETIC ALGORITHM FOR ROUTING AND DELIVERING QOS USING SOFTWARE-DEFINED NETWORKS

This paper presents results of research aimed to the development of efficient routing methods for corporate software-defined networks and cloud systems. Optimization problem of proactive traffic routing was formalized. It considers flexible constraints on providing QoS parameters for data flows minimum guaranteed bandwidth and maximum guaranteed delay. Genetic algorithm was proposed for solution of this problem. It is based on software-defined networking, which is used for collecting information on network state and installing routing rules to the switches. Implementation of this algorithm was estimated by software-defined network simulator, and showed good efficiency. In the future we plan to study it in detail using simulator and a real software-defined network.

Текст научной работы на тему «Разработка эффективного генетического алгоритма маршрутизации и обеспечения качества обслуживания для программно-конфигурируемой сети»

УДК 519.687

Полежаев П.Н., Бахарева Н.Ф., Шухман А.Е.

Оренбургский государственный университет E-mail: [email protected]

РАЗРАБОТКА ЭФФЕКТИВНОГО ГЕНЕТИЧЕСКОГО АЛГОРИТМА МАРШРУТИЗАЦИИ И ОБЕСПЕЧЕНИЯ КАЧЕСТВА ОБСЛУЖИВАНИЯ ДЛЯ ПРОГРАММНО-КОНФИГУРИРУЕМОЙ СЕТИ

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

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

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

В корпоративных сетях и облачных системах используется технология Ethernet, для которой характерно применение классических протоколов маршрутизации, таких как OSPF, RIP и др. Основной их недостаток - отсутствие учета семантики передаваемых потоков данных, которая может быть использована для повышения эффективности маршрутизации данных.

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

ПКС [1], [2] позволяют эффективно реали-зовывать собственные протоколы маршрутизации с помощью приложений для контроллера ПКС, это, в частности, дает возможность разработать алгоритмы маршрутизации потоков данных, учитывающих их семантику - комму-

никационные схемы и требования к качеству обслуживания (к максимальным задержкам и к минимальным пропускным способностям).

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

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

Проблема маршрутизации

и обеспечения качества обслуживания

Задача маршрутизации сетевого трафика с помощью ПКС решается в работах [3], [4], [5], однако предложенные авторами алгоритмы не учитывают необходимость обеспечения параметров QoS для прокладываемого потока данных и ранее установленных потоков. Существующие алгоритмы обеспечения QoS [6], [7] для ПКС также недостаточно эффективны. В работе [6] описыва-

ется подход к динамической прокладке маршрутов передачи мультимедийных потоков, обеспечивающих гарантированную максимальную задержку с помощью алгоритма Lagrangian Relaxation Based Aggregated. Однако, авторы рассматривают только случаи единичных задержек по каждой сетевой связи и не учитывают минимальную гарантированную пропускную способность. Схожий подход описывается в [7], авторы ставят и решают оптимизационную задачу по передаче мультимедийного трафика без потерь по альтернативным путям, оставляя короткие пути для обычных данных. Однако, они осуществляют оптимизацию по задержкам и не учитывают необходимость обеспечения гарантированной пропускной способности.

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

Пусть GT = (V, E) - ориентированный муль-тиграф, описывающий текущую топологию сети в некоторый момент времени t. Множество его вершин V = Nodes u NetDevices является объединением множества узлов (серверов) и других сетевых устройств (коммутаторов, граничных шлюзов, СХД и т. п.).

Каждая дуга e е E соответствует некоторой сетевой связи между вершинами beg(e) е V и end(e) е V. У нее также есть противоположная дуга, т. к. связь дуплексная. Между двумя вершинами может быть несколько параллельных дуг, например, параллельные соединения между маршрутизаторами. Это дает множество альтернативных маршрутов для передачи данных и обеспечения параметров QoS.

На множестве дуг E заданы две функции:

1. b: E ^ R + u {0} - отображение, характеризующее текущую пропускную способность каждой дуги в момент времени t.

2. d: E ^ R + u{0} - задержка на соответствующем выходном порту дуги в момент времени t.

Обозначим в качестве ориентированного графа GP = (V',C) коммуникационный паттерн некоторой распределенной программы, которая выполняется в корпоративной сети. Здесь V' с Nodes - множество серверов, на которых работают компоненты распределенной про-

граммы, C - дуги, указывающие на потоки данных между ними.

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

На множестве дуг C заданы три функции:

1. b: C ^ R + u {0} - минимальная гарантированная пропускная способность потоков данных, соответствующих данной дуге.

2. d: C ^ R + u {0} - их максимальная гарантированная задержка.

3. d : C ^ R + u {0} - оценка средней задержки, которая возникнет при обработке пакетов потоков данных на портах сетевых устройств.

Алгоритм маршрутизации и обеспечения QoS должен построить такую функцию Ф: C ^ P(Gt), которая каждому потоку данных c е C ставит в соответствие маршрут его передачи r, ведущий из вершины beg(c) в end(c). Здесь в качестве P(G,) обозначено множество маршрутов между любыми парами вершин в графе-топологии GT .

Функция ф может быть описана в виде вектора R = (rl,...,r^), где r = ф(с) - маршрут для потока данных ct е C.

Также введем дополнительное обозначение, пусть у: E ^ 2C - функция, ставящая в соответствие каждой сетевой связи e е E множество потоков данных c е C , для которых соответствующие маршруты проходят через e, т. е. y(e) = {c е C | r = ф(^ & e е r}.

Очевидно, что вектор R должен содержать маршруты, которые удовлетворяют следующим ограничениям QoS:

1. Пропускная способность каждого маршрута r с учетом влияния других потоков данных не должна быть меньше гарантированной пропускной способности для потока ct:

Vr, min{b(e) - £ b(c)} ^ b(ct) .

ее'' cg¥( e)\{ci}

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

Vr, £ (d(e) + £ d(c)) < d(c,) .

вец cg¥( e)\{ct}

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

Разработка эффективного генетического алгоритма...

Полежаев П.Н. и др.

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

Л = ) и = (г* „„г*!, тц „.„гВ,)

формируется две дочерние хромосомы

Л" = (ГД.../-Д, г8.....г*) и Л" = (г8 ....гД, г/.....гА|) •

Операция мутации хромосомы Л = (г,...,)

н (R) =

c,eC:

min{b(e)- ХЬ(с)}2Ь(с,- )&

eeri ceV(e)\{c,-} _

Z(d(e)+ Z d(c))£d(c,-)

eer,- ceV(e)\{c,-}

«ь (min{b(e) - Z b(c)} - b(c,-)) + «d (d (c,) -Z d (e) - Zd (c))

cey(e)/{c,}

c,eC:

min{b(e)- Zb(c)}<b(ci)

eeri ceV(e)/{c,-}

min{b(e) - Z b(c)} - b(c!)

eer ce^(e)\{c,}

+ в • Z

c,eC: _

Z (d (e)+ Zd(c))>d(c,-)

eer,- cey(e)\{c,-}

d (c,) -Z d (e) - Z d (c)

eer cey(e)\{q}

^ max.

cey(e)\{q}

Здесь ab > 0 и ad > 0 - поощрения за соблюдение соответствующих ограничений по пропускной способности и задержкам, pb > о и рd > о -штрафы за их несоблюдение.

Также имеются жесткие ограничения на маршруты r = ):

1. r действительно является маршрутом:

Vr,. Vj = 1,n -1 end(e,j) = beg(e,/+1) .

2. r должен начинаться в вершине, соответствующей началу дуги с,, и заканчиваться в вершине, соответствующей концу с,, т. е.:

Vr,. beg(ef1) = beg( с,) & end (ein.) = end (с,) .

3. r не должен проходить несколько раз через одну и ту же вершину, т. е.:

Vr V/, k = 1, n,. j Ф k ^ beg(e,/) * beg(e,k ) .

Разработка генетического алгоритма

для маршрутизации и обеспечения

качества обслуживания

Данная оптимизационная задача может быть решена с помощью генетического алгоритма.

Решение задачи кодируется хромосомой, представляющей собой вектор маршрутов R = (r1,...,rc). Популяция хромосом имеет фиксированный размер N.

Операция скрещивания двух хромосом представляет обычное одноточечное скрещивание. Выбирается случайное число k e 2,|с| -1, затем на основе родительских хромосом

представляет собой выбор случайного числа k e 1, , после чего маршрут rk случайным образом меняется. Для этого случайно выбираются две его вершины beg(ekj) и beg(eks) (1 < j < s < nk) между которыми есть альтернативный маршрут (он не должен нарушать третье жесткое ограничение), и в rk участок ekj ,...,eks-1 заменяется альтернативным e'kj ,...,e'kp .

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

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

max |Hg« - H(R;) <£,

j=i-G +1,il ' I

где G - количество контролируемых поколений, Ha - среднее значение оптимизируемой функции на протяжении G последних поколений, H(Rj) - среднее значение дляj-го предыдущего поколения, е - заданная степень толерантности.

Приведем по шагам разработанный алгоритм:

Шаг 1. Замерить текущий момент времени

т .

start

Шаг 2. Создать Population начальную популяцию размера N. В качестве одной из хромосом R выбрать маршруты, проложенные с помощью алгоритма Дейкстры, запущенного из каждой вершины V', руководствуясь минимизацией суммарных ограничений по задержкам. Остальные хромосомы сгенерировать случайным образом.

Шаг 3. Положить в качестве номера итерации значение i := 1.

Шаг 4. Пока Tcurren, -Tsla„ < rm„ и i < G (или

max \HGi - H(Rf) >e ) необходимо выполнить

j=i-G+1,i\ ' I

следующие шаги:

Шаг 4.1. Над хромосомами Population с вероятностью P выполнить операции скрещивания, объединив родительские хромосомы в случайные пары. Получаемые дочерние хромосомы сохранить в Population'.

Шаг 4.2. Для хромосом Population' выполнить операцию мутации с вероятностью Q.

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

Шаг 4.3. Объединить родительские и дочерние популяции

Population' := Populationt u Population'

Шаг 4.4. Для Population' выполнить операцию селекции, выбранные хромосомы сохранить в Populationi+1 .

Шаг 4.5. Увеличить на единицу номер итерации i := i +1 и перейти к шагу 4.

Шаг 5. Установить в таблицы коммутаторов OpenFlow все маршруты из Population .

В данном алгоритме параметр Tcurren, представляет собой текущее время, получаемое от системных часов.

Обсуждение полученных результатов

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

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

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

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

Выводы

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

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

3.09.2014

Исследования выполнены при поддержке РФФИ (проекты №13-07-97046, №14-07-97034 и №13-01-97050), программы У.М.Н.И.К. Фонда содействия развитию малых форм предприятий в научно-технической сфере (договор №2628ГУ1/2014)

Список литературы:

1. Полежаев, П.Н. Математическая модель распределенного вычислительного центра обработки данных с программно-конфигурируемыми сетями его сегментов / П.Н. Полежаев // Вестник «Оренбургского государственного университета», 2013. -5(154). - С. 198-204.

Полежаев П.Н. и др.

Разработка эффективного генетического алгоритма..

2. Полежаев, П.Н. Об эффективности алгоритмов планирования задач управления потоками данных облачных грид-систем / П.Н. Полежаев // Вестник «Оренбургского государственного университета», 2014. - 3(164). - С. 168-172.

3. Ibanez, G. A Small Data Center Network of ARP-Path Bridges made of Openflow Switches / G. Ibanez [и др.] // The 36th IEEE Conference on Local Computer Networks (LCN). - 2011.

4. Shimonishi, H. Building Hierarchical Switch Network Using OpenFlow / H. Shimonishi [и др.] // 2009 International Conference on Intelligent Networking and Collaborative Systems. - 2009. - P. 391-394.

5. Tavakoli, A. Applying NOX to the datacenter [Электронный ресурс] / A. Tavakoli [и др.] // Proceedings of the 8th ACM Workshop on Hot Topics in Networks (HotNets-VIII). - New York, 2009. - Режим доступа: http://www.icsi.berkeley.edu/ pubs/networking/applyingnox09.pdf.

6. Egilmez, H.E. OpenQoS: An OpenFlow controller design for multimedia delivery with end-to-end quality of service over software-dened networks / H.E. Egilmez [и др.].

7. Kim, W. Automated and Scalable QoS Control for Network Convergence / W. Kim [и др.] // In Proc. INM/WREN, 2010.

Сведение об авторах:

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

460018, г. Оренбург, пр-т Победы, 13, ауд. 20520, тел.: (3532) 372534, e-mail: [email protected]

Бахарева Надежда Федоровна, профессор кафедры геометрии и компьютерных наук Оренбургского государственного университета, доктор технических наук, e-mail: [email protected]

Шухман Александр Евгеньевич, заведующий кафедрой геометрии и компьютерных наук Оренбургского государственного университета, кандидат педагогических наук, доцент

460018, г. Оренбург, пр-т Победы, 13, ауд. 1502, тел.: (3532) 372539, e-mail: [email protected]

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