Zastosowanie zmodyfikowanej metody symulowanego wyżarzania

Transkrypt

Zastosowanie zmodyfikowanej metody symulowanego wyżarzania
Dr hab. Wiesław Krajewski, prof. PAN
Instytut Badań Systemowych PAN
Warszawa 7 listopada 2011
Recenzja rozprawy doktorskiej
Zastosowanie zmodyfikowanej metody symulowanego wyżarzania
do optymalizacji przepustowości sieci komputerowych
przygotowanej przez mgr. inż. Roberta Dekowskiego
Tematyka rozprawy dotyczy zagadnień poprawy wydajności przesyłania danych w sieciach
komputerowych oraz lepszego wykorzystania ich zasobów. Jej cel oraz zasadnicze tezy
Autor przedstawił na stronach 10 i 11. Zostały one sformułowane następująco:
• „ ... wykazanie zasadności stosowania algorytmów heurystycznych (na
przykładzie symulowanego wyżarzania) do optymalizacji przepustowości
sieci komputerowej.”
• „ ... 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ół.”
Tematyka rozprawy jest ważna i aktualna. Zapewnienie odpowiedniej wydajności przesyłania informacji w sieciach komputerowych i w Internecie jest bowiem jednym z największych wyzwań, którym sprostać musi obecnie informatyka. Od lat rośnie liczba urządzeń
pracujących w Internecie, stale zwiększa się liczba jego użytkowników i wciąż pojawiają
się aplikacje, wymagające przesyłania coraz większych ilości danych.
Omówienie i ocena treści rozprawy
Rozprawa składa się z sześciu rozdziałów oraz czterech załączników. Pierwszy rozdział ma
charakter wprowadzający. Doktorant postanowił opisać w nim protokół OSPF oraz przedstawić przegląd rozwiązań umożliwiających równoważenia obciążenia w tym protokole.
Zamysł słuszny, jednak wykonanie nie najlepsze. Niepotrzebnie, moim zdaniem, Doktorant omawia struktury komunikatów wykorzystywanych w protokole OSPF. Zbędne są
również informacje dotyczące masek o zmiennej długości, a także bezpieczeństwa samego
protokołu. Nie ma to bowiem związku z rozważanym w rozprawie problemem ani z jej
celem.
Część rozdziału pierwszego poświęcona omówieniu rozwiązań zapewniających równoważenie obciążenia jest w dodatku powierzchowna i nieco chaotyczna. Byłoby znacznie lepiej, gdyby Doktorant przedstawił dokładnie problem równoważenia obciążenia, zwracając
szczególną uwagę na przypadek nierównych kosztów. Przydałby się również komentarz
dotyczący możliwości wystąpienia zapętleń, gdy w protokole OSPF podejmowana jest
próba wykorzystania tras o nierównych kosztach.
W drugim rozdziale Doktorant przedstawia proponowane rozwiązanie równoważenia obciążenia z wykorzystaniem tras o nierównych kosztach. Podaje również ogólny opis przygotowanego algorytmu. Podstawą przedstawianego rozwiązania jest nierówność (2.1), która
służy do ustalenia, czy trasa alternatywna może być dołączona do zbioru tras prowadzących do sieci docelowej. Taki sposób działania jest dość oczywisty i był już wykorzystywany, na przykład w protokole EIGRP. Występujący po prawej stronie nierówności (2.1)
współczynnik określa, jak bardzo koszt trasy alternatywnej może być większy od kosztu
trasy optymalnej i jest arbitralnie ustalany przez administratora.
W zaproponowanym w rozprawie rozwiązaniu współczynnik ten jest równy iloczynowi
dwóch czynników i dlatego nierówność (2.1) przyjmuje postać (2.2). Pierwszy czynnik
jest równy liczbie przeciążonych interfejsów routera, drugi zaś jest wyznaczany centralnie tak, aby przepustowość całej sieci była możliwie jak największa. Administrator musi
jedynie ustalić wartości progowe, których przekroczenie oznacza, że interfejs jest przeciążony. Uzależnienie włączania tras alternatywnych od liczby przeciążonych interfejsów
jest z całą pewnością dobrym pomysłem, ponieważ pozwala na adaptację do zmieniających się warunków panujących w sieciach oraz do ilości przesyłanych informacji. Do
współczynników, których wartości mają maksymalizować przepustowość sieci odniosę się
w dalszej części. Nazywał je będę przy tym parametrami beta tak, jak to przyjął Doktorant w rozprawie.
Wątpliwości budzi natomiast sposób rozdziału pakietów między różne trasy. Doktorant
wymienia dwa sposoby, rozdział pakietów między różne trasy zgodnie z algorytmem
„Round Robin” lub na podstawie źródłowych adresów IP. Pierwszy sposób jest stosowany
w praktyce. Bywa, że rozdziału pakietów dokonuje się na podstawie docelowych adresów
IP, nie zaś adresów źródłowych.
Końcowa część drugiego rozdziału, na którą składają się punkty 2.3, 2.4, 2.5 oraz 2.6 jest
chaotyczna i niczego do rozprawy nie wnosi. Zbędny jest również przykład omawiany w
punkcie 2.4. I bez niego wiadomo, że przesyłanie danych dodatkowymi trasami może,
choć nie musi zwiększyć całkowitą przepustowość obszaru OSPF.
Trzeci rozdział Doktorant poświęcił omówieniu teoretycznych aspektów związanych z
maksymalizacją przepustowości sieci. Wynikiem tej maksymalizacji mają być współczynniki beta, wykorzystywane do wyboru tras alternatywnych (nieoptymalnych). Rozdział
jednak zaczyna się od definicji grafów dwudzielnych i zapowiedzi, że będą one wykorzystywane w dalszej analizie, a nie są.
Następnie Doktorant omawia dwa zadania optymalizacji przepustowości sieci. Pierwsze,
formułowane w postaci zadania programowania liniowego i rozwiązywane metodą Simplex, było już wcześniej analizowane w szeregu pracach. Drugie zadanie zostało sformułowane przez Doktoranta, który zaproponował, aby rozwiązywać je metodą symulowanego wyżarzania, opisaną w czwartym rozdziale. O ile jednak w drugim zadaniu
maksymalizowana jest przepustowość sieci, to w pierwszym minimalizowana jest suma
wartości współczynników obciążenia wszystkich łączy. Pewnie dlatego w celu wyznaczenia
przepustowości maksymalnej sieci Doktorant proponuje, aby wielokrotnie rozwiązywać
zadanie programowania liniowego, zwiększając za każdym razem ilość przesyłanych danych.
Procedura ta ma się zakończyć, gdy dla kolejnego zadania programowania liniowego zbiór
rozwiązań dopuszczalnych jest zbiorem pustym. Powodów takiego sformułowania zadania
maksymalizacji przepustowości sieci Doktorant nie wyjaśnia. Opisuje za to metodę Simpleks, która jest bardzo dobrze znana. Opis algorytmu Simpleks można było pominąć.
Stwierdzenie na stronie 88, że wszystkie zmienne bazowe są równe zeru może bowiem
sugerować, iż Doktorant nie zna dobrze podstaw teoretycznych programowania liniowego.
Za zupełnie zbędne uważam również uwagi dotyczące metod jedno- i dwupakietowych
szacowania przepustowości dostępnej, zamieszczone na stronach 95 i 96.
Zadaniu programowania liniowego Doktorant przeciwstawia sformułowane przez siebie
zadanie maksymalizacji przepustowości sieci opisane zależnościami (3.5) ÷ (3.8). Funkcja
celu nie została jednak zdefiniowana w postaci analitycznej. Podany został jedynie algorytm, jak wyznaczać jej wartości. Dlatego stwierdzenie na stronie 93, iż jest to funkcja
niewypukła i kawałkami liniowa powinno być w mniej lub bardziej formalny sposób
udowodnione. Wydaje się bowiem, że jest to funkcja kawałkami stała. Punkt 3.4.4,
wbrew tytułowi, żadnej analizy funkcji celu nie zawiera.
W końcowej części trzeciego rozdziału Doktorant analizuje kilka prostych przykładów.
Pierwszy z nich dotyczy topologii przedstawionej na rys. 3.2. Jest to dziwny przykład i nie
przystający do rzeczywistości. Doktorant zakłada, że znane są ilości danych przesyłanych
między sieciami. Na przykład z sieci S1 do sieci S2 ma być przesłanych 200 Mb. W
przypadku równoważenia NK dane te będą przesyłane łączami e1 oraz e2 . Ale kto lub co
będzie te dane wysyłać z sieci S1 ? Czy tam jest jakiś ukryty router, który ma te dane
wysyłać i w dodatku wybierać dwie różne trasy ponieważ jego interfejsy są przeciążone?
Niewłaściwe jest również wyznaczanie czasu przesyłania wszystkich danych we wszystkich
przykładach. Przyjmowane jest bowiem założenie, że wszystkie dane są wysyłane od razu,
a tak nie musi być. Jest to po prostu niemożliwe do oszacowania.
Mam również zastrzeżenia do wyników w przykładzie dla topologii przedstawionej na
rys. 3.5. Przy wymianie danych między H1 a H2 istnieją dwie trasy o tym samym
minimalnym koszcie. Pierwsza prowadzi przez łącze e5 i jej koszt jest równy 2. Druga
trasa, o dokładnie tym samym koszcie, prowadzi przez łącza e2 oraz e4 . Jej przepustowość
jest za to dwukrotnie wyższa niż pierwszej trasy, to znaczy powinno być Ψ(0) = 100.
Czwarty, kolejny bardzo ważny rozdział dla realizacji podstawowego celu rozprawy jest
poświęcony adaptacji metody symulowanego wyżarzania do optymalizacji przepustowości
sieci komputerowej. Na początku podany jest ogólny opis metody symulowanego wyżarzania. Następnie Doktorant omawia proponowany algorytm poprawy przepustowości sieci,
w którym wykorzystał metodę symulowanego wyżarzania. Algorytm ten wymaga, aby
znana była charakterystyka ruchu w sieci w ustalonym przedziale czasu.
W dalszej części omawianego rozdziału Doktorant przedstawia trzy scenariusze, wykorzystywane w testach proponowanej metody. Wyjaśnia przy tym, że dwa pierwsze posłużyły
dobraniu optymalnych parametrów pracy algorytmu dla trzeciego scenariusza. Pomija
jednak charakterystykę obciążenia sieci, które powinno mieć zasadnicze znaczenie przy
podejmowaniu decyzji o włączeniu tras o nierównych kosztach. Rozdział czwarty kończy
się oszacowaniem złożoności obliczeniowej proponowanej metody.
Ostatnie dwa rozdziały, piąty i szósty, zawierają wyniki obliczeniowe oraz ich analizę. Ponadto w szóstym rozdziale znalazło się dość ogólne porównanie wybranych metod heurystycznych i metody symulowanego wyżarzania.
Ostatnim punktem pracy jest Zakończenie, w którym Doktorant pisze „Uważam, że moja
praca może przyczynić się do rozwoju badań nad tematyką optymalizacji przepustowości
oraz zagadnieniami wydajnego routingu w sieciach komputerowych”. Zdanie to pozostawiam bez komentarza.
Ocena rozpatrywanego problemu i sposobu jego rozwiązania
Podstawowym celem rozprawy była optymalizacja przepustowości sieci komputerowej.
Doktorant zaproponował metodę maksymalizacji tej przepustowości. Jest to niewątpliwie
metoda autorska.
W zdecydowanej większości prac poświęconych optymalizacji sieci autorzy zakładają, że
znane są ilości danych do przesłania. Są to wielkości całkowite w pewnym ustalonym
przedziale czasu bądź wartości uśrednione. Celem jest wyznaczenie przepływów w sposób
zapewniający minimalne zużycie zasobów sieciowych, niezbędnych do przesłania tych
danych.
W rozprawie również zakłada się, że znane są ilości danych do przesłania. Celem zaś jest
jak najszybsze dostarczenie ich do odbiorców. Czas przesyłania danych jest wykorzystywany następnie do wyznaczenia przepustowości sieci. Można zatem przyjąć, że wyznaczona w ten sposób przepustowość sieci jest maksymalną przepustowością przy założonych
ilościach przesyłanych danych.
Sformułowane w rozprawie zadanie ma charakter częściowo opisowy. Doktorant nie podaje na przykład formalnej postaci funkcjonału celu a jedynie algorytm wyznaczania jego
wartości. Dlatego metody heurystyczne wydają się być szczególnie przydatne do wyznaczania rozwiązań takich zadań. Metoda symulowanego wyżarzania jest bardzo popularna i obecnie często się ją wykorzystuje. Implementacja tej metody jest również częścią jednego z toolboxów oprogramowania Matlab. Dostosowanie metody symulowanego
wyżarzania do potrzeb wynikających ze specyfiki rozwiązywanego zadania optymalizacji
jest na ogół niezbędne.
Rozważając problem maksymalizacji przepustowości sieci Doktorant sformułował dwie
tezy, przytoczone na początku recenzji. Pierwsza z nich mówi o słuszności stosowania
metody symulowanego wyżarzania. Pewnie dlatego Doktorant kilkakrotnie przeciwstawia
ją metodzie simpleks. Jednak o przewadze którejkolwiek z tych metod można by mówić,
gdyby obie wykorzystać do rozwiązania tego samego zadania. A zadania są różne. Jedynie
co je łączy to optymalizacja przepustowości sieci.
Druga z tych tez dotyczy słuszności stosowania równoważenia obciążenia typu NK. Aby
jej dowieść, Doktorant pokazuje na wybranych przykładach, że uwzględnienie w routingu
również tras o kosztach wyższych od optymalnego, zwiększa przepustowość sieci. Na ogół
tak bywa i dowodzenie tego wydaje się zbędne. Zwykle bowiem wyznaczana jest trasa
optymalna o minimalnym koszcie i nią dane są przesyłane. Uwzględnienie dodatkowych
tras może więc przepustowość sieci poprawić. Trzeba jednak pamiętać, że jeśli wszystkie
routery w analizowanym obszarze będą wykorzystywały równoważenie typu NK, mogą
wystąpić pętle. Na tę możliwość zwrócono uwagę w protokole EIGRP. Doktorant w rozpatrywanym przez siebie zadaniu możliwości powstawania pętli nie uwzględnia, ograniczając
się jedynie do stwierdzenia, że niewłaściwy wybór wartości parametrów β może pogorszyć
przepustowość sieci.
Rozpatrywane w rozprawie zadanie ma głównie charakter poznawczy mimo, że Doktorant
kilka razy napomyka o aspektach praktycznych proponowanego rozwiązania. Nie wydaje
się jednak prawdopodobne, aby w dającej przewidzieć się przyszłości ktokolwiek chciał je
zastosować. Podstawową przeszkodą jest zcentralizowany sposób wyznaczania współczynników β, który jest podstawą proponowanej metody maksymalizacji przepustowości sieci.
Wybrane uwagi szczegółowe
1. Na stronie 14, a także na kilku innych stronach, Doktorant używa określenia „dynamiczne protokoły routingu”, ale to nie protokoły są dynamiczne.
2. Na stronie 15 Doktorant pisze o protokołach opartych o wektor. Nie opiera się
protokołów o wektor.
3. Nie podoba mi się następujące zdanie na stronie 17 „ ... konfigurując konkretny
router najczęściej jest możliwe ... ”.
4. Brak adresu 10.0.0.1/30 na rys. 1.3.
5. Określenie na stronie 45 „Najbardziej optymalnym rozwiązaniem ... ” jest niepoprawne.
6. W celu wykazania zasadności stosowania równoważenia obciążenia typu NK, w
przykładzie odnoszącym się do rysunku 2.6, zostały wykorzystane wszystkie możliwe
trasy. Jednak to, czy jakiekolwiek dodatkowe trasy będą wykorzystywane, zależy
od wartości współczynników β, a te nie są podane.
7. W celu wskazania, że macierz ma r wierszy oraz m kolumn używamy zapisu r × m,
a nie r ∗ m (strona 83).
8. Na stronie 83 w wierszu 7 od góry powinno być R2 zamiast R1 , odwrotnie zaś w
wierszu 8.
9. Niezdefiniowane symbole νi użyte zostały na stronie 83.
10. Na stronie 91 dwie linie bezpośrednio znajdujące się za wzorem (3.24) oraz wzór
(3.25) nie pasują do opisu Algorytmu 3.
11. Niepoprawne są stwierdzenia na stronach 118 i 119, że x jest zmienną ze zbioru
wartości dopuszczalnych S.
12. Symbol x∗ oznacza dotychczas wyznaczoną najmnieją wartość minimalizowanego
funkcjonału.
13. Opisując algorytmy 4 oraz 6 Doktorant niewłaściwie używa pętli repeat ... until.
Zgodnie z powszechnie przyjętymi zasadami, pętlę tę wykonuje się do chwili, gdy
warunek podany po słowie until będzie spełniony. Podane na stronach 120 oraz 124
warunki są spełnione od początku działania opisywanych algorytmów.
14. Z punktu 7.3 algorytmu 5 podanego na stronie 122 wynika, jakoby prawdopodobieństwo
akceptacji było tożsame z funkcją energi. Potwierdza to również podana na stronie
123 definicja zmiennej E. A przecież to minimalizowana funkcja Ψ była definiowana
jako funkcja energii, o czym mówi na przykład zdanie na stronie 134.
15. Niezrozumiały jest krok 11 algorytmu 5. Co to znaczy aktualizuj regułę stopu?
16. Przedstawiony na stronie 124 algorytm 6 jest po prostu algorytmem 5 tylko inaczej
opisanym.
17. Na stronie 134 można przeczytać, że kod napisanego przez Doktoranta programu
został zamieszczony w załączniku 1. W rzeczywistości jest tam jedynie informacja
o kodzie umieszczonym na dołączonym do rozprawy nośniku.
18. W opisie oznaczeń na stronie 135 powinno być: P r(E ≥ Y jest prawdopodobieństwem, że wartość zmiennej losowej Y jest mniejsza od E.
19. Ostatnie zdanie na stronie 174 powinno być wykreślone. Przepustowości łączy dla
sieci z rys. 6.2 nie są podane na schemacie tylko na na początku następnej strony.
Konkluzje i ocena końcowa
Przedstawione powyżej uwagi krytyczne muszą niestety wpłynąć na ostateczną ocenę
rozprawy. Zyskałaby ona, gdyby Doktorant przeprowadził dokładną analizę zagadnienia
równoważenia tras ze szczególnym uwzględnieniem tras o różnych kosztach a następnie
skupił się na wybranych aspektach teoretycznych i obliczeniowych rozpatrywanego problemu.
Pomimo uwag krytycznych stwierdzam, że rozważany w rozprawie problem jest ważny oraz
trudny i Doktorant zaproponował nowy sposób sposób optymalizacji przepustowości sieci
komputerowej. Za ważne oraz istotne uważam odejście od sformułowań ściśle formalnych
i wykorzystanie metody heurystycznej, jaką jest metoda symulowanego wyżarzania.
W konkluzji mogę stwierdzić, ze opiniowana rozprawa, mimo pewnych wymienionych
wczesniej usterek, spełnia wymagania obowiazujących przepisów ustawy o stopniu naukowym
doktora i wnoszę o dopuszczenie pana mgr. inż. Roberta Dekowskiego do publicznej
obrony

Podobne dokumenty