• Nie Znaleziono Wyników

ALGORYTMYHEURYSTYCZNEDLAPOŁĄCZEŃROZGAŁĘŹNYCHWSIECIACHPAKIETOWYCH-PROPOZYCJANOWEGOROZWIĄZANIA ArturŻodź,PiotrZwierzykowski,PolitechnikaPoznańska,WydziałElektronikiiTelekomunikacji,ul.Piotrowo3A,60-965Poznań,E-mail:arturzodz@o2.pl

N/A
N/A
Protected

Academic year: 2021

Share "ALGORYTMYHEURYSTYCZNEDLAPOŁĄCZEŃROZGAŁĘŹNYCHWSIECIACHPAKIETOWYCH-PROPOZYCJANOWEGOROZWIĄZANIA ArturŻodź,PiotrZwierzykowski,PolitechnikaPoznańska,WydziałElektronikiiTelekomunikacji,ul.Piotrowo3A,60-965Poznań,E-mail:arturzodz@o2.pl"

Copied!
8
0
0

Pełen tekst

(1)

Artur Żodź,

Piotr Zwierzykowski,

Politechnika Poznańska,

Wydział Elektroniki i Telekomunikacji,

ul. Piotrowo 3A, 60-965 Poznań,

E-mail: arturzodz@o2.pl

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 heurystycz-nych wyznaczających drzewa połączeń rozgałęź-nych. Proponowane metody heurystyczne stano-wią jedynie przybliżenie rozstano-wiązania optymalne-go i dlateoptymalne-go problem znalezienia lepszeoptymalne-go aloptymalne-goryt- algoryt-mu jest ciągle aktualny. Głównym celem artykułu jest prezentacja prób znalezienia algorytmu dwu-kryterialnego bardziej efektywnego od rozwiązań przedstawianych w literaturze.

1. Wprowadzenie

Technika multicast polega na równoległym prze-sył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 transporto-wych. Wzrost przepustowości współczesnych sieci po-zwolił na transmisję danych multimedialnych w czasie rzeczywistym (transmisja radiowa i telewizyjna, video na żądanie, telekonferencje, itp.) [24]. W celu zapew-nienia niezawodnej transmisji aplikacje multimedial-ne 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 apli-kacji 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 kolejko-wania, opóźnienia propagacji, opóźnienia wprowadza-ne przez kodeka, oraz opóźnienia serializacji. Opóź-nienia kolejkowania zależą głównie od użytych algo-rytmó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 pojedyn-czych strumieni, bazujące na najgorszym przypadku (strumienie takie traktowane są osobno) [24]. Grupo-wanie strumieni usługi, dla której mamy zagwaranto-waną wartość opóźnienia, pozwala obniżyć wykorzy-stanie 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 odbior-czym.

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ła-mi) oraz czas propagacji - można przypisać poszcze-gólnym łączom w sieci pojedynczą metrykę opóźnie-nia (będącą sumą powyższych parametrów).

W ciągu ostatnich kilku lat zaproponowano algo-rytmy routingu multicast dla aplikacji czasu rzeczy-wistego [26], [15]. Jednakże nie dokonano porównania wydajności tych algorytmów w identycznych warun-kach sieciowych (z wykorzystaniem tych samych topo-logii sieci). Takie badania są niezbędne w celu okre-ślenia czy dane algorytmy są zdolne do konstruowa-nia 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 sto-sują 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ł podzielo-no na 10 rozdziałów. Rozdziały 2 zawiera informa-cje wstępne, natomiast rozdział 3 omawia skrótowo wcześniejsze prace. W rozdziale 4 przedstawiono in-formacje o topologii sieci, które są wykorzystywane przez algorytmy. Kolejne dwa rozdziały zawierają od-powiednio omówienie algorytmów RSDRC i RDCMA. Rozdziały 7 i 8 przedstawiają topologie testowe i wy-niki badań, natomiast rozdział 9 podsumowuje pre-zentowane 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 zbio-rem węzłów, a E to zbiór skierowanych krawędzi

łą-2006

Poznańskie Warsztaty Telekomunikacyjne Poznań 7 - 8 grudnia 2006

(2)

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 kosz-tu opisuje ogólny koszt nawiązania połączenia z wyko-rzystaniem 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ła-nego za pomocą daprzesyła-nego łącza.

Ścieżka z węzła a do węzła b w grafie skiero-wanym to sekwencja krawędzi skierowanych prowa-dzą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óźnie-nia ∆, gdy suma opóźnień wszystkich krawędzi ei

należących do danej ścieżki P (a, b) jest mniejsza lub

równa ∆: X

ei∈P (a,b)

D(ei) ¬ ∆. (1)

W dalszej części pracy całkowite opóźnienie ścieżki oznaczone bedzię przez:

D(P (a, b)) = X

ei∈P (a,b)

D(ei). (2)

Ś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

na-leżących do danej ścieżki P (a, b) jest najmniejsza z możliwych:

Cost(P (a, b)) = M in X

ei∈P (a,b)

. (3)

Drzewo najkrótszych pod względem kosz-tu/opóźnienia ścieżek to drzewo łączące węzeł źró-dłowy s z węzłami docelowymi di za pomocą

naj-krótszych pod względem kosztu/opóźnienia ście-żek. Drzewo najkrótszych pod względem kosz-tu/opóźnienia ścieżek (LPC tree / LPD tree) to drze-wo łączące węzeł źródłowy s z węzłami docelowy-mi di za pomocą najkrótszych pod względem

kosz-tu/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

ograni-czenie opóźnienia ∆: _

di∈S

D(P (s, di)) ¬ ∆. (4)

Drzewo multicast T (s, S) ⊆ E o ograniczonym opóź-nieniu ścieżki jest wynikiem działania każdego bada-nego w pracy algorytmu.

Całkowity koszt drzewa multicast T (s, S) to su-ma 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 Steine-ra o ogSteine-raniczonym opóźnieniu (ConstSteine-rained Steiner tree problem) i jest podstawowym zadaniem przed-stawionych w pracy algorytmów.

3. Wcześniejsze prace

Heurystyka KMB (Kou, Markowsky, Berman) [18] jest jedną z najbardziej znanych heurystyk roz-wiązujących problem minimalnego drzewa Steinera. Jest ona również bardzo efektywna pod względem do-kładności rozwiązania [11], a jej złożoność oblicze-niowa 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 otrzyma-nego drzewa zamieniane są na ścieżki oryginalotrzyma-nego grafu G. Ewentualnie powstałe pętle w powstałej w ten sposób strukturze usuwane są za pomocą algoryt-mu 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 minimalne-go drzewa Steinera o ograniczonym opóźnieniu. Są to: CIP (Constrained independent paths), CMIC (Con-strained minimum incremental cost), CAO (Constra-ined adaptive routing), CHAO (Constra(Constra-ined hierar-chical adaptive routing). Podstawą dla ich powsta-nia były również cztery algorytmy heurystyczne roz-wiązujące problem minimalnego drzewa Steinera bez wymuszeń. Pierwsze trzy z wymienionych algoryt-mów wykorzystują algorytm przeszukiwania w szerz z uwzględnieniem ograniczenia opóźnienia CBF (Con-strained 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łkowitolicz-bowy i zaproponowali technikę o wykładniczej zło-żoności obliczeniowej pozwalającej znaleść optymalne rozwiązanie. Z racji długiego czasu wykonania algo-rytmu jego praktyczne zastosowanie jest wykluczone, ale może stanowić punkt odniesienia do testowania innych algorytmów.

Wykorzystanie algorytmów do wyznaczania mi-nimalnych ś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

1Graf pełny - graf nieskierowany, w którym każda para wierz-chołków jest połączona krawędzią

(3)

przybliżające rozwiązanie problemu DCLC. Pierw-sza z nich to DCBH (Dynamic Center Based Heuri-stic), a druga to BERD (Best Effort Residual Delay). Obie wykorzystują zaproponowany przez autorów al-gorytm minimalnej ścieżki o ograniczonym opóźnie-niu [13]. Główną ideą algorytmu DCBH jest znale-zienie tzw. węzła centralnego, do którego przyłącza-ne są węzły docelowe z użyciem algorytmu minimal-nej ścieżki o ograniczonym opóźnieniu lub ścieżki o minimalnym opóźnieniu. Na wstępie dla każdej pa-ry 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ę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ówno-legła budowa drzewa minimalnego kosztu o ograniczo-nym opóźnieniu i drzewa ścieżek minimalnego opóź-nienia. Odpowiednie połączenie obu drzew pozwala skonstruować wynikowe drzewo multicast. Drugi al-gorytm DDMA (Dynamic Delay-constrained Multi-casting Algorithm) obsługujący dynamicznie zmiany grupy multicast. Potrafi dodawać kolejne węzły doce-lowe bez konieczności obliczania całego drzewa multi-cast od początku. Możliwe jest także ustalenie kom-promisu między czasem wykonania, dokładnością ob-liczeń za pomocą pojedynczego parametru k, a złożo-ność obliczeniowa algorytmu wynosi O(k|V |2).

A. G. Waters [7] zaproponował heurystykę CCET (Constrained Cheapest Edge Tree). W dal-szych 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ń zaobserwowa-no, ż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 pro-tokoł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 posia-da dwa doposia-datkowe 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 od-powiadają drzewom minimalnego kosztu i minimal-nego 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

minimal-nego 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

mini-malnego 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 wjna ścieżce

minimal-nego 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

mini-malnego 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 RDC-MA 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 zmiany2 z jest węzeł docelowy. Szukając węzła zmiany algorytm porusza się po ścieżce minimalne-go 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 kolej-ny węzeł na ścieżce minimalnego kosztu w kierunku Źródła zostaje wybrany jako węzeł aktualny. Następ-nie powyższa Następ-nierówność sprawdzana jest ponowNastęp-nie. 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

doce-lowego do Źródła odwiedzonych może zostać maksy-malnie V węzłów.

Powód, dla którego poszukiwanie ścieżki prze-prowadzone jest w odwrotnym kierunku (od węzła docelowego do węzła Źródłowego) wynika z informa-cji jakie dostępne są w węźle Źródłowym i może być wytłumaczony analogicznie jak w artykule [2] w roz-dziale poświęconym SDRC.

Lemat 1: Ścieżka otrzymana w wyniku działania

al-gorytmu RSDRC nie zawiera pętli.

2węzeł zmiany - węzeł, w którym następuje zmiana ścieżki minimalnego opóźnienia na ścieżkę minimalnego kosztu poru-szając się od węzła docelowego do węzła Źródłowego

(4)

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. Na-stę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

zawie-ra pętli. Rozpatrzmy przypadek gdy w jakimś węź-le zmiany u algorytm zmieni ścieżkę ze ścieżki mini-malnego kosztu na ścieżkę minimini-malnego 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ów-nież do ścieżki PLC(u, d), tak ja to pokazano na

ry-sunku 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

wy-krywa, ż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 wyniko-wa budowyniko-wana 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ść oblicze-niową zaproponowanego algorytmu RDCMA.

Heurystyka RDCMA wyznacza drzewo minimal-nego kosztu T o ograniczonym opóźnieniu ∆ łączą-ce węzeł Źródłowy s i zbiór węzłów dołączą-celowych S w pięciu głównych fazach. W pierwszej fazie następu-je inicjacja algorytmu (pseudokod linie 1-13). Polega ona na sprawdzeniu czy istnieje rozwiązanie, zbudo-waniu pomocniczego wektora wynikowego ON i wek-tora węzłów zmiany Q, posortowaniu węzłów docelo-wych di ∈ S malejąco pod względem wartości

opóź-nienia D(PLC(s, di))3oraz dodaniu węzła Źródłowego

3D(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

wykorzysta-niem ścieżek o minimalnym koszcie i jest wykonywa-ne tylko gdy koszt ścieżki minimalwykonywa-nego kosztu z s do di jest większy od ograniczenia opóźnienia ∆ (linie

14-30). Węzły docelowe di wybierane są kolejno

po-cząwszy od węzła o największej wartości opóźnienia D(PLC(s, di)). W każdym węźle sprawdzany jest

wa-runek:

D(PLD(s, a)) + D(PLC(a, d)) ¬ ∆. (6)

Dopóki jest on spełniony, możliwe jest dalsze poszuki-wanie 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 po-mocniczego drzewa wynikowego to poszukiwanie wę-zeła zmiany z dla danego wierzchołka docelowego di

jest przerywane. (Dzięki posortowaniu węzłów docelo-wych i wybieraniu kolejno, począwszy od węzła o naj-większym opóźnieniu ścieżki PLC(s, di), węzeł

zmia-ny dla danego węzła docelowego został znaleziozmia-ny wcześniej. Takie podejście pozwala spełnić ogranicze-nie opóźogranicze-nienia nałożone na każdą budowaną ścieżkę). Gdy nierówność 6 nie jest spełniona poszukiwanie da-nego węzła zamiany zostaje zakończone. Znalezione węzły zmiany zapamiętywane są w wektorze Q.

W trzeciej fazie algorytmu budowane jest drze-wo łą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ń wy-korzystywane są ścieżeki o minimalnym koszcie pro-wadzą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 zbudowa-nego 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ł winie należy do drzewa

wynikowego. Jeżeli ON2[wi] > 0 to węzeł wi należy

do drzewa wynikowego, a wartość ON2[wi]

wskazu-je 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 czwar-tej fazy wykonania algorytmu może być także wy-nikiem algorytmu RDCMA. Jak już wcześniej wspo-mniano prócz węzłów tworzących drzewo wynikowe

(5)

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 wyko-nania 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 poszukiwa-nia węzłów zmiany algorytm może odwiedzić V − 1 węzłów. Następnie budując pomocnicze drzewo wyni-kowe (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 algo-rytmu budowany jest wektor drzewa wynikowego, a każdy węzeł może zostać odwiedzony najwyżej jed-nokrotnie. 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 drze-wa algorytmu Djikstra [10] dla pojedynczej metryki kosztu lub algorytmu DCMA.

Lemat 2: Drzewo otrzymane w wyniku działania

al-gorytmu RDCMA nie zawiera pętli.

Dowód: W pierwszej kolejności algorytm wyszuku-je 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 minimal-nego kosztu łacząc się ze sobą tworzą strukturę po-zbawioną pętli. Zatem drzewo otrzymane w wyniku działania algorytmu RDCMA nie zawiera pętli. Lemat 3: Drzewo będące wynikiem działania

algoryt-mu 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 do-celowe. Poruszając się z dowolnego węzła docelowe-go w kierunku Źródła po ścieżce minimalnedocelowe-go kosztu możliwe są następujące sytuacje:

1. Gdy dla węzła docelowego d spełniony jest waru-nek D(PLC(s, d)) ¬ ∆, to zmiana ścieżki

minimal-nego kosztu na ścieżkę minimalminimal-nego 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

po-rusza 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óźnie-nia,

(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 wierz-chołka.

7. Testowe topologie sieci

Do generacji losowych sieci użyty został mulipli-katywny generator liczb losowych o rozkładzie równo-miernym 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

aktu-alne jądro generatora.

Dla każdej pary wierzchołków w grafie istnienie krawędzi określone zostało losowo za pomocą gene-ratora 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 dobiera-ne były tak, aby uzyskać rządany stopień węzła grafu. Stopień węzła grafu (average node degree) określony jest jako:

dav =2m

n , (8)

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ą apli-kacji BRITE (Boston University Representative In-ternet Topology Generator) [19]. Problem generowa-nia topologii służących do efektywnego porównywa-nia algorytmów routingu oraz modele generowane za pomocą aplikacji BRITE zostały szerzej omówione w artykule [23]. Zaimplementowany w aplikacji BRI-TE model Waxmana generuje sieci w sposób losowy i nie modeluje struktury rzeczywistych sieci. Nato-miast model Barabasi-Albert uwzględnia występowa-nie 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 (zmodyfiko-wany) [20], BSMA [27]. Parametr kmax algorytmu

(6)

DCSP wynosił 20. Dla algorytmu BSMA maksymalna liczba ścieżek sprawdzana po usunięciu superkrawędzi kmax= 1. Sprawdzono również skuteczność

połącze-nia algorytmów DCMA i RDCMA oznaczonego dalej jako BEST. Połączenie to polega na tym, że drze-wa wygenerodrze-wane dla danej topologii przez algoryt-my 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 multi-cast, 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ą meto-dą losową bardzo trudno uzyskać grafy o niskim stop-niu węzła dav. W badaniach średni stopień węzła

uży-tych topologii wynosił w przybliżeniu dav = 9.

Wynikowe drzewo multicast otrzymane za po-mocą algorytmów DCMA, RDCMA, BEST, CSPT, i DCSP dla wartości ograniczenia opóźnienia ∆ więk-szego 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 al-gorytmów jako górną granicę ograniczenia opóźnie-nia ∆ 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 stosun-ku do DCMA co przedstawia rysunek 4(a). Efektyw-ność BEST jest bliska efektywności heurystki DCSP, której głównym zadaniem jest minimalizacja średnie-go kosztu ścieżki. Należy zwrócić uwagę, że teore-tyczna złożoność obliczeniowa BEST jest niższa niż DCSP. Heurystyka BSMA prezentuje najlepsze wy-niki, 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

efektyw-ność algorytmów przedstawiony został na wykresie 3(a). Wraz ze wzrostem gęstości połączeń w sieci efek-tywność wszystkich badanych algorytmów wzrasta. Dla niższych wartości dav algorytmy DCMA,

RDC-MA, BEST, CDKS i DSCP wykazują bardzo niską efektywność i bardzo podobny średni koszt zbudowa-nych 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 pomo-cą aplikacji BRITE metryki kosztu i opóźnienia są zależne od siebie. Dla takiego modelu sieci algoryt-my DCMA, RDCMA, CSPT i DCSP wspólnie ozna-czone 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 ja-ki 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ów-nież 0-0, 1%. Można powiedzieć, że heurystyki REST są całkowicie nieskuteczne dla topologii wygenero-wany przez BRITE, dlatego nie przedstawiono żad-nych wykresów efektywności dla takiego modelu sieci. Wykresy 4(b) i 3(b) przedstawiają efektywność algorytmów w stosunku do liczebności grupy multi-cast oraz średniego stopnia węzła dav dla topologii

otrzymanych za pomocą aplikacji BRITE z wygene-rowanymi losowo metrykami opóźnienia krawędzi.

Algorytm BSMA jest znacznie skuteczniejszy dla topologii Waxmana niż Barabasi-Albert. Wpływ li-czebności grupy multicast na efektywność drzewa zbu-dowanego na podstawie heurystyki BSMA jest zna-czący jedynie dla topologii Waxman. Dla modelu Barabasi-Albert efektywność BSMA ulega nieznacz-nym wahaniom. Zwiększanie średniego stopnia węzła dav zwiększa efektywność algorytmu BSMA dla obu

modeli topologii. Pozostałe algorytmy (REST) wyka-zują niską efektywność, mimo zastosowania losowych metryk opóźnienia. Jedynie dla małych grup multi-cast efektywność REST jest podobna do BSMA. Wraz ze wzrostem liczebności grupy mulicast efektywność wszystkich algorytmów spada. Dla topologii wygene-rowanego za pomocą zaproponowanej metody loso-wej, zależność ta jest odwrotna.

9. Podsumowanie

W wyniku przeprowadzonych badań porównaw-czych algorytmów, wykazano kluczowy wpływ topo-logii na jakich testowane były heurystyki na efek-tywność otrzymanych rozwiązań. Dla sieci, wygene-rowanych na podstawie modelu Barabasi-Albert, al-gorytmy DCMA, RDCMA, CSPT i DCSP wykazują brak skuteczności gdy metryki kosztu oraz opóźnie-nia są zależne od siebie i odpowiadają wygenerowa-nym przez aplikacje BRITE. Dla metryk wygenero-wanych losowo opóźnienia skuteczność wspomnianych algorytmów jest niska dla średniego stopnia węzła ce-chującego rzeczywiste sieci (dav od 3 do 5) i rośnie

wraz ze wzrostem dav. Jedynym z testowanych

algo-rytmów, który potrafił budować efektywne pod wzglę-dem kosztu drzewa we wszystkich badanych mode-lach sieci okazał się BSMA. Niestety z powodu bar-dzo 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.

(7)

(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

Legenda: a - aktualny węzeł

d - aktualny węzeł docelowy z - aktualny węzeł zmiany

ON - wektor wynikowy pomocniczy ON2- wektor wynikowy

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 6: for i ⇐ 1 to |V | do 7: ON [i] ⇐ 0; 8: end for 9: for i ⇐ 1 to |S| do 10: Q[i] ⇐ 0; 11: end for 12: Sort(S); 13: ON [s] ⇐ s; 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 31: for i ⇐ 1 to |V | do

(8)

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] P. Almquist. Type of service in the internet protocol suite. RFC 1349, IETF, 1992.

[2] Marwan Krunz Baoxian Zhang, Changjia Chen. A fast delay-constrained multicast routing algorithm. Proce-edings of ICC. IEEE, Helsinki, Finland, 2001.

[3] A. L. Barabasi, R. Albert. Emergence of scaling in random networks. Science, strony 509–512, 1999.

[4] R. Bellman. On a routing problem. Quarterly of Applied Mathematics, 16(1):87–90, 1958.

[5] F. Tobagi C. Noronha. Optimum routing of multicast streams. INFOCOM, strony 865–873, 1994.

[6] J. S. Crawford. Multicast routing: Evaluation of a new heuristic. Master’s thesis, Computer Science, University of Kent at Canterbury, 1994.

[7] 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.

[8] J. S. Crawford, A. G. Waters. Low-cost atm multime-dia routing with constrained delays. Multimemultime-dia Telecom-munications and Applications (3rd COST 237 Workshop, Barcelona, Spain), strony 23–40, Nov 1996.

[9] J. S. Crawford, A. G. Waters. Heuristics for ATM Mul-ticast Routing. Proceedings of 6th IFIP Workshop on Performance Modeling and Evaluation of ATM Networks, strony 5/1–5/18, July 1998.

[10] E. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1:269–271, 1959. [11] M. Doar, I. Leslie. How bad is naive multicast routing?

IEEE INFOCOM’ 1993, strony 82–89, 1993.

[12] T.P. Yum G. Feng. Efficient multicast routing with de-lay constraints. International Journal of Communication Systems, strony 181–195, 1999.

[13] C. Ravikumar G. Kumar, N. Narang. Efficient algorithms for delay-bounded minimum cost path problem in commu-nication networks. 5th International Conference on High Performance Computing, strony 141–147, 1998.

[14] C. Ravikumar G. Kumar, N. Narang. Effcient algorithms for delay bounded multicast tree generation for multime-dia applications. 6th International Conference on High Performance Computing, strony 169–173, 1999.

[15] A. Juttner, B. Szviatovszki, I. Mecs, Z. Rajko. Lagrange Relaxation Based Method for the QoS Routing Problem. IEEE INFOCOM’ 2001, 2001.

[16] R. Karp. Reducibility among combinatorial problems. Complexity of Computer Computations, strony 85–104, 1972.

[17] Vachaspathi P. Kompella, Joseph Pasquale, George C. Po-lyzos. Multicasting for Multimedia Applications. INFO-COM, strony 2078–2085, 1992.

[18] L. Kou, G. Markowsky, L. Berman. A fast algorithm for Steiner trees. Acta Informatica, (15):141–145, 1981. [19] A. Medina, A. Lakhina, I. Matta, J.Byers. BRITE: An

Approach to Universal Topology Generation. IEEE/ACM MASCOTS, strony 346–356, 2001.

[20] Mohamed F. Mokbel. New Algorithms for Multicast Ro-uting in Real Time Networks, 1999.

[21] J. Moy. Ospf version 2. RFC 1583, IETF, 1994.

[22] Carlos A. S. Oliveira, Panos M. Pardalos. A survey of combinatorial optimization problems in multicast routing. Computers & Operations Research, 32:1953–1981, 2005. [23] Maciej Piechowiak, Piotr Zwierzykowski. Modelowanie

to-pologii internetu. Poznańskie Warsztaty Telekomunika-cyjne’2004, Poznań, Grudzień 2004.

[24] Z. Wang, J. Crowcroft. Quality-of-service routing for sup-porting multimedia applications. IEEE Journal on Selec-ted Area in Communications, 14(7):1228–1234, 1996. [25] B. Waxmann. Routing of multipoint connections.

IE-EE Journal on Selected Area in Communications, 6:1617– 1622, 1988.

[26] R. Widyono. The design and evaluation of routing algori-thms for realtime channels. Technical Report TR-94-024, University of California at Berkely, 1994.

[27] Qing Zhu, M. Parsa, J. J. Garcia-Luna-Aceves. A source-based algorithm for delay-constrained minimum-cost mul-ticasting. INFOCOM ’95: Proceedings of the Fourte-enth Annual Joint Conference of the IEEE Computer and Communication Societies (Vol. 1)-Volume, strona 377. IEEE Computer Society, 1995.

Cytaty

Powiązane dokumenty

Instrukcje do pracy własnej: opis wybranych 2 ilustracji z podręcznika str.37 według logicznego porządku Praca własna: Opis w 3 zdaniach oraz krótkie rozwinięcie 2

Wariacją n–elementową bez powtórzeń ze zbioru m–elementowego nazywamy uporząd- kowany zbiór (n–wyrazowy ciąg) składający się z n różnych elementów wybranych z

kiedy władca zasiadł na tebańskim tronie w okolicznych górach pojawił się dziwny stwór który porywał ludzi i rzucał ich w przepaść miał twarz kobiety a z

Keating ruszył dookoła sali i zaczął pokazywać palcem kolejne zdjęcia.- Ilu z nich udało się dokonać choć odrobinę z tego, do czego byli zdolni, zanim zorientowali

Udowodni¢, »e odejmowanie na Z nie ma elementu neutralnego i »e nie jest

Udowodni¢, »e je±li K jest sko«czone, to ka»dy element algebraiczny nad K wyra»a si¦ przez pierwiastniki nad

36   „Accessimus igitur ad priorem valvarum introintum, et deponentem augmentum quoddam, quo a Karolo Magno fatum perhibebatur, honesta saris occasione, quia pater suus

Pomimo wielu zalet (między innymi izolacja zmiennej eksperymentalnej i jej wpływu w czasie, relatywnie niskie nakłady czasowe i finansowe) metoda ekspe- rymentalna jest