Сравнение алгоритмов оптимизации Существует несколько

advertisement
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ОПТИМИЗАЦИИ
МУЛЬТИСЕРВИСНЫХ СЕТЕЙ
Будылдина Н.В.*, Коновалов П.А.**
* УрТИСИ СибГУТИ, г. Екатеринбург, +73433599116, bnv@urcci.edison.ru
** СибГУТИ, г. Новосибирск, +73832665059, pavel.konovalov@gmail.com
Аннотация В данной статье предлагается программная реализация
эвристического алгоритма (метода пропорционального распределения потоков) для
решения задачи оптимизации – определения оптимального дизайна LSP в сетях MPLS.
Введение В последние годы сети MPLS (MultiProtocol Label Switching)
приобретают все большее значение на рынке телекоммуникаций а ведущие
производители реализуют ее поддержку в своих продуктах.
Путь c коммутацией меток LSP (Label Switched Path) эквивалентен виртуальному
каналу из истока в сток. В традиционных IP сетях пакеты с одинаковым источником и
назначением следовали бы по одному маршруту, в то время как в сети MPLS им могут
быть назначены различные метки, с целью перераспределения нагрузки. Вследствие
этого может быть получен такой дизайн – совокупность всех LSP, который
оптимизирует распределение нагрузки в сети. Дизайн LSP должен оперативно
реагировать на изменения внутренней топологии сети, следовательно, необходимо
минимизировать время его определения.
Подобные задачи уже рассматривались в работах таких авторов как Kehang Wu,
Douglas S. Reeves, Alpar Juttner, Balazs Szviatovszki, Aron Szentesi. В [1] задача
оптимизации решается путем использования метода ослаблений Лагранжа, а в [2]
рассматривается определение дизайна LSP по запросу. В то время как в данной работе
предлагается алгоритм для динамического определения оптимального дизайна LSP.
Оптимизация дизайна LSP Телекоммуникационная сеть может быть
представлена в виде узлов-вершин (системы коммутации, маршрутизации и т. д.) и
звеньев-ребер (системы передачи, линия связи и т. д.), которые соединяют узлывершины между собой. То есть любую сеть связи можно представить в виде графа и
использовать методы теории графов для исследования и оптимизации сетей. При этом
сеть может быть сопоставлена с неким направленным, сильно связанным графом
G  (V , E ) с множеством вершин V  { v1 ,..., vn } и множеством ребер
E  { e1 ,..., em }  V  V . Для сети задана матрица требований (трафик-матрица)
T  ( t ij ) .
Общая цель оптимизации звучит так:
Необходимо найти такой дизайн LSP, который уменьшает максимальную
нагрузку на линию связи в сети, и выбирает наикратчайший путь среди всех
возможных решений, которые выполняют это условие.
Теория графов предлагает различные методы, с помощью которых можно было
бы оптимально распределить нагрузку по сети [3-5]. К ним относятся:
1. Метод максимального потока (минимального разреза) Это метод определяет
множество рёбер, при удалении которых сеть делится на две несвязанные части, а
также максимальную нагрузку на это множество ребер. Пропускная способность этих
ребер ограничивает объем трафика между двумя частями сети.
2. Метод линейного программирования. Одним из способов реализации
линейного программирования является симплекс-алгоритм, который может почти
всегда, за исключением некоторых случаев, найти оптимальное решение. В основе
этого алгоритма лежит полный перебор возможных вариантов решения задачи.
3. Эвристические методы. Данные методы направлены на сокращение перебора.
Хотя методы позволяют получить лишь квазиоптимальный дизайн LSP, в некоторых
случаях только они являются единственным возможным решением, к тому же эти
методы намного быстрее линейного программирования отражают изменения
внутренней топологии сети на дизайне.
Эвристический
метод
пропорционального
распределения
потоков
Рассмотренный в данной работе алгоритм (Рисунок 1) отличается от всех прочих
методов распределения многопродуктовых потоков тем, что он рассматривает не
каждое в отдельности взятое требование на распределение потоков, а все одновременно
заданные в трафик-матрице [6]. На каждом итерационном шаге алгоритма
распределяется многопродуктовый поток с интенсивностью   i , j t ij между всеми
истока и стоками, где коэффициент, на которой весь трафик может быть
дополнительно увеличен, не расширяя пропускную способность разреза.
Для каждого требования на распределение потока в трафик-матрице находится
наикратчайший путь от источника к потребителю с учетом весов ребер.
Существует несколько способов решения задачи поиска наикратчайшего пути.
Например, волновой алгоритм, алгоритм Форда-Беллмана, алгоритм Флойда и
алгоритм Дейкстры [7]. Последний алгоритм является наиболее простым из выше
перечисленных, и соответствует всем необходимым требованиям, поэтому мы
используем его в эвристическом методе оптимизации сетей.
Начало
Определение кратчайших
путей (Алгоритм Дейкстра)
Вычисление 
0
ek
1
Исключаем ek из топологии
графа
0
fs=Cs
1
Перенаправление потоков
Конец
Рисунок 1. Блок-схема работы эвристического алгоритма
Данный алгоритм реализован в среде программирования Delphi.
Для отдельного взятого графа, состоящего из n вершин и m ребер, сложность
эвристического алгоритма составляет O(mn2). Известно, что максимально возможное
n2  n
число ненаправленных ребер m 
. В соответствии с [8] получим
2
 n4 
что
предпочтительнее
по
сравнению
с
линейным
O(mn 2 )  O  ,
 2 
программированием, для которого O(4n 5 ) .
Сравнение алгоритмов оптимизации Существует несколько параметров, по
которым можно проводить сравнение алгоритмов оптимизации сетей MPLS. В данном
случае сравнение мы будем проводить по сложности алгоритмов и по полученному
весу дизайна LSP.
Покажем
зависимость
сложности
линейного
программирования
и
эвристического алгоритма от размера сети. Функция сложности линейного
программирования обладает более высокой скоростью роста, чем функция сложности
эвристического алгоритма. Сравним веса полученного дизайна LSP с помощью
разработанного программного обеспечения. Для этого выберем некоторые графы с
размерностью n от 3 до 10, применим к ним метод линейного программирования и
эвристический алгоритм и сравним вес дизайнов LSP, полученных двумя этими
методами (Рисунок 2).
Рисунок 2. Сравнение сложности алгоритмов и веса дизайна LSP, полученного
эвристическим алгоритмом (E1) и методом линейного программирования (S1)
Заключение. Результаты показали, что эвристический алгоритм предоставляет
приемлемое решение поставленной выше задачи, при затратах в 8n раз меньше, чем
метод линейного программирования.
Список литературы
[1] Kehang Wu and Douglas S. Reeves Link Dimensioning and LSP Optimization for
MPLS
Networks
Supporting
DiffServ
EF
and
BE
traffic
classes
http://reeves.csc.ncsu.edu/papers-and-other-stuff/2003-09-itc18-link-dimensioning-mplspaper.pdf
[2] Alpar Juttner, Balazs Szviatovszki,Aron Szentesi, Daniel Orincsay, Janos Harmatos
On–demand optimization of label switched paths in MPLS networks IEEE ICCCN 2000
[3] Ahuja, R.K.; Magnanti, T.L.; Orlin J.B.: Network Flows: Theory, Algorithms and
Aplications. Prentice Hall, Englewood Cliffs, 1993
[4] Christofides, N.: Graph Theoriy- An Algprithmic Approach. New York: Academic
Press, 1975
[5] Neuman, Klaus; Morlock, Martin: Operations Research. München Wien: Carl Hanser
Verlag, 1993
[6] Э. Майника Алгоритмы оптимизации на сетях и графах. M.: 1981г., 323стр.
[7] http://algolist.manual.ru/maths/graphs/shortpath/ Задача о кратчайших путях.
[8] http://program.rin.ru/razdel/html/973.html Оценка времени исполнения. Символ O()
Download