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