УДК 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.
Шаг 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]