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