Rachunek prawdopodobieństwa dla informatyków Adam Roman Instytut Informatyki UJ Wykład 7 teoria kolejek prawo Little a systemy jedno- i wielokolejkowe 1/75
System kolejkowy System kolejkowy to układ złożony z jednego lub kilku stanowisk obsługi (np. serwerów) przeznaczonych do wykonywania określonych zadań, które nadchodzą do systemu poprzez kolejkę zadań oczekujących na wykonanie 2/75
Komponenty systemu kolejkowego zadania nadchodzące kolejka Serwer 1 Serwer n wyjście populacja 3/75
Komponenty: nadchodzenie zadań Zwykle zadania nadchodzą w losowych momentach A(t) proces zliczający A(t) = # zadań, które nadeszły do chwili t W stacjonarnych systemach kolejkowych zgłoszenia pojawiają się z częstotliwością (tempem) zgłoszeń: Oczekiwany czas pomiędzy zgłoszeniami to 4/75
Komponenty: kolejkowanie i routing Zadania zwykle procesowane są w systemie first come first served, zatem kolejka jest FIFO Gdy nadchodzi nowe zadanie możliwe są sytuacje: 1. 1 serwer dostępny (zadanie jest mu przekazane) 2. kilka serwerów dostępnych (przekazanie losowo lub wg określonych reguł, np. do najszybszego) 3. wszystko zajęte (zadanie zakolejkowane) Dodatkowe warianty: - ograniczenie pojemności kolejki - ograniczony czas oczekiwania ( cierpliwość ) 5/75
Komponenty: serwis Gdy serwer jest dostępny, od razu zaczyna przetwarzanie (obsługę, serwis) następnego zadania W praktyce czas serwisu jest losowy Średni czas serwisu to Tempo serwisu (service rate) to średnia liczba zadań przetwarzanych w ciągu jednostki czasu: 6/75
Parametry i zmienne losowe systemu kolejkowego PARAMETRY tempo zgłoszeń tempo serwisu śr. czas między przybyciami śr. czas serwisu współczynnik użycia (utilization rate) 7/75
Parametry i zmienne losowe systemu kolejkowego ZMIENNE LOSOWE # przetwarzanych zadań w czasie t # zadań czekających w kolejce w czasie t całkowita liczba zadań w systemie w czasie t czas serwisu k-tego zadania czas oczekiwania k-tego zadania czas odpowiedzi (całkowity czas jaki zadanie spędza w systemie od nadejścia do wyjścia) 8/75
Współczynnik użycia, stacjonarność Współczynnik użycia r jest ważnym parametrem wskazuje on, czy system może funkcjonować przy bieżącym lub większym tempie zgłaszania zadań i jak bardzo system jest przeciążony lub niedociążony System kolejkowy jest stacjonarny, jeśli rozkłady S k, W k i R k są niezależne od k W takiej sytuacji będziemy opuszczać indeks k. Główny cel analizy znaleźć rozkład X(t), całkowitej liczby zadań w systemie. Inne charakterystyki będą obliczane na podstawie X(t). Wynik: oszacowanie wydajności systemu. 9/75
PRAWO LITTLE A 10/75
Prawo Little a Prawo Little a opisuje związek pomiędzy oczekiwaną liczbą zadań, oczekiwanym czasem odpowiedzi i tempem zgłoszeń. Działa dla każdego stacjonarnego systemu kolejkowego 11/75
A(T) Dowód prawa Little a ε X(T) R, czas odpowiedzi X(t), liczba prac w chwili t 3 2 1 0 zad 1 zad 3 zad 2 Zgłoszenie Odejście t T czas 12/75
A(T) Dowód prawa Little a ε X(T) R, czas odpowiedzi X(t), liczba prac w chwili t 3 2 1 0 zad 1 zad 3 zad 2 Zgłoszenie Odejście t T czas czas Dla obu stron bierzemy E, dzielimy przez T i przechodzimy do granicy 13/75
A(T) Dowód prawa Little a ε X(T) R, czas odpowiedzi X(t), liczba prac w chwili t 3 2 1 0 zad 1 zad 3 zad 2 Zgłoszenie Odejście t T czas 14/75
A(T) Dowód prawa Little a ε X(T) R, czas odpowiedzi X(t), liczba prac w chwili t 3 2 1 0 zad 1 zad 3 zad 2 Zgłoszenie Odejście t T czas 15/75
A(T) Dowód prawa Little a ε X(T) R, czas odpowiedzi X(t), liczba prac w chwili t 3 2 1 0 zad 1 zad 3 zad 2 Zgłoszenie Odejście t T czas 16/75
Przykład Wchodzimy do banku o 10:00. Jest tam 10 klientów i zakładamy, że jest to typowa, średnia liczba klientów. Zauważamy też, że klienci obsługiwani są średnio co 2 minuty. Kiedy można spodziewać się, że zostaniemy obsłużeni i wyjdziemy z banku? 17/75
Uniwersalność prawa Little a Prawo Little a ma zastosowanie do każdego stacjonarnego systemu kolejkowego, a nawet do komponentów systemu kolejki i serwerów. Możemy natychmiast wywniosować równania na liczbę oczekujących zadań: oraz na liczbę zadań aktualnie serwisowanych: Przy okazji otrzymaliśmy inną, ważną interpretację współczynnika użycia: jest to oczekiwana liczba serwisowanych zadań w danym czasie 18/75
Prawo Little a podsumowanie Prawo to udowodnił Little w 1961 roku John D.C. Little. Pokazuje ono związki pomiędzy oczekiwanymi wartościami liczby zadań i czasów odpowiedzi Zajmiemy się teraz badaniem całego rozkładu X(t) Liczba zadań w systemie, X(t), nazywana jest procesem kolejkowym. W ogólności NIE jest to proces zliczający, bo zadania przychodzą i odchodzą, więc liczba zadań może się zwiększać lub zmniejszać, a więc nie musi być niemalejąca 19/75
PROCES KOLEJKOWY BERNOULLIEGO Z 1 SERWEREM 20/75
Proces kolejkowy Bernoulliego z 1 serwerem (1) Proces z czasem dyskretnym o następującej charakterystyce: jeden serwer nieograniczona pojemność kolejki zgłoszenia mają rozkład dwumianowy z p=p A prawdopodobieństwo ukończenia serwisu (i odejścia z systemu) podczas każdej ramki wynosi p S pod warunkiem, że w systemie jest co najmniej jedno zadanie na początku ramki czasowej czasy serwisu i czasy między zgłoszeniami są niezależne 21/75
Proces kolejkowy Bernoulliego z 1 serwerem (2) Z własności dwumianowego procesu zliczającego: liczba ramek pomiędzy kolejnymi zgłoszeniami ma rozkład Geom(p A ) każdy serwis zabiera Geom(p S ) ramek serwis każdego zadania zabiera co najmniej 1 ramkę 22/75
Proces kolejkowy Bernoulliego z 1 serwerem (3) Jest to także homogeniczny łańcuch Markowa, ponieważ p A i p S nie zmieniają się w czasie Warunki procesu dwumianowego gwarantują, że w jednej ramce może być co najwyżej 1 zgłoszenie i 1 wyjście zadania 23/75
Proces kolejkowy Bernoulliego z 1 serwerem (4) 24/75
Proces kolejkowy Bernoulliego z 1 serwerem (4) 25/75
Proces kolejkowy Bernoulliego z 1 serwerem (5) 0 1 2 3 26/75
Przykład (1) Zadania do drukarki wysyłane są w tempie 20/godz. Każde drukowanie zajmuje średnio 40s. Obecnie drukarka jest w stanie drukowania, a w kolejce czeka jedno zadanie. Zakładając proces kolejkowy Bernoulliego z ramką 20s (a) jakie jest prawd., że drukarka będzie bezczynna za 2 minuty? (b) jaka jest oczekiwana długość kolejki za 2 minuty? Znajdź oczekiwaną liczbę zadań oczekujących i oczekiwaną całkowitą liczbę zadań w systemie 27/75
Przykład (2) Dane Obliczamy 28/75
Przykład (3) Jak przeprowadzić mnożenie nieskończonej macierzy? 29/75
Przykład (4) Na szczęście potrzebujemy tylko jej fragmentu! Obecnie w systemie są 2 prace (1 w kolejce i 1 drukowana). 30/75
Przykład (4) Na szczęście potrzebujemy tylko jej fragmentu! Obecnie w systemie są 2 prace (1 w kolejce i 1 drukowana). W 6 ramkach liczba ta może się zmienić max o 6, zatem może przyjąć wartości od 0 do 8. Wystarczy więc ograniczyć się do pierwszych 9 kolumn i 9 wierszy macierzy P 31/75
Przykład (5) 32/75
Rozkład stacjonarny Każdy system kolejkowy, którego tempo serwisu jest większe niż tempo zgłoszeń: posiada rozkład stacjonarny Da się go obliczyć pomiomo nieskończoności macierzy przejścia P. 33/75
Systemy z ograniczoną pojemnością C = maksymalna liczba zadań, jakie jednocześnie mogą być w systemie 0 1 C-1 C 34/75
Przykład (1) Pracownik call-centre ma telefon z 2 liniami umożliwiający rozmawianie i jednoczesne wstrzymanie drugiej rozmowy (on hold). To system z pojemnością C=2. Gdy jest max pojemność i ktoś dzwoni, otrzymuje sygnał zajęte. Załóżmy, że pracownik otrzymuje średno 10 telefonów na godzinę, a średni czas rozmowy wynosi 4 min. Modelując system jako system kolejkowy Bernoulliego z ograniczoną pojemnością i 1-minutowymi ramkami oblicz rozkład stacjonarny i zinterpretuj go 35/75
Przykład (2) 36/75
Przykład (3) Pracownik przez 43,9% czasu nie rozmawia, przez 35,1% czasu ma 1 rozmowę, a przez 21% czasu dwie rozmowy naraz (tzn. jedna na on-hold ) 37/75
SYSTEM M/M/1 38/75
Systemy kolejkowe z czasem ciągłym notacja System kolejkowy A/S/n/C A rozkład czasów między zgłoszeniami S rozkład czasów serwisu n liczba serwerów C pojemność (domyślnie C= ) M = rozkład wykładniczy, bo jest bez pamięci (memory-less) a wynikowy proces jest markowowski 39/75
System M/M/1 System kolejkowy M/M/1 to proces kolejkowy Markowa z czasem ciągłym o następujących cechach: - jeden serwer - nieograniczona pojemność - czasy między zgłoszeniami o r. wykładniczym z λ A - czasy obsługi o r. wykładniczym z λ S - czasy między zgłoszeniami i obsługi są niezależne 40/75
M/M/1 jako proces graniczny procesu Bernoulliego (1) 41/75
M/M/1 jako proces graniczny procesu Bernoulliego (2) 42/75
Rozkład stacjonarny dla M/M/1 (1) pierwsze równanie równowagi drugie równanie równowagi 43/75
Rozkład stacjonarny dla M/M/1 (2) W ogólnym przypadku otrzymujemy równanie 44/75
Rozkład stacjonarny dla M/M/1 (2) W ogólnym przypadku otrzymujemy równanie Czy ten rozkład wygląda znajomo??? 45/75
Rozkład stacjonarny dla M/M/1 (3) X(t) ma przesunięty rozkład geometryczny! Przesunięty, bo Y=X+1 ma r. geometryczny: Dzięki temu łatwo możemy obliczyć charakterystyki rozkładu X(t): 46/75
Rozkład stacjonarny dla M/M/1 (4) Podsumowanie: rozkład stacjonarny dla liczby zadań w systemie M/M/1 47/75
Ocena wydajności systemu Z wzoru na poprzednim slajdzie wynika, że Czyli: Pr(serwer jest zajęty) = r Pr(serwer jest wolny) = 1 r Wartość r (utilization!) mówi jak bardzo serwer jest wykorzystywany. System jest funkcjonalny gdy r<1. Gdy r 1 system jest przeciążony i zadania się kumulują. 48/75
Czas oczekiwania (1) Czas oczekiwania dla nowego zadania zależy od czasów obsługi X znajdujących się w systemie zadań To, czy pierwsze z tych zadań jest już obsługiwane, nie ma znaczenia dla rozkładu W! Dlaczego? 49/75
Czas oczekiwania (1) Czas oczekiwania dla nowego zadania zależy od czasów obsługi X znajdujących się w systemie zadań To, czy pierwsze z tych zadań jest już obsługiwane, nie ma znaczenia dla rozkładu W! Rozkład wykładniczy jest rozkładem bez pamięci. W każdym momencie pozostający czas obsługi ma taki sam rozkład Exp(λ S ), niezależnie od tego jak długo trwa obsługa! 50/75
Czas oczekiwania (2) Zatem oczekiwany czas oczekiwania wynosi: Pytanie: czy zmienna W ma rozkład ciągły czy dyskretny? 51/75
Czas oczekiwania (2) Zatem oczekiwany czas oczekiwania wynosi: P(W=0) = 1 r, zatem W ma masę prawdopodobieństwa w zerze. Z drugiej strony, W ma gęstość f(x) dla x>0, bo jest sumą zmiennych o rozkładach Gamma. W ma rozład mieszany!!!!!! 52/75
Czas odpowiedzi Czas odpowiedzi to czas przebywania zadania w systemie 53/75
Długość kolejki To liczba oczekujących zadań: 54/75
Główne charakterystyki M/M/1 55/75
SYSTEMY Z K SERWERAMI 56/75
Wprowadzenie Czasy obsługi w poszczególnych serwerach mogą być różne. Gdy nadchodzi zgłoszenie i wszystkie serwery są zajęte, zgłoszenie jest zakolejkowane. Wpp. jest przydzielane do serwera wg jakichś reguł Plan analizy systemów wieloserwerowych: - sprawdź, czy liczba zgłoszeń w czasie t jest procesem Markowa. Jeśli tak, oblicz P - oblicz rozkład stacjonarny π - użyj π do uzyskania długoterminowych charakterystyk systemu Współczynnik użycia: r<k, nie r<1 57/75
Proces kolejkowy Bernoulliego z k serwerami To proces kolejkowy o dyskretnym czasie z następującymi cechami: - k serwerów - nieograniczona pojemność - zgłoszenia wg. procesu zliczającego dwumianowego, prawd. zgłoszenia = p A - w każdej ramce czasu każdy zajęty serwer kończy obsługę z prawd. = p S niezależnie od innych serwerów i niezależnie od procesu zgłoszeń 58/75
Własność Markowa dla pr. B. z k kol. Czasy między zgłoszeniami oraz czasy przetwarzania zadań mają rozkłady geometryczne z parametrami odpowiednio p A i p S Rozkład geometryczny nie ma pamięci, więc proces jest markowowski Załóżmy, że X s =n prac jest aktualnie obsługiwanych. W następnej ramce każde z nich może się skończyć i opuścić system. Zatem liczba opuszczeń systemu to liczba sukcesów w n niezależnych próbach Bernoulliego. Czyli rozkład dwumianowy(n, p S ) 59/75
Prawdopodobieństwa przejść (1) Obliczmy Załóżmy, że mamy i prac w systemie z k serwerami. Wtedy liczba n zajętych serwerów to Dla i k liczba serwerów wystarcza dla aktualnych zadań, wszystkie są obsługiwane i liczba X d prac opuszczających w następnej ramce jest Binom(i, p S ) Dla i>k jest więcej zadań niż serwerów. Wszystkie serwery są zajęte, X d ma rozkład Binom(k, p S ) Nowe zgłoszenie w następnej ramce pojawia się z prawdopodobieństwem p A 60/75
Prawdopodobieństwa przejść (2) 61/75
Prawdopodobieństwa przejść (3) 0 1 2 3 Schemat dla systemu?-serwerowego 62/75
Prawdopodobieństwa przejść (3) 0 1 2 3 Schemat dla systemu 2-serwerowego Liczba aktualnych prac może przejść od i do i-2, i-1, i, i+1 63/75
System M/M/k M/M/k to proces kolejkowy Markowa z ciągłym czasem. Charakterystyka: - k serwerów - nieograniczona pojemność - wykładniczy(λ A ) czas pomiędzy zgłoszeniami - wykładniczy(λ S ) czas obsługi dla każdego serwera, czasy niezależne dla poszczególnych serwerów i niezależne od czasów zgłoszeń 64/75
System M/M/k prawd. przejść Tak jak w M/M/1 korzystamy z procesu Bernoulliego kładąc Δ 0 65/75
System M/M/k rozkład stacjonarny Tak jak w M/M/1, które było szczególnym przypadkiem Po zajęciu przez k prac wszystkich serwerów: 66/75
System M/M/k rozkład stacjonarny 67/75
Przykład Mamy system M/M/3 z tempem zgłoszeń λ A =10 min -1 Tempo obsługi to 6 min -1. Współczynnik użycia (obciążenie systemu) wynosi 10/6 = 1.67 (ale system jest funkcjonalny, bo są 3 serwery i r<3). Jaka frakcja zgłoszeń będzie przetworzona natychmiast, bez czekania w kolejce? 68/75
Przykład Mamy system M/M/3 z tempem zgłoszeń λ A =10 min -1 Tempo obsługi to 6 min -1. Współczynnik użycia (obciążenie systemu) wynosi 10/6 = 1.67 (ale system jest funkcjonalny, bo są 3 serwery i r<3). Jaka frakcja zgłoszeń będzie przetworzona natychmiast, bez czekania w kolejce? 69/75
System M/M/ Eliminujemy czas oczekiwania. Zgłoszenie jest obsługiwane natychmiast 70/75
System M/M/ Używając wyników dla M/M/k i biorąc k dostajemy I dla wszystkich Rozkład Poissona! Liczba zadań w systemie M/M/ ma rozkład Poissona(λ A / λ S ). 71/75
Podsumowanie: System M/M/ 72/75
Teoria kolejek podsumowanie (1) Przeanalizowaliśmy podstawowe systemy kolejkowe: Bernoulliego oraz M/M/k Uwzględniliśmy 1 i k serwerów, ograniczoną i nieograniczoną pojemność kolejki Nie uwzględnialiśmy bardziej skomplikowanych rzeczy np. cierpliwość zadania w kolejce, różnice między serwerami itp. Większość wyników oparta jest o własność Markowa rozważanych procesów. Wyprowadziliśmy rozkłady stacjonarne liczby zadań w systemie, a stąd otrzymaliśmy inne charakterystyki systemów Jedynym ogólnym wynikiem jest prawo Little a 73/75
Teoria kolejek podsumowanie (2) W praktyce systemy kolejkowe są znacznie bardziej skomplikowane. Zgłoszenia mogą mieć inny niż Poissonowski rozkład. Intensywność zgłoszeń może zmieniać się w czasie. Proces może mieć pamięć. Itd. Możemy symulować bardziej skomplikowane systemy kolejkowe przy pomocy metod Monte Carlo Czasem metody MC są konieczne nawet, jeśli mamy system dający się policzyć analitycznie. Np. w przypadku markowowskim możemy chcieć wiedzieć jaki będzie % zadowolonych klientów, oczekiwana liczba użytkowników w danym czasie, liczyć prognozy itp. 74/75
KONIEC 75/75