Optymalizacja przepływów anycast oraz unicast w

Transkrypt

Optymalizacja przepływów anycast oraz unicast w
Piotr Delebis
Wojciech Kmiecik
Krzysztof Walkowiak
Jacek Rak
Politechnika Wrocławska
Politechnika Wrocławska
Politechnika Wrocławska
Politechnika Gdańska
Wyb. Wyspiańskiego 27
Wyb. Wyspiańskiego 27
Wyb. Wyspiańskiego 27
ul.Narutowicza 11/12
80-233 Gdańsk
50-370 Wrocław
50-370 Wrocław
50-370 Wrocław
[email protected] [email protected] [email protected] [email protected]
Optymalizacja przepływów anycast oraz unicast w przeżywalnych sieciach komputerowych z wykorzystaniem
przeszukiwania tabu
Streszczenie: Optymalne wykorzystanie dostępnych
zasobów sieciowych, przepustowości łączy, a także
zapewnienie przeżywalności nabiera coraz większego
znaczenia ze względu na fakt, iż wszystkie istotne
gałęzie gospodarki i codziennego życia, takie jak
m.in. bankowość, służby ratunkowe, edukacja,
w szerokim stopniu uzależnione są od różnego rodzaju usług sieciowych. Przeżywalność zapewniana poprzez generowanie dwóch rozłącznych ścieżek jest
techniką kosztowną w kontekście konieczności rezerwowania dużej przepustowości na ścieżki alternatywne. Z tego powodu zdecydowano o zastosowaniu
koncepcji współdzielenia przepustowości dla ścieżek
zapasowych SBPP (ang. Shared Backup Path Protection), która to prowadzić ma do redukcji wspomnianego kosztu.
Problematyka optymalizacji przepływów anycast
i unicast z uwzględnieniem przeżywalności sieci nie
jest trywialna, a w efekcie wymaga ogromnych zasobów mocy obliczeniowej i czasu. Zdecydowano
o zastosowaniu algorytmu heurystycznego na bazie
przeszukiwania tabu w celu otrzymania rezultatów
bliskich optimum w krótkim czasie i przy ograniczonej mocy obliczeniowej. Wyniki badań dają podstawy
do stwierdzenia, że przeszukiwanie tabu jest algorytmem efektywnym czasowo, który otrzymuje rezultaty bliskie optimum. Ponadto, zastosowanie koncepcji współdzielenia przepustowości przez ścieżki zapasowe znacząco redukuje średni koszt alokacji przepływów w sieci o ustalonej topologii. Porównanie
wyników dla kilku scenariuszy rozmieszczenia i liczby serwerów replikujących dane dla żądań anycast,
prowadzi do wniosku, że dodanie kolejnych serwerów
redukuje koszt alokacji przepływów.
1. WSTĘP
W pracy podjęto temat optymalizacji przepływów
anycast oraz unicast w przeżywalnych sieciach komputerowych. Tematyka ta jest szczególnie istotna z uwagi na
coraz większą zależność kluczowych aspektów życia
(np. bankowość, służba medyczna, praca zdalna) od
usług sieciowych. Zapewnienie stałej i niezawodniej
transmisji, zwłaszcza jeżeli rozpatrywane są sieci szkieletowe, gdzie wolumen danych jest znaczny, jest konieczne w kontekście ewentualnie poniesionych w skutek awarii kosztów biznesowych, czy też nakładów na
bezpieczeństwo.
Poddano analizie sieci zorientowane połączeniowo,
gdyż zaobserwowano znaczący wzrost ich znaczenia, np.
stosowanie technik MultiProtocol Label Switching
(MPLS) i Dense Wavelength Division Multiplexing
(DWDM), spowodowane łatwiejszą możliwością zarządzania ruchem (QoS) [1]. Postulowaną niezawodność
uzyskano poprzez wyznaczenie dla każdego z żądań
dwóch rozłącznych ścieżek: podstawowej i zapasowej.
Długości ścieżek zapasowych są zazwyczaj znacznie
większe od długości analizowanych ścieżek podstawowych. Skutkuje to koniecznością zarezerwowania w celu
zapewnienia niezawodności znacznej przepustowości
względem przepustowości już zaalokowanej do standardowej realizacji żądań. W tej perspektywie cenne staje
się rozważenie koncepcji prowadzącej do redukcji tego
zjawiska, a przez to do znaczącego zmniejszenia kosztów całego rozwiązania. Stąd też zdecydowano się rozważyć koncepcję współdzielenia przepustowości dla
ścieżek zapasowych (SBPP), która okazuje się być efektywnym rozwiązaniem, gdy tylko zawęzimy rozpatrywane scenariusze awarii elementów sieci do tych najbardziej prawdopodobnych. Jej podstawową wadą jest jednak złożoność obliczeniowa, która ograniczała uzyskanie
rezultatów do sieci o małym rozmiarze [2]. Z tego powodu, celowym stało się zaprojektowanie algorytmu,
który pozwalałby na uzyskanie aproksymacji wyników
odpowiednio blisko odległych od rezultatów optymalnych w zadanym czasie.
Dotychczasowe rozważania koncepcji SBPP w literaturze opierały się głównie na żądaniach unicast,
w pracy poszerzono tą dyskusję o uwzględnienie transmisji jeden-do-jednego-z-wielu (anycast). Obecnie coraz
więcej usług sieciowych korzysta z anycastingu, np.
Content Delivery Network (CDN), Web Service, Domain Name Service (DNS), systemy peer-to-peer (P2P),
video streaking, sieci czujników, czy sieci nakładkowe
[3],[4]. Anycast może być stosowany również w celu
zmniejszenia natężenia ruchu w sieci oraz zredukowania
opóźnienia w dostawie danych. Jako że w sieci znajduje
się wiele serwerów replikujących te same informacje,
zatem koszt dostępu do nich maleje. Wyboru można
dokonywać według wielu kryteriów (np. lokalizacji
serwera repliki), obejmujących wiele aspektów (np.
jakość usług). Tego typu przepływy podnoszą niezawodność sieci komputerowych, gdyż z racji dostępu do
kopii zapasowych danych, istnieją ścieżki prowadzące
do różnych serwerów replik i awaria któregoś z nich nie
czyni danych nieosiągalnymi.
Głównym celem pracy było opracowanie oraz implementacja algorytmu heurystycznego rozwiązującego
problem optymalizacji przepływów unicast i anycast
w przeżywalnych sieciach komputerowych, oraz jego
analiza w kontekście porównania otrzymywanych wyników względem rezultatów optymalnych, uzyskanych
przez metody dokładne (modele całkowitoliczbowe).
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
939
Zdecydowano, że przedstawiona zostanie koncepcja
algorytmu nawiązująca do metody przeszukiwania tabu.
Rozdział 2 zawiera przegląd literaturowy związany
z tematyką optymalizacji przepływów unicast, anycast,
a także przeżywalnymi sieciami komputerowymi. Przyjęta przez nas notacja oraz model problemu zaprezentowane zostały w rozdziale 3. W rozdziale 4 przedstawiono metody rozwiązania zadanego problemu optymalizacyjnego. Rozdział 5 zawiera plan badań eksperymentalnych oraz ich wyniki. Podsumowanie i wnioski zebrane
są w rozdziale 6.
2.
PRZEGLĄD LITERATUROWY
Problem optymalizacji przepływów w przeżywalnych sieciach komputerowych jest tematem kliku prac
i artykułów. W [2] autorzy przedstawiają koncepcję
współdzielenia przepustowości w przypadku alokacji
przepływów typu unicast i anycast w przeżywalnych
sieciach komputerowych. Do tego modelu bezpośrednio
odnosi się przedstawiony w niniejszej pracy algorytm.
Co więcej, autorzy posłużyli się notacją Węzeł-Łuk
(ang. Node-Link) i za jej pomocą zdefiniowali problem,
a następnie przestawili jego rozwiązanie dla ustalonej
topologii o niewielkiej liczbie węzłów, krawędzi i żądań,
uzyskane za pomącą całkowitoliczbowego programowania liniowego.
Sama koncepcja współdzielenia ścieżek zapasowych została również poruszona w pracy [5]. Można tam
odnaleźć dyskusje na temat dwóch różnych podejść
w wyznaczaniu ścieżek zapasowych: równoległą do
poszukiwania ścieżki podstawowej, oraz dwuetapową,
gdzie przystąpienie do analizy zapewnienia niezawodności następuje już po zapewnieniu realizacji wszystkich
żądań podstawowych. W omawianym artykule wprowadzono dwa typy algorytmów heurystycznych: Iterative
Two-Step-Approach (ITSA) and Maximum Likelihood
Relaxation (MLR), których celem jest znalezienie wyników zbliżonych do optymalnych względem funkcji kryterialnej w ograniczonym z góry czasie obliczeń. Zauważono, że ITSA jest w stanie znacząco zbliżyć się do
zakładanej tolerancji. Dzieje się to jednak kosztem
zwiększenia okna czasowego. Z kolei MLR daje szybkie
rezultaty, lecz leżą one dalej względem rozwiązań referencyjnych w przyjętych metrykach. Przedstawione
wyniki opierają się na założeniu występowania jedynie
przepływów unicast.
Autorzy pracy [6] prezentują dyskusję na temat
problemu alokacji ścieżek w światłowodach w kontekście żądań anycast minimalizujących liczbę użytych
długości fal. Proponują zastosowanie algorytmu Short
Leap Shared Protection (SLSP), polegającego na podziale ścieżek podstawowych na kilka nakładających się
domen ochron. W każdej domenie wyznaczane są ścieżki zapasowe. Metoda ta gwarantuje zmniejszenie opóźnień podczas wyznaczania ścieżek zapasowych, gdyż
analizowane są tylko podsieci stanowiące poszczególne
domeny. Co więcej, w przypadku zaistnienia awarii
w danej domenie nie jest konieczne rozszerzenie obliczeń do całej ścieżki (wystarczające jest przeprowadzenie obliczeń dla jej fragmentu). Powyższe zalety znalazły potwierdzenie w szeregu symulacji komputerowych
wykonanych przez autorów pracy. Rozwiązanie to niesie
za sobą także i wady np. wzrost złożoności sygnalizacji,
jak i zmniejszenie odporności na błędy protokołów.
Z powodów powyższych, idea ta nie została ujęta podczas projektowania autorskiego algorytmu.
Przeniesienie idei podziału sieci na domeny i zastosowania algorytmu Segment Shared Protection (ang.
SSP) dla sieci mesh prezentuje artykuł [7]. Odwołuje się
on do innego sposobu zapewnienia niezawodności: dynamicznego routingu z użyciem specjalnego typu protekcji zwanej dzieleniem segmentów. Autorzy formułują
problem zarówno w kontekście całkowitoliczbowego
programowania liniowego, jak i prezentują autorską
koncepcję algorytmu heurystycznego nazwaną „Cascaded Diverse Routing (CDR)”.
Propozycja algorytmu opartego na metodzie przeszukiwania z listą tabu została przedstawiona w pracy
[1]. Autorzy zaproponowali sąsiednie rozwiązanie, które
różni się od rozpatrywanego o parę ścieżek podstawowej
i zapasowej. Zrealizowano koncepcję krótkiej pamięci,
która decyduje o tym, w ilu kolejnych iteracjach rozpatrywany ruch staje się zabronionym. Poddano szczegółowej analizie dobór parametrów takich jak długość listy
tabu, liczba iteracji w algorytmie, czy liczba iteracji
w których nie uzyskano znaczącej poprawy wyników
funkcji kryterialnej względem aktualnego rozwiązania.
Eksperymenty obliczeniowe zrealizowano w oparciu
kilka topologii sieci. Dokonano alokacji przepływów
zarówno dla żądań unicast jak i anycast. W pracy autorzy posłużyli się notacją Łuk-Ścieżka (ang. Link-Path).
Częścią tak stawianego zadania jest podanie jako dane
wejściowe zadanego zbioru ścieżek kandydujących, co
może wiązać się ze znacznym ograniczeniem przestrzeni
możliwych rozwiązań. Takie podejście odpowiada sytuacji, kiedy operatorzy sieci telekomunikacyjnych proponują różne łącza i konstruują cenniki uwzględniające
zmniejszenie kosztów jednostkowych wraz ze wzrostem
przepustowości. Z drugiej strony, w omawianej pracy
nie uwzględniono koncepcji współdzielenia przepustowości dla ścieżek zapasowych, która to może przyczynić
się do redukcji kosztów. Przy alokacji przepływów dla
żądań typu anycast należy rozważyć wybór odpowiedniego serwera replikującego dane.
Na rozważeniu różnych strategii i ograniczeń w realizacji tej składowej w problemie optymalizacji jednoczesnej alokacji żądań unicast oraz anycast skupiają się
autorzy artykułu [8]. Postulowany sposób zapewnienia
niezawodności jest zbieżny do zaprezentowanego
w niniejszej pracy. Do przeprowadzenia symulacji komputerowych użyto środowiska CPLEX 11.0. Zbadano
wpływ liczby serwerów replikujących dane na wydajność alokacji w terminach kilku metryk. Skupiono uwagę na zależności tego zjawiska także od proporcji ruchu
anycast, oraz topologii poszczególnych sieci komputerowych. Ważnymi rezultatami są stwierdzenia, że zarówno ustalenie jako obowiązujących serwerów najbliżej
zlokalizowanych względem węzła klienckiego, jak
i chęć wymuszenia przypisania różnych serwerów dla
elementów pary ścieżki podstawowej i zapasowej zwiększa znacząco koszt i użycie zasobów sieciowych. Sugerując się rezultatami uzyskanymi przez autorów pracy
[8], w niniejszym artykule rozpatrzono jedynie dwie
strategie przyporządkowania serwerów replikujących,
rezygnując z rozważania najbardziej kosztownych roz-
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
940
wiązań. Rozszerzono zaprezentowaną w artykule dyskusję o zbadanie wpływu użycia koncepcji współdzielenia
ścieżek zapasowych na uzyskane charakterystyki.
Problem jednoczesnego przypisania lokalizacji
serwerów replikujących, wyznaczenia przepustowości
łączy oraz alokacji przepływów w rozległych sieciach
komputerowych został omówiony w pracy [9]. Autorzy
skupiają się na minimalizacji średniego opóźnienia pakietu z uwzględnieniem dodatkowych ograniczeń związanych z kosztem sieci. Zaprezentowane symulacje są
wynikiem zastosowania zarówno metod dokładnych, jak
i algorytmu aproksymującego rozwiązanie. Prowadzą
one do sformułowania kilku własności analizowanego
problemu.
Praca [10] odwołuje się do routingu pakietów
w dynamicznie zmieniającej się sieci komputerowej,
z uwzględnieniem ruchu anycast. Autorzy wskazują, że
niewątpliwe zalety zastosowania tego typu ruchu, takie
jak redundancja i przezroczystość (ze względu na stosowaną adresację), idealnie wpisują się w filozofię działania tego typu sieci. Przedstawiają teoretyczne podstawy
stosowania omawianych rozwiązań, skupiając się na
sformułowaniu problemu routingu anycast i kontroli
dostępu dla dowolnego ruchu w sieciach dynamicznych.
Wskazują, że proste lokalne równoważenie obciążenia
pozwala na osiągniecie niemal optymalnej wydajności,
o ile tylko mamy dostępną wystarczającą ilość miejsca
w przestrzeni buforowej.
3.
MODEL PROBLEMU I PRZYJĘTA
NOTACJA
W celu zachowania zgodności z opisem analizowanego modelu względem pracy [2], przyjęto jako obowiązującą notację Węzeł-Łuk. Dzięki takiej formalnej definicji problemu możliwe jest uniknięcie konieczności
predefinicji zbioru rozważanych ścieżek kandydujących,
a przez to ograniczania a priori przestrzeni analizowanych rozwiązań. W celu zamodelowania topologii sieci
posłużono się grafem skierowanym Γ(N, A), o zadanym
zbiorze wierzchołków (N) oraz skierowanych krawędzi
(A), definiowanych przez parę wierzchołków – stanowiących węzły źródłowy i docelowy.
W definiowanym problemie niezawodność jest realizowana poprzez zapewnienie ścieżek alternatywnych,
rozłącznych względem ścieżek podstawowych, tak aby
możliwe było przełączenie na nie ruchu w razie zaistnienia awarii pojedynczego łącza. Inne scenariusze awarii
nie są rozpatrywane z uwagi na nikłe prawdopodobieństwo ich wystąpienia. Konsekwencją stosowania takiego
rozwiązania jest konieczność zarezerwowania dodatkowej przepustowości na łączach. W celu minimalizacji
kosztów rozwiązania, zdecydowano się zastosować algorytm współdzielenia przepustowości na łączach przez
ścieżki zapasowe.
Indeksy i zbiory
N
zbiór wierzchołków (stacji klienckich i serwerów)
A
zbiór krawędzi reprezentujących łącza w sieci
Γ(N, A) graf skierowany reprezentujący topologię
sieci komputerowej
n
indeks wierzchołków
h
indeks krawędzi
R
An
r
fr
τ(r)
sr
tr
DUN
DDS
DUS
DAN
D
zbiór wierzchołków, w których zlokalizowano
serwery replikujące
zbór krawędzi wchodzących i wychodzących
względem wierzchołka n
indeks żądań
przepustowość wymagana do realizacji żądania
r (wartość całkowita)
indeks żądania anycast upstream odpowiadającego żądaniu anycast downstream r
węzeł źródłowy dla żądania r (w przypadku
żądań anycast downstream nieokreślony)
węzeł docelowy dla żądania r (w przypadku
żądań anycast upstream nieokreślony)
zbiór żądań unicast
zbiór żądań anycast z serwera replikującego
dane do wierzchołka klienta (downstream)
zbiór żądań anycast ze stacji klienckiej do serwera replikującego (upstream)
zbiór żądań anycast DAN = DDS ∪ DUS
zbiór wszystkich żądań D = DUN ∪ DAN
zmienne
xr,h
wynosi 1 jeżeli ścieżka podstawowa dla r-tego
żądania używa łączą ah, 0 w przeciwnym razie
yr,h
wynosi 1 jeżeli ścieżka zapasowa dla r-tego
żądania używa łączą ah, 0 w przeciwnym razie
zr,n
wynosi 1 jeżeli w ścieżce podstawowej, dla
r-tego żądania anycast, serwer replikujący znajduje się w wierzchołku n, 0 w przeciwnym razie
vr,n
wynosi 1 jeżeli w ścieżce podstawowej, dla
r-tego żądania anycast, serwer replikujący znajduje się w wierzchołku n, 0 w przeciwnym razie
cr,h,g
wynosi 1, jeżeli w celu zabezpieczenia względem awarii łącza g, przy r-tym żądaniu używana jest krawędź (łącze) h, 0 w przeciwnym razie
ch,g
przepustowość wymagana do zarezerwowania
na łączu h w celu zapewnienia niezawodności
w przypadku awarii łączą g (liczba całkowita)
ch
maksymalna przepustowość konieczna do zaalokowania na łączu h w celu zapewnienia
ochrony przed awariami pojedynczych łączy.
cel:
Zadaniem stawianym przed programem jest wyznaczenie przepływów poprzez podanie zbioru ścieżek
podstawowych i zapasowych gwarantujących zabezpieczenie przed awariami pojedynczych łączy, minimalizujących koszt określony funkcją liniową:
=∑
∑
,
+∑
∈
(1)
gdzie to koszt jednostki przepływu (w rozważanych scenariuszach tożsamy z długością łączy) zadany
dla każdego łącza (krawędzi ℎ
.
ograniczenia:
a) związane z zapewnieniem przepływów (wyznaczenie
ścieżek podstawowych i zapasowych) dla żądań typu
unicast.
Dla każdego ∈ , oraz ∈
:
∑
∈{ : ! ≡ #,$ ;
$&#,$∈ }
,
−∑
∈{ : ! ≡ $,# ;
$&#,$∈ }
,
1+ = ,
= )−1+ = -. 4(2)
0+ 0 123
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
941
∑
∈{ : ! ≡ #,$ ; 5 ,
$&#,$∈ }
−∑
∈{ : ! ≡ $,# ; 5 ,
$&#,$∈ }
1+ = ,
= )−1+ = -. 4 (3)
0+ 0 123
b) związane z zapewnieniem przepływów (wyznaczenie
ścieżek podstawowych i zapasowych) dla żądań typu
anycast downstream.
Dla każdego ∈ , oraz ∈ 6 :
∑
∑
,
−∑
∈{ : ! ≡ #,$ ; 5 ,
$&#,$∈ }
−∑
∈{ : ! ≡ #,$ ;
$&#,$∈ }
∈{ : ! ≡ $,# ;
$&#,$∈ }
,
∈{ : ! ≡ $,# ; 5 ,
$&#,$∈ }
1 ,# + ∈ 8
= 7−1+ = -. 4 (4)
0+ 0 123
1 ,# + ∈ 8
= 7−1+ = -. 4 (5)
0+ 0 123
c) związane z zapewnieniem przepływów (wyznaczenie
ścieżek podstawowych i zapasowych) dla żądań typu
anycast upstream.
Dla każdego
∑
∑
∈
,
−∑
∈{ : ! ≡ #,$ ; 5 ,
$&#,$∈ }
−∑
∈{ : ! ≡ #,$ ;
$&#,$∈ }
∈
, oraz
∈{ : ! ≡ $,# ;
$&#,$∈ }
6
,
∈{ : ! ≡ $,# ; 5 ,
$&#,$∈ }
:
1+ = ,
= 7−1 ,# + ∈ 84(6)
0+ 0 123
1+ = ,
= 7−1 ,# + ∈ 84(7)
0+ 0 123
d) Dla każdego ustalonego żądania anycast downstream, serwery replikujące używane w ścieżkach podstawowych (zapasowych) są tożsame ze serwerami
replikującymi używanymi dla w ścieżkach podstawowych (zapasowych) w odpowiadających im żądaniach upstream.
Dla każdych ∈ 8, ∈ 6 :
1
:
,#
,#
= 19
,#
= :9
(8)
,#
∑#∈; :
,#
,#
=1
(10)
=1
(11)
,
+
,=
≤1
∈
≤Ʌ
(12)
g) Ścieżka podstawowa i zapasowa dla ustalonego żądania są rozłączne na poziomie krawędzi.
Dla każdych ℎ ∈ , ∈ :
,=
+5
(13)
h) Ograniczenie przepustowości mające na calu zapewnienie wspólnej protekcji:
Dla każdych ∈ , ℎ ∈ , > ∈ , > ≠ ℎ
2
, ,=
≤
,=
+5
=∑
∈;
, ,=
(15)
j) Maksymalna ilość przepustowości wymaganej dla
zapewnienia rozważanego poziomu niezawodności.
Dla każdych ℎ ∈ , > ∈ , > ≠ ℎ
,=
≤
(16)
k) Maksymalna ilość przepustowości wymaganej dla
zapewnienia rozważanego poziomu niezawodności.
Dla każdych ℎ ∈ , > ∈ , > ≠ ℎ
= ∑=∈
,=
(17)
W pracy rozważano kilka problemów różniących
się między sobą częścią stosowanych założeń i ograniczeń. Pierwsze rozróżnienie dokonano ze względu na
zastosowanie koncepcji współdzielenia przepustowości
łączy przez ścieżki zapasowe. Ograniczenia definiujące
ten algorytm skupiają równania i nierówności (2)-(16).
Gdy chcemy zaniechać stosowania tej procedury, należy
ograniczenie (16) zastąpić przez (17).
Kolejny podział problemów uzyskujemy, gdy rozważymy strategię doboru serwerów replikujących. Jednym z rozwiązań jest definicja funkcji przyporządkowującej żądaniom anycast najbliższy (w sensie określonej
metryki) serwer replikujący. Zastosowanie tej metody
oznaczane będzie dalej przez skrót CR (ang. Closest
Replica). Po wyznaczeniu wartości tak zadanej funkcji,
problem staje się tożsamy z problemem, w którym żądania anycast potraktujemy już jako żądania unicast,
A
a zbiór
staje się żądaniem pustym. Dlatego zaniechano definicji kolejnych ograniczeń. Problem, w którym brak jest definicji zadanego z góry przyporządkowania serwerów replikujących oznaczono skrótem AR
(ang. Any Replica).
4.
f) Ograniczenie przepustowości łączy
Dla każdego ℎ ∈ :
∑
,=
(9)
e) Dla każdego żądania anycast wyznaczono po jednym
serwerze replikującym (ścieżka podstawowa i zapasowa).
Dla każdego ∈ 6
∑#∈; 1
Dla każdych ℎ ∈ , > ∈ , > ≠ ℎ
,
≤1+
, ,=
(14)
i) Przepustowość wymagana do alokacji na łączu h w
rozważanym scenariuszu awarii pojedynczych łączy.
METODY ROZWIĄZANIA PROBLEMU
OPTYMALIZACYJNEGO
4.1. Metoda pseudolosowa
Zaprojektowana metoda pseudolosowa opiera się
na budowie drzewa opinającego na podstawie przeszukiwania w głąb, z zastrzeżeniem dodawania węzłów
sąsiadujących w kolejności wynikającej z komputerowej
symulacji rozkładu jednostajnego dyskretnego. Algorytm ten opiera się o na zastosowaniu stosu, dzięki któremu uzyskuje się efekt przetwarzania najpierw ostatnio
odwiedzonych węzłów – kolejka typu LIFO (ang. last in,
first out). Tak powstała struktura stanowi punkt wyjścia
do wyznaczenia ścieżki pomiędzy wierzchołkami źródłowym i docelowym.
Po ustaleniu ścieżki podstawowej, krawędzie
wchodzące w jej skład zostają usuwane z grafu reprezentującego topologię sieci i następuje wyznaczenie ścieżki
zapasowej dla danego żądania. Idea ta zakłada wstępną
relaksację ograniczeń dot. przepustowości na łączach
w sieci. W przypadku stwierdzenia naruszenia wymogu
związanego z przepustowością, losowane jest żądanie
realizowane na tym łączu i wyznaczenie ścieżki odbywa
się ponownie. Wyznaczenie serwera replikującego dane
dla żądania anycast odbywa się także w sposób pseudo-
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
942
losowy, zgodnie z przybliżeniem rozkładu jednostajnego
dyskretnego.
Ogólny zarys algorytmu jest następujący:
1. Dla każdej pary żądań (anycast upstream, anycast
downstream) wylosuj serwer replikujący. W przypadku z góry ustalonych serwerów replikujących
(problem CR) pomiń ten krok.
2. Dla każdego żądania wyznacz ścieżkę podstawową
zgodnie z opisem:
a. Przeglądanie grafu rozpocząć należy z wierzchołka źródłowego dla analizowanego żądania, którego to numer umieszczamy na stosie S.
b. W pętli wykonuj następujące operacje:
i. Pobierz ze stosu S numer jednego z wcześniej
analizowanych i zamieszczonych tam wierzchołków grafu, oznacz go jako v i jeśli jest on
docelowym dla analizowanego żądania to zakończ działanie pętli
ii. Jeśli wierzchołek v był odwiedzony to przejdź
do następnej iteracji pętli
iii. Oznacz v jako odwiedzony. (przypisz mu
wierzchołek, z którego nastąpiła wizyta)
iv. Dodaj do stosu S wszystkie wierzchołki nieodwiedzone w losowej kolejności.
3. Po usunięciu z grafu reprezentującego topologię sieci
krawędzi odpowiedzialnych za realizację żądania
podstawowego, wyznacz ścieżkę zapasową według
algorytmu z punktu 2.
4. Spośród żądań realizowanych na łukach z naruszeniem warunku 12 wybierz losowo jedno i dokonaj
ponownego wyznaczania ścieżek (z pominięciem łuku o nadmiernym przepływie). Wykonuj operacje aż
do zapewnienia zgodności z postulatem 12 (alternatywnie przerwij działanie po określonej liczbie iteracji i zwróć nieskończoność jako koszt rozwiązania).
Proponowana metoda pseudolosowej alokacji przepływów ma na celu umożliwienie przedstawienia wyników referencyjnych do rezultatów uzyskanych za pomocą algorytmu opartego na listach tabu. Algorytm pseudolosowy nie gwarantuje uzyskania rozwiązania akceptowalnego w skończonym czasie na skutek częściowej
relaksacji założeń.
4.2. Metody dokładne
Problem, którego definicje przedstawiono w rozdziale 3 jest całkowitoliczbowy i NP-zupełny [2]. Nie
jest możliwe zatem wyznaczenie rozwiązania optymalnego w czasie wielomianowym. Nie oznacza to jednak
konieczności wygenerowania wszystkich dopuszczalnych instancji problemu, a następnie wyznaczania wartości funkcji kryterialnej dla każdej z nich. Aby uzyskać
rozwiązanie o zadanym poziomie dokładności ε,
(w szczególności, gdy ε = 0 uzyskujemy rozwiązanie
dokładne) można posłużyć się algorytmem podziału
i ograniczeń, np. z wykorzystaniem oprogramowania
CPLEX.
4.3. Algorytm heurystyczny
Mechanizm algorytmu heurystycznego opartego
o listę tabu został dokładnie opisany w licznych publikacjach. Poprzez zastosowanie pamięci wymuszamy zmianę analizowanej przestrzeni rozwiązań, unikając tym
samym nieustannego poruszania się w otoczeniu lokal-
nego minimum. Implementacja listy tabu może być realizowana na kilka sposobów, m.in. poprzez zakazanie
kilku ostatnich kroków w przetwarzaniu rozwiązań,
zastosowanie pamięci długotrwałej polegającej na analizie częstotliwości danych ruchów i na jej podstawie
dokonania decyzji. Stosowane są również metody uelastycznienia przeszukiwania poprzez przełamanie zasad,
gdy spełnione jest tzw. kryterium aspiracji (przykład
stanowi przyjęcie ruchu zabronionego, gdy prowadzi on
do wartości funkcji kryterialnej lepszej od oceny dotychczas najlepszego rozwiązania). Algorytmy oparte na
przeszukiwaniu tabu są z reguły deterministyczne, choć
możliwe są również probabilistyczne modyfikacje
(np. losowa zmiana analizowanej przestrzeni rozwiązań,
losowy wybór rozwiązania początkowego) [11].
Pierwszą decyzją podczas projektowania algorytmu
wykorzystującego omawianą ideę jest wybór rozwiązania inicjującego. Możliwe jest ustalenie punktu startowego w sposób losowy. Rozsądniej jest jednak zacząć
dalsze przeszukiwania przestrzeni od punktu, dla którego
funkcja kryterialna przyjmuje małą wartość. Aby uzyskać takie rozwiązanie, zaproponowano rozbicie podstawowego problemu na problemy mniejsze, a następnie
scalenie uzyskanych rezultatów zgodnie z ideą algorytmu "dziel i rządź". Przypisanie ścieżek dla poszczególnych żądań odbywa się zatem pojedynczo, w oparciu
o działanie algorytmu Dijkstry. Cały proces przetwarzania podzielony jest na dwie części: najpierw wyznaczane
są ścieżki podstawowe, wraz z ustaleniem serwerów
replikujących dla par żądań typu anycast. Następnie
alokowane są ścieżki zapasowe, przy czym każdorazowo
modyfikowana jest struktura grafu reprezentującego
topologię sieci, tak aby zapewnić rozłączność na poziomie łączy pomiędzy ścieżką podstawową, a ścieżką
zapasową. Modyfikacje struktury obejmują również
usunięcie tych krawędzi grafu reprezentujących łącza,
dla których nie możliwe jest zaalokowanie kolejnego
przepływu z uwagi na ograniczenie (12).
Przejście do właściwej implementacji algorytmu
wiąże się z koniecznością zdefiniowania otoczenia analizowanego rozwiązania, rozpatrywanego podczas pojedynczej iteracji. Na schemacie (rysunek 1) sąsiedztwo
oznaczane zostało skrótem NS. W projektowanym algorytmie przyjęto za rozwiązania sąsiednie te, które różnią
się o parę tworzoną przez ścieżkę podstawową i alternatywną dla pojedynczego żądania. Spośród nich, ponownie na bazie algorytmu Dijkstry, wybierany jest jeden
punkt z przestrzeni dopuszczalnych rozwiązań.
Z uwagi na postać funkcji kryterialnej (1), wagi
krawędzi używane podczas obliczeń odpowiadają długościom łączy. Każda iteracja algorytmu wiąże się z wybraniem nowego aktualnego punktu, przy czym akceptowane mogą być wyniki gorsze (w sensie oceny) niż
poprzednie. Ma to na celu uchronienie przed zatrzymaniem algorytmu w minimum lokalnym. Decyzja, dla
którego żądania należy zmienić parę ścieżek opiera się
na uwzględnieniu wykluczeń spowodowanych obecnością listy tabu. W prezentowanej koncepcji algorytmu
istnieją dwie takie listy. Pierwsza z nich przechowuje
informacje dotyczące częstości występowania zmian
danych żądań w zadanym jako parametr horyzoncie
czasowym. Ruchy, które odbywały się ostatnio oraz te,
które występowały dość często nie powinny być powie-
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
943
lane, tak aby analizowana przestrzeń możnych rozwiązań była jak największa. Druga lista eliminuje przyporządkowanie łuków w ścieżkach, które mają największy
udział w sumarycznym jej koszcie po to, aby w następnych ruchach rozważyć trasy omijające te łącza. Długość
obu list jest parametrem algorytmu. Najlepsze rozwiązanie spośród analizowanych jest zapamiętywane jako
ostateczne. Podsumowanie powyższej dyskusji stanowi
ogólny schemat działania przedstawiony w postaci graficznej na rys. 1.
Dokładniejszy opis słowny ujęty został w następujących krokach:
1. Wczytaj informacje o topologii sieci, utwórz graf
skierowany, za wagi krawędzi przyjmij długości łączy. Pobierz informacje o zadanych zbiorach żądań
i serwerów replikujących. W przypadku stosowania
strategii doboru serwerów CR, określ dla żądań anycast upstream węzeł docelowy, dla anycast downstream węzeł źródłowy. Zainicjuj tablice odzwierciedlające dostępną na poszczególnych łukach przepustowość. Ustaw listy tabu jako puste.
2. Znalezienie
rozwiązania
początkowego
(IS): cyklicznie dla każdego żądania wykonuj
w oparciu o lokalną kopię grafu następujące operacje:
a. Zaktualizuj graf topologii sieci poprzez zmianę
wag krawędzi, na których wyczerpana jest dostępną przepustowość (ustalenie faktu w oparciu
o macierze przepustowości).
b. Wyznacz na podstawie algorytmu Dijkstry najkrótszą ścieżkę realizującą rozpatrywane żądanie
w grafie i przyjmij ją jako podstawową.
c. Uwzględnij w macierzy przepustowości koszt
alokacji tej ścieżki.
d. Wykonaj analogicznie kroki a - c wyznaczając
ścieżkę zapasową (wcześniej usuwając z grafu
łuki ze ścieżki podstawowej).
3. Obliczenie kosztów przypisania zmiennych:
CS (aktualne rozwiązanie) = IS;
BS (rozwiązanie najlepsze) = IS;
r (liczba iteracji algorytmu) = 1;
Oblicz i zapamiętaj φ(BS).
4. Wyznaczenie sąsiedztwa: r = r+1. Dla każdego
z żądań, w oparciu o lokalną kopię grafu:
a. Tymczasowo usuń z CS wybór ścieżek.
b. Dokonaj ponownego przypisania ścieżek, na podstawie zmienionego grafu zawierającego informację o już zaalokowanych innych żądaniach,
z pominięciem łuków z drugiej listy tabu.
c. Oblicz koszt. Jeżeli nie było możliwe wyznaczenia ścieżki, przypisz rozwiązaniu maksymalny
koszt.
d. Na liście tabu zawierającej łuki zapisz informację
o najbardziej kosztownym. Z listy tabu zawierającej żądania wybierz te, których zamiana jest
dopuszczalna, lub te których koszt jest mniejszy
niż φ(BS) (kryterium aspiracji).
5. Wybór nowego CS - Wybierz z sąsiedztwa to rozwiązanie, które realizuje minimum kosztu i przyjmij
je jako CS. Uaktualnij macierze przepustowości
6. Wybór BS - Jeżeli φ(CS)<φ(BS) to przyjmij BS = CS,
k = 0 (licznik iteracji bez uzyskania poprawy),
w przeciwnym razie przypisz k = k+1;
7. Zakończenie działania algorytmu: jeżeli liczniki r lub
k osiągną wartości maksymalne R lub K.
Rys. 1. Ogólny schemat działania zaimplementowanego
algorytmu przeszukiwania tabu
5.
BADANIA
Udostępnione optymalne wyniki referencyjne [2]
zostały uzyskane przy zastosowaniu narzędzia CPLEX
11.0 i dotyczą sieci NSF o topologii zaprezentowanej na
rysunku 2. Modelujący tą instancję problemu graf składa
się z 14 wierzchołków i 42 skierowanych krawędzi,
a przepustowość każdej z nich określono na 40 Gbps.
Badane były również dwa warianty problemu. W jednym
z nich, przed przystąpieniem do alokacji żądań, na podstawie algorytmu Dijkstry ustalone zostały najbliższe
serwery replikujące dla każdego węzła i to do nich kierowane były żądania anycast. W drugim wariancie żądania te mogą być kierowane do dowolnego wierzchołka
z serwerem replikującym (AR).
Rys. 2. Topologia sieci NSF (krawędzie dwukierunkowe).
Liczba żądań typu unicast jest losowo generowaną
wartością ze zbioru {7,…,44}, podobnie liczba żądań
anycast także jest realizacją zmiennej losowej (o rozkładzie jednostajnym dyskretnym na zbiorze {8,10,..,28}.
Zgodnie z koncepcją przedstawioną w [2], wprowadzono
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
944
wielkość nazwaną parametrem proporcji ruchu anycast
(oznaczaną dalej skrótem AP), zdefiniowaną jako iloraz
sumy przepustowości wszystkich żądań anycast do sumy
przepustowości wymaganej przez wszystkie żądania.
Przeanalizowano osiem scenariuszy dotyczących tej
wielkości: od 10% do 80%. Dobór przepustowości dla
sieci NSF został dokonany z zakresu od 1 do 9 Gbps tak,
aby zachować rozważaną wartość współczynnika AP.
Podsumowując, dla każdego zbioru żądań, wygenerowanych zgodnie z opisem powyżej, zostały przeprowadzone symulacje obliczeniowe dla 8 problemów
(z uwzględnieniem SBPP oraz bez jego uwzględnienia,
dla 2 i 3 serwerów replikujących, dla modelu CR i AR).
Co istotne, przy ustalaniu jakości proponowanego algorytmu heurystycznego, analiza nastąpiła dla tych samych
losowych instancji problemu.
Wszystkie testy zostały dokonane dla ustalonych
wartości parametrów wejściowych dla metody poszukiwania z listą tabu, a więc: ogólnej liczby iteracji, liczby
iteracji bez wpływu na poprawę rozwiązania optymalnego, czy też długości list tabu. Wyznaczenie funkcji ich
doboru jest jednym z aspektów tej pracy i zostało szczegółowo przedyskutowane w jednym z jej podrozdziałów.
Badano problemy zakładające użycie tak jak i niezastosowanie algorytmu SBPP. Podsumowując, dla każdej
z sieci przeprowadzono 1800 symulacji testowych.
Pomiaru czasu wykonania algorytmów dokonano
na komputerze o procesorze Intel Core i5 o częstotliwości taktowania 2.53 GHz, oraz pamięci operacyjnej
3.0 GB. Wyznaczenie czasu dla heurystyki, jako że językiem implementacji jest Java, odbyła się w oparciu
o działanie metody currentTimeMillis(). W celu wyeliminowania zakłóceń wynikających z przetwarzania
współbieżnego w systemie operacyjnym Windows 7,
liczba uruchomionych procesów została ograniczona,
a same pomiary przeprowadzono wielokrotnie, a ich
wyniki uśrednione.
Eksperymenty przeprowadzono według następującego planu:
• badanie wpływu liczby iteracji i pozostałych parametrów na działanie algorytmu heurystycznego,
• badanie jakości rozwiązania osiąganego przez algorytm heurystyczny dla różnego rodzaju scenariusza
(z uwzględnieniem koncepcji SBPP albo bez jej stosowania, z dowolnością wyboru serwera replikującego AR, czy też z wyborem najbliższego z nich CR,
z dwoma lub trzema węzłami będącymi serwerami
replikującymi dane dla żądań anycast),
• porównanie wyników uzyskiwanych przez proponowany algorytm oparty na liście tabu względem
algorytmu bazującego na pseudolosowym wyznaczaniu ścieżek w sieci,
• badanie wpływu liczby serwerów replikujących na
koszt sieci,
• badanie wpływu koncepcji SBPP na koszt alokacji
przepływów w sieci.
W pierwszym z eksperymentów dokonano procesu
dostrajania algorytmu heurystycznego w celu otrzymywania jak najlepszych rozwiązań. Rysunek 3 przedstawia zależność między jakością otrzymanego rozwiązania
a liczbą iteracji. W celu uniezależnienia uzyskanych
wyników od badanej topologii sieci wyznaczono liczbę
iteracji poprzez krotność liczby węzłów. Maksymalna
analizowana wartość tego parametru wyniosła 6.5.
Otrzymane rezultaty pokazują, że wraz ze wzrostem
czasu działania uzyskiwane rezultaty są bliższe optimum. Z drugiej strony stopień poprawy nie jest liniowy.
Konieczny jest zatem taki dobór punktu, który będzie
stanowił kompromis pomiędzy dokładnością, a czasem
wykonania programu.
Rysunek 3. Średnia odległość rozwiązania względem
rezultatu optymalnego jako funkcja liczby iteracji.
Kolejnym z badanych parametrów była długość listy
Tabu. Jest to bardzo istotny parametr, ponieważ zakazanie zbyt dużej liczby ruchów prowadzących do rozwiązań sąsiednich może doprowadzić do sytuacji, iż nie
będzie dostępna żadna ścieżka w przyjętej definicji otoczenia. Zbyt krótka lista może natomiast skutkować
okresowym przyjmowaniem rozwiązań będących
w otoczeniu lokalnego minimum funkcji kryterialnej
i pominięte zostaną inne, często lepsze rezultaty. Rysunek 4 przedstawia efekty tego badania. Na podstawie
wyników symulacji komputerowych przyjęto, że długość
listy tabu zawierającej krawędzie należy zróżnicować
w zależności od rodzaju ścieżki dla poszczególnych
żądań. Dla ścieżki podstawowej, długość listy tabu ustalono na 2, a dla ścieżek zapasowych na 7. Zwiększenie
tych wartości skutkowało brakiem możliwości alokacji
ścieżek z sąsiedztwa (ograniczenie przepustowości łączy).
Rysunek 4. Średnia odległość rozwiązania przyjętego
przez przeszukiwanie tabu od optymalnego jako funkcja
długości listy tabu.
Drugi z eksperymentów miał na celu zbadanie jakości rozwiązania otrzymanego przez algorytm heury-
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
945
styczny względem rozwiązania optymalnego. Uzyskane
rezultaty zostały przedstawione na rysunkach 5 i 6,
z uwzględnieniem rozbicia na poszczególne problemy
(z i bez SBPP, AR lub CR, z dwoma lub trzema węzłami
będącymi serwerami replikującymi dane dla żądań anycast).
Rysunek 5. Porównanie wyników uzyskanych przy pomocą algorytmu heurystycznego z optymalnymi
(problem z SBPP)
stawie powyższych rezultatów stwierdzić można, że
w przypadku braku stosowania algorytmu SBPP zmniejsza się rozrzut otrzymywanych rezultatów, kosztem
większej wartości średniego odległości. Spowodowane
jest to bardziej rygorystycznymi ograniczeniami dopuszczalnej przestrzeni rozwiązań.
W kolejnym z eksperymentów porównano wyniki
uzyskiwane przez proponowany algorytm oparty na
liście tabu z uzyskiwanymi przez algorytm bazujący na
pseudolosowym wyznaczaniu ścieżek w sieci. Otrzymane rezultaty przedstawia rysunek 7. Na osi pionowej
umieszczono krotność kosztu algorytmu losowego
w stosunku do rezultatu uzyskanego heurystyką. Zaznaczono dwie serie danych, jedna odpowiada zastosowaniu
koncepcji SBPP, drugą zaniechaniu jej stosowania. Wyniki wskazują, że zysk z zastosowania algorytmu heurystycznego jest tym większy, im większa jest przestrzeń
dopuszczalnych rezultatów. Wyniki wskazują również,
że algorytm pseudolosowy daje gorsze rezultaty, gdy nie
jest stosowany algorytm SBPP (wskutek zwiększenia
roli ograniczenia przepustowości łączy). Przewaga algorytmu heurystycznego nad pseudolosowym w kontekście
otrzymywanych rozwiązań jest znaczna i wynosi od 2.9
do 4.4 razy w przypadku niestosowania SBPP oraz od
2.4 do 3 razy w przeciwnym razie.
W przypadku uwzględnienia koncepcji SBPP,
uśredniona odległość uzyskanych rozwiązań względem
wyników optymalnych wyniosła 5.6%. Dla przypadków,
w których z góry zdefiniowano serwer replikujący,
w kilku instancjach uzyskano rezultaty optymalne. Wraz
ze wzrostem liczby serwerów replikujących, czy też
umożliwieniem dowolnego jego wyboru, zwiększa się
przestrzeń rozwiązań dopuszczalnych, co przełożyło się
na spadek jakości uzyskiwanych rozwiązań (przy ustalonej liczbie iteracji). Warty podkreślenia jest także rozrzut
uzyskiwanych wyników. Oprócz obserwacji widocznych
na wykresach obliczono odchylenie standardowe analizowanych odległości. Wartość tej statystyki wyniosła
0.11.
Rysunek 7. Porównanie algorytmów przeszukiwania
tabui pseudolosowego.
Czwarty z eksperymentów ma na celu sprawdzenie
wpływu zwiększenia liczby serwerów replikujących na
koszt sieci. W tym celu zastosowano topologie sieci
o znacznych rozmiarach: COST 239, Italian Network
i US Long-Distance Network [8]. Przepustowość dla
każdego łącza we wszystkich omawianych topologiach
ustalono na 160 Gbps. Do opisu rezultatów zaproponowano metrykę 4SW (wskaźnik procentowy zysku z zastosowania kolejnych serwerów względem instancji
z dwoma serwerami) wyrażoną wzorem:
Rysunek 6. Porównanie wyników uzyskanych przy pomocą algorytmu heurystycznego z optymalnymi
(problem bez stosowania SBPP)
Analogicznie, przeprowadzono porównanie dla
problemu, w którym wykluczono możliwość zastosowania algorytmu SBPP. Wartość średnia odległości od
rozwiązania optymalnego w tym przypadku równała się
6.5%, a odchylenie standardowe wyniosło 0.04. Na pod-
B CDE FE G HB IDE FE G B CDE FE G (19)
Rezultaty przedstawione zostały na rysunkach 8 i 9
i wskazują, że bez względu na analizowaną instancję
problemu, dodając nowe serwery replikujące, a co za
tym idzie zwiększając przestrzeń dopuszczalnych rozwiązań, możemy uzyskać lepsze rozwiązanie.
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
946
(AP = 10%, 20%, 30%) w rozbiciu na problemy związ
zwi a. Otrzymane
ne z zasadą wyboru serwera replikującego
replikuj
rezultaty wskazują, że dla wszystkich badanych paramee
trów i topologii sieciowych uzyskano znaczne obniżeni
obni
kosztu (ponad 50%).
z dodania
Rysunek 8. Porównanie zysków wynikających
ynikają
dwóch serwerów replikujących przy dowolnym doborze
serwera replikującego dla żądań anycast.
od anaWyniki symulacji wskazują,
ą że niezależnie
niezale
lizowanej sieci, zysk wynikający
ący z dodania kolejnych
serwerów jest tym większy, im większy
ększy jest udział żądań
anycast. Wynika to ze zmniejszenia się długości ścieżki
dla przepływów anycast, co jest tym bardziej znaczące
znacz ,
im więcej jest żądań tego typu. Zysk z zastosowania
, gdy
dodatkowego serwera replikującego
ącego jest większy
wi
uwzględnia się algorytm SBPP. Analogiczne wnioski
można wysnuć, gdy rozważana
ana jest selekcja serwera
replikującego
cego na zasadzie wyboru najbliższego
najbli
węzła
względem węzła klienckiego. Ciekawym wydaje się
si
wniosek, żee zysk ten jest mniejszy niż osiągany przy
strategii AR, co wynikać może
że z mniejszej możliwości
mo
wykorzystania potencjału z rozszerzenia przestrzeni
dopuszczalnych ścieżek
ek (wymuszenie wyboru określ
okre onego serwera).
Rysunek 10. Wpływ koncepcji SBPP w podziale na algorytm doboru serwera replikującego
replikuj
dane i wartości
proporcji ruchu anycast – topologia COST 239.
Rysunek 11. Wpływ koncepcji SBPP w podziale na algorytm doboru serwera replikującego
replikuj
dane i wartości
proporcji ruchu anycast – topologia Italian Network.
z dodawynikaj
Rysunek 9. Porównanie zysków wynikających
nia dwóch serwerów replikujących,
cych, dla doboru najbliższego serwera replikującego
cego dla żądań
żąda anycast.
Celem ostatniego z eksperymentów było zbadanie
wpływu mechanizmu SBPP na funkcję kosztu (1). Za
miarę jakości rozwiązania przyjęto
ęto stosunek kosztu rozwiązania opartego na SBPP do kosztu bez SBPP, co
zostało opisane przez równanie 20.
B 6JKK B #L6JKK (20)
Rysunki 10 - 12 prezentująą wyniki badań
bada dla różnych topologii sieci, przy różnej
nej proporcji ruchu anycast
Rysunek 12. Wpływ koncepcji SBPP w podziale na algorytm doboru serwera replikującego
replikuj
dane i wartości
proporcji ruchu anycast – topologia US-Long-Distance
Network.
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
947
6.
PODSUMOWANIE
W pracy podjęto dyskusję na temat optymalizacji
przepływów anycast oraz unicast w przeżywalnych sieciach komputerowych. Przeżywalności sieci wiązała się
z wymaganiem zapewnienia ochrony przed uszkodzeniami pojedynczych łączy poprzez zastosowanie redundancji wyznaczonych ścieżek. Ze względu na
NP-trudność zadanego problemu optymalizacyjnego
zadecydowano o implementacji algorytmu heurystycznego na bazie przeszukiwania tabu. Otrzymane rezultaty
potwierdzają słuszność takiego wyboru. Pokazują bowiem, że zaimplementowany algorytm znajduje rozwiązania bliskie optimum, a ponadto jest efektywny czasowo. Algorytm ten ponadto okazał się znacznie bardziej
efektywny od algorytmu pseudolosowego. Badania analizujące wpływ zwiększania liczby serwerów replikujących na koszt sieci pokazały, iż zwiększanie to ma korzystny wpływ na obniżanie kosztu sieci dla wszystkich
badanych przypadków. Przedstawiono również, że koncepcja SBPP pozwala na znaczące (ponad 50%) obniżenie kosztu, w przypadku sieci w których wymagane jest
zabezpieczenie przed pojedynczą awarią.
[8] J. Rak, K. Walkowiak, Simultaneous optimization
of unicast and anycast flows and replica location in
survivable optical networks, Telecommunication
Systems, vol. 52, no. 2 , pp 1043-1055, 2013.
[9] S. Boyd, J. Mattingley, Branch and Bound Methods,
http://see.stanford.edu/materials/lsocoee364b/17bb_notes.pdf, dostęp: 19.05.2013.
[10] B. Awerbuch, A. Brinkmann and C. Scheideler,
Anycasting in adversarial systems: routing and admission control, Lecture Notes in Computer Science, Vol. 2719, 2003, Springer-Verlag, Berlin,
pp. 1153–1168.
[11] Z. Michalewicz, D.B. Fogel, Jak to rozwiązać czyli
nowoczesna heurystyka, WNT 2006.
PODZIĘKOWANIA
Praca jest finansowana ze środków statutowych Katedry Systemów i Sieci Komputerowych, Wydział Elektroniki, Politechnika Wrocławska.
SPIS LITERATURY
[1] J. Gładysz, K. Walkowiak, Tabu Search Algorithm
for Survivable Network Design Problem with Simultaneous Unicast and Anycast Flows, International
Journal of Electronics and Telecommunications.
Volume 56, Issue 1, Pages 41–48, ISSN (Print)
0867-6747, July 2010.
[2] J. Rak, K. Walkowiak, Shared Backup Path Protection for Anycast and Unicast Flows Using the
Node-Link Notation, Communications (ICC), 2011
IEEE International Conference on, pp.1-6, 5-9 June
2011.
[3] M. Pióro, D. Medhi, Routing, Flow, and Capacity
Design in Communication and Computer Networks, Morgan Kaufman Publishers 2004.
[4] M. Hofmann and L. Beaumont, Content networking: architecture, protocols, and practice, Morgan
Kaufmann, San Francisco, 2005.
[5] P.-H. Ho, J. Tapolcai, and H.T. Mouftah, Diverse
routing for shared protection in survivable optical
networks, in Proc. IEEE GLOBECOM, vol. 5,
pp. 2519-2523, 2003.
[6] D. Din, “Anycast Routing and Wavelength Assignment Problem on WDM Network” IEICE
Transactions on Communications, vol. E88-B, no.
4, pp. 3941-3951, 2005.
[7] C.P. Low and C.L. Tan, On anycast routing with
bandwidth constraint, Computer Communications,
vol. 26, no. 14, pp. 1541-1550, 1 September 2003.
PRZEGLĄD TELEKOMUNIKACYJNY * ROCZNIK LXXXVI * i WIADOMOŚCI TELEKOMUNIKACYJNE * ROCZNIK LXXXII * nr 8-9/2013
948