algorytmy heurystyczne dla połączeń rozgałęźnych w sieciach

Transkrypt

algorytmy heurystyczne dla połączeń rozgałęźnych w sieciach
Artur Żodź,
Piotr Zwierzykowski,
Politechnika Poznańska,
Wydział Elektroniki i Telekomunikacji,
ul. Piotrowo 3A, 60-965 Poznań,
E-mail: [email protected]
2006
Poznańskie Warsztaty Telekomunikacyjne
Poznań 7 - 8 grudnia 2006
ALGORYTMY HEURYSTYCZNE DLA POŁĄCZEŃ ROZGAŁĘŹNYCH W
SIECIACH PAKIETOWYCH - PROPOZYCJA NOWEGO ROZWIĄZANIA
Streszczenie: W ciągu ostatnich kilkunastu lat
zaproponowano wiele algorytmów heurystycznych wyznaczających drzewa połączeń rozgałęźnych. Proponowane metody heurystyczne stanowią jedynie przybliżenie rozwiązania optymalnego i dlatego problem znalezienia lepszego algorytmu jest ciągle aktualny. Głównym celem artykułu
jest prezentacja prób znalezienia algorytmu dwukryterialnego bardziej efektywnego od rozwiązań
przedstawianych w literaturze.
1. Wprowadzenie
Technika multicast polega na równoległym przesyłaniu danych w sieci od węzła nadawczego do grupy
węzłów odbiorczych (wcześniej zdefiniowanych) [22].
Na przestrzeni kilku ostatnich lat algorytmy multicast
zaczęły odgrywać coraz większą rolę ze względu na
specyfikę danych przesyłanych w sieciach transportowych. Wzrost przepustowości współczesnych sieci pozwolił na transmisję danych multimedialnych w czasie
rzeczywistym (transmisja radiowa i telewizyjna, video
na żądanie, telekonferencje, itp.) [24]. W celu zapewnienia niezawodnej transmisji aplikacje multimedialne stawiają wysokie wymagania parametrom jakościowym (quality-of-service). Wymagania jakościowe
dotyczące m.in. stałej gwarantowanej wartości opóźnień związanych z przejściem pakietu pomiędzy węzłem nadawczym i odbiorczym po określonej ścieżce
w sieci, ciągle są wyzwaniem dla projektantów aplikacji czasu rzeczywistego.
Najprostszym przykładem tego typu aplikacji
jest transmisja głosu. Z transmisją głosu w pakietach
wiążą się liczne opóźnienia m.in. opóźnienia kolejkowania, opóźnienia propagacji, opóźnienia wprowadzane przez kodeka, oraz opóźnienia serializacji. Opóźnienia kolejkowania zależą głównie od użytych algorytmów planowania, które mogą wyznaczać wartość
opóźnienia poprzez określenie maksymalnej wartości
(najgorszy przypadek) lub wartości średniej (w sensie
statystycznym). Literatura szeroko prezentuje rozwiązania gwarantujące pasmo i opóźnienie dla pojedynczych strumieni, bazujące na najgorszym przypadku
(strumienie takie traktowane są osobno) [24]. Grupowanie strumieni usługi, dla której mamy zagwarantowaną wartość opóźnienia, pozwala obniżyć wykorzystanie zasobów sieci, ponieważ czas propagacji może
być uważany za stały atrybut łącza, zależny jedynie
od odległości między węzłem nadawczym i odbiorczym.
Zatory oraz opóźnienia propagacji w łączach
znacznie obniżają wydajność sieci Internet. A zatem
znając największą wartość opóźnienia kolejkowania
(obliczoną na podstawie liczby skoków między węzłami) oraz czas propagacji - można przypisać poszczególnym łączom w sieci pojedynczą metrykę opóźnienia (będącą sumą powyższych parametrów).
W ciągu ostatnich kilku lat zaproponowano algorytmy routingu multicast dla aplikacji czasu rzeczywistego [26], [15]. Jednakże nie dokonano porównania
wydajności tych algorytmów w identycznych warunkach sieciowych (z wykorzystaniem tych samych topologii sieci). Takie badania są niezbędne w celu określenia czy dane algorytmy są zdolne do konstruowania drzewa multicast z uwzględnieniem parametrów
charakterystycznych dla aplikacji czasu rzeczywistego
(małe wartości opóźnień między węzłem nadawczym
i odbiorczym).
W pracach [16], [18] udowodniono, że znalezienie
drzewa multicast jest problemem NP-zupełnym dla
jednego i większej liczby parametrów QoS. Z uwagi
na złożoność problemu prezentowane algorytmy stosują techniki przybliżające rozwiązanie dokładne tj.
algorytmy heurystyczne czy algorytmy genetyczne.
W artykule zaproponowano modyfikacje znanych
algorytmów heurystycznych, których efektywność jest
lepsza od rozwiązań oryginalnych. Artykuł podzielono na 10 rozdziałów. Rozdziały 2 zawiera informacje wstępne, natomiast rozdział 3 omawia skrótowo
wcześniejsze prace. W rozdziale 4 przedstawiono informacje o topologii sieci, które są wykorzystywane
przez algorytmy. Kolejne dwa rozdziały zawierają odpowiednio omówienie algorytmów RSDRC i RDCMA.
Rozdziały 7 i 8 przedstawiają topologie testowe i wyniki badań, natomiast rozdział 9 podsumowuje prezentowane badania.
2. Podstawowe pojęcia
W dalszej części artykułu zakłada się że sieć, na
której testowane będą algorytmy, reprezentowana jest
przez spójny, skierowany graf G = (V, E). V jest zbiorem węzłów, a E to zbiór skierowanych krawędzi łą-
czących węzły grafu (reprezentuje łącza sieci). Z każdą krawędzią grafu e ∈ E skojarzona jest metryka
kosztu C(e) i metryka opóźnienia D(e). Metryka kosztu opisuje ogólny koszt nawiązania połączenia z wykorzystaniem danego łącza. Na funkcje kosztu składać
się mogą: przepustowość łącza, pojemność buforów,
stopa błędów (jakość łącza) itp. Metryka opóźnienia
reprezentuje opóźnienie propagacji sygnału przesyłanego za pomocą danego łącza.
Ścieżka z węzła a do węzła b w grafie skierowanym to sekwencja krawędzi skierowanych prowadzących od węzła a do węzła b i oznaczonych jako
P (a, b). Ścieżka P (a, b) spełnia ograniczenie opóźnienia ∆, gdy suma opóźnień wszystkich krawędzi ei
należących do danej ścieżki P (a, b) jest mniejsza lub
równa ∆:
X
D(ei ) ¬ ∆.
(1)
ei ∈P (a,b)
W dalszej części pracy całkowite opóźnienie ścieżki
oznaczone bedzię przez:
X
D(P (a, b)) =
D(ei ).
(2)
ei ∈P (a,b)
Ścieżka P (a, b) jest najkrótszą pod względem
kosztu/opóźnienia ścieżką łączącą węzeł a i b, gdy
suma kosztów/opóźnień wszystkich krawędzi ei należących do danej ścieżki P (a, b) jest najmniejsza z
możliwych:
X
Cost(P (a, b)) = M in
.
(3)
ei ∈P (a,b)
Drzewo najkrótszych pod względem kosztu/opóźnienia ścieżek to drzewo łączące węzeł źródłowy s z węzłami docelowymi di za pomocą najkrótszych pod względem kosztu/opóźnienia ścieżek.
Drzewo najkrótszych pod względem kosztu/opóźnienia ścieżek (LPC tree / LPD tree) to drzewo łączące węzeł źródłowy s z węzłami docelowymi di za pomocą najkrótszych pod względem kosztu/opóźnienia ścieżek.
Grupa multicast(węzły docelowe) di ∈ S to zbór
węzłów sieci, które są odbiorcami ruchu pochodzącego
z jednego lub większej liczby węzłów źródłowych s.
Drzewo multicast T (s, S) ⊆ E o ograniczonym
opóźnieniu ścieżki to drzewo, do którego należą ścieżki prowadzące od węzła źródłowego s do każdego z
węzłów docelowych di ∈ S. Ponadto każda ścieżka
należąca do drzewa T (s, S), łącząca węzeł źródłowy
s z dowolnym węzłem docelowym di spełania ograniczenie opóźnienia ∆:
_
D(P (s, di )) ¬ ∆.
(4)
di ∈S
Drzewo multicast T (s, S) ⊆ E o ograniczonym opóźnieniu ścieżki jest wynikiem działania każdego badanego w pracy algorytmu.
Całkowity koszt drzewa multicast T (s, S) to suma metryk kosztu wszystkich krawędzi ei należących
do T (s, S). Minimalizacja całkowitego kosztu drzewa
multicast o ograniczonym opóźnieniu jest określana w
literaturze jako problem DCLC (Delay Constrained
Least Cost) lub problem minimalnego drzewa Steinera o ograniczonym opóźnieniu (Constrained Steiner
tree problem) i jest podstawowym zadaniem przedstawionych w pracy algorytmów.
3. Wcześniejsze prace
Heurystyka KMB (Kou, Markowsky, Berman)
[18] jest jedną z najbardziej znanych heurystyk rozwiązujących problem minimalnego drzewa Steinera.
Jest ona również bardzo efektywna pod względem dokładności rozwiązania [11], a jej złożoność obliczeniowa wynosi O(|S||V |2 ). Na jej podstawie powstał
algorytm KPP (Kompella, Pasquale, Polyzos) [17]
uwzględniający dodatkowo ograniczenie opóźnienia.
W pierwszej fazie KPP konstruowany jest graf pełny1 P , którego wierzchołkami są węzeł źródłowy s
i węzły docelowe di ∈ S, a krawędzie reprezentują
ścieżki o najmniejszym koszcie łączące dowolne dwa
węzły a i b w grafie pierwotnym G = (V, E), gdzie
a, b ∈ {S ∪ s}. Następnie w grafie P wyznaczane
jest minimalne drzewo rozpinające z uwzględnieniem
ograniczenia opóźnienia, po czym krawędzie otrzymanego drzewa zamieniane są na ścieżki oryginalnego
grafu G. Ewentualnie powstałe pętle w powstałej w
ten sposób strukturze usuwane są za pomocą algorytmu najkrótszej ścieżki (np. algorytm Dijkstra [10]).
Złożoność obliczeniowa algorytmu wynosi O(∆|V |3 ).
Cztery heurystyki zostały zaproponowane przez
R.Widyono [26] do rozwiązania problemu minimalnego drzewa Steinera o ograniczonym opóźnieniu. Są to:
CIP (Constrained independent paths), CMIC (Constrained minimum incremental cost), CAO (Constrained adaptive routing), CHAO (Constrained hierarchical adaptive routing). Podstawą dla ich powstania były również cztery algorytmy heurystyczne rozwiązujące problem minimalnego drzewa Steinera bez
wymuszeń. Pierwsze trzy z wymienionych algorytmów wykorzystują algorytm przeszukiwania w szerz z
uwzględnieniem ograniczenia opóźnienia CBF (Constrained Bellman-Ford) [4] o wykładniczej złożoności obliczeniowej. Złożoność obliczeniowa algorytmu
CHAO wynosi natomiast O(|V |3 ).
C. Noronha i F. Tobagi [5] wykazali że problem
minimalnego drzewa Steinera o ograniczonym opóźnieniu można przedstawić jako problem całkowitoliczbowy i zaproponowali technikę o wykładniczej złożoności obliczeniowej pozwalającej znaleść optymalne
rozwiązanie. Z racji długiego czasu wykonania algorytmu jego praktyczne zastosowanie jest wykluczone,
ale może stanowić punkt odniesienia do testowania
innych algorytmów.
Wykorzystanie algorytmów do wyznaczania minimalnych ścieżek o ograniczonym opóźnieniu w celu
konstrukcji efektywnych pod względem kosztu drzew
mulicast zaproponowali G. Kumar, N. Narang i C.
Ravikumar [14]. Przedstawili oni dwie heurystyki
1 Graf pełny - graf nieskierowany, w którym każda para wierzchołków jest połączona krawędzią
przybliżające rozwiązanie problemu DCLC. Pierwsza z nich to DCBH (Dynamic Center Based Heuristic), a druga to BERD (Best Effort Residual Delay).
Obie wykorzystują zaproponowany przez autorów algorytm minimalnej ścieżki o ograniczonym opóźnieniu [13]. Główną ideą algorytmu DCBH jest znalezienie tzw. węzła centralnego, do którego przyłączane są węzły docelowe z użyciem algorytmu minimalnej ścieżki o ograniczonym opóźnieniu lub ścieżki o
minimalnym opóźnieniu. Na wstępie dla każdej pary węzłów docelowych obliczane jest minimalne opóźnienie ścieżki łączącej te węzły i wybierana jest para
o największej wartości minimalnego opóźnienia. Węzeł centralny C określany jest jako węzeł w samym
środku ścieżki łączącej wybrane dwa węzły docelowe.
Algorytm heurystyczny BERD wykorzystuje do działania podobną idee, ale dodatkowo każdy z węzłów
posiada parametr określany jako residual delay.
G. Feng i T. P. Yum [12] zaproponowali dwa
algorytm heurystyczne służące do konstrukcji drzew
multicast o ograniczonym opóźnieniu. Pierwszy z
nich to DSPMA (Delay-constrained Shortest Path
Multicasting Algorithm) o złożoności obliczeniowej
O(|V |2 ). Podstawową ideą tego algorytmu jest równoległa budowa drzewa minimalnego kosztu o ograniczonym opóźnieniu i drzewa ścieżek minimalnego opóźnienia. Odpowiednie połączenie obu drzew pozwala
skonstruować wynikowe drzewo multicast. Drugi algorytm DDMA (Dynamic Delay-constrained Multicasting Algorithm) obsługujący dynamicznie zmiany
grupy multicast. Potrafi dodawać kolejne węzły docelowe bez konieczności obliczania całego drzewa multicast od początku. Możliwe jest także ustalenie kompromisu między czasem wykonania, dokładnością obliczeń za pomocą pojedynczego parametru k, a złożoność obliczeniowa algorytmu wynosi O(k|V |2 ).
A. G. Waters [7] zaproponował heurystykę
CCET (Constrained Cheapest Edge Tree). W dalszych pracach A. G. Waters i J. S. Crawford [8]
[6] przedstawili modyfikacje algorytmu CCET, a w
[9] przedstawili porównanie efektywności algorytów
KPP [17], CCET, CCPT (Constrained Cheapest Path
Tree) [6] oraz CDKS. W wyniku badań zaobserwowano, że efektywność algorytmu CCET wzrasta wraz ze
wzrostem liczebności grupy multicast i może osiągnąć
lepsze wyniki niż algorytm KPP.
4. Informacje o topologii sieci
wykorzystywane przez algorytm
Zakładamy, że dzięki zastosowaniu w sieci protokołu rutingu OSPF [21][1] węzeł źródłowy posiada
informacje dotyczące stanu sieci, czyli topologii sieci
oraz stanu łączy. Dodatkowo węzeł źródłowy posiada dwa dodatkowe wektory: wektor kosztu i wektor
opóźnienia. Obydwa wektory mają długość V − 1 i
zawierają wpisy dla każdego węzła sieci poza węzłem
źródłowym. Informacje zawarte w tych wektorach odpowiadają drzewom minimalnego kosztu i minimalnego opóźnienia obliczanym przez protokół OSPF z
wykorzystaniem algorytmu Dijkstra [10]. Pojedynczy
wpis wektora opóźnienia dla wierzchołka wj składa
się z następujących elementów:
• ID - oznaczenie węzła;
• LD lhop - poprzednik węzła wj na ścieżce minimalnego opóźnienia PLD (s, wj ) ze Źródła s do danego
węzła wj ;
• D(PLD (s, wj )) - całkowite opóźnienie ścieżki minimalnego opóźnienia ze Źródła s do danego węzła wj .
Pojedynczy wpis wektora kosztu dla wierzchołka wj
składa się z następujących elementów:
• ID - oznaczenie węzła;
• LC lhop - poprzednik węzła wj na ścieżce minimalnego kosztu PLC (s, wj ) ze Źródła s do danego węzła wj ;
• D(PLC (s, wj )) - całkowite opóźnienie ścieżki minimalnego kosztu ze Źródła s do danego węzła wj .
5. Algorytm heurystyczny RSDRC dla
połączeń punkt-punkt o ograniczonym
opóźnieniu
Zanim zostanie przedstawiony algorytm RDCMA dla połączeń multicast zaprezentowany zostanie
algorytm heurystyczny RSDCR (Reverse SDRC) dla
połączeń punkt-punkt o ograniczonym opóźnieniu.
Algorytm RSDRC rozpoczyna poszukiwanie ścieżki
minimalnego kosztu o ograniczonym opóźnieniu ∆
w węźle docelowym d. Początkowo potencjalnym węzłem zmiany 2 z jest węzeł docelowy. Szukając węzła
zmiany algorytm porusza się po ścieżce minimalnego kosztu w kierunku Źródła s, a każdym z węzłów
sprawdzany jest warunek:
D(PLD (s, a)) + D(PLC (a, d)) ¬ ∆;
(5)
Jeżeli powyższy warunek jest spełniony i aktualny węzeł a nie jest węzłem Źródłowym, to potencjalnym
węzłem zmiany z staje się aktualny węzeł a, a kolejny węzeł na ścieżce minimalnego kosztu w kierunku
Źródła zostaje wybrany jako węzeł aktualny. Następnie powyższa nierówność sprawdzana jest ponownie.
Jeżeli warunek jest spełniony i aktualny węzeł jest węzłem Źródłowym, to wynikiem algorytmu jest ścieżka
minimalnego kosztu PLC (s, d). Gdy warunek nie jest
spełniony, poszukiwanie węzła zmiany zostaje zakończone. Dalsza ścieżka od ustalonego węzła zmiany q
do Źródła s przebiega po drodze minimalnego opóźnienia PLD (s, q). Poszukując ścieżki od węzła docelowego do Źródła odwiedzonych może zostać maksymalnie V węzłów.
Powód, dla którego poszukiwanie ścieżki przeprowadzone jest w odwrotnym kierunku (od węzła
docelowego do węzła Źródłowego) wynika z informacji jakie dostępne są w węźle Źródłowym i może być
wytłumaczony analogicznie jak w artykule [2] w rozdziale poświęconym SDRC.
Lemat 1: Ścieżka otrzymana w wyniku działania algorytmu RSDRC nie zawiera pętli.
2 węzeł zmiany - węzeł, w którym następuje zmiana ścieżki
minimalnego opóźnienia na ścieżkę minimalnego kosztu poruszając się od węzła docelowego do węzła Źródłowego
Rys. 1. Hipotetyczny scenariusz powstania pętli w
algorytmie RSDRC
Dowód: Proces poszukiwania ścieżki w algorytmie
RSDRC rozpoczyna się od węzła docelowego d. Następnie poruszając się ścieżką minimalnego kosztu w
każdym kolejnym węźle sprawdza czy możliwe jest
dojście do Źródła s drogą minimalnego opóźnienia.
Jeżeli w żadnym z węzłów nie dojdzie do zmiany ścieżki, to wynikiem algorytmu jest ścieżka minimalnego
kosztu PLC (s, d), która w sposób oczywisty nie zawiera pętli. Rozpatrzmy przypadek gdy w jakimś węźle zmiany u algorytm zmieni ścieżkę ze ścieżki minimalnego kosztu na ścieżkę minimalnego opoŹnienia.
Jedynym sposobem na powstanie pętli jest sytuacja,
gdy któryś z węzłów na ścieżce PLD (s, u) należy również do ścieżki PLC (u, d), tak ja to pokazano na rysunku 1. Kolejność w jakiej algorytm buduje ścieżke wyklucza taką możliwość. Ponieważ gdy do ścieżki
wynikowej dodawana jest ścieżka minimalnego kosztu
PLC (u, d), ścieżka minimalnego opóźnienia PLD (s, u)
jest znana. Poruszając się po drodze minimalnego
kosztu PLC (u, d) algorytm dociera do węzła v i wykrywa, że węzeł v należy do ścieżki PLD (s, u). Węzłem
zmiany staje się węzeł v, a dalsza ścieżka wynikowa budowana jest po drodze minimalnego opóźnienia
PLD (s, v). Zatem powstanie pętli w ścieżce zwracanej
przez algorytm RSDRC jest nie możliwe.
6. Algorytm heurystyczny RDCMA dla
połączeń rozsiewczych o ograniczonym
opóźnieniu
Idea działania algorytmu RDCMA bazuje na
wcześniej omówionym algorytmie RSDRC. Niestety
wywołanie algorytmu RSDRC dla każdego z m węzłów docelowych i dodanie do siebie tak powstałych ścieżek może utworzyć drzewo zawierające pętle. Również, złożoność obliczeniowa takiego podejścia O(m(2V − 1)) przekraczałby złożoność obliczeniową zaproponowanego algorytmu RDCMA.
Heurystyka RDCMA wyznacza drzewo minimalnego kosztu T o ograniczonym opóźnieniu ∆ łączące węzeł Źródłowy s i zbiór węzłów docelowych S w
pięciu głównych fazach. W pierwszej fazie następuje inicjacja algorytmu (pseudokod linie 1-13). Polega
ona na sprawdzeniu czy istnieje rozwiązanie, zbudowaniu pomocniczego wektora wynikowego ON i wektora węzłów zmiany Q, posortowaniu węzłów docelowych di ∈ S malejąco pod względem wartości opóźnienia D(PLC (s, di ))3 oraz dodaniu węzła Źródłowego
3 D(P
LC (s, di )) - całkowite opóźnienie ścieżki minimalnego
kosztu od węzła zródłowego s do każdego z węzłów docelowych
di
s do wektora drzewa wynikowego.
Celem drugiej fazy algorytmu jest znalezienie
węzłów zmiany. Wyszukanie przeprowadzane jest od
węzłów docelowych di do Źródła s z wykorzystaniem ścieżek o minimalnym koszcie i jest wykonywane tylko gdy koszt ścieżki minimalnego kosztu z s do
di jest większy od ograniczenia opóźnienia ∆ (linie
14-30). Węzły docelowe di wybierane są kolejno począwszy od węzła o największej wartości opóźnienia
D(PLC (s, di )). W każdym węźle sprawdzany jest warunek:
D(PLD (s, a)) + D(PLC (a, d)) ¬ ∆.
(6)
Dopóki jest on spełniony, możliwe jest dalsze poszukiwanie węzła zmiany dla danego węzła docelowego di
poruszając się drogą minimalnego kosztu w kierunku
Źródła. Każdy odwiedzony węzeł zapamiętywany jest
w wektorze pomocniczego drzewa wynikowego ON .
Jeżeli zostanie napotkany węzeł należący już do pomocniczego drzewa wynikowego to poszukiwanie węzeła zmiany z dla danego wierzchołka docelowego di
jest przerywane. (Dzięki posortowaniu węzłów docelowych i wybieraniu kolejno, począwszy od węzła o największym opóźnieniu ścieżki PLC (s, di ), węzeł zmiany dla danego węzła docelowego został znaleziony
wcześniej. Takie podejście pozwala spełnić ograniczenie opóźnienia nałożone na każdą budowaną ścieżkę).
Gdy nierówność 6 nie jest spełniona poszukiwanie danego węzła zamiany zostaje zakończone. Znalezione
węzły zmiany zapamiętywane są w wektorze Q.
W trzeciej fazie algorytmu budowane jest drzewo łączące znalezione węzły zmiany Q ze Źródłem s
z wykorzystaniem ścieżek o minimalnym opóźnieniu
(linie 31-43). Drzewo budowane jest w kierunku od
węzłów zmiany do Źródła, a wynikiem jest drzewo
minimalnego opóźnienia łączące węzeł Źródłowy s z
węzłami zmiany.
Czwarta faza algorytmu polega na przyłączeniu
węzłów docelowych di do drzewa minimalnego opóźnienia zbudowanego podczas trzeciej fazy algorytmu
(linie 44-52). Do budowy wspomnianych połączeń wykorzystywane są ścieżeki o minimalnym koszcie prowadzące od węzłów docelowych di w kierunku węzła
Źródłowego s.
Ostatnia faza (linie 53-64) nie jest konieczna, a
jej celem jest usunięcie zbędnych węzłów z zbudowanego drzewa multicast. Polega ona na przejściu ścieżek
od każdego z węzłów docelowych di w kierunku Źródła s i jednoczesne budowanie drzewa składającego
się tylko z odwiedzonych węzłów.
Wynikiem algorytmu RDCMA jest wektor ON2
o rozmiarze |V | zawierający wpisy dla każdego węzła.
Jeżeli ON2 [wi ] = 0 to węzeł wi nie należy do drzewa
wynikowego. Jeżeli ON2 [wi ] > 0 to węzeł wi należy
do drzewa wynikowego, a wartość ON2 [wi ] wskazuje na poprzednika węzła wi na ścieżce z wierzchołka
Źródłowego s do wierzchołka wi .
Wektor ON otrzymany po zakończeniu czwartej fazy wykonania algorytmu może być także wynikiem algorytmu RDCMA. Jak już wcześniej wspomniano prócz węzłów tworzących drzewo wynikowe
ON2 , wektor ten zawiera również węzły nie należące do drzewa, ale budując na jego podstawie ścieżkę
z dowolnego węzła docelowego do Źródła uzyskany
wynik będzie identyczny jak dla wektora ON2 . Takie
uproszczenie zmniejsza liczbą koniecznych do wykonania operacji.
Złożoność obliczeniowa algorytmu określono w
następujący sposób. Sortowanie węzłów docelowych
malejąco można zrealizować w czasie mlog(m), gdzie
m to liczba węzłów docelowych. Podczas poszukiwania węzłów zmiany algorytm może odwiedzić V − 1
węzłów. Następnie budując pomocnicze drzewo wynikowe (w trzeciej i czwartej fazie) algorytm odwiedza
każdy węzeł co najwyżej raz dokonując obliczeń nie
zależnych od wielkości sieci. W ostatniej fazie algorytmu budowany jest wektor drzewa wynikowego, a
każdy węzeł może zostać odwiedzony najwyżej jednokrotnie. Całkowita liczba operacji wykonywanych
przez algorytm RDCMA wynosi mlog(m) + 3V − 1.
Gdy dla każdego z wierzchołków docelowych di
spełniona jest nierówność: D(PLC (s, di )) ¬ ∆, to
za pomocą algorytmu RDCMA zbudowane zostanie
drzewo najkrótszych pod względem kosztu ścieżek łączących węzeł Źródłowy i węzły docelowe. Identyczny
wynik można uzyskać używając do konstrukcji drzewa algorytmu Djikstra [10] dla pojedynczej metryki
kosztu lub algorytmu DCMA.
Lemat 2: Drzewo otrzymane w wyniku działania algorytmu RDCMA nie zawiera pętli.
Dowód: W pierwszej kolejności algorytm wyszukuje węzły zmiany. Następnie znalezione węzły zmiany
zostają przyłączone do Źródła wykorzystując ścieżki o minimalnym opóźnieniu. Powstałe w ten sposób
drzewo nie zawiera pętli. Następnie węzły docelowe,
które nie należą jeszcze do drzewa łączą się z nim po
ścieżkach minimalnego kosztu. Budowa każdej ścieżki
zostaje przerwana gdy algorytm napotka węzeł należący już do drzewa wynikowego, a ścieżki minimalnego kosztu łacząc się ze sobą tworzą strukturę pozbawioną pętli. Zatem drzewo otrzymane w wyniku
działania algorytmu RDCMA nie zawiera pętli.
Lemat 3: Drzewo będące wynikiem działania algorytmu RDCMA zawsze spełnia ograniczenie opóźnienia
jeżeli możliwa jest konstrukcja takiego drzewa.
Dowód: Po znalezieniu węzłów zmiany i połączeniu
ich z węzłem Źródłowym z wykorzystaniem ścieżek
minimalnego opóźnienia należy przyłączyć węzły docelowe. Poruszając się z dowolnego węzła docelowego w kierunku Źródła po ścieżce minimalnego kosztu
możliwe są następujące sytuacje:
1. Gdy dla węzła docelowego d spełniony jest warunek D(PLC (s, d)) ¬ ∆, to zmiana ścieżki minimalnego kosztu na ścieżkę minimalnego opóźnienia może
naśtąpić w dowolnym węźle na ścieżce minimalnego
kosztu bez naruszenia ograniczenia opóźnienia.
2. Natomiast dla D(PLC (s, d)) > ∆ algorytm porusza się w kierunku znalezionego wcześniej węzła
zmiany dla danego wierzchoła. Jeżeli dotrze do węzła
zmiany to dalsza ścieżka do Źródła prowadzi ścieżką minimalnego opóźnienia i nie narusza ograniczenia
opóźnienia. Jeżeli przed dotarciem do węzła zmiany
algorytm dotarł do węzła należącego już do drzewa,
wtedy dalsza ścieżka do Źródła może prowadzić:
(a) bezpośrednio po ścieżce minimalengo opóźnienia,
(b) poprzez węzła zmiany po ścieżce minimalengo
kosztu skąstruowanej wcześniej dla innego wierzchołka docelowego posiadającego ten sam węzeł zmiany
co aktualny wierzchołek docelowy i dalej po ścieżce
minimalnego opóźnienia.
Oba przypadki nie naruszają ograniczenia opóźnienia,
ponieważ nie możliwe jest aby ścieżka minimalnego
kosztu wychodząca z danego wierzchołka docelowego
prowadziła dalej niż do węzła zmiany danego wierzchołka.
7. Testowe topologie sieci
Do generacji losowych sieci użyty został muliplikatywny generator liczb losowych o rozkładzie równomiernym w przedziale P(0, 1) postaci:
Xn+1 = (A · Xn ) · mod(M )
Wn+1 = Xn+1 /2147483647,
(7)
gdzie: A = 16807, M = 2147483647, a Xn - to aktualne jądro generatora.
Dla każdej pary wierzchołków w grafie istnienie
krawędzi określone zostało losowo za pomocą generatora muliplikatywnego na podstawie ustalonego z
góry (podczas generacji topologii) prawdopodobieństwa. Dla każdej krawędzi losowane były również
metryki kosztu i opóźnienia w przedziale od 1 do
100. Prawdopodobieństwa istnienia krawędzi dobierane były tak, aby uzyskać rządany stopień węzła grafu.
Stopień węzła grafu (average node degree) określony
jest jako:
2m
,
(8)
dav =
n
gdzie n - liczba węzłów, a m - liczba krawędzi.
W badaniach efektywności algorytmu RDCMA
wykorzystane zostały również modele Waxmana [25]
i Barabasi-Albert [3] wygenerowane za pomocą aplikacji BRITE (Boston University Representative Internet Topology Generator) [19]. Problem generowania topologii służących do efektywnego porównywania algorytmów routingu oraz modele generowane za
pomocą aplikacji BRITE zostały szerzej omówione
w artykule [23]. Zaimplementowany w aplikacji BRITE model Waxmana generuje sieci w sposób losowy
i nie modeluje struktury rzeczywistych sieci. Natomiast model Barabasi-Albert uwzględnia występowanie praw potęgowych w rozkładzie węzłów i krawędzi,
dzięki czemu topologie wygenerowane z jego pomocą
znacznie lepiej odzwierciedlają strukturę Internetu.
8. Wyniki badań
Podczas badań porównane zostały algorytmy
RDCMA, DCMA [2], CSPT [9], DCSP (zmodyfikowany) [20], BSMA [27]. Parametr kmax algorytmu
DCSP wynosił 20. Dla algorytmu BSMA maksymalna
liczba ścieżek sprawdzana po usunięciu superkrawędzi
kmax = 1. Sprawdzono również skuteczność połączenia algorytmów DCMA i RDCMA oznaczonego dalej
jako BEST. Połączenie to polega na tym, że drzewa wygenerowane dla danej topologii przez algorytmy DCMA i RDCMA są porównywane pod względem
kosztu. Dla BEST wybierane jest drzewo o mniejszym
koszcie.
Wszystkie wykresy przedstawiają efektowność
algorytmów. Pod pojęciem efektywności algorytmu
rozumieć należy stosunek sumy kosztów drzew multicast, otrzymanych za pomocą danego algorytmu, do
sumy kosztów drzew ścieżek minimalnego opóźnienia
(LPD) otrzymanych dla badanych topologii.
Generując topologie sieci zaproponowaną metodą losową bardzo trudno uzyskać grafy o niskim stopniu węzła dav . W badaniach średni stopień węzła użytych topologii wynosił w przybliżeniu dav = 9.
Wynikowe drzewo multicast otrzymane za pomocą algorytmów DCMA, RDCMA, BEST, CSPT,
i DCSP dla wartości ograniczenia opóźnienia ∆ większego lub równego LCmax (opóźnienie najdłuższej
ścieżki w drzewie najkrótszych pod względem kosztu
ścieżek) jest identyczne jak drzewo najkrótszych pod
względem kosztu ścieżek. Dlatego przy testowaniu algorytmów jako górną granicę ograniczenia opóźnienia ∆ przyjęto opóźnienie LCmax . Dolną granicą jest
opóźnienie najdłuższej ścieżki w drzewie najkrótszych
pod względem opóźnienia ścieżek, czyli LDmax .
Na rysunkach 2(a) i 2(b) przedstawiono średni
koszt drzewa multicast w stosunku do kosztu drzewa
najkrótszych pod względem opóźnienia ścieżek (LPD)
w zależności od wartości ograniczenia opóźnienia ∆
dla różnych wielkości grupy multicast m oraz N =
150. Do generacji topologii użyto metody omówionej
wcześniej metody losowej.
Z badań wynika, że zaproponowany algorytm
RDCMA uzyskuje lepsze wyniki niż algorytm DCMA
dla większych liczebności grup multicast i niskich
wartości ograniczenia opóźnienia ∆ (zbliżonych do
LDmax ). Połączenie algorytmów DCMA i RDCMA w
BEST skutkuje 2-3% poprawą efektywności w stosunku do DCMA co przedstawia rysunek 4(a). Efektywność BEST jest bliska efektywności heurystki DCSP,
której głównym zadaniem jest minimalizacja średniego kosztu ścieżki. Należy zwrócić uwagę, że teoretyczna złożoność obliczeniowa BEST jest niższa niż
DCSP. Heurystyka BSMA prezentuje najlepsze wyniki, ale jej czas wykonania jest wielokrotnie dłuższy
niż pozostałych algorytmów. Najniższą efektywność
osiąga najprostszy z algorytmów CSPT.
Wpływ średniego stopnia węzła dav na efektywność algorytmów przedstawiony został na wykresie
3(a). Wraz ze wzrostem gęstości połączeń w sieci efektywność wszystkich badanych algorytmów wzrasta.
Dla niższych wartości dav algorytmy DCMA, RDCMA, BEST, CDKS i DSCP wykazują bardzo niską
efektywność i bardzo podobny średni koszt zbudowanych drzew multicast. Wynika to mniejszej z różnicy
między kosztem drzewa ścieżek minimalnego kosztu
LP C i drzewa ścieżek minimalnego opóźnienia LP D
dla niższych dav .
W topologiach sieci wygenerowanych za pomocą aplikacji BRITE metryki kosztu i opóźnienia są
zależne od siebie. Dla takiego modelu sieci algorytmy DCMA, RDCMA, CSPT i DCSP wspólnie oznaczone dalej jako REST generują drzewa multicast,
których różnica kosztu względem drzewa LP D jest
rzędu 0-0, 1% zarówno dla topologii Waxmana jaki i Barabasi-Albert. Wynika to z faktu, że różnica
kosztu między drzewami ścieżek minimalnego opóźnienia LP D i minimalnego kosztu LP C wynosi również 0-0, 1%. Można powiedzieć, że heurystyki REST
są całkowicie nieskuteczne dla topologii wygenerowany przez BRITE, dlatego nie przedstawiono żadnych wykresów efektywności dla takiego modelu sieci.
Wykresy 4(b) i 3(b) przedstawiają efektywność
algorytmów w stosunku do liczebności grupy multicast oraz średniego stopnia węzła dav dla topologii
otrzymanych za pomocą aplikacji BRITE z wygenerowanymi losowo metrykami opóźnienia krawędzi.
Algorytm BSMA jest znacznie skuteczniejszy dla
topologii Waxmana niż Barabasi-Albert. Wpływ liczebności grupy multicast na efektywność drzewa zbudowanego na podstawie heurystyki BSMA jest znaczący jedynie dla topologii Waxman. Dla modelu
Barabasi-Albert efektywność BSMA ulega nieznacznym wahaniom. Zwiększanie średniego stopnia węzła
dav zwiększa efektywność algorytmu BSMA dla obu
modeli topologii. Pozostałe algorytmy (REST) wykazują niską efektywność, mimo zastosowania losowych
metryk opóźnienia. Jedynie dla małych grup multicast efektywność REST jest podobna do BSMA. Wraz
ze wzrostem liczebności grupy mulicast efektywność
wszystkich algorytmów spada. Dla topologii wygenerowanego za pomocą zaproponowanej metody losowej, zależność ta jest odwrotna.
9. Podsumowanie
W wyniku przeprowadzonych badań porównawczych algorytmów, wykazano kluczowy wpływ topologii na jakich testowane były heurystyki na efektywność otrzymanych rozwiązań. Dla sieci, wygenerowanych na podstawie modelu Barabasi-Albert, algorytmy DCMA, RDCMA, CSPT i DCSP wykazują
brak skuteczności gdy metryki kosztu oraz opóźnienia są zależne od siebie i odpowiadają wygenerowanym przez aplikacje BRITE. Dla metryk wygenerowanych losowo opóźnienia skuteczność wspomnianych
algorytmów jest niska dla średniego stopnia węzła cechującego rzeczywiste sieci (dav od 3 do 5) i rośnie
wraz ze wzrostem dav . Jedynym z testowanych algorytmów, który potrafił budować efektywne pod względem kosztu drzewa we wszystkich badanych modelach sieci okazał się BSMA. Niestety z powodu bardzo dużej złożoności obliczeniowej heurystyka ta nie
nadaje się do praktycznego zastosowania. Natomiast
zaproponowany algorytm RDCMA z powodu małej
złożoności obliczeniowej może być wykorzystywany w
dużych, gęstych, sieciach o wysokim średnim stopniu
węzła dav .
(a) m = 10
(b) m = 90
Rys. 2. Efektywność algorytmów w zależności od wartości ograniczenia opóźnienia ∆, dla różnych wielkości
grupy multicast m, N = 150, dav = 9, 2, topologie wygenerowane metodą losową,
(a) dav , N = 80, m = 40, topologie losowe
(b) N = 100, m = 50, BRITE, losowe opóźnienie
Rys. 3. Efektywność algorytmów heurystycznch w zależności od stopnia węzła
(a) N = 150, dav = 9, 2, topologie losowe
(b) N = 100, dav = 4, BRITE, losowe opóźnienie
Rys. 4. Efektywność algorytmów heurystycznch w zależności od wielkości grupy
10. Pseudo kod algorytmu RDCMA
6: for i ⇐ 1 to |V | do
7:
ON [i] ⇐ 0;
8: end for
Legenda:
a - aktualny węzeł
d - aktualny węzeł docelowy
z - aktualny węzeł zmiany
ON - wektor wynikowy pomocniczy
ON2 - wektor wynikowy
9: for i ⇐ 1 to |S| do
10:
Q[i] ⇐ 0;
11: end for
Dane wejściowe:
s - węzeł Źródłowy;
S - zbiór węzłów docelowych (di ∈ S);
∆ - maksymalne opóźnienie ścieżki;
VD - wektor opóźnienia, który zawiera:
VD [x] ⇐ D(PLD (s, x));
LD lhop[x] - poprzednik węzła x na ścieżce minimalnego
opóźnienia PLD (s, x)
VC - wektor kosztu, który zawiera:
VC [x] ⇐ D(PLC (s, x)));
LC lhop[x] - poprzednik węzła x na ścieżce minimalnego
kosztu PLC (s, x)
indent=2em
1: for i ⇐ 1 to |S| do
2:
if VD [di ] > ∆ then
3:
Znalezienie drzewa nie możliwe. Zakończ działanie;
4:
end if
5: end for
14: for i ⇐ 1 to |S| do
15:
a ⇐ di ;
d ⇐ di ;
16:
D(PLC (a, d)) ⇐ 0;
17:
if VC [d] > ∆ then
18:
while VD [a] + D(PLC (a, d)) ¬ ∆ do
19:
if ON [a] 6= 0 then
20:
z ⇐ 0;
21:
break;
22:
end if
23:
z ⇐ a;
24:
ON [z] ⇐ 1;
25:
a ⇐ LC lhop[a];
26:
D(PLC (a, d)) ⇐ VC [d] − VC [a];
27:
end while
28:
Q[d] ⇐ z;
29:
end if
30: end for
12: Sort(S);
13: ON [s] ⇐ s;
31: for i ⇐ 1 to |V | do
32:
ON [i] ⇐ 0;
33: end for
34: ON [s] ⇐ s;
35: for i ⇐ 1 to |S| do
36:
if Q[i] > 0 then
37:
a ⇐ Q[i];
38:
while ON [a] = 0 do
39:
ON [a] ⇐ LD lhop[a];
40:
a ⇐ LD lhop[a];
41:
end while
42:
end if
43: end for
44: for i ⇐ 1 to |S| do
45:
if Q[i] > 0 then
46:
a ⇐ di ;
47:
while ON [a] = 0 do
48:
ON [a] ⇐ LC lhop[a];
49:
a ⇐ LC lhop[a];
50:
end while
51:
end if
52: end for
53: for i ⇐ 1 to |V | do
54:
ON2 [i] ⇐ 0;
55: end for
56: ON2 [s] ⇐ s;
57: for i ⇐ 1 to |S| do
58:
a ⇐ di ;
59:
while ON2 [a] = 0 do
60:
ON2 [a] ⇐ ON [a];
61:
a ⇐ ON [a];
62:
end while
63: end forON2 ;
SPIS LITERATURY
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
P. Almquist. Type of service in the internet protocol suite.
RFC 1349, IETF, 1992.
Marwan Krunz Baoxian Zhang, Changjia Chen. A fast
delay-constrained multicast routing algorithm. Proceedings of ICC. IEEE, Helsinki, Finland, 2001.
A. L. Barabasi, R. Albert. Emergence of scaling in random
networks. Science, strony 509–512, 1999.
R. Bellman. On a routing problem. Quarterly of Applied
Mathematics, 16(1):87–90, 1958.
F. Tobagi C. Noronha. Optimum routing of multicast
streams. INFOCOM, strony 865–873, 1994.
J. S. Crawford. Multicast routing: Evaluation of a new
heuristic. Master’s thesis, Computer Science, University
of Kent at Canterbury, 1994.
J. S. Crawford, A. G. Waters. A new heuristic for ATM
multicast routing. Proceedings of 2nd IFIP Workshop on
Performance Modeling and Evaluation of ATM Networks,
strony 8/1–8/9, July 1994.
J. S. Crawford, A. G. Waters. Low-cost atm multimedia routing with constrained delays. Multimedia Telecommunications and Applications (3rd COST 237 Workshop,
Barcelona, Spain), strony 23–40, Nov 1996.
J. S. Crawford, A. G. Waters. Heuristics for ATM Multicast Routing. Proceedings of 6th IFIP Workshop on
Performance Modeling and Evaluation of ATM Networks,
strony 5/1–5/18, July 1998.
E. Dijkstra. A note on two problems in connexion with
graphs. Numerische Mathematik, 1:269–271, 1959.
M. Doar, I. Leslie. How bad is naive multicast routing?
IEEE INFOCOM’ 1993, strony 82–89, 1993.
T.P. Yum G. Feng. Efficient multicast routing with delay constraints. International Journal of Communication
Systems, strony 181–195, 1999.
C. Ravikumar G. Kumar, N. Narang. Efficient algorithms
for delay-bounded minimum cost path problem in communication networks. 5th International Conference on High
Performance Computing, strony 141–147, 1998.
C. Ravikumar G. Kumar, N. Narang. Effcient algorithms
for delay bounded multicast tree generation for multimedia applications. 6th International Conference on High
Performance Computing, strony 169–173, 1999.
A. Juttner, B. Szviatovszki, I. Mecs, Z. Rajko. Lagrange
Relaxation Based Method for the QoS Routing Problem.
IEEE INFOCOM’ 2001, 2001.
R. Karp. Reducibility among combinatorial problems.
Complexity of Computer Computations, strony 85–104,
1972.
Vachaspathi P. Kompella, Joseph Pasquale, George C. Polyzos. Multicasting for Multimedia Applications. INFOCOM, strony 2078–2085, 1992.
L. Kou, G. Markowsky, L. Berman. A fast algorithm for
Steiner trees. Acta Informatica, (15):141–145, 1981.
A. Medina, A. Lakhina, I. Matta, J.Byers. BRITE: An
Approach to Universal Topology Generation. IEEE/ACM
MASCOTS, strony 346–356, 2001.
Mohamed F. Mokbel. New Algorithms for Multicast Routing in Real Time Networks, 1999.
J. Moy. Ospf version 2. RFC 1583, IETF, 1994.
Carlos A. S. Oliveira, Panos M. Pardalos. A survey of
combinatorial optimization problems in multicast routing.
Computers & Operations Research, 32:1953–1981, 2005.
Maciej Piechowiak, Piotr Zwierzykowski. Modelowanie topologii internetu. Poznańskie Warsztaty Telekomunikacyjne’2004, Poznań, Grudzień 2004.
Z. Wang, J. Crowcroft. Quality-of-service routing for supporting multimedia applications. IEEE Journal on Selected Area in Communications, 14(7):1228–1234, 1996.
B. Waxmann. Routing of multipoint connections. IEEE Journal on Selected Area in Communications, 6:1617–
1622, 1988.
R. Widyono. The design and evaluation of routing algorithms for realtime channels. Technical Report TR-94-024,
University of California at Berkely, 1994.
Qing Zhu, M. Parsa, J. J. Garcia-Luna-Aceves. A sourcebased algorithm for delay-constrained minimum-cost multicasting. INFOCOM ’95: Proceedings of the Fourteenth Annual Joint Conference of the IEEE Computer and
Communication Societies (Vol. 1)-Volume, strona 377.
IEEE Computer Society, 1995.