• Nie Znaleziono Wyników

ALGORYTMY TYPU «MULTICAST» W SIECIACH PAKIETOWYCH

N/A
N/A
Protected

Academic year: 2021

Share "ALGORYTMY TYPU «MULTICAST» W SIECIACH PAKIETOWYCH"

Copied!
6
0
0

Pełen tekst

(1)

2004

Poznańskie Warsztaty Telekomunikacyjne Poznań 9 - 10 grudnia 2004 Maciej Piechowiak*, Piotr Zwierzykowski

Politechnika Poznańska

Instytut Elektroniki i Telekomunikacji ul. Piotrowo 3A, 60-965 Poznań {mpiech,pzwierz}@et.put.poznan.pl

ALGORYTMY TYPU «MULTICAST» W SIECIACH PAKIETOWYCH

Streszczenie: W artykule dokonano przeglądu naj- ważniejszych algorytmów wyznaczania minimal- nych drzew «multicast» w sieciach pakietowych przeznaczonych do transmisji danych w czasie rze- czywistym. Zaproponowano także własny podział istniejących rozwiązań biorąc pod uwagę liczbę kryteriów (metryk) oraz przedstawiono nowe tech- niki służące efektywnemu rozwiązaniu powyższego problemu.

1. WPROWADZENIE

Technika multicast polega na równoległym prze- syłaniu danych w sieci od węzła nadawczego do gru- py węzłów odbiorczych (wcześniej zdefiniowanych) [1].

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

* autor jest pracownikiem Instytutu Mechaniki Środowiska i Informatyki Stosowanej Akademii Bydgoskiej

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 rzeczywi- stego [2, 13]. Jednakże nie dokonano porównania wy- dajnoś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 drze- wa multicast z uwzględnieniem parametrów charak- terystycznych dla aplikacji czasu rzeczywistego (małe wartości opóźnień między węzłem nadawczym i od- biorczym).

W pracach [5, 9] udowodniono, że znalezienie drzewa multicast jest problemem N P-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 rozdziale 2 przedstawiono algorytmy typu multicast bazujące na jednej, bądź dwóch metrykach.

Omówiono algorytmy niewymuszone (unconstrained) oraz wymuszone (constrained). Rozdział 3 prezentuje zagadnienie optymalizacji wielokryterialnej. Artykuł podsumowuje rozdział 4.

2. ALGORYTMY JEDNOKRYTERIALNE I DWUKRYTERIALNE

A. Wprowadzenie

Załóżmy, że sieć komunikacyjna reprezentowana jest jako skierowany, spójny graf N = (V, E), gdzie V jest zbiorem węzłów, a E - zbiorem łączy mię- dzy węzłami sieci. Istnienie łącza e = (u, v) mię- dzy węzłem u i v pociąga za sobą istnienie łącza e0 = (v, u) dla dowolnych u, v ∈ V (odpowiednik łą- czy dwukierunkowych w sieciach komunikacyjnych).

Z każdym łączem e ∈ E skojarzone są dwa para- metry: koszt C(e) oraz opóźnienie D(e). Koszt po- łączenia reprezentuje wykorzystanie zasobów łącza - C(e) jest zatem funkcją wielkości ruchu w danym

(2)

łączu i pojemności bufora wymaganej dla tego ru- chu. Opóźnienie w łączu z kolei jest sumą opóźnień wprowadzanych przez propagację w łączu, kolejko- wanie i przełączanie w węzłach sieci. Grupa multi- cast jest zbiorem węzłów będących odbiorcami ru- chu grupowego (identyfikacja odbywa się na podsta- wie unikalnego adresu i), G = {g1, ..., gn} ⊆ V , gdzie n = |G| ≤ |V |. Węzeł s ∈ V jest źródłem dla grupy multicast G. Drzewo multicast T (s, G) ⊆ E jest drze- wem zakorzenionym w węźle źródłowym s i obejmu- jącym wszystkich członków grupy G. Całkowity koszt drzewa T (s, G) można określić jako P

t∈T (s,G)C(t).

Ścieżka P (s, G) ⊆ T (s, G) jest zbiorem łączy między s a g ∈ G. Koszt ścieżki P (s, G) można przedstawić jakoP

p∈P (s,G)C(p), natomiast opóźnienie mierzone między początkiem i końcem ścieżki:P

p∈P (s,G)D(p).

Stąd też maksymalne opóźnienie w drzewie można wyznaczyć jako maxg∈G[P

p∈P (s,G)D(p)].

Algorytmy takie można sklasyfikować w dwóch kategoriach. Pierwsza z nich to algorytmy najkrót- szej ścieżki, które minimalizują koszt każdej ścieżki między węzłem źródłowym a węzłem będącym człon- kiem grupy odbiorców. Przedstawicielami tej klasy algorytmów są algorytmy Bellmana-Forda [7] oraz Dijkstry [4]. Inną kategorią są algorytmy znajdują- ce minimalne drzewo Steinera - ich głównym zada- niem jest minimalizacja całkowitego kosztu takiego drzewa. Ze względu jednak na złożoność obliczenio- wą tego algorytmu (problem N P-zupełny) [9] stosuje się algorytmy heurystyczne. Jeżeli zbiór węzłów mi- nimalnego drzewa Steinera zawiera wszystkie węzły danej sieci, wtedy problem sprowadza się do znalezie- nia minimalnego drzewa rozpinającego (rozwiązanie to można uzyskać w czasie wielomianowym). W celu zapewnienia wsparcia dla aplikacji czasu rzeczywiste- go, protokoły sieciowe powinny zapewniać parametry QoS1.

B. Algorytmy niewymuszone

Algorytmy niewymuszone (unconstrained) pró- bują optymalizować daną funkcję kosztu nie biorąc pod uwagę wymagań QoS aplikacji. Dostępne pu- blikacje zawierają bardzo niewiele algorytmów reali- zujących powyższe założenie [2]. Problem znajdowa- nia minimalnego drzewa Steinera w sieciach skiero- wanych rozwiązywany jest raczej z uwzględnieniem specjalnych warunków (np. sieci acykliczne). W przy- padku sieci nieskierowanych (łącza symetryczne) ist- nieją algorytmy heurystyczne pozwalające rozwiązać problem w akceptowalnym czasie. Kou, Markovsky i Bermann zaproponowali następujący algorytm heu- rystyczny (KMB) wyznaczający minimalne drzewo multicast [5]:

dla danego spójnego, nieskierowanego grafu N = (V, E) zawierającego zbiór węzłów odbiorczych G skonstruuj spójny, nieskierowany graf N1 = (V1, E1),

1Przykładowo górna gwarantowana granica opóźnienia mię- dzy dwoma końcowymi punktami w sieci, ∆, musi być zapew- niona w celu prawidłowej transmisji w aplikacjach multimedial- nych. Z punktu widzenia tych aplikacji ważne jest zapewnienie gwarantowanej wartości opóźnienia - nie ma potrzeby minima- lizowania tej wielkości.

składający się tylko z węzła nadawczego s oraz zbioru węzłów odbiorczych G (ścieżki między węzłami grafu N1 stanowią ścieżki o najmniejszym koszcie w grafie pierwotnym N ),

wyznacz minimalne drzewo rozpinające T1grafu G1

(jeśli rozwiązań jest więcej - wybierz jedno),

skonstruuj podgraf GS grafu G poprzez zastąpienie każdej krawędzi drzewa T1odpowiadającej jej ścieżce z grafu G,

wyznacz minimalne drzewo rozpinające TS grafu GS(jeśli minimalnych drzew jest więcej - wybierz jed- no),

skonstruuj drzewo Steinera TKM B z drzewa TS po- przez usunięcie liści, które nie zawierają węzłów od- biorczych.

2

2

2 2

4

4

4 4

2 3

4

5

5

5 5

6

6

6 6

7

7

7 8

8

8 8

1

1

1 1

1 10

2

2

2 2

2

2 2

2

2 2

8

7 8

8 8

8 8

8 8 8 7

4

4

4 4

4

4

4 4

2

2

2 2

2

2

2 2

1

1

1 3

3

3 3

2 3

4 1

(a)

(c) (d)

(e) (f)

(b)

Rys. 1. Działanie algorytmu KMB na przykładowej sieci

Przykład przedstawiony na Rys. 1 pokazuje, że całkowity koszt drzewa multicast wynosi 16 i jest za- razem minimalnym drzewem Steinera.

Doar i Leslie [14] wykazali, że całkowity koszt drzew generowanych z wykorzystaniem heurystyki KMB (Kou, Markowsky, Bermann) jest średnio tylko o 5% gorszy w porównaniu z metoda dokładną (mini- malne drzewo Steinera) - pozwala to jednak uzyskać złożoność obliczeniową O(|G||V |2). Z kolei algorytm Dijkstry (znajdowania najkrótszych ścieżek) używa- ny w wielu protokołach komunikacyjnych multicast (np. MOSPF) [1] pozwala uzyskać zadowalającą wy- dajność. Jest to algorytm najtańszego kosztu (LC) minimalizujący koszt ścieżki między węzłem źródło- wym, a każdym węzłem będącym członkiem grupy odbiorczej z osobna.

C. Algorytmy z wymuszeniami

Działanie algorytmów z wymuszeniami (constra- ined) sprowadza się do rozwiązania problemu DCLC

(3)

(Delay Constrained Least Cost), czyli znalezieniu mi- nimalnego kosztu ścieżki (lub drzewa - przy wielu wę- złach odbiorczych) w ten sposób, by nie przekroczyć ustalonego opóźnienia dla całej ścieżki (drzewa). Dla danego skierowanego grafu N = (V, E) posiadającego krawędzie E o nieujemnym koszcie c(e) oraz opóźnie- niu d(e), węzeł źródłowy s, grupę węzłów odbiorczych G oraz ograniczenie opóźnienia ∆ całego drzewa na- leży wyznaczyć:

t∈Tmin0(s,G)

X

e∈T

c(e) (1)

gdzie T0(s, G) jest zbiorem drzew multicast spełnia- jących warunek ograniczenia opóźnienia, tzn.:

X

e∈T

d(e) ≤ ∆ (2)

DCLC jest problemem N P-trudnym [9]. Istnie- je jednak wiele heurystyk rozwiązujących powyższy problem. Jako jedna z pierwszych heurystyk wyzna- czających drzewo Steinera z wymuszeniem (Constra- ined Steiner Tree) zaproponowana została metoda KPP (Kompella, Pasquale, Polyzos) [6]. Autorzy me- tody wprowadzają dodatkowy parametr (opóźnienie) dla każdej ścieżki w sieci definiując najkrótszą ścież- kę z wymuszeniem (constrained shortest path) jako ścieżkę o minimalnym koszcie przy założeniu, że war- tość opóźnienia wzdłuż ścieżki nie przekracza usta- lonej wartości ∆. Metoda ta zakłada, że opóźnienia w łączach oraz graniczna wartość opóźnienia ∆ są wartościami całkowitymi. Podobnie jak KMB, pro- ponowany algorytm uwzględnia maksymalną wartość opóźnienia ∆ przy wyznaczaniu drzewa:

dla danego spójnego, nieskierowanego grafu N = (V, E) zawierającego zbiór węzłów odbiorczych G skonstruuj spójny, nieskierowany graf N1 = (V1, E1), składający się tylko z węzła nadawczego s oraz zbioru węzłów odbiorczych G (ścieżki między węzłami grafu N1 stanowią ścieżki o najmniejszym koszcie w grafie pierwotnym N ) - innymi słowy N1 to graf połączeń każdy z każdym,

wyznacz drzewo rozpinające T1grafu G1biorąc pod uwagę każdą parę węzłów (u, v) i związane z daną ścieżką metryki: koszt C(u, v) oraz opóźnienie D(u, v) wg poniższej funkcji kosztów fc:

fc=

½ C(u, v) jeżeli Ds(u) + D(u, v) < ∆

p.p. (3)

zastąp krawędzie powstałego drzewa oryginalnymi ścieżkami z grafu G (jeśli tak powstała struktura za- wiera cykle - usuń je korzystając z algorytmu Dijkstry, wykorzystując opóźnienie jako kryterium).

W przykładzie przedstawionym na Rys. 2 przy- jęto maksymalną wartość opóźnienia między węzłem źrodłowym, a poszczególnymi członkami grupy mul- ticast ∆ = 10. W przeciwieństwie do metody KMB ścieżka 2-6-5-3 nie spełnia warunku nałożonego na opóźnienie (suma opóźnień łączy w ścieżce wynosi 11), w związku z czym powstaje inne drzewo mul- ticast o koszcie całkowitym równym 21.

Wyznaczenie domknięcia grafu odbywa się w cza- sie O(∆|V |3). Zarówno KMB, jak i KPP wykorzy- stują algorytm [7] do wyznaczenia minimalnego drze- wa rozpinającego domknięcia grafu. Jednak algorytm ten jest zoptymalizowany dla sieci nieskierowanych i zastosowanie go w sieciach skierowanych może mieć wpływ na wydajność całego rozwiązania.

2

4

2 3

4

5 6

7 8 1

1 10,5

2,1

2,1 2,2

8,4

8,5

7,6

8,4 8,6

8,5 8,6

8,4 8,3 8,10 7,6

4,1 4,2

2,7 2,3 1,2

3

2 3

4 1

(a)

(c) (d)

(b)

2

4 5 6

7 8

1 2,1

2,1 2,2

8,4 4,1

2,3 1,2

3

Rys. 2. Działanie algorytmu KPP na przykładowej sieci

Widyono [2] zaproponował cztery algorytmy niewymuszone oraz cztery heurystyki wyznaczają- ce drzewo Steinera z wymuszeniem (Constrained Steiner Tree). Te ostatnie wykorzystują algorytm Bellmana-Forda z wymuszeniami - CBF (Constra- ined Bellman-Ford) [15]. Metoda ta przeszukuje graf wszerz (breadth-first search) w celu znalezienia naj- tańszych ścieżek od źródła do pozostałych węzłów w sieci z uwzględnieniem warunku na całkowite opóź- nienie (między węzłem źródłowym a docelowym).

Proponowany w [2] algorytm CMIC (Constra- ined Minimum Incremental Cost) bazuje na wywoła- niach algorytmu CBF dla każdego węzła odbiorczego (w dowolnej kolejności). Po każdym wywołaniu koszt otrzymanej ścieżki jest ustawiany na wartość zerową dla pozostałych węzłów docelowych.

Algorytm CAO (Constrained Adaptive Ordering) posiada najlepszą wydajność z proponowanych przez Widyono. Wykorzystuje on algorytm Bellmana-Forda z wymuszeniami w celu jednoczesnego podłączenia grupy odbiorczej do węzła nadawczego. Podczas każ- dego przebiegu algorytmu Bellmana-Forda niepodłą- czony jeszcze członek grupy jest dołączany do istnie- jącego poddrzewa po ścieżce z minimalnym kosztem.

Inne podejście prezentuje algorytm BSMA (Bo- unded Shortest Multicast Algorithm) [18]. Pierwszy etap algorytmu to wyznaczenie drzewa o najmniej- szym opóźnieniu dla danego źródła s i grupy multi- cast G. W kolejnych iteracjach superkrawędzie (ścież- ki między dwoma rozgałęzieniami, między dwoma wę- złami będącymi członkami grupy multicast lub mię- dzy węzłem multicast a rozgałęzieniem) w drzewie T (s, G) zastępowane są superkrawędziami o mniej- szym koszcie nienależącymi do drzewa bez przekra- czania założonej granicy maksymalnego opóźnienia (dopóki całkowitego kosztu drzewa nie będzie już

(4)

można zminimalizować). Złożoność obliczeniowa algo- rytmu wynosi O(k|V |3log|V |), k może być dużą liczbą w przypadku sieci gęstych, co może stanowić trudność w uzyskaniu akceptowalnego czasu działania algoryt- mu. BSMA zawsze znajduje drzewo multicast z ogra- niczeniami (jeśli takie istnieje), ponieważ na początku generuje drzewo o najmniejszym opóźnieniu (LD).

Prosta metoda zaproponowana przez Lee [21]

nie wyznacza optymalnej ścieżki - wyznacza jednak rozwiązanie heurystyczne dla problemu DCLC. Al- gorytm Fallback zakłada, że w sieci istnieją metry- ki uszeregowane (stopniowane). W pierwszym etapie algorytm wyznacza najkrótszą ścieżkę dla pierwszej z metryk (np. koszt), następnie sprawdza czy war- tość ta pozwala spełnić pozostałe wymagania QoS.

Jeśli znaleziona ścieżka na to nie pozwala, algorytm szuka następnej z wykorzystaniem kolejnej metryki.

W rezultacie znaleziona zostanie właściwa ścieżka lub żadna z metryk nie pozwoli uzyskać rozwiązania. Po- wyższy algorytm jest bardzo prosty, szybki i zawsze zwraca właściwe rozwiązanie (jeśli tylko ono istnie- je). Nie daje jednak gwarancji znalezienia optymalnej trasy oraz nie mówi nic o jakości znalezionej ścieżki.

Rys. 3. Działanie algorytmu CSPT na przykładowej sieci

Heurystyka CSPT (Constrained Shortest Path Tree) wyznacza drzewo ograniczone o najmniejszym koszcie [22]. Jeśli opóźnienie na ścieżce do dowolnego węzła odbiorczego przekroczy ustaloną wartość gra- niczną, ścieżka ta zostaje zastąpiona ścieżką o naj- mniejszym koszcie. Tak więc, jeśli drzewo o najmniej- szym koszcie przekracza graniczną wartość opóźnie- nia, wyznaczane jest drzewo o minimalnym opóźnie- niu i obydwa drzewa są scalane. Algorytm przedsta- wia się następująco:

wyznacz minimalne drzewo rozpinające o najtań- szych krawędziach (z użyciem algorytmu Dijkstry [4]),

usuń z drzewa gałęzie, które nie zawierają człon- ków grupy multicast oraz gałęzie zawierające człon- ków grupy multicast, dla których najtańsza ścieżka do węzła źródłowego przekracza maksymalne opóźnienie

∆,

wyznacz minimalne drzewo rozpinające zawierają-

ce krawędzie o najmniejszych wartościach opóźnienia (użyj algorytmu Dijkstry [4]) - zatrzymaj algorytm, gdy osiągnięte zostaną wszystkie węzły z grupy multi- cast pominięte w poprzednim drzewie (u najtańszych krawędziach),

scal drzewa uzyskane w obydwu etapach i usuń po- wstałe cykle (spośród gałęzi tworzących cykl usuń tę o największym opóźnieniu).

Złożoność obliczeniowa algorytmu wynosi O(|V |2), ponieważ używa on algorytmu Dijkstry do wyznacze- nia obydwu drzew [4].

3. ALGORYTMY WIELOKRYTERIALNE A. Wprowadzenie

Problem routingu rozsiewczego (multicast) w sie- ciach transportowych uwzględniający jedno lub wiele kryteriów jak koszt i opóźnienie, jest zazwyczaj trak- towany jako problem optymalizacji jednokryterialnej.

W zadaniu takim wyznaczany jest całkowity koszt drzewa pod warunkiem zachowania z góry nałożonych ograniczeń na opóźnienie między węzłem nadawczym, a poszczególnymi węzłami odbiorczymi. Wielokryte- rialny problem optymalizacyjny MOP (ang. Multio- bjective Optimization Problem) [23] składa się ze zbio- ru n zmiennych decyzyjnych, k funkcji kryterialnych i m ograniczeń. Funkcje kryterialne i ograniczenia są z kolei funkcjami zmiennych decyzyjnych:

y = f (x) = (f1(x), f2(x), . . . , fk(x)) e(x) = (e1(x), e2(x), . . . , em(x))

gdzie x = (x1, x2, . . . , xn) ⊆ X jest wektorem decyzyjnym, a y = (y1, y2, . . . , yk) ⊆ Y - wekto- rem kryterialnym. X określa przestrzeń decyzyjną, natomiast Y - przestrzeń kryteriów. Zbiór ograniczeń e(x) ≥ 0 wyznacza z kolei zbiór możliwych rozwią- zań Xf ⊆ X i odpowiadający mu zbiór wektorów kryterialnych Yf ⊆ Y . Problem wielokryterialny po- lega zatem na znalezieniu takiego x, które optymali- zuje funkcję f (x). Rozwiązanie takiego problemu to w zasadzie zbiór wielu możliwych rozwiązań, z któ- rych żadne nie jest lepsze, gdyż każde optymalizuje inne kryterium.

B. Algorytmy genetyczne

Najnowsze proponowane metody routingu [12, 23] opierają się na algorytmach genetycznych - tech- nice odzwierciedlającej naturalną ewolucję. W pierw- szym kroku algorytm generuje losową konfigurację (zwaną populacją początkową). Każdy osobnik w po- pulacji tworzy łańcuch symboli (genów). Taki łańcuch symboli nazywa się chromosomem, który reprezentu- je rozwiązanie problemu optymalizacyjnego. W każ- dej iteracji algorytmu osobniki w bieżącej populacji wyznaczane (oceniane) są z użyciem funkcji dopaso- wania. Na podstawie tej funkcji wybierane są osobniki najlepiej dopasowane (rodzice). Prawdopodobieństwo selekcji osobników jest proporcjonalne do ich dopa- sowania. W kolejnym kroku stosuje się operacje ge- netyczne w celu wyprodukowania nowych osobników

(5)

(potomstwo), które staną się częścią nowego pokole- nia. W ten sposób proces ewolucyjny przegląda prze- strzeń poszukiwań, znajdując coraz lepsze rozwiąza- nia, aż do osiągnięcia warunku zatrzymania.

Dla analizowanej sieci opisanej za pomocą grafu N = (V, E) istnieje |V ||V − 1| par węzeł nadawczy - odbiorca. Dla każdej pary konstruowana jest tablica routingu zawierająca R takich ścieżek (rozmiar tabli- cy routingu R jest parametrem algorytmu). Chromo- som jest reprezentowany przez łańcuch liczb całko- witych o długości l (liczba węzłów odbiorczych). Po- jedynczy gen jest kolejnym numerem ścieżki między węzłem s a węzłem gi w tablicy routingu.

nr nr nr

1 1 1

2 2 2

3 3 3

7 1-8-7-6-2 8 1-8-5-3 8 1-8-5-4

1-8-5-6-2 1-8-7-6-5-3 1-8-7-6-5-4

1-8-5-4-3-2 1-8-5-4-3 1-2-3-4

1-2 1-8-7-6-2-3 1-2-6-5-4

1-8-5-3-2 1-8-5-6-2-3 1-2-6-7-8-5-4

4 4 4

8 11 11

5 5

g1 g2 g3 5 16

3 2 3

16 21

24 16 26

10 15

chromosom (l=3) 18

œcie¿ka œcie¿ka œcie¿ka

Tablica routingu dla wêz³a 2 Tablica routingu dla wêz³a 3 Tablica routingu dla wêz³a 4

d d d

2

4 5 6

7 8 1

10

2

2 2

8

8 4 4

2 2 1

3

Rys. 4. Wyznaczanie chromosomów, genów i tablic routingu dla przykładowej sieci

W przedstawionym przykładzie (Rys. 3) tablica routingu została stworzona z użyciem metryki opóź- nienia (ta metoda kodowania została zaproponowana przez Hwanga [12]).

Proponowany algorytm znajduje rozwiązanie optymalne w sensie Pareto [17]. Oznacza to, że roz- wiązanie jest paretooptymalne, jeżeli nie jest możliwe znalezienie rozwiązania lepszego z uwagi na co naj- mniej jedno kryterium bez pogorszenia z uwagi na pozostałe. Algorytm przedstawia się następująco:

konstruuj tablicę routingu dla każdego węzła od- biorczego,

inicjalizuj populację początkową P poprzez wyge- nerowanie |P | chromosomów; podobnie, zewnętrzny niezdominowany zbiór Pareto oznacz jako Pnd(popu- lacja niezdominowana),

usuń ze zbioru P powtarzające się chromosomy (lub zastąp je nowymi wygenerowanymi losowo),

oceń P wyznaczając funkcje kryterialne dla każdego osobnika w zbiorze P ,

zastosuj algorytm SPEA (Strength Pareto Evolutio- nary Algorithm) [11] - a) zaznacz osobniki niezdomi- nowane w zbiorze P ; b) zaktualizuj zbiór niezdomino- wany Pnd; c) wyznacz intensywność Pnd oraz P ; d) wyznacz dopasowanie w zbiorze P i Pnd,

przeprowadź operację selekcji w trakcie każdej ge- neracji na zbiorze Pnd∪ P (zaimplementuj procedurę ruletki jako operator selekcji) - osobniki ze zbioru Pnd

są lepiej dopasowane niż osobniki ze zbioru P (dla

nich istnieje większe prawdopodobieństwo wybrania do reprodukcji),

dokonaj krzyżowania dwupunktowego dla każdej pary osobników (ten operator reprezentuje mecha- nizm przeszukiwania lokalnego zwracając uwagę na osobniki z wyższymi wartościami dopasowania bada- jąc dostępne informacje o rodzicach),

dokonaj mutacji - zmień z prawdopodobieństwem Pmut kilka genów w każdym chromosomie z nowej generacji (pozwala to generować lepsze chromosomy w celu uzyskania nowych przestrzeni poszukiwań).

jeśli kryterium zatrzymania algorytmu nie zostanie spełnione - przejdź do punktu 3 algorytmu.

Przedstawiony algorytm został użyty w celu optymalizacji następujących funkcji kryterialnych:

maksymalne opóźnienie:

f1= ∆max= max

g∈G[d(pT(s, gi))]; (4)

całkowity koszt drzewa multicast:

f2= C = X

(u,v)∈T

c(u, v); (5)

maksymalne wykorzystanie łącza (φ oznacza żąda- ny ruch dla całej grupy multicast [b/s], natomiast t(u, v) - bieżący zaalokowany ruch w łaczu (u, v) [b/s]):

f3= α = max

(u,v)∈T

·φ + t(u, v) c(u, v)

¸

; (6)

średnie opóźnienie:

f2= ∆AV = 1

|G|

X

g∈G

[d(pT(s, gi))]. (7)

C. Relaksacja Lagrange’a

Relaksacja Lagrange’a jest popularną techniką pozwalającą wyznaczyć dolne ograniczenia w celu znalezienia rozwiązania problemu DCLC [13]. Tech- nika ta została po raz pierwszy zastosowana przez Helda i Karpa w celu rozwiązania problemu komiwo- jażera [10].

W pracy [13] zaproponowano algorytm heury- styczny LARAC (Lagrange Relaxation based Aggrega- ted Cost) rozwiązujący problem DCLC. Prezentowana technika polega na minimalizowaniu zmodyfikowanej funkcji kosztu cλ= c + λd. Dla danej wartości λ moż- na w prosty sposób wyznaczyć minimalną ścieżkę pλ. Jeżeli λ = 0 i d(pλ) ≥ ∆ znalezione zostaje rozwiąza- nie dla oryginalnego problemu (koszt niezmodyfiko- wany). Jeżeli d(pλ) ≤ ∆ należy zwiększyć wartość λ, aby zwiększyć dominancję opóźnienia w zmodyfiko- wanej funkcji kosztu. W kolejnych krokach algorytmu następuje zwiększanie λ dopóki optymalne rozwiąza- nie cλ spełni wymagania dotyczące opóźnienia.

W nawiązaniu do powyższej metody Jiang (i po- zostali) [20] zaproponował algorytm LBPSA (Lagran- gian Branch-and-bound Path Selection Algorithm).

Znajduje on ścieżkę ograniczoną wieloma kryteria- mi QoS o najmniejszym koszcie z użyciem metody branch-and-bound [3]. W celu wyznaczenia mnożnika Lagrange’a zaproponowano nowa metodę iteracyjną.

(6)

Dla pojedynczej ścieżki p między wezłem źródło- wym s, a wezłem gi∈ G składającej się z łączy e(u, v) można przypisać k metryk QoS dla każdej z krawędzi:

w(e) = {w1(e), . . . , wk(e)}. Metrykę ścieżki p opisze- my zatem zależnością: wi(p) = P

wi(e), gdzie e ∈ p oraz 1 < i < k. Każde łącze w badanej sieci opisywa- ne jest także za pomocą kosztu c(e). Zatem całkowity koszt ścieżki: c(p) =P

c(e). Wprowadzić należy tak- że wartości graniczne dla poszczególnych metryk QoS - Mi. Jeżeli wi(p) < Mi - p jest dopuszczalną ścieżką (spełniającą ograniczenia QoS).

Powyższy problem sprowadza się do znalezienia ścieżki p0, takiej że wi(p0) < Mi (dla 1 < i < k) oraz c(p0) = min[c(p)|wi(p) < Mi].

Relaksacja Lagrange’a dla problemu optymaliza- cji wielokryterialnej opisywana jest równaniem:

L(λ) = min[c(p) + λ1(w1(p) − M1) + + · · · + λk(wk(p) − Mk)] (8)

Maksimum funkcji L(λ) jest dolnym ograniczeniem, które jest zbliżone do rozwiązania optymalnego L(λ):

L(λ) ≤ max

λ L(λ) ≤ z (9)

gdzie z jest najmniejszym kosztem dopuszczalnej ścieżki, a L = maxλL(λ). L(λ) jest długością naj- krótszej ścieżki wyznaczanej względem metryki zagre- gowanej.

W kolejnych iteracjach (zwiększanie λ), jeżeli L(λ) osiągnie wartość maxλL(λ) możliwe jest wyzna- czenie prawidłowej ścieżki oraz ograniczeń: od góry i z dołu. W proponowanej metodzie iteracji (metoda maksymalnego kierunku) mnożnik λ zmienia się od 0, za każdym razem, gdy zmianie ulegnie λi (co od- powiada zależności wi(p) − Mi = max(wj(p) − Mj), gdzie 1 ≤ j ≤ k) - pozostałe mnożniki λj nie ulegają zmianie. Innymi słowy współczynnik λ jest przesuwa- ny w przestrzeni otoczonej płaszczyznami wyznaczo- nymi przez L(λ).

4. PODSUMOWANIE

W artykule przedstawiono algorytmy typu multi- cast w sieciach pakietowych. Zaproponowano podział tych algorytmów odzwierciedlający obecny stan ba- dań nad prezentowaną tematyką.

Prezentowany przegląd literatury pozwala wska- zać kierunki dalszych badań: użycie relaksacji Lagran- ge’a do wyznaczania drzew multicast uwzględniają- cych wiele metryk QoS oraz zastosowanie optymali- zacji wielokryterialnej w algorytmach genetycznych, np. metoda ważonych kryteriów (wprowadzenie kry- terium zastępczego - metryki zagregowanej), metoda optymalizacji hierarchicznej (kolejno względem każ- dego kryterium osobno) lub metoda kryterium glo- balnego.

SPIS LITERATURY

[1] M. Piechowiak, P. Zwierzykowski: Przegląd protokołów ro- utingu multicast, VIII Poznańskie Warsztaty Telekomuni- kacyjne, pp. 147-152, 2003.

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

[3] K. Ahuja, L. Magnanti: Network Flows: Theory, Algori- thms and Applications, Prentice Hall, Upper Saddle River, New Jersey 1993.

[4] E. Dijkstra: A note on two problems in connection with graphs, Numerische Mathematik, vol. 1, pp. 269-271, 1959.

[5] L. Kou, G. Markowsky, L. Berman: A fast algorithm for Steiner trees, Acta Informatica, no. 15, pp. 141-145, 1981.

[6] V. P. Kompella, J. C. Pasquale, G. C. Polyzos: Multica- sting for multimedia applications, IEEE/ACM Transac- tions on Networking, pp. 286-292, 1993.

[7] R. Prim: Shortest connection networks and some gene- ralizations, Bell Systems Tech J., vol. 36, pp. 1389-1401, 1957.

[8] B. Waxmann: Routing of multipoint connections, IEEE Journal on Selected Area in Communications, vol. 6, pp.

1617-1622, Dec 1988.

[9] R. Karp: Reducibility among combinatorial problems, Complexity of Computer Computations, pp. 85-104, 1972.

[10] M. Held, R. Karp: The traveling salesman problem and minimum spanning trees, Operation Research 18, pp.

1138-1162, 1970.

[11] E. Zitzler, L. Thiele: Multiobjective Evolutionary Algori- thms: A comparative Case Study and the Strength Pareto Approach, IEEE Trans. Evolutionary Computation, vol.

3, no. 4, pp. 257-271, 1999.

[12] R.H. Hwang, W.Y. Do, S.C. Yang: Multicast routing based on genetic algorithms, Journal of Information Science and Engineering, vol. 16, pp. 885-901, 2000.

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

[14] M. Doar, I. Leslie: How bad is naive multicast routing?, IEEE INFOCOM’ 1993, pp. 82-89.

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

[16] L. R. Ford, D. R. Fulkerson: Flows in networks, Princeton University Press, 1962.

[17] D. Rutkowska, M. Piliński, L. Rutkowski: Sieci neurono- we, algorytmy genetyczne i systemy rozmyte, Wydawnic- two Naukowe PWN, Warszawa-Łódź, 1997.

[18] Q. Zhu, M. Parsa, J. J. Garcia-Luna-Aceves: A source- based algorithm for delay-constrained minimum-cost mul- ticasting, IEEE INFOCOM’ 1995, pp. 377-385.

[19] Z. Wang, J. Crowcroft: Quality-of-service routing for sup- porting multimedia applications, IEEE Journal on Selec- ted Area in Communications, 1996, 14(7), pp. 1228-1234.

[20] H. Jiang, P. Yan, J. Zhou, L. Chen, M. Wu: Multi- constrained Least Cost QoS Routing Algorithm, IEEE ICT’ 2004, pp. 704-710.

[21] W. C. Lee: Multi-criteria routing subject to resource and performance constraints, ATM Forum 94-0280, 1994.

[22] J. S. Crawford, A. G. Waters: Heuristics for ATM Mul- ticast Routing, Computer Science, University of Kent at Canterbury, 1998.

[23] J. Crichigno, B. Baran: Multiobjective Multicast Routing Algorithm, ICT 2004, LNCS 3124, pp. 1029–1034, 2004.

Cytaty

Powiązane dokumenty

Prawo zamówień publicznych (tj. Przedmiotem umowy jest zorganizowanie i przeprowadzenie usługi w zakresie indywidualnej terapii pedagogicznej dla 10 dzieci umieszczonych

600-lecia 29 wymiana zużytych gablot informacyjnych (1500) OSIEDLE POLNA III Roboty ogólnobudowlane.

Ewa Wróblewska- Członek Prezydium Rady Krajowej, Kamil Pluskwa Dąbrowski- Prezes, Członek Prezydium Rady Krajowej,. Paweł Szymczak- Skarbnik, Członek Prezydium Rady

Zakup niezbędnych środków trwałych i środków ochrony do walki z covid-19 dla Lecznicy Chirurgiczno-Ortopedycznej Eskulap Witold Kołtun, Danuta Orłowska- Kołtun -Lekarze

Pełny opis prac budowlanych zawiera dokumentacja projektowa, a wyliczenia ilościowe zawiera przedmiar robót... Altana z grilem-W3-koszt całkowity TABELA

Promocja marki NATURAL POLAND na rynkach międzynarodowych poprzez udział w Branżowym Programie Promocji dla Branży Polskich Specjalności

Anna Ekiert- Prezes, Grażyna Cieślik-Skarbnik, Andrzej Bocheński-Wiceprezes, Jarosław Tarasiński- Członek Prezydium..

Gmi- nę w tym dniu reprezentował Burmistrz Miasta i Gminy Suchedniów Cezary Błach oraz Skarb-.. Rada Miejska na sesji w dniu 12 września zdecydowała o przeznaczeniu