streszczenie rozprawy doktorsk-43

Transkrypt

streszczenie rozprawy doktorsk-43
Instytut Badań Systemowych Polskiej Akademii Nauk
Robert Dekowski
Zastosowanie zmodyfikowanej metody symulowanego wyŜarzania
do optymalizacji przepustowości sieci komputerowych
Streszczenie rozprawy doktorskiej napisanej pod kierunkiem
prof. nadzw. dr hab. inŜ. Jacka Malinowskiego.
Warszawa 2012
Wstęp
Dynamiczny rozwój technologii informatycznych, jaki daje się zaobserwować w ciągu
ostatnich kilkudziesięciu lat prowadzi do ciągle zwiększającego się ruchu sieciowego, stale
rosnącego zapotrzebowania na przepustowość, a więc konieczności wprowadzania rozwiązań
optymalizujących wykorzystanie zasobów sieciowych.
Moja praca dotyczy problemu wydajności sieci komputerowych, a głównym
rozwaŜanym w niej zagadnieniem jest optymalizacja przepustowości tych sieci w aspekcie
działania protokołu OSPF. Opracowane rozwiązanie skutkuje zwiększeniem efektywnej
przepustowości sieci w tych przypadkach, w których jest to moŜliwe. To, czy moŜliwość taka
istnieje, okazuje się w wyniku porównania przepustowości osiąganych przy zastosowaniu
dwóch typów równowaŜenia obciąŜenia tj. tylko z udziałem tras o koszcie równym
optymalnemu (równowaŜenie typu RK), oraz, dodatkowo, z udziałem niektórych tras o
koszcie większym od optymalnego (równowaŜenie typu NK). Porównanie to jest
dokonywane w czasie rzeczywistym, co umoŜliwiają odpowiednie (autorskie) algorytmy. Na
podstawie otrzymywanych wyników podejmowana jest decyzja o włączeniu (lub nie)
równowaŜenia NK, a w konsekwencji uzyskanie w czasie rzeczywistym poprawy
przepustowości sieci (w miarę moŜliwości). Wybór protokołu OSPF jako przedmiotu
usprawnienia wynika z tego, Ŝe jest on protokołem otwartym oraz szeroko wykorzystywanym
w średnich i duŜych sieciach komputerowych. W pracy zostało przedstawione rozwiązanie
hybrydowe (scentralizowano-rozproszone), w którym występuje centralna stacja zarządzająca
oraz zarządzane przez nią routery. Na podstawie spodziewanej charakterystyki ruchu
sieciowego, stacja zarządzająca wyznacza pewne współczynniki (beta) – po jednym dla
kaŜdego routera – i co pewien czas dystrybuuje je do tych routerów. Istotne jest, Ŝe całe
rozwiązanie musi działać w czasie rzeczywistym, a wyznaczone wartości współczynników
beta obowiązują tylko w krótkim przedziale czasu. Na podstawie tych współczynników
routery budują swoje tablice routingu z uwzględnieniem tras o kosztach większych od
optymalnego. Do wyznaczenia wartości współczynników beta stacja zarządzająca
wykorzystuje algorytm heurystyczny – symulowanego wyŜarzania (SW). NaleŜy zaznaczyć,
Ŝe istnieją teŜ inne sposoby optymalizacji przepustowości sieci komputerowych, w tym z
wykorzystaniem metod dokładnych, np. Simplex, lecz jak zostało w pracy pokazane, jej
złoŜoność jest znacznie większa od metody SW. W konsekwencji, zastosowanie metody
dokładnej mogłoby skutkować tym, Ŝe rozwiązanie przestanie działać w czasie rzeczywistym,
natomiast odpowiednio zastosowana metoda SW takiego ryzyka jest pozbawiona.
Teza mojej pracy składa się z dwóch części. Pierwsza część brzmi: „odpowiednie
zastosowanie równowaŜenia obciąŜenia typu NK moŜe prowadzić do wzrostu przepustowości
sieci komputerowej”. Druga część mówi, Ŝe „zasadnym jest stosowanie algorytmów
heurystycznych do optymalizacji tejŜe przepustowości”.
Głównym zadaniem podejmowanym w pracy jest optymalizacja przepustowości sieci
komputerowych. Jest ono formułowane jako zadanie programowania liniowego (ang. Linear
Programming) i programowania niewypukłego rozdzielnego (ang. Non-Convex Separable
Programming). Zadanie programowania liniowego zostało sformułowane do
minimalizowania wartości współczynników obciąŜania (wysycenia) poszczególnych łączy
sieci. Warto podkreślić, Ŝe minimalizacja wartości tych współczynników w sposób
jednoznaczny, przekłada się na maksymalizację przepustowości optymalizowanej sieci.
Innymi słowy, gdy poszczególne łącza są mniej obciąŜone (posiadają mniejszą wartość
współczynnika obciąŜenia) to wówczas pozostałą część ich przepustowości moŜna
wykorzystać do przesłania dodatkowego ruchu sieciowego. Natomiast zadanie NCSP zostało
sformułowane do maksymalizowania wartości przepustowości środowiska sieciowego obliczonej z wykorzystaniem (niŜej przedstawionego) algorytmu 3. Istotnym jest, Ŝe w
przypadku zastosowania metody Simplex przepustowość sieci jest rozumiana nieco inaczej
niŜ w przypadku definiowania jej za pomocą funkcjonału niewypukłego o zmiennych
rozdzielonych. W przypadku pierwszym występuje minimalizacja obciąŜenia poszczególnych
łączy, zaś w przypadku drugim maksymalizacja przepustowości poszczególnych tras
komunikacji.
Pierwszoplanowym celem pracy jest wykazanie zasadności stosowania algorytmów
heurystycznych (przede wszystkim symulowanego wyŜarzania) do optymalizacji
przepustowości sieci komputerowej. Dalszym celem jest wykazanie słuszności stosowania
równowaŜenia obciąŜenia typu NK w protokole OSPF w sytuacji, kiedy przeciąŜeniu ulega
jeden z interfejsów routera, na którym działa ten protokół. Proponowane rozwiązanie zostało
zaimplementowane w wirtualnej1 sieci komputerowej wykorzystującej przystosowany
specjalnie do jej potrzeb protokół OSPF.
Dla osiągnięcia wyŜej wymienionych celów wykonano następujące zadania opisane w
kolejnych rozdziałach pracy:
• scharakteryzowano zastosowania oraz moŜliwości protokołu OSPF;
• opracowano autorski sposób wyznaczania tras o nierównych kosztach oraz
równowaŜenia obciąŜenia z udziałem tych tras;
• zbadano wpływ zastosowanego rozwiązania na wydajność sieci komputerowej;
• formalne zdefiniowano problem optymalizacji przepustowości sieci komputerowej
jako zadania programowania liniowego i niewypukłego rozdzielnego;
• przeprowadzono dobór parametrów, statystyk oraz narzędzi mających słuŜyć
wykazaniu słuszności postawionej tezy;
• przeprowadzono odpowiednie badania, dotyczące wykazania słuszności przyjętej tezy
badawczej;
• przeanalizowano zebrane informacje wraz z odpowiednimi wnioskami;
• dokonano porównania wydajności nowej metody z wydajnością metody dokładnej
oraz z innymi wybranymi metodami heurystycznymi;
• przedstawiono przykładowe zastosowanie badanego rozwiązania.
Rozdział 1.
RównowaŜenie obciąŜenia z wykorzystaniem tras o koszcie
równym i większym od optymalnego
Nowoczesny protokół routingu przeznaczony do pracy w średnich i duŜych sieciach
komputerowych, powinien obsługiwać równowaŜenie obciąŜenia zarówno z udziałem tras o
koszcie równym optymalnemu jak teŜ tras o koszcie większym od optymalnego.
1.1 Opis zaproponowanego rozwiązania
Opracowane rozwiązanie polega na dynamicznym włączaniu i wyłączaniu
równowaŜenia obciąŜenia typu NK, w sytuacji kiedy przeciąŜeniu ulega przynajmniej jeden z
interfejsów routera. Do przeprowadzenia takiego działania niezbędnym jest:
• zdefiniowanie warunków koniecznych do włączenia (wyłączenia) równowaŜenia
obciąŜenia typu NK;
• utworzenie tablicy routingu zawierającej odpowiednie wpisy;
• rozdzielenie ruchu sieciowego na róŜne trasy według przyjętego algorytmu.
1
Poprzez określenie „wirtualna sieć komputerowa” naleŜy rozumieć hipotetyczną sieć komputerową
zaproponowaną przez autora na potrzeby przedmiotowej pracy.
1.2 Warunki niezbędne do włączenia (wyłączenia) równowaŜenia obciąŜenia
typu NK
W przedstawionym rozwiązaniu wprowadza się dwa parametry konfiguracyjne
ustawiane przez administratora danego routera. Pierwszy z nich o nazwie lbstart (ang. load
balancing start) jest wartością z przedziału domkniętego <0,1> odpowiadającą obciąŜeniu
interfejsu, po przekroczeniu którego następuje włączenie równowaŜenia obciąŜenia.
Przykładowo dla lbstart=0.9 równowaŜenie obciąŜenia jest włączane po przekroczeniu
obciąŜenia (któregokolwiek z interfejsów) równego 90%. Analogicznie, drugi parametr o
nazwie lbstop słuŜy do dynamicznego wyłączania równowaŜenia obciąŜenia w sytuacji, kiedy
obciąŜenie interfejsu (interfejsów) osiągnie wartość niŜszą od przyjętej. Wartości
wspomnianych parametrów powinny być ustalane indywidualnie dla danej sieci na podstawie
odpowiedniej analizy ruchu sieciowego. W tym miejscu warto zaznaczyć, Ŝe im większa
liczba interfejsów zostaje przeciąŜona tym router jest „bardziej skłonny” do akceptowania tras
alternatywnych (o koszcie nieoptymalnym), lecz co istotne, prowadzących przez inne
interfejsy wyjściowe niŜ te, przez które prowadzą trasy optymalne. Skłonność do
akceptowania tras o koszcie nieoptymalnym wraz ze wzrostem liczby przeciąŜonych
interfejsów, wynika bezpośrednio z wzoru (1.1).
1.3 Utworzenie tablicy routingu zawierającej odpowiednie wpisy
W opracowanym rozwiązaniu tablice routingu poszczególnych routerów powinny na
stałe zawierać wpisy określające wszystkie trasy optymalne (interfejsy wyjściowe) do kaŜdej
znanej sieci (oraz oczywiście adres interfejsu przez który prowadzi trasa domyślna).
Dodatkowo w sytuacji, kiedy pojawiają się przeciąŜone interfejsy, do tablicy tej powinny
zostać dodane inne trasy (o koszcie nieoptymalnym) prowadzące do znanych sieci. W
przedstawionej metodzie, trasa alternatywna prowadząca do danej sieci zostaje dodana do
tablicy routingu, gdy spełnia odpowiedni warunek tj. przedstawiony wzorem (1.1).
c ≤ copt* αi * βi
(1.1)
gdzie:
i – numer routera;
c – koszt analizowanej trasy;
copt - koszt trasy optymalnej;
αi – liczba przeciąŜonych interfejsów routera ri przez które prowadzą trasy do sieci docelowej;
βi - współczynnik wyznaczany osobno dla kaŜdego routera ri przez stację zarządzającą z
wykorzystaniem metody symulowanego wyŜarzania.
Dokładne uzasadnienie przyjętej postaci powyŜszego warunku znajduje się w mojej pracy.
Warto dodać, Ŝe βi jest parametrem słuŜącym do dostrojenia wyznaczonego rozwiązania do
istniejącej topologii oraz charakterystyki ruchu sieciowego. KaŜdy router z danego obszaru
posiada jeden przypisany do niego parametr beta. Wartości tych parametrów generowane są
centralnie przez stację zarządzającą i co pewien czas dystrybuowane do wszystkich
zarządzanych routerów. Sposób generowania wspomnianych parametrów jest tak dobrany
Ŝeby globalnie maksymalizować przepustowość całego obszaru (z uwzględnieniem
spodziewanej charakterystyki ruchu sieciowego w danym interwale czasu) i stanowi główny
przedmiot badań. Wyznaczanie wartości parametrów beta jest realizowane z zastosowaniem
metody SW.
Schemat blokowy oraz werbalny opis algorytmu (w pracy ma on nr 1) słuŜącego do
budowy tablicy routingu (z uwzględnieniem tras o koszcie nieoptymalnym) znajdują się w
rozprawie, natomiast w tym miejscu warto bardziej szczegółowo wyjaśnić, jaka jest jego rola
oraz powiązanie z algorytmem SW. Mianowicie, algorytm ten działa indywidualnie na
kaŜdym z routerów. Jedną z jego danych wejściowych jest wartość współczynnika beta. Na
podstawie tej wartości i z wykorzystaniem nierówności (1.1) algorytm podejmuje decyzję,
które trasy powinny zostać dodane do tablicy routingu, a które nie.
1.4 Rozdzielenie ruchu sieciowego na róŜne trasy według przyjętego
algorytmu
Przede wszystkim proces decyzyjny rozdziału pakietów powinien w jak najmniejszym
stopniu wpływać na wydajność routera. NaleŜy zaznaczyć, Ŝe obecna specyfikacja protokołu
OSPF dopuszczając równowaŜenie obciąŜenia typu RK, nie definiuje sposobu w jaki pakiety
powinny być rozdzielane pomiędzy poszczególne interfejsy. Na potrzeby pracy zostały
wybrane dwa sposoby. Pierwszy sposób polega na zapamiętywaniu źródłowego adresu IP i
kierowaniu pakietów cyklicznie na poszczególne trasy. Przykładowo, dla dostępnych trzech
tras t1, t2, t3 prowadzących do danej sieci, pakiety z adresu „A” są kierowane trasą t1, z adresu
„B” trasą t2, z adresu „C” trasą t3 z adresu „D” trasą t1 itd. Drugi sposób polega na cyklicznym
podziale pakietów pomiędzy wszystkie dostępne trasy prowadzące do danej sieci bez względu
na ich adresy źródłowe, porty czy inne parametry. Na koniec warto zaznaczyć, Ŝe sposób
rozdziału pakietów nie jest zagadnieniem trywialnym, więcej informacji o tym zagadnieniu
znajduje się np. w [1] [2] [3] [13] [14].
Rozdział 2.
Teoretyczne aspekty głównego zagadnienia badawczego
Rozdział ten zawiera opis teoretycznych aspektów związanych z optymalizacją ruchu
sieciowego. Przedstawiono w nim model środowiska sieciowego, sformułowano zadania
optymalizacji z wykorzystaniem metody dokładnej tj. programowania liniowego (Simplex),
oraz metody SW (NCSP).
Dla kompletności naleŜy wyjaśnić jakie jest powiązanie pomiędzy zagadnieniami PL i
NCSP oraz metodami Simplex i SW. Mianowicie w pracy badana jest moŜliwość zwiększenia
przepustowości sieci komputerowej poprzez zastosowanie równowaŜenia obciąŜenia typu
NK. Badanie to zostało przeprowadzone z wykorzystaniem dwóch róŜnych metod tj.:
dokładnej i heurystycznej. W pierwszym przypadku, problem został sformułowany jako
zadanie programowania liniowego, a narzędziem słuŜącym do jego rozwiązania była metoda
Simplex. W przypadku drugim, problem został zdefiniowany jako zadanie NCSP, zaś
narzędziem słuŜącym do jego rozwiązania była zmodyfikowana metoda SW. NaleŜy dodać,
Ŝe porównanie efektywności obydwu rozwiązań stanowi bardzo waŜną część pracy.
2.1 Sformułowanie zadań optymalizacji
W niniejszym podrozdziale zadanie optymalizacji przepustowości sieci komputerowej
jest sformułowane jako zadanie programowania liniowego oraz zadanie programowania
NCSP. WaŜnym jest, Ŝe dla kaŜdej z uŜytych metod (dokładnej Simplex i przybliŜonej SW)
inaczej definiowana jest wydajność sieci. W przypadku metody Simplex jest ona określona
funkcjonałem liniowym, a w przypadku metody SW funkcjonałem niewypukłym o
zmiennych rozdzielonych. W pracy rozpatrywane są dwa typy zadań programowania
matematycznego, w celu porównania ich efektywności oraz złoŜoności – co stanowi tezę
pracy.
2.1.1 Sformułowanie zagadnienia optymalizacji jako zadania programowania liniowego
Przed formalnym zdefiniowaniem zadania optymalizacji przepustowości sieci jako
zadania programowania liniowego warto przedstawić krótki opis do niego wprowadzający.
Mianowicie, w przedstawionym modelu środowisko sieciowe rozumiane jest jako graf
skierowany, w którym wierzchołki reprezentowane są przez routery, a krawędzie poprzez
łącza sieci. KaŜde łącze posiada indywidualnie przypisany do niego współczynnik obciąŜenia
(wysycenia), który przyjmuje wartości nieujemne i nie większe niŜ nominalna przepustowość
tego łącza. W omawianym zadaniu optymalizacja jest przeprowadzana poprzez minimalizację
wartości tych współczynników (zmienne decyzyjne). Wspomniana minimalizacja odbywa się
dla kaŜdego łącza i kaŜdej komunikującej się pary routerów.
Przechodząc do formalnego zdefiniowania zadania optymalizacji przepustowości sieci jako
zadania programowania liniowego przyjmijmy następujące oznaczenia:
m – liczba routerów – wierzchołków grafu.
R – router {Ri: 1 ≤ i ≤ m } naleŜący do zbioru routerów {R1, ...,Rm}.
n – liczba łączy – krawędzi grafu.
E – zbiór łączy, E={e1,...,en}oraz {ej: 1 ≤ j ≤ n }.
πj – nominalna przepustowość łącza ej, 1 ≤ j ≤ n .
r – liczba par komunikujących się routerów.
( R1k , R2k ) – k-ta para komunikujących się routerów, indeks górny oznacza numer pary, indeks
dolny oznacza kolejność w parze, tzn. R1k jest routerem początkowych k-tej pary, a
R2k jej routerem końcowym, 1 ≤ k ≤ r .
x kj – współczynnik obciąŜenia łącza ej przez parę routerów ( R1k , R2k ), ilość danych
przesłanych między routerami tej pary, x kj ∈< 0, π j > , 1 ≤ k ≤ r , 1 ≤ j ≤ n .
Zmienne decyzyjne w sformułowanym poniŜej zadaniu optymalizacji.
k
x - wektor współczynników obciąŜenia łączy dla pary numer k, x k = [ x1k ,..., x nk ]T , 1 ≤ k ≤ r .
dk – całkowita ilość danych do przesłania między routerami pary ( R1k , R2k ), 1 ≤ k ≤ r .
D – macierz ruchu sieciowego o rozmiarach rxm i elementach δ ki zdefiniowanych
następująco: δ ki = d k jeśli Ri = R1k (Ri jest węzłem początkowym pary k), δ ki = − d k
jeśli Ri = R2k (Ri jest węzłem końcowym pary k), w pozostałych przypadkach
δ ki = 0 , 1 ≤ k ≤ r , 1 ≤ i ≤ m .
δ – wektor złoŜony z elementów k-tego wiersza macierzy D, δ k = [δ k 1 ,..., δ km ]T , 1 ≤ k ≤ r .
B – zmodyfikowana macierz incydencji grafu, o rozmiarach mxn i elementach bij
k
zdefiniowanych następująco: bij = −1 jeśli łącze ej prowadzi do routera Ri,
bij = 1 jeśli łącze ej prowadzi od routera Ri, w pozostałych przypadkach bij = 0 ,
1 ≤ i ≤ m , 1 ≤ j ≤ n .2
f – funkcja celu zadania optymalizacji określona na zmiennych decyzyjnych –
współczynnikach x kj , 1 ≤ j ≤ n , 1 ≤ k ≤ r , następującym wzorem
r
n
f = ∑∑ x kj
(2.1)
k =1 j =1
Zadanie optymalizacji polega na znalezieniu minimum funkcji f określonej wzorem (2.1) przy
czym zmienne decyzyjne spełniają następujące ograniczenia
∀1 ≤ k ≤ r
,
∀1 ≤ j ≤ n
x kj ≥ 0
(2.2)
2
KaŜde łącze dwukierunkowe jest "sztucznie" dzielone na dwa łącza jednokierunkowe przeciwnie skierowane.
Jednocześnie warunki (2.2) i (2.3) zapewniają, Ŝe całkowity ruch w obu kierunkach nie przekroczy
przepustowości danego łącza. Dodać naleŜy, Ŝe takie sformułowanie zadania optymalizacji obejmuje równieŜ
sytuację, w której w sieci występują łącza faktycznie jednokierunkowe.
r
∀1 ≤ j ≤ n
∑x
k =1
k
j
≤πj
(2.3)
∀1 ≤ k ≤ r
Bx k = δ k
(2.4)
Fizyczna interpretacja powyŜszych ograniczeń jest następująca. Dla (2.2) - współczynnik
obciąŜenia łącza odnosi się do ilości danych przez to łącze przesyłanych, dlatego jego wartość
nie moŜe być ujemna. Dla (2.3) - wartość sumy współczynników obciąŜenia danego łącza nie
moŜe być większa niŜ nominalna przepustowość tego łącza. Dla (2.4) - ograniczenie to
wynika bezpośrednio z prawa zachowania przepływu, czyli z routera początkowego musi
dokładnie wypływać załoŜona ilość danych, ta sama ilość danych musi wpływać do routera
końcowego, a we wszystkich pozostałych routerach róŜnica ilości danych jakie wpływają do
routera i wypływają z niego musi być równa zero. W związku z powyŜszym ograniczenie to
jest w formie równania nie zaś nierówności.
2.1.2 Sformułowanie zagadnienia optymalizacji jako zadania programowania NCSP
W przedstawionym zadaniu, optymalizacja jest realizowana poprzez maksymalizację
funkcjonału niewypukłego o zmiennych rozdzielonych, wyraŜonego wzorem (2.5), czyli
poprzez rozwiązanie zadania NCSP (ang. Non-Convex Separable Programming).
Wspomniany funkcjonał dokładnie został zdefiniowany w pracy.
Przechodząc do formalnego zdefiniowania modelu optymalizacji przepustowości sieci jako
zadania programowania NCSP przyjmijmy dodatkowe oznaczenia:
b – wektor współczynników beta, b = [ β1 ,..., β m ]T .
βi – wartość współczynnika beta dla routera Ri, 1 ≤ i ≤ m . Współczynniki te są zmiennymi
decyzyjnymi w przedstawionym w dalszym ciągu zadaniu optymalizacji.
βimax – maksymalna wartość współczynnika βi wyliczana ze wzoru zawartego w rozprawie,
1≤ i ≤ m.
lk(b) – liczba tras komunikacji dla pary routerów ( R1k , R2k ), 1 ≤ k ≤ r .
t qk (b) – trasa nr q dla pary routerów dla pary routerów ( R1k , R2k ), 1 ≤ q ≤ l k (b) , 1 ≤ k ≤ r .
Ψ (k , q, b) – efektywna przepustowość trasy t qk (q) dla danego wektora b, 1 ≤ q ≤ l k (q ) ,
1≤ k ≤ r.
Ψ nom (k , q, b) – nominalna przepustowość trasy t qk (b) .
Ψ (b) – całkowita przepustowość środowiska sieciowego. Jest to funkcja celu zadania
optymalizacji, określona na zmiennych decyzyjnych – współczynnikach βi, 1 ≤ i ≤ m ,
następującym wzorem.
r lk ( b )
Ψ (b) = ∑ ∑ Ψ (k , q, b)
(2.5)
k =1 q =1
Zadanie optymalizacji polega na znalezieniu maksimum funkcji Ψ (b) określonej wzorem
(2.5), przy czym zmienne decyzyjne spełniają następujące ograniczenia:
1≤ k ≤ r
∀1 ≤ q ≤ l k (b)
0 ≤ Ψ (k , q, b) ≤ Ψ nom (k , q, b)
(2.6)
∀1 ≤ i ≤ m
∀1 ≤ k ≤ r
0 ≤ β i ≤ β imax
(2.7)
lk ( b )
∑ Ψ ( k , q, b ) ≥ d
q =1
k
(2.8)
Zadanie optymalizacji sformułowane w powyŜszy sposób jest w pracy rozwiązywane z
zastosowaniem zmodyfikowanego algorytmu SW. Natomiast fizyczna interpretacja
powyŜszych ograniczeń jest następująca. Dla (2.6) – ilość danych przesyłanych z
wykorzystaniem danej trasy nie moŜe być ujemna ani większa niŜ nominalna jej
przepustowość. Dla (2.7) – wartość współczynnika beta nie moŜe być ujemna poniewaŜ koszt
trasy jest wartością dodatnią. Przy ujemnej wartości współczynnika beta nierówność (1.1)
nigdy nie byłaby spełniona, w konsekwencji tablica routingu zawierałaby jedynie trasy
optymalne. Natomiast stosowanie większych wartości współczynnika beta niŜ wartość
maksymalna (sposób wyznaczania wartości maksymalnych został opisany w pracy) jest
bezzasadne, poniewaŜ niczego w zadaniu nie zmienia (pod względem jakościowym), a
jedynie zwiększa przestrzeń poszukiwań rozwiązań optymalnych. Dla (2.8) – wyznaczona
sumacyjna przepustowość wszystkich tras jakimi przepływają dane wymieniane przez kaŜdą
parę routerów, nie moŜe być mniejsza niŜ załoŜona ilości ruchu sieciowego jaki para ta
powinna wymienić.
2.2 Budowa algorytmu wyznaczania przepustowości środowiska sieciowego
Podrozdział zawiera skrócony, werbalny opis autorskiego algorytmu słuŜącego do
wyznaczania przepustowości sieci komputerowych, a takŜe krótkie wzmianki na temat
alternatywnych metod wyznaczania przepustowości. Wspomniany algorytm naleŜy traktować
jako „narzędzie” słuŜące do mierzenia wydajności (efektywności) działania głównego
algorytmu (tj. zmodyfikowanego algorytmu SW).
1.
2.
3.
4.
5.
6.
Algorytm 3
Wyznaczenie wszystkich dopuszczalnych tras routingu dla kaŜdej z komunikujących
się par routerów.
Obliczenie dla kaŜdego łącza sieci, w ilu trasach ono występuje.
Obliczenie dla kaŜdego łącza sieci jego efektywnej przepustowości.
Wyznaczenie dla kaŜdej trasy jej efektywnej przepustowości.
Wyznaczenie przepustowości komunikacji pomiędzy kaŜdą parą routerów.
Wyznaczenie przepustowości środowiska sieciowego jako sumę przepustowości
wszystkich komunikujących się z sobą par sieci (routerów).
Kiedy routery dowolnej z komunikujących się par zakończą (lub rozpoczną) wymianę
informacji, wtedy warunki panujące w analizowanym środowisku ulegną zmianie i pewne
łącza mogą zostać odciąŜone lub dociąŜone. W takiej sytuacji naleŜy ponownie uruchomić
cały proces wyznaczania przepustowości, lecz juŜ z nowymi warunkami początkowymi. W
pracy został takŜe zawarty opis powyŜszego algorytmu zapisany w formie pseudokodu.
Dodatkowo moŜna wyliczyć czasy komunikacji dla poszczególnych par routerów jako iloraz
ilości wymienianych danych przez te routery i szybkości ich komunikacji. NaleŜy wspomnieć,
Ŝe funkcjonał słuŜący do wyznaczania przepustowości środowiska sieciowego jest tzw.
funkcją niewypukłą, kawałkami liniową (ang. Non-Convex Piecewise Linear Function), czyli
składającą się w obrębie swojej dziedziny z połączonych pod róŜnym kątem prostych (funkcji
afinicznych - y=ax+b). W aspekcie teorii optymalizacji, maksymalizacja tego funkcjonału jest
zadaniem tzw. NCSP (ang. Non-Convex Separable Programing) [22].Warto takŜe zaznaczyć,
Ŝe istnieją inne powszechnie znane algorytmy wyznaczania w grafach maksymalnej
przepustowości (przepływu). Przykładami mogą być algorytmy Forda-Fulkersona, EdmonsaKarpa lub Dinica [15][16][17][18]. Opisy ich wad i zalet w odniesieniu do zastosowanego
algorytmu znajdują się w pracy. Dla kompletności warto dodać, Ŝe w rpzprawie
wykorzystywane są takŜe dwa inne algorytmy tj.: algorytm 1 i algorytm 5. Algorytm 1 działa
na kaŜdym routerze osobno i na podstawie otrzymanego (od stacji zarządzającej)
współczynnika beta, tworzy zawartość tablicy routingu. Algorytm 5 jest to zmodyfikowany
algorytm symulowanego wyŜarzania pracujący na stacji zarządzającej i wyznaczający
wartości współczynników beta. Logiczny schemat przepływu informacji pomiędzy tymi
algorytmami został przedstawiony w dalszej części autoreferatu.
Rozdział 3.
Optymalizacja przepustowości środowiska sieciowego z
zastosowaniem metody symulowanego wyŜarzania
Rozdział ten zawiera ogólne informacje o metodzie symulowanego wyŜarzania, a takŜe
dokładny opis optymalizacji przepustowości środowiska sieciowego z zastosowaniem tej
metody, oraz analizę jej złoŜoności obliczeniowej. UŜycie powyŜszej metody wymagało
wprowadzenia do niej pewnych zmian, które miały na celu dostosowanie algorytmu
symulowanego wyŜarzania do potrzeb oraz specyfiki badanego zagadnienia. Warto dodać, Ŝe
w przypadkach duŜych sieci zastosowanie dokładnych metod analitycznych jest nieefektywne
z powodu zbyt długiego (nierzeczywistego) czasu ich działania. Powstaje za tym potrzeba
zastosowania innych metod umoŜliwiających wyznaczenie rozwiązań, jeśli nie optymalnych
to, chociaŜ zbliŜonych do nich na tyle, Ŝeby metodę uznać za efektywną i, co nie mniej
istotne, działającą w czasie rzeczywistym. Moją propozycją rozwiązania omawianego
problemu jest zastosowanie zmodyfikowanej metody symulowanego wyŜarzania. Warto
dodać, Ŝe wybór tej metody był podyktowany po pierwsze szybkością jej działania, po drugie
jakością uzyskiwanych rozwiązań suboptymalnych.
3.1 Szczegółowy opis metody badawczej
Metoda symulowanego wyŜarzania zawdzięcza swoja nazwę zjawisku fizycznemu,
które polega na stopniowym schładzaniu ciała fizycznego będącego początkowo w postaci
płynnej, aŜ do jego zestalenia. Główna idea omawianej metody polega na zastosowaniu
rozwiązań występujących w procesach technologicznych do rozwiązania innych problemów,
w tym takŜe optymalizacyjnych. Powstaje pytanie jak dostosować tę metodę do problemów
optymalizacyjnych? MoŜna tego dokonać np. poprzez następujące analogie: minimum
globalne – stan o minimalnej energii, iteracja algorytmu (przekształcenie lokalne) – ruch
cząstki, funkcja celu (oceny) – energia układu, otrzymane rozwiązanie – bieŜący stan układu
termodynamicznego. Ogólny schemat algorytmu symulowanego wyŜarzania został zawarty w
pracy.
3.2 Propozycja udoskonalenia (dostosowania) algorytmu symulowanego
wyŜarzania
W mojej pracy do optymalizacji przepustowości środowiska sieciowego został
zastosowany algorytm SW z regułą akceptacji Metropolisa. Pokrótce warto dodać, Ŝe
algorytm ten zaliczony został do 10 czołowych algorytmów, które wywarły „największy
wpływ na rozwój i praktykę nauki i techniki w XX wieku” (wg Computing Science and
Engineering). Dokładny opis tego algorytmu wraz z jego modyfikacjami oraz zapisem w
pseudokodzie i schematem blokowym znajduje się w mojej pracy.
3.3 Zastosowanie symulowanego
przepustowości środowiska sieciowego
wyŜarzania
do
optymalizacji
Warto wspomnieć, Ŝe główne udoskonalenie dostosowujące metodę symulowanego
wyŜarzania do optymalizacji przepustowości sieci komputerowej, polega na dodaniu
parametru nazwanego „przepustowość routera”. Porównanie jego wartości w kolejnych
iteracjach przekłada się bezpośrednio na to, z jakiego przedziału (w bieŜącej iteracji) jest
losowana wartość parametru beta (dla danego routera). Natomiast w klasycznej postaci
wartości wspomnianych parametrów byłyby losowane z pełnego zbioru rozwiązań
dopuszczalnych. Inną, choć juŜ mniej istotną modyfikacją, jest wprowadzenie parametru
beta_max (indywidualnie dla kaŜdego routera) określającego górną granicę przedziału, z
jakiego losowana jest beta – wzór słuŜący do wyznaczania maksymalnej wartości parametru
beta znajduje się w pracy. Logiczny schemat przepływu informacji pomiędzy algorytmami
obrazujący zasadę działania zaproponowanego rozwiązania został przedstawiony na rys.3.1.
Rys. 3.1. Logiczny schemat przepływu informacji pomiędzy uŜywanymi algorytmami.
Opisywane rozwiązanie działa w następujący sposób:
Algorytm 1 na podstawie posiadanych informacji o topologii sieci i otrzymanych (od stacji
zarządzającej) współczynników beta wyznacza tablice routingu dla kaŜdego z routerów
wchodzących w skład sieci. Następnie na podstawie tych tablic i topologii sieci wyznacza
wszystkie osiągalne acykliczne i dopuszczalne trasy prowadzące do danej sieci – trasy
aktywne. Przez termin dopuszczalne naleŜy rozumieć takie trasy, z których kaŜda prowadzi
przez inny interfejs wyjściowy danego routera. Następnie zestaw wyznaczonych tras
aktywnych jest przesyłany do algorytmu 3. Algorytm 3 na podstawie uzyskanych informacji z
algorytmu 1 wylicza wartość przepustowości środowiska sieciowego (oznaczoną jako Ψ(b)),
po czym przesyła tę wartość do algorytmu 5. Algorytm 5 posiadając informacje o
spodziewanej charakterystyce ruchu sieciowego i na podstawie otrzymanej wartości Ψ(b), a
takŜe z zastosowaniem swojej „logiki” wyznacza nowe wartości współczynników beta maksymalizujący wartość Ψ(b) dla całego obszaru OSPF. Następnie wartości
współczynników beta są przesyłane do algorytmu 1. MoŜna dodać, Ŝe algorytm 1 działa
osobno na kaŜdym z routerów wchodzących w skład optymalizowanego obszaru (segmentu
sieci), natomiast algorytmy 3 i 5 działają na stacji zarządzającej.
3.4 Scenariusze przeprowadzonych badań
Do przeprowadzenia badań został zastosowany algorytm 5 (SW). Podczas badań
modyfikacji ulegały następujące parametry algorytmu:
• schemat schładzania;
• temperatura początkowa;
• liczba iteracji bez zmiany temperatury;
• warunek zatrzymania.
Badania zostały przeprowadzone dla trzech topologii sieciowych przedstawionych na
poniŜszych rysunkach: 3.2; 3.3 i 3.4.
Rys.3.2. Pierwsza z poddanych badaniom przykładowych topologii.
Rys.3.3. Druga z poddanych badaniom przykładowych topologii.
Rys.3.4. Trzecia z poddanych badaniom topologii sieciowych.
Warto zaznaczyć, Ŝe topologia trzecia (tj. przedstawiona na rys. 3.4) jest schematem sieci
komputerowej stanowiącej obszar zero jednej z duŜych instytucji finansowych obecnie
funkcjonującej na polskim oraz międzynarodowym rynku. Dla uproszczenia i większej
przejrzystości (w tym schematu topologii) optymalizacja przepustowości została
przeprowadzona dla ruchu sieciowego wymienianego pomiędzy obszarami O1 i O2. W czasie
kaŜdego z badań modyfikacji ulegała wartość tylko jednego z parametrów badawczych.
Modyfikacje były przeprowadzane w taki sposób, Ŝeby kaŜda zaplanowana kombinacja
przyjętych wartości i parametrów pracy algorytmu została sprawdzona. Do przeprowadzenia
badań zostało uŜyte napisane przeze mnie oprogramowanie. W oprogramowaniu tym
zaimplementowane zostały algorytmy 3 i 5.
3.5 ZłoŜoność obliczeniowa zastosowanej metody
Bardzo istotnym czynnikiem, często decydującym o praktycznym zastosowaniu danej
metody jest jej złoŜoność obliczeniowa. W bieŜącym podrozdziale została podjęta próba
wyznaczenia tej złoŜoności dla algorytmu SW, zastosowanego i dopasowanego do
optymalizacji przepustowości środowiska sieciowego. Ujednolicając terminologię, przez
pojęcie złoŜoności obliczeniowej naleŜy rozumieć zaleŜność funkcyjną pomiędzy liczbą
węzłów oraz krawędzi grafu reprezentującego optymalizowane środowisko sieciowe
(argumenty funkcji), a liczbą niezbędnych do wykonania operacji prostych (wartość funkcji
złoŜoności). Termin „operacja prosta” winien być rozumiany jako jedna z podstawowych
operacji arytmetycznych (dodawanie, odejmowanie ewentualnie mnoŜenie lub dzielenie) albo
porównanie dwóch wartości liczbowych. Wyznaczanie złoŜoności całego algorytmu 5 zostało
dokładnie omówione w pracy, natomiast na potrzeby niniejszego opracowania została
przedstawiona jedynie wersja skrócona.
Przyjmując oznaczenia:
m – liczba routerów, wierzchołków grafu.
k
k
lk(b)– liczba tras komunikacji dla pary routerów ( R1 ,R 2 ), 1≤ k≤ r .
r
l*(b) – całkowita liczba występujących tras komunikacji rozumiana jako l(b) = ∑ l k (b) .
k=1
l~(b) - liczba tras aktywnych, tj. tras, po których przesyłany jest ruch sieciowy.
^
d (t qk (b)) - średnia długość trasy t qk (b) , rozumiana jako średnia arytmetyczna wyliczona z
długości wszystkich istniejących tras w optymalizowanej sieci, przy czym długość trasy,
rozumiana jest jako liczba łączy wchodzących w jej skład.
n – liczba łączy w optymalizowanej sieci.
OΨ(m,n,b) – złoŜoność obliczeniowa algorytmu wyznaczania przepustowości środowiska
sieciowego (algorytm 3).
OR(m,b) – złoŜoność obliczeniowa operacji wyznaczania przepustowości routerów.
Reasumując, złoŜoność obliczania przepustowości routerów wynosi:
^
3 * d (t qk (b))
1
+ )
(3.1)
4
2
W celu wyznaczenia złoŜoności obliczeniowej całego algorytmu naleŜy wprowadzić jeszcze
dodatkowe oznaczenia.
Pr(Ψ k (b) ≥ Ψ k −1 (b)) – prawdopodobieństwo, Ŝe nowe Ψ(b) (wyznaczone w bieŜącej iteracji
algorytmu) jest nie gorsze niŜ poprzednie Ψ(b) (wyznaczone w poprzedniej iteracji), przy
czym Ψk(b) – wartość Ψ(b) w iteracji nr k.
kmax – liczba iteracji algorytmu.
OR (m, b) = m * l ~ (b) * (
W świetle powyŜszych rozwaŜań złoŜoność obliczeniowa zmodyfikowanego algorytmu SW
przedstawia się następująco:
O(m, n) = {1 + OΨ (b) + (m + 1) * [Pr(Ψk (b) ≥ Ψk −1 (b)) +
+ (1 − Pr(Ψk (b) ≥ Ψk −1 (b))) * (5 + Pr( E ≥ Y ))] + 2 * m + OV (b)} * k max
(3.2)
Rozdział 4
Wyniki przeprowadzonych badań
W niniejszym rozdziale znajdują się wyniki badań optymalizacyjnych
przeprowadzonych z wykorzystaniem metody przybliŜonej, czyli zmodyfikowanego
algorytmu SW. Znajdują się tu takŜe wyniki optymalizacji przepustowości otrzymane z
zastosowaniem metody dokładnej tj. programowania liniowego, przy uŜyciu programu
Premium Solver V9.0. Na podstawie uzyskanych obiema metodami wyników, porównano
efektywność metody symulowanego wyŜarzania z zastosowaną metodą dokładną.
4.1 Wyniki otrzymane metodą symulowanego wyŜarzania
Badania przeprowadzono dla topologii sieciowych przedstawionych na rys. 3.2, 3.3
oraz 3.4. Podczas badań, jako warunek zatrzymania przyjęto osiągnięcie przez algorytm
temperatury poniŜej jednego stopnia. Poszczególne badania zostały przeprowadzone dla
liniowego, logarytmicznego, geometrycznego i iteracyjnego schematu schładzania (dokładne
wyniki przeprowadzonych badań znajdują się w pracy). Dodatkowo, warto dodać, Ŝe w pracy
zastosowano pewien autorski schemat schładzania, polegający na obniŜaniu temperatury o
jeden stopień z kaŜdą iteracją algorytmu (schemat nazwany iteracyjny3). Dla tego schematu,
uruchamiając algorytm z temperaturą początkową równą sto stopni otrzymuje się rezultaty
jakościowo nie gorsze niŜ w innych scenariuszach (lecz w krótszym czasie). Przyjmując
wspomnianą wartość temperatury początkowej i liniowy schemat schładzania, dla topologii z
rys. 3.2 otrzymano średni czas pracy algorytmu równy 540 ms, zaś dla topologii z rys. 3.3
czas ten wynosił 15.5 ms. Dla trzeciej topologii tj. przedstawionej na rys. 3.4 otrzymano
wartość przepustowości równą 2.5 Gb/s oraz czas pracy algorytmu około 16-17 ms.
Wniosek z otrzymanych wyników jest następujący, ponad dziewięćdziesięciokrotny wzrost
liczby tras (2276 dla topologii z rys 3.2 i 25 dla topologii z rys. 3.3) analizowanych przez
algorytm, przekłada się na niespełna trzydziestopięciokrotny wzrost czasu działania
algorytmu. Na wykresach 4.1, 4.2 oraz 4.3 zostały w sposób graficzny przedstawione wyniki
optymalizacji przepustowości sieciowej dla topologii z rys. 3.2, 3.3 oraz 3.4. Słupek pierwszy
przedstawia wartość Ψ(b) wyliczoną bez równowaŜenia obciąŜenia. Słupek drugi - Ψ(b) z
równowaŜeniem typu RK. Słupek trzeci - maksymalną wartość Ψ(b) uzyskaną podczas badań
na podstawie przyjętych scenariuszy (z równowaŜeniem obciąŜenia typu NK). Słupek 4 maksymalną wartość Ψ(b) uzyskaną podczas 50 uruchomień algorytmu z temperaturą
początkową sto stopni i iteracyjnym schematem schładzania. Wnioskiem z powyŜszych
obserwacji jest występowanie wzrostu przepustowości po włączeniu równowaŜenia
obciąŜenia typu RK oraz dalszy wzrost po włączeniu równowaŜenia typu NK.
3
Termin własny autora.
Wyniki optymalizacji przepustowości dla topologii pierwszej
250
Przepustowość [Mb/s]
200
150
100
50
0
1
2
3
4
Wykres 4.1. Wyniki optymalizacji Ψ(b) przeprowadzonej za pomocą metody symulowanego wyŜarzania dla
topologii pierwszej.
Wyniki optymalizacji przepustowości dla topologii drugiej
170
Przepustowość [Mb/s]
165
160
155
150
145
140
1
2
3
4
Wykres 4.2. Wyniki optymalizacji Ψ(b) przeprowadzonej za pomocą metody symulowanego wyŜarzania dla
topologii drugiej.
Wyniki optymalizacji przepustowości dla topologii trzeciej
3000
Przepustowość [Mb/s]
2500
2000
1500
1000
500
0
1
2
3
4
Wykres 4.3. Wyniki optymalizacji Ψ(b) przeprowadzonej za pomocą metody symulowanego wyŜarzania dla
topologii trzeciej.
4.2 Wyniki badań przeprowadzonych z wykorzystaniem metody dokładnej
Badania przepustowości z zastosowaniem metody dokładnej tj. PL, zostały
przeprowadzone przy uŜyciu oprogramowania Premium Solver V9.0. Optymalizacja została
przeprowadzona zgodnie z wcześniej zdefiniowanym zadaniem programowania liniowego.
PoniŜej znajdują się uzyskane wyniki badań przeprowadzonych z wykorzystaniem
wzmiankowanej metody. Dla pierwszej topologii tj. przedstawionej na rys. 3.2, otrzymano
wartość Ψ(b) równą 210 Mb/s. Natomiast w zastosowaniu do drugiej topologii sieciowej tj.
przedstawionej na rys. 3.3, otrzymano wartość Ψ(b) równą 190 Mb/s. Analogicznie dla
topologii z rys. 3.4, otrzymano wartość Ψ(b) równą 3 Gb/s. Czas działania solvera dla
topologii z rys. 3.2 wynosił około dwóch sekund, zaś dla topologii z rys. 3.3 poniŜej jednej
sekundy. Natomiast dla topologii z rys. 3.4 plasował się w przedziale od jednej do dwóch
sekund. Warto zaznaczyć, Ŝe zastosowane narzędzie umoŜliwia pomiar czasu działania z
dokładnością do pojedynczej sekundy, zaś uzyskanie większej dokładności pomiarowej nie
jest konieczne. Pozostając przy metodzie dokładnej, warto zwrócić uwagę na pewien fakt
dotyczący liczby iteracji, a mianowicie dla topologii z rys. 3.2 algorytm wykonał 32 iteracje,
natomiast dla topologii z rys. 3.3 liczba ta wynosiła zaledwie 7. Wniosek z tego badania jest
stosunkowo prosty, zwiększenie liczby routerów z 4 (topologia z rys. 3.3) do 10 (topologia z
rys. 3.2) przełoŜyło się na ponad czteroipółkrotne zwiększenie liczby iteracji algorytmu. Dla
kompletności warto dodać, Ŝe dokładna zaleŜność złoŜoności obliczeniowej metody
dokładnej jako funkcji liczby elementów sieci została wyprowadzona i przedstawiona w
pracy.
Rozdział 5
Analiza uzyskanych wyników
W rozdziale tym znajduje się analiza badań nad optymalizacją przepustowości
środowiska sieciowego z wykorzystaniem metody symulowanego wyŜarzania.
5.1 Analiza uzyskanych wyników przy braku równowaŜenia obciąŜenia,
oraz z równowaŜeniem typu RK i NK
Podczas badań przeprowadzonych dla topologii sieciowej z rys. 3.2 z włączonym
równowaŜeniem typu NK otrzymano maksymalną wartość Ψ(b) równą 207.5 Mb/s. Dla
równowaŜenia typu RK Ψ(b) wyniosła 133 Mb/s, zaś bez równowaŜenia - 100 Mb/s. Jak
widać z otrzymanych wyników, włączenie równowaŜenia obciąŜenia typu NK poprawiło
przepustowość sieci o około 56% w porównaniu do równowaŜenia typu RK i aŜ o ponad
107% w porównaniu z przepustowością sieci bez równowaŜenia obciąŜenia. Natomiast dla
topologii przedstawionej na rys. 3.3 w obydwu przypadkach otrzymano wzrost
przepustowości o nieco ponad 10%. Przechodząc do trzeciej topologii tj. z rys. 3.4, z
włączonym równowaŜeniem typu NK otrzymano maksymalną wartość Ψ(b) równą 2.5 Gb/s.
Dla równowaŜenia typu RK Ψ(b) wyniosła 2 Gb/s, zaś bez równowaŜenia – 1 Gb/s. Jak
ponownie widać z otrzymanych wyników, włączenie równowaŜenia obciąŜenia typu NK
poprawiło przepustowość sieci o 25% w porównaniu do równowaŜenia typu RK i aŜ o 150%
w porównaniu z przepustowością sieci bez równowaŜenia obciąŜenia. Wniosek z powyŜszych
obserwacji moŜe być taki, Ŝe wraz ze wzrostem złoŜoności topologii sieci, włączenie
równowaŜenia typu NK skutkuje coraz większym wzrostem jej przepustowości. Mając na
uwadze rozmiary badanych sieci oraz ich złoŜoność, otrzymane wyniki moŜna uznać za
zadowalające, i co równie istotne, obliczone w czasie rzeczywistym.
Reasumując warto podkreślić, Ŝe otrzymane wyniki potwierdzają przyjętą w pracy tezę
badawczą, co w konsekwencji moŜe stanowić motywację do dalszego twórczego rozwoju
oraz doskonalenia zastosowanej metody.
5.2 Czasy pracy algorytmu SW oraz metody dokładnej
Czas pracy algorytmu zaleŜy od wartości następujących parametrów: temperatury
początkowej, liczby iteracji bez modyfikacji temperatury oraz schematu schładzania.
Rozpiętość czasów jest duŜa, od ułamków sekund do ponad godziny. Jednym z istotnych
wniosków odnośnie czasów działania algorytmu jest to, Ŝe wartość uzyskiwanego wyniku
niemalŜe nie jest zaleŜna od tego czasu (dla róŜnych scenariuszy otrzymywano róŜne czasy i
podobne wartości wyników). Przy zastosowaniu schematu liniowego metoda działa w czasie
rzeczywistym, a dokładniej czas pracy algorytmu wynosi około 3 – 5 sekund. Omawiając
czasy działania algorytmu SW nie sposób pominąć faktu, Ŝe przy zastosowaniu
zaproponowanego schematu iteracyjnego i temperatury początkowej równej sto stopni, czas
jego pracy dla topologii z rys. 3.2 wynosił średnio zaledwie 540 ms, a dla topologii z rys. 3.3 i
3.4 jedynie w okolicach 15.5 - 17 ms. Na podstawie wykonanych pomiarów, moŜna postawić
hipotezę, Ŝe czas pracy algorytmu jest słabo zaleŜny od złoŜoności sieci komputerowej.
Porównując czasy zmierzone dla obydwu topologii, warto zauwaŜyć, Ŝe wzrost liczby tras, po
których moŜe być przesyłany ruch sieciowy ponad 90 razy (2276 dla topologii z rys. 3.2 i 25
dla topologii z rys. 3.3.) skutkował wzrostem czasu działania algorytmu SW jedynie niecałe
35 razy (540/15.5).
Przechodząc do metody dokładnej warto zwrócić uwagę na następujący fakt. Dla
topologii z rys. 3.3 i 3.4 jej czas działania wynosił niespełna jedną sekundę, zaś metody SW
15.5 – 17 ms. Natomiast dla bardziej złoŜonej topologii tj. przedstawionej na rys. 3.2, czas
działania metody dokładnej jest juŜ blisko cztery razy dłuŜszy (około dwie sekundy w
porównaniu do 540 ms) niŜ dla metody SW. Wniosek płynący z porównania czasów działania
obydwu wykorzystanych metod jest dość klarowny, a mianowicie juŜ dla tak nieduŜych
topologii jak z rys. 3.2 metoda dokładna działa znacznie wolniej niŜ metoda SW. Dla
kompletności warto dodać, Ŝe w pracy dokonano takŜe porównania złoŜoności
obliczeniowych dla innych wybranych metod heurystycznych tj. algorytmu genetycznego
oraz „tabu search”.
5.3 Porównanie złoŜoności algorytmu symulowanego wyŜarzania oraz
metody Simplex
Przechodząc do oceny złoŜoności obliczeniowej metody SW z zastosowaniem reguły
akceptacji Metropolisa, naleŜy zaznaczyć, Ŝe nie jest to zadanie trywialne i znacznie
przekracza zakres pracy. Dodatkowo, złoŜoność ta zaleŜy od rodzaju problemu do
rozwiązania którego metoda została zastosowana. Ogólnie moŜna przyjąć, Ŝe metoda ta ma
złoŜoność wykładniczą i zaleŜną zarówno od liczby węzłów grafu (routerów) oraz liczby jego
krawędzi (łączy). W pracy znajduje się dokładna analiza obydwu złoŜoności, natomiast w tym
miejscu warto zaznaczyć, Ŝe obydwa wzory (przedstawiające wzmiankowane złoŜoności)
przedstawiają funkcje wielomianowe. Porównując je warto zwrócić uwagę na wartości
największych wykładników, które w nich występują. Dla zmodyfikowanej metody SW
5
wartość najwyŜszej potęgi to 5 ( m ), natomiast dla metody dokładnej wartość najwyŜszej
potęgi wynosi ponad 20 ( m 6 ∗ (m 6 ) 2.376 = m 20.256 ). Mając na uwadze informacje zawarte w
[20] oraz [21], wysoka wartość wykładnika dla wzoru przedstawiającego złoŜoność metody
dokładnej nie powinna być większym zaskoczeniem. Otrzymane wartości w sposób
jednoznaczny świadczą o tym, Ŝe złoŜoność obliczeniowa metody dokładnej (w odniesieniu
do liczby operacji prostych) w zastosowaniu do optymalizacji przepustowości środowiska
sieciowego jest znacząco większa niŜ metody SW.
5.4 Ocena zasadności stosowania algorytmów heurystycznych do badanego
zagadnienia w kontekście metod dokładnych
Biorąc pod uwagę uzyskane wyniki, a przede wszystkim złoŜoności obliczeniowe
obydwu metod, oraz istniejące ograniczenia dla metody dokładnej, stosowanie metod
heurystycznych do optymalizacji przepustowości sieci komputerowych naleŜy uznać za
zasadne. W konsekwencji, druga część tezy przedstawionej we wstępie mojej pracy została
potwierdzona. Zasadność stosowania metod heurystycznych wynika nie tylko z szybkości ich
działania, ale takŜe duŜej elastyczności w implementacji i przede wszystkim zadowalających
wyników. Warto wspomnieć, Ŝe dla topologii sieciowej przedstawionej na rys 3.2. otrzymano
Ψ(b) równe 207.5, przy górnym ograniczeniu równym 210 Mb/s. Dla tej samej topologii bez
równowaŜenia obciąŜenia Ψ(b) wynosiło 100 Mb/s, a z równowaŜeniem typu RK 133 Mb/s,
co z kolei stanowi potwierdzenie słuszności pierwszej części przyjętej tezy badawczej.
Dodatkowo, stosowanie nowatorskich metod prowadzi do ich rozwoju, co w konsekwencji
przekłada się na jakość otrzymywanych wyników. Warto dodać, Ŝe tytuł tego podrozdziału
nie odnosi się jedynie do metody SW. W literaturze znajduje się wiele przykładów
ukazujących zasadność stosowania takich algorytmów jak np. algorytmy genetyczne,
mrówkowe, „tabu search” (poszukiwanie z tabu) i inne, do szeroko rozumianych zadań
optymalizacji w tym takŜe sieci komputerowych - i to pod róŜnymi względami, a nie tylko
maksymalizacji ich przepustowości. Przykładami takich opracowań poruszających tematykę
stosowania algorytmów SW mogą być: [4] [5] [6] [7] [8] [9] [10] [11] [12] [19].
Zakończenie
W pracy została zaproponowana zmodyfikowana metoda symulowanego wyŜarzania,
zastosowana do optymalizacji przepustowości sieci komputerowych. Ponadto została takŜe
przedstawiona nowa metoda równowaŜenia obciąŜenia w protokole OSPF. Polega ona na
uwzględnieniu nie tylko tras o równym (minimalnym) koszcie, ale równieŜ tras o koszcie
większym od minimalnego.
Moja praca skupia się na wydajności, a głównym jej zagadnieniem jest zadanie
optymalizacji przepustowości sieci komputerowych. Przedstawione w niej rozwiązanie jest to
metoda zwiększania efektywnej przepustowości sieci w tych przypadkach, w których jest to
moŜliwe. Czy jest to moŜliwe, okazuje się w wyniku porównania przepustowości osiąganych
przy zastosowaniu dwóch typów równowaŜenia obciąŜenia tj.: RK i NK. Porównanie to jest
wykonywane w czasie rzeczywistym, co umoŜliwiają odpowiednie (autorskie) algorytmy.
Warto takŜe dodać, Ŝe główną korzyścią z zastosowania przedstawionego w mojej pracy
rozwiązania jest uzyskanie w czasie rzeczywistym poprawy przepustowości sieci (o ile to jest
moŜliwe), a w konsekwencji bardziej efektywne wykorzystanie posiadanych zasobów
sieciowych i zwiększenie satysfakcji uŜytkowników. Z powyŜszych względów ocena
praktycznej przydatności poruszonej w pracy problematyki nie powinna budzić wątpliwości.
Reasumując, uwaŜam, Ŝe uzyskane wyniki mogą potwierdzić przyjętą tezę badawczą.
Ponadto zaproponowane udoskonalenie metody symulowanego wyŜarzania, mające na celu
dostosowanie jej do optymalizacji przepustowości sieci komputerowych, działa poprawnie i
zgodnie z oczekiwaniami, co moŜe stanowić solidny fundament do dalszego jej rozwoju i
ulepszania.
Bibliografia i odnośniki
[1]
R. Krishan, J.A. Silvester, „An Approach to Path-Splitting in Multi-path
Networks“, IEEE ICC’93, vol. 3, May 1993.
[2]
R. Krishan, J.A. Silvester, “Choice of Allocation Granularity in Multi-path
Source Routing Schemes”, IEEE INFOCOM’93, April 1993.
[3]
K.C. Leung, V.O.K. Li, “Flow Assignment and Packets Scheduling for Multipath Networks”, IEEE GLOBECOM’99, December 1999.
[4]
S. Pierre, M. Hyppolite, J. Bourjolly, O. Dioume, “Topological Design of
Computer Communication Networks Using Simulated Annealing”, Engineering
Applications of Artificial Intelligence, Vol. 8, Number 1, February 1995.
[5]
J. Kock, A. Krzesiński, “Computing an Optimal Vitrual Path Connection
Network by Simulated Annealing”, Department of Computer Science,
University of Stellenbosch, South Africa.
[6]
Alekasndar Tsenov, “Simulated Annealing and Genetic Algorithm in
Telecommunications Network Planning”, International Journal of
Computational Inteligence 2,4, 2006.
[7]
S. Routray, A. M. Sherry, B.V.R. Reddy, “A Simulated Annealing Based
Approach for ATM Network Optimization”, Engineering, Computing and
Architecture, ISBN 1934-7197, Vol. 1, Issue 2, 2007.
[8]
T.M. Mahmoud, “A Genetic and Simulated Annealing Based Algorithms for
Solving the Flow Assignment Problem in computer Networks”, International
Journal of Electronics, Circuits and Systems, vol. 1, number 2.
[9]
E. Costamagna, A. Fanni, G. Giacinto, „A Simmulated annealing Algorithm for
the Optimization of Communication Networks”, VLSI Systems, October 1995.
[10]
M.M. Atiqullah, S.S. Rao, “Reliability Optimization of Computer Networks
using Simmulated Annealing”, Microelectronics Reliability, vol. 33, Nowember
1993.
[11]
E. Aarts & J. Korst, “ Simmulated Annealing and Boltzman Machines”, Willey
& Sons Ltd. 1989.
[12]
S. Kirkpatrick, C.D. Gelatt Jr., M.P. Vecchi, „Optimization by Simmulated
Annealing“ Science, 220, 1993.
[13]
J.H. Dejean, L. Dittmann, C.N. Lorenzen, “String Mode – A New Concept of
Performance Improvement of ATM Networks”, IEEE vol.9 no.9 December 1991.
[14]
T.T. Lee, S.C. Liew, “Parallel Communications for ATM Network Control and
Management”, IEEE GLOBECOM’93, vol.1, December 1993.
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
T.H. Cormen, C.E. Leiserson, R.L. Rivest, “Wprowadzenie do algorytmów”,
wyd. WNT, Warszawa 2004.
Ross, Wright, „Matematyka dyskretna”, wyd. WNT, 1999.
N. Wirth , „Algorytmy + Struktury Danych = Programy”, WNT.
L. Banachowski, K. Diks, W. Rytter, „Algorytmy i struktury danych” , WNT.
Lianggui Liu, Guangzeng Feng, “Simulated Annealing Based Multi-constrained
QoS Routing in Mobile ad hoc Networks”, ISSN:0929-6212, Wireless Personal
communications: An International Journal 2007.
D. Dobkin, R.J. Lipton, S. Reiss, „Linear programming is long-space hard for
P.” Inf. Proc. Lett. 1979.
Jacek BłaŜewicz, “ZłoŜoność obliczeniowa problemów kombinatorycznych”,
WNT, Warszawa 1988.
Christoph Schnorr, “Convex and Non-convex Optimization”, University of
Mannheim, Germany, Optimization Methods in Computer Vision, March 2006.