Eleenty odelowania ateatycznego Systey kolejkowe. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/ RZYKŁAD KOLEJKI N(t) długość kolejki w chwili t T i czas obsługi i-tego klienta Do okienka w urzędzie (zwanego czase serwere ) stoi kolejka składająca się z pewnej liczby klientów. Nowi klienci pojawiają się w losowych odstępach czasu i ustawiają się na końcu kolejki. Każdy klient spędza przy okienku pewną losową ilość czasu, po czy znika z systeu. - Jaka (przy znanych rozkładach pojawiania się klientów i czasu obsługi) jest średnia długość kolejki? Jeśli średni czas obsługi jest dłuższy, niż średni odstęp iędzy kolejnyi klientai, kolejka oże rosnąć w nieskończoność. 1
Oznaczy: OZNACZENIA N(t) długość kolejki N(t) - liczba oczekujących na obsługę (łącznie z obsługiwany) a(t) - liczba klientów, którzy przybyli do oentu t T i - czas obsługi (łącznie z czekanie w kolejce) klienta i T i Średnia długość kolejki (do chwili t i w ogóle): 1 Nt N( ) d N Nt t τ τ li t 0 Średnia liczba przybywających klientów (do chwili t i w ogóle): a t t lit t t Średni czas, jaki klienci spędzają w systeie: a( t) Ti i 1 Tt T litt a t t t ( ) ( ) TWIERDZENIE LITTLE A Dla dowolnego systeu kolejkowego, jeśli istnieją granice T, N i, to: N T Wielkość kolejki jest wprost proporcjonalna do częstości napływania nowych klientów i czasu, jaki spędzają w systeie. rzykład: do sieci dochodzą pakiety przez 10 wejść ze średnią częstością 1,... 10. akiety krążą przez jakiś czas, po czy są przetwarzane przez jeden z koputerów podłączonych do tej sieci. Średnio w sieci znajduje się N pakietów. Jakie jest średnie opóźnienie pakietów? N T 10 i 1 i 2
SYSTEMY M / M / 1 Konkretne systey kolejkowe analizowane są dla konkretnych rozkładów prawdopodobieństwa czasu obsługi i pojawiania się nowych klientów. Najważniejsze systey oznacza się skrótai, np: M / M / 1 Liczba serwerów. Rozkład przychodzących klientów: M eoryless, czyli klienci pojawiają się niezależnie od siebie. Rozkład czasu obsługi: M eoryless, czyli czas obsługi na serwerze a rozkład wykładniczy. W wielu sytuacjach praktycznych (np. kolejka do urzędu z jedny okienkie) przyjuje się odel M / M / 1. Inne oznaczenia rozkładów: G general, rozkład dowolny (dany), D deterinistic, np. stała wartość. ROCES OISSONA Model: w iasteczku jest 50 000 ieszkańców. Każdy z nich losuje co inutę, czy pójdzie do urzędu (z bardzo ały prawdopodobieństwe, np. p 1 / 1 ln). Jaki jest rozkład klientów w urzędzie? Liczba klientów w urzędzie to sua wielkiej liczby doświadczeń Bernoulliego. Gdyby p było duże, ożna by wynik przybliżyć rozkłade noralny. Jeśli jest ałe, używay rozkładu oissona. W procesie oissona prawdopodobieństwo, że w jednostce czasu pojawi się n klientów, wynosi: n ( X n) e gdzie - średnia liczba zdarzeń w jednostce czasu (paraetr rozkładu). n! 3
ROCES OISSONA roces oissona nie a paięci, tzn. liczba zdarzeń w dowolny przedziale czasu nie wpływa na liczbę zdarzeń w inny (rozłączny). Dlatego jest to dobry odel pojawiania się klientów w systeie M / M / 1. Jeśli A(t) łączna liczba klientów do oentu t, to rozkład przyrostu w okresie (t,t ): ( A( t' ) A( t) n) n ( ( t' t) ) ( t' t) Odstępy czasu τ poiędzy kolejnyi napływającyi klientai ają rozkład wykładniczy o średniej 1/, czyli: p τ ( τ) e n! e ROZKŁAD CZASU OBSŁUGI Kolejny założenie w systeach M / M / 1 jest wykładniczy rozkład czasu obsługi klienta na serwerze. Oznacza to, że w każdy oencie klient a stałe prawdopodobieństwo, że opuści serwer w kolejnej jednostce czasu. Niech 1/µ - średni czas obsługi. Wówczas rozkład prawdopodobieństwa czasu obsługi s a gęstość: p s ( s) µ e µ a prawdopodobieństwo, że klient będzie obsługiwany najwyżej S jednostek czasu: µ S ( s< S) 1 e 4
ANALIZA SYSTEMU M / M / 1 Ilościowo syste M / M / 1 opisują dwa paraetry: średnia liczba nowych klientów na jednostkę czasu oraz średnia liczba klientów obsłużonych przez serwer w jednostce czasu µ. Stosując analizę systeu za poocą łańcuchów Markowa, otrzyujey: N µ gdzie N liczba klientów w systeie w stanie stacjonarny. Z tw. Little a ay też oszacowanie średniego czasu przebywania klienta w systeie: N 1 T µ RZYKŁAD May serwer bazodanowy obsługujący zapytania SQL napływające od klientów i buforowane. Średnia wydajność silnika to 20 zapytań na sekundę (liczyy tylko jedno zapytanie na raz). Średnie obciążenie systeu to 19 zapytań na sekundę. Ile zapytań czeka zwykle w buforze na przetworzenie? N µ 19 20 19 19 lanujey wyienić procesor na szybszy. Szacujey, że po tej operacji serwer przyspieszy o 50%. O ile skróci się kolejka? Nowa długość kolejki: 19 N 1,7 30 19 Niewielki wzrost wydajności oże spowodować znaczne skrócenie kolejki. 5
SYSTEM M / M / Syste M / M / opisuje sytuację, w której struień wejściowy o wydajności o obsługiwany jest przez niezależnych serwerów o wydajności µ każdy (klienci stoją w jednej kolejce i są obsługiwani przez pierwszy wolny serwer). Łączna wydajność serwerów to µ. serwerów SYSTEM M / M / Oznaczy przez ρ /µ. rawdopodobieństwo, że przybywający klient będzie usiał stanąć w kolejce (nie a wolnych serwerów) to: ( ρ) Q ( ) ( ) ( ) 1 n ρ ρ +! 1 ρ n 0 n! Średni czas przebywania w systeie: Liczba klientów w systeie (z tw. Little a): 1 Q T + µ µ N T Q + µ µ 6
RZYKŁAD Syste obsługujący zapytania SQLowe składa się z serwera buforującego i rozdzielającego zadania oraz 10 serwerów przetwarzających zapytania (z jednakową wydajnością średnio 1 zapytania na sekundę). Do systeu trafia średnio 6 zapytań na sekundę. Jakie jest prawdopodobieństwo, że zapytanie będzie skierowane do kolejki, a nie obsłużone od razu? Q ( ρ) ( ρ) +! ( 1 ρ) 1 n 0 ( ρ) n! n 0,1013 Jaka jest średnia długość kolejki (wliczając te zapytania, które właśnie się liczą)? O ile wzrośnie, jeśli wyłączyy jeden z serwerów? Q 6 6*0,1013 6 6*0,1959 N + + 6,15 N' + 6,39 µ µ 1 10 6 1 9 6 7