TRANSMISJA PAKIETÓW WSKAŹNIKI QoS pojedynczy kanał Zdzisław PAPIR Katedra Telekomunikacji © Zdzisław Papir RUTER/PRZEŁĄCZNIK – SIEĆ PAKIETOWA Wejściowe porty/bufory (kolejki) do przetwarzania Wyjściowe porty/bufory (kolejki) do transmisji Przetwarzanie i przekazywanie pakietów © Zdzisław Papir SYMBOLIKA KENDALLA A/S/K/N A bufor kanał K 3 S jN • A - przybycia (Arrival), S - transmisja (Service) • K - # kanałów, N - pojemność systemu A/S - M (Markov, Memoryless), D (Deterministic), G (General), E (Erlang), H (Hiperexponential), C (Cox), SS (Self-Similar) = LRD (Longe Range Dependent) Algorytm szeregowania – FCFS (FIFO), IS, PS, LCFS, priorytety, Round Robin, Fair Queueing © Zdzisław Papir KOLEJKA M/M/1 bufor kanał j j t Pr j; t ? j 0,1,2 •j - # pakietów (łącznie z transmitowanym) • - natężenie strumienia wejściowego • 1/ - średni czas transmisji pakietu a exp fgp odstępów czasu między pakietami s exp fgp czasu transmisji pakietów © Zdzisław Papir KOLEJKA M/M/1 – ewolucja w czasie i stan stacjonarny (ustalony) bufor kanał j Ewolucja w czasie Stan stacjonarny t∞ j t Pr j; t ? d j t dt 0 j 0,1,2 j Pr j ? j 0,1,2 © Zdzisław Papir KOLEJKA M/M/1 – ewolucja w czasie i stan stacjonarny (ustalony) Ewolucja w czasie (proces Markowa) d j t dt j t j 1 t j 1 t , j 1,2, d 0 t dt 0 t 1 t Stan stacjonarny t∞ (GBE – Global Balance Equations) j j 1 j 1 , j 1,2, 0 1 © Zdzisław Papir KOLEJKA M/M/1 - STAN STACJONARNY (Global Balance Equations) j 1 j 1 j λ 0 λ 1 μ λ j j-1 μ λ μ j+1 μ 1 0 Σ strumienie_wej = Σ strumienie_wyj © Zdzisław Papir KOLEJKA M/M/1 - STAN STACJONARNY (Global Balance Equations) SPOSOBY ROZWIĄZYWANIA: • rekurencja (podejście bezpośrednie) • Local Balance Equations (tylko systemy markowowskie) • funkcja tworząca (transformata Z, dowolne systemy) © Zdzisław Papir FUNKCJA TWORZĄCA Rozkład prawdopodobieństwa (dyskretny) 0 , 1 , 2 , , j , Funkcja tworząca P z j 0 j z , z C , z 1 j © Zdzisław Papir FUNKCJA TWORZĄCA - WŁAŚCIWOŚCI P z j 0 j z , z C , z 1 j Warunek normalizacyjny j 0 j 1 P z 1 1 Wartość średnia L j 0 j j dP z L dz z 1 © Zdzisław Papir FUNKCJA TWORZĄCA - WŁAŚCIWOŚCI P z j 0 j z , z C , z 1 j Prawdopodobieństwa 0 Pz z 0 1 1 dPz dz z 0 1! 1 2 2 2 d Pz dz 2! 1 j j j d Pz dz j! z 0 z 0 © Zdzisław Papir FUNKCJA TWORZĄCA – KOLEJKA M/M/1 1 0 j 1 j 1 j , j 1, 2, P z j 0 j z , z C , z 1 j 0 0 Pz , z 1 - z 1 Pz 1 j 0 j z j , z 1 1 - z j (1 ) , j j 1, 2,; 1 © Zdzisław Papir M/M/1 KOLEJKA ROZKŁAD PRAWDOPODOBIEŃSTWA j 1 j , j 0, 1, 2, 1 0.5 j 0.45 0.4 = .2 .8000 .1600 .0320 .0064 .0013 0.35 0.3 0.25 0.2 0.15 = .8 .2000 .1600 .1280 .1024 .0819 0.1 j 0.05 1 2 3 4 5 Rozkład geometryczny 6 7 © Zdzisław Papir KOLEJKA M/M/1 – średnia zajętość L j 1 j j (1 ) j 1 j 1 1 j 20 18 L 16 14 12 10 8 6 4 2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 © Zdzisław Papir KOLEJKA M/M/1 – średnia długość kolejki, średnia zajętość kanału (serwera) bufor kanał Q S Q j 1 j 1 j ? L L = ρ /(1-ρ) - średnia zajętość Q - średnia długość kolejki = ? S - średnia zajętość kanału = ? aktualna przepustowość kanału = ? © Zdzisław Papir KOLEJKA M/M/1 – parametry zależne od stanu bufor j kanał j j •j - # pakietów (łącznie z pakietem w transmisji) • j - natężenie strumienia wejściowego w stanie j • 1/j - średni czas transmisji w stanie j a j j exp j s j j exp j © Zdzisław Papir KOLEJKA M/M/1 – parametry zależne od stanu λ0 0 λ1 1 μ1 λj-1 λj j j-1 μ2 μj bufor j+1 μj+1 kanał j j j Kolejka M/M/1 © Zdzisław Papir KOLEJKA M/M/1 – parametry zależne od stanu (Global Balance Equations) j 1 j 1 j 1 j 1 j j j λ0 0 λ1 1 μ1 λj-1 j j-1 μ2 λj μj j+1 μj+1 11 00 Σ strumienie_wej = Σ strumienie_wyj © Zdzisław Papir KOLEJKA M/M/1 – parametry zależne od stanu (rekurencja) 11 00 1 0 0 1 00 2 2 1 1 1 2 0 0 1 1 2 j 1 j 1 j 1 j 1 j j j 01 j 1 j 0 , 1 2 j j 1, 2, © Zdzisław Papir GLOBAL BALANCE EQUATIONS j 1 j 1 j 1 j 1 j j j λj-1 λj Σ strumienie_wej (przybycie & transmisja) = = Σ strumienie_wyj (przybycie & transmisja) j j+1 μj μj+1 LOCAL BALANCE EQUATIONS j 1 j 1 j j j 1 j 1 j j λj-1 λj j strumień_wej (przybycie) = = strumień_wyj (transmisja) μj j+1 μj+1 © Zdzisław Papir LOCAL BALANCE EQUATIONS (cd) strumień_wej (przybycie) = = strumień_wyj (transmisja) Oddzielnie dla każdej kolejki Oddzielnie dla każdego strumienia Multipleksacja ruchu GBE?, LBE? bufor m, n Tandem kanałów GBE?, LBE? bufor kanał m kanał 1 bufor kanał n 2 © Zdzisław Papir KOLEJKA M/M/1 – parametry zależne od stanu (Local Balance Equations) j 1 j 1 j 1 j 1 j j j j 1 j 1 j j j j j 1 j 1 j : j 1 rekurencja j j j 1 j 1 , j 1, 2 01 j 1 j 0 , 1 2 j j 1, 2, © Zdzisław Papir KOLEJKA M/M/1 – parametry zależne od stanu Zniechęcanie j j 1, j 0,1,2 Infinite Server (IS) j const j const j j , j 1,2, Kilka serwerów (s>1) Grupa użytkowników j const j j , j 1,2, s j s , j s j N j , j 0,1,2 N j 0, j N j const Bufor o skończonej pojemności j , j 0,1, 2,, N j , j 1, 2,, N © Zdzisław Papir GLOBAL BALANCE EQUATIONS - przykłady Σ strumienie_wej (przybycie & transmisja) = = Σ strumienie_wyj (przybycie & transmisja) 1. Kolejka M/M/1 z parametrami λ oraz µ. Serwer podejmuje pracę, gdy pojawi się kolejka dwóch zgłoszeń. Graf stanów oraz GBE? 2. Kolejka M/M/1 zasilana przez dwa strumienie pakietów o natężeniu λ oraz γ (multipleksacja ruchu w buforze). Średni czas transmisji jest jednakowy dla obydwóch strumieni 1/µ. Graf stanów i GBE? bufor kanał m, n © Zdzisław Papir KOLEJKA M/M/1 – średnie opóźnienie tranzytowe TWIERDZENIE LITTLE’a Strumień wejściowy W Strumień wyjściowy L Twierdzenie Little’a L Średnia zajętość W Średnie opóźnienie tranzytowe © Zdzisław Papir TWIERDZENIE LITTLE’A – szkic dowodu L A(t) W D(t) A(t) L(t) D(t) A(t) - # arrivals (0, t) D(t) - # departures (0, t) L(t) – zajętość systemu w chwili t t © Zdzisław Papir TWIERDZENIE LITTLE’A – szkic dowodu W t A D d t 0 A(t) Łączne opóźnienie tranzytowe dla przedziału czasu (0,t) D(t) L(t) t t At t średnia liczba zgłoszeń w czasie (0, t) Wt W t At średnie opóźnienie tranzytowe Lt W t t średnia zajętość w przedziale (0, t) © Zdzisław Papir TWIERDZENIE LITTLE’A – szkic dowodu A(t) Wt W t At t At t L(t) D(t) t W t At Lt W t t Wt t At t Stan stacjonarny t L W W L © Zdzisław Papir KOLEJKA M/M/1 – średnie opóźnienie tranzytowe L 1 1 L 1 1 1 W 1 20 18 W 16 14 1 W 1 12 10 8 6 4 2 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1 © Zdzisław Papir KOLEJKA M/M/1 – optymalny punkt pracy POWER COEFFICIENT Q Q Q W W max Q ? dQ d d 0 W d © Zdzisław Papir KOLEJKA M/M/1 – optymalny punkt pracy POWER COEFFICIENT Q dQ d d 0 W d dQ W 0 d W W optymalnym punkcie pracy (max Q) względne zmiany opóźnienia tranzytowego ∆W/W równoważą względne zmiany przepustowości ∆λ+/λ+. Zmiana punktu pracy nie jest korzystna – wzrost przepustowości ∆λ+/λ+ zostanie zrealizowany przez wzrost opóźnienia ∆W/W (i na odwrót). © Zdzisław Papir KOLEJKA M/M/1 – optymalny punkt pracy Q W W 1 0.25 0.2 0.15 0.1 L Q 1 L 1 2 1 0.05 2 () 0 Właściwość () obowiązuje dla wszystkich systemów M/G/1; nie jest ważna dla systemów G/M/1. © Zdzisław Papir JAKA MULTIPLEKSACJA RUCHU ? 1. STATISTICAL TIME DIVISION MULTIPLEXING (STDM) N KANAŁ TRANSMISYJNY C [pakiet/s] WSTDM N 1 1 1 C N N C N 2. FREQUENCY/TIME DIVISION MULTIPLEX N PODKANAŁY C/N [pakiet/s] WTDM N 1 N WSTDM C N © Zdzisław Papir KOLEJKA M/M/1/N – bufor o skończonej pojemności j<N j? bufor kanał j=N j , j 0,1, 2,, N j , j 1, 2,, N jN 1 j j N 1 1 j 0,1, 2, , N © Zdzisław Papir KOLEJKA M/M/1/N – bufor o skończonej pojemności j<N j? bufor kanał j=N jN 1 N PB N 1 N 1 1 1 N 1 N 1 1 PB W N 1 N 1 1 1 N N N 1 © Zdzisław Papir KOLEJKA M/M/1/N – bufor o skończonej pojemności 1 0.9 0.8 1 N 1 PB 1 N 1 0.7 0.6 0.5 N= N=11 N=7 N=3 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 © Zdzisław Papir KOLEJKA M/M/1/N – bufor o skończonej pojemności 1 N 1 N N N 1 W 1 N 1 Bufory o skończonej pojemności są przyczyną strat ruchu, ale też – kosztem strat – powodują stabilizację opóźnienia. © Zdzisław Papir KOLEJKA M/M/1/N – bufor o skończonej pojemności 0.45 Q W 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 N 0 0 2 4 6 8 10 12 14 16 18 20 © Zdzisław Papir ZARZĄDZANIE PAMIĘCIĄ BUFOROWĄ Pamięć buforowa Kanał transmisyjny Zarządzanie pamięcią buforową: 1. Podział pamięci pomiędzy strumienie 2. Zasady usuwania pakietów z pamięci © Zdzisław Papir Algorytm Tail drop bufor • pakiety są usuwane, gdy bufor jest zapełniony • prosta implementacja • monopolizacja pamięci • potencjalna eliminacja zgęstek pakietów • tail drop to algorytm reaktywny – reaguje na przepełnienie, a nie przeciwdziała mu (algorytm proaktywny) © Zdzisław © ZdzisławPapir Papir Algorytm RED - Random Early Discard Bufor RED Akceptacja 0 Akceptacja probabilistyczna BMIN Odrzucenie BMAX B Średnia długość kolejki P 1 Pmax B 0 BMIN BMAX © Zdzisław Papir SZEREGOWANIE PAKIETÓW bufor k kanał Algorytm szeregowania FCFS Opóźnienie kolejkowania Q 1/ λ 1/ µ 1/ λ [s/pakiet] – średni odstęp czasu między pakietami 1/ µ [s/pakiet] – średni czas transmisji pakietu pk 1 k 1 1 Q © Zdzisław Papir SZEREGOWANIE PAKIETÓW (FCFS, FIFO) bufor kanał m, n m pn m pm, n 1 n pm n pm, n 1 pk 1 k Multipleksacja strumieni powoduje zmniejszenie dostępnej przepustowości. © Zdzisław Papir SZEREGOWANIE PAKIETÓW (FCFS, FIFO) pk 1 k 1 1 Q bufor m bufor n kanał p m 1 p n 1 kanał Q m n Q © Zdzisław Papir SZEREGOWANIE PAKIETÓW (FCFS, FIFO) bufor m bufor n kanał Q Q kanał 0 .4 0 .4 0 .7 0 .1 q 1 q 1,1 Q 1 q Q 1 © Zdzisław Papir SZEREGOWANIE PAKIETÓW Round Robin (RR) Q Q 1 q Q 1 Q 0 .4 0 .4 0.7 0.1 q 1 q3 Algorytm karuzelowy (Round Robin – RR) zapewnia bardziej sprawiedliwy dostęp do kanału w porównaniu do algorytmu szeregowania FCFS (FIFO). © Zdzisław Papir KOLEJKA M/G/1 bufor Dowolna fgp czasu transmisji d ; 1 , 2 , cs kanał j , P z j j z j M/G/1 – FUNKCJA TWORZĄCA z 1D z P z 1 z D z Ds d exp s d 0 M/M/1 – FUNKCJA TWORZĄCA 1 Pz 1 - z © Zdzisław Papir KOLEJKA M/G/1 Dowolna fgp czasu transmisji d ; 1 , 2 , cs bufor kanał 1 W opóźnienie tranzytowe opóźnienie czas kolejkowania transmisji Wzór Pollaczka-Chinczyna: 1 c W , 21 2 s kolejkowanie © Zdzisław Papir WZÓR POLLACZKA-CHINCZYNA Kolejka M/G/1 1 cs2 W , 21 • opóźnienie tranzytowe zależy od dwóch pierwszych momentów fgp czasu transmisji • opóźnienie tranzytowe nie zależy od kształtu fgp czasu transmisji • opóźnienie tranzytowe rośnie ze wzrostem rozproszenia czas transmisji • najkrótsze opóźnienie tranzytowe zapewnia system M/D/1 (stały czas transmisji) Kolejka M/D/1 Kolejka M/M/1 1 , 2 1 2 , cs 0 1 W 1 2 1 , 2 2 2 , cs 1 W 1 © Zdzisław Papir WZÓR POLLACZKA-CHINCZYNA (interpretacja) 2 1 cs2 c s W , 21 21 21 czas transmisji opóźnienie kolejkowania M/D/1 dodatkowe opóźnienie kolejkowania wynikające ze zmienności czasów transmisji © Zdzisław Papir WZÓR POLLACZKA-CHINCZYNA (interpretacja) Kolejka M/G/1 c , c 2 s 2 2 2 a 2 v v 1 2 1 c W 1 2 bufor v 1 ,c 1 2 a 2 s kanał , c , 2 s © Zdzisław Papir KOLEJKA G/G/1 Kolejka M/G/1 c , c 2 s 2 2 2 a 2 v v 1 2 1 c W 1 2 2 s Kolejka G/G/1 c , c 2 s 2 2 2 a 2 v v 2 c c W 1 2 2 a 2 s Wzrost zmienności (rozproszenie) strumienia pakietów oraz czasów ich transmisji powoduje nadmierny wzrost opóźnienia tranzytowego. © Zdzisław Papir SAMOPODOBIEŃSTWO GEOMETRYCZNE Obiekt samopodobny (geometrycznie) to obiekt, którego kształt jest taki sam jak kształt jego części. Samopodobieństwo jest charakterystyczną cechą fraktali. Fraktal to figura geometryczna, którą cechuje powtarzający się w nieskończoność wzorzec. Wacław Sierpiński - 1882...1969 Polski matematyk 700 artykułów i książek Dywan Sierpińskiego – przykład fraktala „How Long Is the Coast of Britain? Statistical Self-Similarity and Fractional Dimension” (przeczytaj artykuł) © Zdzisław Papir Krok 0 © Zdzisław Papir Krok 1 © Zdzisław Papir Krok 2 © Zdzisław Papir Krok 3 © Zdzisław Papir SAMOPODOBIEŃSTWO STATYSTYCZNE Parametr Hursta H samopodobieństwa statystycznego dotyczy samopodobieństwa procesów losowych na różnych skalach czasu. Parametr Hursta nie opisuje samopodobieństwa fraktali na różnych ich skalach. Harold Edwin Hurst (1880 – 1978) – brytyjski hydrolog. Hurst zajmował się badaniem zdolności retencyjnych zbiorników wodnych i wykrył hydrologiczne zjawisko dalekosiężnej korelacji (w szczególności dla fluktuacji poziomu wody w rzece Nil). Hurst opracował miarę zmienności szeregów czasowych dla różnych skal czasu (rescaled range methodology) pozwalającą wykrywać korelację dalekosiężną. Parametr (wykładnik) Hursta jest używany w teorii ruchu teleinformatycznego, finansach i kardiologii. © Zdzisław Papir RUCH SAMOPODOBNY (Kapitol , L. Janowski) © Zdzisław Papir RUCH SAMOPODOBNY – KOLEJKA SS/M/1 bufor ruch samopodobny (selfsimilar) kanał , 0,5 H 1 , Q opóźnienie kolejkowania Kolejka SS/M/1 (0.5<H<1) Q 1 2 (1 H ) 1 H (1 H ) Kolejka M/M/1 (H = 0.5) Q 1 © Zdzisław Papir Kolejka SS/M/1 QUEUE opóźnienie kolejkowania H=0,9 M/M/1 Q H=0,5 H=0,75 M/D/1 0 0 0.2 0.4 0.6 0.8 1 © Zdzisław Papir Parametr Hursta samopodobieństwo ruchu Y(t) - proces zliczeniowy (niestacjonarny) jednostek ruchu (bitów, bajtów, pakietów) do (dyskretnego) czasu t = 1, 2,… fgp 2 at :1 Y t a H Y at Y t t H Y 1 Statystyczne samopodobieństwo ruchu zliczanego – ruch zliczony do czasu at jest taki sam jak zliczony do czasu t – przy założeniu przeskalowania wolumenu ruchu przez współczynnik a-H. X t Y t Y t 1, t 1,2 , Przyrosty (zmiana) ruchu X(t) – proces stacjonarny: E(X) = const, Var(X)=2. © Zdzisław Papir Parametr Hursta samopodobieństwo ruchu Proces zliczania ruchu na różnych skalach czasu s. 1 si X i X t s t s i 11 s X t s; X s 1 s; X s 2 s; X s 3 Przyrosty (zmiana) ruchu X(t) – proces stacjonarny: E(X) = const, Var(X)=2: X s 1 s X t s t 1 © Zdzisław Papir Parametr Hursta samopodobieństwa ruchu Przyrosty (zmiany) ruchu X(t), t = 1, 2,… są procesem odnowy – ciągiem identycznych i niezależnych zmiennych losowych. 1 s X t 1 X t s sVar X 1 2 Var X s s Var X s 2 s s Jeżeli przyrosty (zmiany) ruchu X(t), t = 1, 2,… są niezależne, to ze wzrostem skali obserwacji ruchu s będziemy obserwować zanikające fluktuacje wolumenu ruchu. © Zdzisław Papir Parametr Hursta samopodobieństwo ruchu Ruch samopodobny – ruch zliczany skaluje się: Y(t) = a-HY(at). 1 s 1 1 H H 1 X t s Y s s s Y 1 s X t 1 s Var X s s 2 H 1Var X 2 s 21 H X s Fluktuacje ruchu samopodobnego (½<H<1) zanikają wolniej aniżeli ruchu, w którym obserwowane przyrosty są od siebie niezależne (H = ½) . Projektowanie regulatorów ruchu (traffic controls) dla ruchu samopodobnego (½<H<1) jest utrudnione z uwagi na utrzymujące się fluktuacje ruchu. © Zdzisław Papir 5 1 10 Uśrednianie ruchu na różnych skalach czasu s =1 4 5 10 4 5 10 s =1 0 0 7 1 10 7 1 10 si 1 X i X t s t s i 11 s 6 5 10 s =100 0 7 1 10 6 5 10 s =100 0 7 1 10 6 5 10 6 5 10 s =200 s =200 0 0 7 1 10 7 1 10 6 5 10 6 5 10 s =500 s =500 0 0 7 1 10 7 1 10 Proces odnowy Film DVD 6 5 10 6 5 10 s =1.000 s =1.000 0 0 0 50 100 0 50 100 © Zdzisław Papir PODSUMOWANIE • Markowowski proces narodzin-śmierci o współczynnikach zależnych od stanu jest modelem różnych systemów kolejkowych istniejących w sieciach pakietowych. • Znamy kilka metod rozwiązywania globalnych równań równowagi dla stanu stacjonarnego (równania lokalne, funkcja tworząca, rekurencja). • Uniwersalne twierdzenie Little’a wiąże średnie wartości przepustowości, liczby zgłoszeń w systemie oraz opóźnienia tranzytowego. • Power coefficient - kryterium QoS dla systemów kolejkowych integrujące przepustowość oraz opóźnienie. • Im większa jest zmienność ruchu, tym większe są opóźnienia kolejkowania. © Zdzisław Papir