k - Poznańskie Warsztaty Telekomunikacyjne
Transkrypt
k - Poznańskie Warsztaty Telekomunikacyjne
Jarosáaw Korycki Instytut Architektury Komputerów i Telekomunikacji POLITECHNIKA SZCZECIēSKA ul. ĩoánierska 49, 71-210 Szczecin [email protected] 2003 Poznañskie Warsztaty Telekomunikacyjne Poznañ 11-12 grudnia 2003 tel. +48 91 449 56 67 ZASTOSOWANIE METOD DOKàADNYCH DLA POàĄCZEē ROZGAàĉħNYCH W SIECIACH TRANSPORTOWYCH. Streszczenie: W referacie opisano optymalizacyjny problem decyzyjny polegający na wyborze wĊzáów i áączy uczestniczących w poáączeniach typu punkt – wielopunkt zwanych poáączeniami „multicast”. Przedstawiono takĪe dokáadny algorytm (klasy kn) realizujący tego typu zadanie. Próba optymalizacji tego algorytmu ma daü odpowiedĨ na pytanie: czy istnieje moĪliwoĞü wykorzystania tego typu rozwiązaĔ? Wyniki testów przeprowadzonych na kilku reprezentatywnych sieciach, pozwolą sformuáowaü wnioski. Terminy: poáączenia grupowe rozgaáĊĨne i multicast bĊdą uĪywane zamiennie. 1. WSTĉP Tradycyjna sieü telekomunikacyjna Ğwiadczy w wiĊkszoĞci usáugi oparte na poáączeniach typu „punkt-punkt” (unicast). Pojawiające siĊ nowe zastosowania zintegrowanych systemów komunikacyjnych wymagają równieĪ mechanizmów zapewniających komunikacjĊ grupową (multicast). Zapotrzebowanie na poáączenia grupowe szczególnie silnie uwidoczniáo siĊ w sieci Internet. Przykáadowe zastosowania transmisji typu multicast w tej sieci to dystrybucja sygnaáów audio i video (Internet TV, Internet radio via IP), konferencje audiowizualne, nauczanie na odlegáoĞü, praca grupowa, dystrybucja oprogramowania, replikacje baz danych itp. PoniewaĪ obecnie stosowane algorytmy multicast posiadają szereg uproszczeĔ najczĊĞciej nie dostarczają optymalnych rozwiązaĔ. Organizacja IETF (Intrnet Engineering Task Force) koordynuje prowadzone na szeroką skalĊ badania nad protokoáami mającymi umoĪliwiü wydajną komunikacjĊ grupową. Podstawowymi kryteriami optymalizacji algorytmów „multicast” moĪe byü koszt poáączeĔ i czas opóĨnienia pakietów [7]. Koszt moĪe reprezentowaü jedną z kilku wartoĞci okreĞlających rzeczywistą sieü. NajczĊĞciej jest proporcjonalny do dáugoĞci áącza i ma wartoĞü staáą w czasie. WartoĞü opóĨnienia powinna byü okreĞlona poprzez wyznaczenie wartoĞci Ğrednich i wariancji poszczególnych skáadowych opóĨnienia na podstawie pomiarów przeprowadzonych w okreĞlonym czasie, np. w ostatnich 20 minutach. Tak postrzegane opóĨnienie uchroni rekonfiguracjĊ drzewa „multicast” wskutek krótkoterminowych zmian rozmiaru kolejek w buforach wĊzáów sieci. Tak wiĊc obiektem poszukiwaĔ algorytmów wyboru drogi dla poáączeĔ rozgaáĊĨnych jest optymalne pod wzglĊdem kosztów drzewo poáączeĔ, w którym opóĨnienie transmisji pakietu pomiĊdzy wĊzáem Ĩródáowym a kaĪdym wĊzáem docelowym naleĪącym do grupy „multicast” nie przekracza ustalonej wartoĞci. Zadanie powyĪsze moĪna sformuáowaü nastĊpująco [1]: Dla danego grafu G=<V,E>, gdzie V – jest zbiorem wierzchoáków grafu; E – jest zbiorem krawĊdzi grafu, oraz przy okreĞlonych funkcjach kosztu c(i,j) i opóĨnienia d(i,j) dla kaĪdej krawĊdzi (i,j)E znajdĨ drzewo T = <VT,ET>, gdzie TG áączące wierzchoáek sV z wierzchoákami MkV, gdzie k=1,.., n, takie Īe: 6(i,j)ET c(i,j) jest minimalna i k D(s,Mk) d ', gdzie ' - ustalona graniczna wartoĞü opóĨnienia; D(s,Mk)= 6(i,j) d(i,j) dla wszystkich (i,j) na drodze od s do Mk w drzewie T. Obecnie powstaje szereg algorytmów, gáównie heurystycznych, które rozwiązują tego typu zadania. Powszechnie uwaĪa siĊ, iĪ szukanie dokáadnych rozwiązaĔ jest nieefektywne czasowo, gdyĪ problem jako NP-zupeány posiada záoĪonoĞü obliczeniową o charakterze wykáadniczym. Algorytmy dokáadne tej klasy problemu są wiĊc na tyle ignorowane, Īe trudno je spotkaü nawet jako weryfikatory heurystyk. Podczas analizy efektywnoĞci algorytmów heurystycznych w wyznaczaniu rozwiązaĔ o minimalnym koszcie najczĊĞciej jako algorytmy testujące (porównawcze) wykorzystuje siĊ algorytm Minimalnego Drzewa Steiner’a (MST –Minimum Steiner Tree) [2], który wyznacza przybliĪone rozwiązanie dla drzewa poáączeĔ „multicast” o minimalnym koszcie. Algorytm MST nie zachowuje wymagaĔ na opóĨnienie. Do oceny wykorzystywany jest takĪe algorytm Dijkstry SPT (drzewa minimalnego ze wzglĊdu na opóĨnienie) w celu sprawdzenia w jakim stopniu powyĪsze algorytmy heurystyczne prowadzą do zmniejszenia kosztów poáączeĔ. NajwáaĞciwszym algorytmem testującym byáby algorytm, który tworzyáby drzewa minimalne pod wzglĊdem kosztu dla grupy wĊzáów „multicast” z zachowaniem granicznej wartoĞci opóĨnienia. W kolejnych punktach referatu zostanie przedstawiony algorytm generujący rozwiązania optymalne, oraz elementy optymalizacji, które skracają czas obliczeĔ. Przedstawione zostaną takĪe wyniki testów dziaáania algorytmu oraz wnioski dotyczące moĪliwoĞci jego wykorzystania. 2. OPIS ALGORYTMU Optymalnym drzewem nazywaü bĊdziemy takie drzewo, w którym suma wag krawĊdzi wchodzących w skáad drzewa bĊdzie minimalna, a opóĨnienie pomiĊdzy wĊzáem Ĩródáowym a kaĪdym docelowym nie przekroczy ustalonej wartoĞci. Algorytm dokáadny skáada siĊ z nastĊpujących etapów [3]: 1. Przedstawiamy zadaną sieü G z N wĊzáami w postaci macierzy strukturalnej B. 2. Dla kaĪdej pary wĊzáów a t-as (gdzie: at – wĊzeá nadawczy, as – kolejny wĊzeá ze zbioru wĊzáów odbiorczych) okreĞlamy wyznacznik macierzy strukturalnej mts. mts det Bts Bts KaĪdy taki wyznacznik okreĞli zbiór wszystkich dróg poáączeniowych z wĊzáa nadawczego t do wĊzáa odbiorczego s. Otrzymujemy n zbiorów Dts dróg poáączeniowych. Elementem dowolnego takiego zbioru jest jedna z dróg poáączeniowych pomiĊdzy wĊzáem nadającym a jednym z wĊzáów odbiorczych (bĊdąca listą krawĊdzi). 3. Na podstawie zbiorów Dts tworzymy kolejny zbiór P (bĊdący zbiorem dróg) zawierający wszystkie permutacje n elementowe, gdzie n jest liczbą wĊzáów odbiorczych. 4. Na podstawie k elementowego zbioru P, wyznaczamy macierz M o k-wierszach i dwóch kolumnach. Pierwszą kolumnĊ stanowi wektor W[i], drugą zaĞ O[i]. Element i-ty wektora W[i] jest sumą wag wszystkich niejednakowych krawĊdzi wchodzących w skáad n dróg poáączeniowych tworzących i-ty element zbioru P. Element i-ty wektora O[i] jest maksymalnym opóĨnieniem z poĞród wszystkich opóĨnieĔ n dróg tworzących i-ty element zbioru P. Indeks „i” najmniejszego elementu pierwszej kolumny macierzy M czyli (M[i,1]), dla którego opóĨnienie nie przekracza dopuszczalnej wartoĞci (M[i,2] d 'max.) wyznacza nam element zbioru P, a tym samym zbiór n dróg poáączeniowych wyznaczających drzewo optymalne. 3. OPTYMALIZACJA ALGORYTMU W celu skrócenia czasu obliczeĔ zaleca siĊ zastosowanie nastĊpujących zmian w opisanym wyĪej algorytmie: a) po pkt.2 proponuje siĊ usuniĊcie ze zbiorów Dts elementów zawierających cykle. PoniewaĪ wyznacznik macierzy strukturalnej bazuje na symbolach, wynik danego wyznacznika obok wszystkich ĞcieĪek prowadzących od wĊzáa odbiorczego do nadawczego zawiera równieĪ ĞcieĪki i nieincydentne z daną ĞcieĪką cykle wystĊpujące w grafie. Tego typu elementy zbioru Dts są nieistotne i powinny byü usuniĊte. b) przed pkt 3 proponuje siĊ usuniĊcie ze zbiorów Dts ĞcieĪek, które nie speániają warunku max. opóĨnienia okreĞlonego dla danej grupy multicast. Modyfikacje zawarte w pkt a) i b) znacznie zmniejszą iloĞü elementów permutacji jakie zostaną przez algorytm sprawdzone. UsuniĊcie jednego elementu zbioru Dts powoduje zmniejszenie elementów permutacji zgodnie z nastĊpującą zaleĪnoĞcią: K' K 2q (1) gdzie: K’ - liczba elementów permutacji po w/w modyfikacjach, K - liczba elementów permutacji przed w/w modyfikacjami, q – liczba elementów zbioru Dts usuniĊtych w trakcie w/w modyfikacji OszczĊdnoĞci obliczeniowe wynikające z usuniĊcia ĞcieĪek z dodatkowymi cyklami bĊdą szczególnie duĪe w sieciach spójnych o wielu drogach poáączeniowych miĊdzy dwoma wĊzáami, mniejsze zaĞ w sieciach drzewopodobnych, opisanych poprzez grafy wáaĞciwe (nie zawierające pĊtli), natomiast oszczĊdnoĞci odnoszące siĊ do dopuszczalnego maksymalnego opóĨnienia są w duĪej mierze uzaleĪnione od wartoĞci tego parametru ('). c) Zaleca siĊ zezygnacje z tworzenia zbioru permutacji P w pkt 3, a jedynie dynamiczne znalezienie elementu permutacji o minimalnym koszcie. W ten sposób wyeliminowane zostają czynnoĞci z pkt 4, w szczególnoĞci sprawdzenie speánienia warunku maksymalnego opóĨnienia dróg w drzewie, gdyĪ speánienie tego warunku sprawdzono w pkt b). d) DziĊki wyszukiwaniu kolumny lub wiersza o najmniejszej liczbie niezerowych elementów, eliminowane są nadmiarowe obliczenia podczas okreĞlania wyznacznika macierzy przylegáoĞci. 4. IMPLEMENTACJA ALGORYTMU Program napisano obiektowo w jĊzyku C++ z wykorzystaniem Ğrodowiska MinGW i MSYS. DziĊki wykorzystaniu bibliotek STL zoptymalizowane zostaáy dziaáania na wektorach. Program przyjmuje na wejĞciu plik z opisem sieci w okreĞlonym przez specyfikacjĊ formacie, zapewniając jednoczeĞnie kontrolĊ poprawnoĞci danych wejĞciowych. Wynikiem dziaáania programu jest informacja o optymalnym drzewie multicast (krawĊdzie wchodzące w skáad drzewa) oraz opcjonalne wyniki dodatkowe: x czas wykonania algorytmu, x zawartoĞü zbiorów Dts: wykaz róĪnych dróg poáączeniowych od wĊzáa nadawczego do danego wĊzáa odbiorczego, x dane statystyczne: Ğrednia iloĞü róĪnych ĞcieĪek od wĊzáa nadawczego do wĊzáa odbiorczego, 5. ZàOĩONOĝû OBLICZENIOWA ZáoĪonoĞü obliczeniową algorytmu moĪna okreĞliü nastĊpująco: x Etap związany z obliczaniem wyznaczników macierzy: O( n*(N-1)!) Rys 1. Hierarchiczna sieü wĊzáowa 2. Zmodyfikowana hierarchiczna siec wĊzáowa (dualna). StopieĔ spójnoĞci h=1y5. (2) gdzie: n - iloĞü wĊzáów odbiorczych w grupie multicast, N- iloĞü wĊzáów sieci. x Usuwanie ĞcieĪek nie speániających wymagaĔ dotyczących maksymalnego opóĨnienia O(nk) (3) gdzie: n - iloĞü wĊzáów odbiorczych w grupie multicast, k - Ğrednia iloĞü dróg pomiĊdzy wĊzáem Ĩródáowym a odbiorczym, x . . . . . . . . . . . . . . . . . Rys 2. Zmodyfikowana hierarchiczna sieü wĊzáowa 3. Sieü komórkowa r=4. StopieĔ spójnoĞci h=2y4. Poszukiwanie minimalnego elementu permutacji: § n ¨ ki O¨ i 1 q ¨ 2 ¨ © · ¸ ¸ ¸ ¸ ¹ (4) gdzie: n - iloĞü wĊzáów odbiorczych w grupie multicast, k - Ğrednia iloĞü dróg pomiĊdzy wĊzáem Ĩródáowym a odbiorczym, q - liczba elementów zbioru Dts usuniĊtych w trakcie sprawdzania warunku na dopuszczalne opóĨnienie ĞcieĪki. 6. WYNIKI TESTÓW Algorytm dokáadny zostaá wykorzystany do wyznaczenia optymalnych poáączeĔ rozgaáĊĨnych w kilku sieciach testowych charakteryzujących siĊ róĪną topologią i parametrami. Dziaáanie algorytmu sprawdzono na sieciach testowych, których topologiĊ przestawiono poniĪej: 1. Hierarchiczna sieü wĊzáowa. StopieĔ spójnoĞci h=1, Liczba krawĊdzi równa N-1. Rys 3. Sieü komórkowa StopieĔ spójnoĞci okreĞla liczbĊ niezaleĪnych dróg poáączeniowych miedzy okreĞlonymi wĊzáami sieci. Opis podstawowych parametrów powyĪszych sieci zawarto w tabeli 1. Sieü iloĞü wĊzáów iloĞü wĊzáów odb. gĊstoĞü grupy [%] N1 25 3 12,0 N2 25 8 32,0 N3 105 3 2,9 N4 105 10 9,5 N5 42 3 7,1 N6 42 8 19,0 N7 106 3 2,8 N8 106 10 9,4 N9 16 3 18,7 N10 16 8 50,0 N11 25 3 12,0 N12 25 8 32,0 Tab. 1 Parametry sieci testowych iloĞü krawĊdzi topologia sieci 24 24 104 104 44 44 125 125 24 24 40 40 1 1 1 1 2 2 2 2 3 3 3 3 Program testowany byá na komputerze klasy PC, Athlon 1.4 GHz i 512 MB pamiĊci. W tabeli 2 przedstawiono czasy wykonania algorytmu dla poszczególnych sieci oraz charakterystyki statystyczne pozwalające oceniü wpáyw optymalizacji na wydajnoĞü algorytmu. Sieü Czas ĝrednia iloĞü wykonania ĞcieĪek [s] pomiĊdzy wĊzáem nad. i odb. po optymaliz. IloĞü usuniĊtych ĞcieĪek w trakcie optymaliz. a b Wykorzystanie pamiĊci (wielkoĞü max) [MB] 0 0 N1 < 0,001 1 nieznaczne 0 1 N2 < 0,001 1 nieznaczne 0 0 N3 < 0,001 1 nieznaczne 0 1 N4 < 0,001 1 nieznaczne 0 1 N5 0,005 4 nieznaczne 0 1 N6 0,010 4 nieznaczne 19120 244 N7 13,139 951 | 244 18804 276 N8 28,706 911 | 406 402 31 N9 0,015 73 nieznaczne 356 26 N10 0,030 81 nieznaczne 27543 358 N11 1,893 3254 | 98 28214 326 N12 9,949 3154 | 314 Tab. 1 Wybrane charakterystyki testowanego algorytmu Po przeprowadzanych badaniach moĪna stwierdziü, Īe czas obliczeĔ zaleĪy w duĪej mierze od: x topologii sieci, x iloĞci wĊzáów sieci, x wielkoĞci grupy multicast, x w mniejszym stopniu od maksymalnego dopuszczalnego opóĨnienia ĞcieĪek, oraz wyboru wĊzáa nadawczego. Przyglądając siĊ testowanym sieciom, topologiĊ najbardziej odpowiadającą strukturom realizowanym jest topologia 2 nazwana w referacie „zmodyfikowaną hierarchiczną siecią wĊzáową” reprezentowaną w tabeli przez N5 ... N8. Dla tych sieci uwzglĊdniając iloĞü wĊzáów w sieci wynik czasowy dziaáania algorytmu jest bardziej korzystny, niĪ w przypadku sieci o wyĪszej Ğredniej spójnoĞci (N8 ... N12). Stąd dla sieci o spójnoĞci rzĊdu 1, obliczenia trwaáy poniĪej 1 ms, pomimo, iĪ sieü ta posiadaáa ponad 100 wĊzáów (N3). Z iloĞci usuwanych w trakcie optymalizacji ĞcieĪek wynika, Īe bez tego procesu realne moĪliwoĞci wykorzystania tego algorytmu przesuniĊte byáyby w kierunku maáych sieci o maksymalnie kilkudziesiĊciu wĊzáach. 7. PODSUMOWANIE Sformuáowane zagadnienie jako problem NP.-trudny wymaga zastosowania dla duĪych sieci algorytmów heurystycznych, dla których algorytmy dokáadne są zbyt wolne pod wzglĊdem akceptowalnego czasu obsáugi zgáoszenia. Przedstawiony algorytm, po uwzglĊdnieniu elementów optymalizacji dostarcza w akceptowalnym czasie rozwiązania dla maáych sieci. W przypadku sieci Ğredniej wielkoĞci (rzĊdu kilkudziesiĊciu wĊzáów), algorytm moĪe pomagaü w ocenie innych algorytmów multicast (np. heurystycznych), zastĊpując powszechnie stosowany do tego celu algorytm minimalnego drzewa Steiner’a [2]. Ocena algorytmów heurystycznych w oparciu o przedstawiony algorytm dokáadny dostarcza informacji nie tylko w postaci wzglĊdnych róĪnic pomiĊdzy wynikami generowanymi przez algorytmy heurystyczne, ale takĪe pozwala stwierdziü jak bardzo rozwiązania generowane przez te algorytmy odbiegają od rozwiązaĔ optymalnych. W przypadku duĪych sieci (ponad 100 wĊzáów) wykorzystanie przedstawionego algorytmu jako testera jest uzaleĪnione w gáównej mierze od topologii tych sieci. W wielu wypadkach obliczenia mogą byü wyraĨnie czasocháonne. W przypadku duĪych struktur sieciowych zaleca siĊ uruchamianie programu w trybie wsadowym (na komputerze duĪej mocy). Wynika to czĊĞciowo z zapotrzebowania na zasoby pamiĊci w trakcie realizacji programu (gáównie podczas rekurencyjnego obliczania wyznaczników macierzy strukturalnych). JednakĪe nawet na komputerze klasy PC korzystając z mechanizmu stronicowania pamiĊci, moĪna realizowaü obliczenia dla wiĊkszych sieci. Dla komputerów wieloprocesorowych istnieje moĪliwoĞü zrównoleglenia kodu programu (szczególnie fragmenty dotyczące wyznaczników), moĪe to w znacznym stopniu poprawiü wydajnoĞü obliczeĔ. 8. BIBLIOGRAFIA 1] [2] [3] [4] [5] [6] [7] [8] John Crawford , Gill Waters „Heuristics for ATM Multicast Routing”, Computing Laboratory University of Kent at Canterbury. E.N. Gilbert, H.O. Pollack , „Steiner Minimal Trees”, SIAM Journal on Applied Mathematics , 16 , 1968. J. Korycki “Dokáadne algorytmy dla poáączeĔ rozgaáĊĨnych w sieciach transportowych”, KST, Bydgoszcz 2001. V.P. Kompella, J.C. Pasquale, and G.C. Polyzos. Multicast Routing Keneth A.Ross, Charles R.B.Wright “Discrete Mathematics”, Prentice Hall Inc., 1992. D.B.West, Introduction to Graph Theory. Englewood Cliffs, NJ:Prentice-Hall, 1996. K. Ravindran, Ting-Jian Gong “Cost Analysis of Multicast Transport Architectures in Multiservice Networks”, IEEE/ACM Trans. of networking vol. 6, No.1,pp. 94-109.