• Nie Znaleziono Wyników

Jarosław Korycki, Zastosowanie metod dokładnych dla połączeń rozgałęźnych w sieciach transportowych.Politechnika Szczecińska, Wydział Informatyki

N/A
N/A
Protected

Academic year: 2021

Share "Jarosław Korycki, Zastosowanie metod dokładnych dla połączeń rozgałęźnych w sieciach transportowych.Politechnika Szczecińska, Wydział Informatyki"

Copied!
4
0
0

Pełen tekst

(1)

2003

Poznañskie Warsztaty Telekomunikacyjne

Poznañ 11-12 grudnia 2003

Jarosáaw Korycki

Instytut Architektury Komputerów i Telekomunikacji

POLITECHNIKA SZCZECIēSKA

ul.

ĩoánierska 49, 71-210 Szczecin

jkorycki@wi.ps.pl

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 TŽG áączące wierzchoáek sV z wierzchoákami MkV, 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.

(2)

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.

ts ts

ts B B

m det

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ą: q

K

K

2

'

(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:

(3)

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)!) (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 Poszukiwanie minimalnego elementu permutacji:

¸

¸

¸

¸

¹

·

¨

¨

¨

¨

©

§

q n i i

k

O

2

1



(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 1. Hierarchiczna sieü wĊzáowa

2. Zmodyfikowana hierarchiczna siec wĊzáowa (dualna). StopieĔ spójnoĞci h=1y5.

. . . .

Rys 2. Zmodyfikowana hierarchiczna sieü wĊzáowa 3. Sieü komórkowa r=4. StopieĔ spójnoĞci h=2y4.

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 [%] iloĞü krawĊdzi topologia sieci N1 25 3 12,0 24 1 N2 25 8 32,0 24 1 N3 105 3 2,9 104 1 N4 105 10 9,5 104 1 N5 42 3 7,1 44 2 N6 42 8 19,0 44 2 N7 106 3 2,8 125 2 N8 106 10 9,4 125 2 N9 16 3 18,7 24 3 N10 16 8 50,0 24 3 N11 25 3 12,0 40 3 N12 25 8 32,0 40 3

(4)

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. IloĞü usuniĊtych ĞcieĪek w trakcie optymaliz. Sieü Czas wykonania [s] ĝrednia iloĞü ĞcieĪek pomiĊdzy wĊzáem nad. i odb. po optymaliz. a b Wykorzystanie pamiĊci (wielkoĞü max) [MB] N1 < 0,001 1 0 0 nieznaczne N2 < 0,001 1 0 1 nieznaczne N3 < 0,001 1 0 0 nieznaczne N4 < 0,001 1 0 1 nieznaczne N5 0,005 4 0 1 nieznaczne N6 0,010 4 0 1 nieznaczne N7 13,139 951 19120 244 | 244 N8 28,706 911 18804 276 | 406 N9 0,015 73 402 31 nieznaczne N10 0,030 81 356 26 nieznaczne N11 1,893 3254 27543 358 | 98 N12 9,949 3154 28214 326 | 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.

Cytaty

Powiązane dokumenty