Sistemi a coda M/M/1 e M/M/m
In questa pagina 7
I sistemi markoviani sono quelli in cui sia gli arrivi sia i servizi sono senza memoria: arrivi di Poisson (Processi di arrivo e processo di PoissonUn sistema a coda ha clienti che arrivano, un'area di attesa e $m$ servitori. Il processo di arrivo è un processo di punto con tempi di interarrivo $\tau_n=t_n-t_{n-1}$ e tasso $\lambda=\frac1{E[\tau]}$. Nel processo di Poisson omogeneo gli arrivi in intervalli disgiunti sono indipendenti e di Poisson con media $\lambda T$, gli interarrivi sono esponenziali $\lambda e^{-\lambda a}$ e senza memoria; somma di processi di Poisson è Poisson (tassi che si sommano), il diradamento con probabilità $p$ dà Poisson di tasso $p\lambda$; in $[0,h]$ c'è un arrivo con probabilità $\lambda h+o(h)$. Servizio con tasso $\mu=\frac1{E[y]}$; notazione di Kendall $A/B/m/K/N-S$.Processi di arrivo e processo di Poisson →) e tempi di servizio esponenziali. Per loro lo stato del sistema ("quanti clienti ci sono") basta a predire l'evoluzione futura e si arriva a formule chiuse. Qui si ricavano le formule dell'M/M/1 e dell'M/M/m, e di alcuni modelli collegati (M/M/, M/M/1/). Il caso con servizio generale è in Sistemi a coda M-G-1 e formula di LittleMisure di un sistema a coda: occupazione $x=q+z$, tempi $s=w+y$, traffico offerto $G=\frac\lambda\mu$, fattore di carico $\rho=\frac\lambda{m\mu}$, throughput $\eta$ e throughput normalizzato $S=\frac\eta\mu$. Il sistema senza blocco è stabile se $\rho<1$ e allora $\eta=\lambda$, altrimenti $\eta=m\mu$. La formula di Little $E[x]=\lambda E[s]$ vale sempre (anche per la sola coda, $E[q]=\lambda E[w]$, e per il servizio, $E[z]=\lambda E[y]$). Per arrivi di Poisson e servizio generale (M/G/1) la formula di Pollaczek-Khinchin dà $E[w]=\frac{\lambda E[y^2]}{2(1-\rho)}$: con servizio esponenziale si ritrova l'M/M/1, con servizio costante (M/D/1) l'attesa si dimezza, $E[w]=\frac{\rho}{2\mu(1-\rho)}$.Sistemi a coda M-G-1 e formula di Little →, dove si definiscono anche le misure di prestazione usate qui (, , , , throughput) e si dimostra la formula di Little, che sotto è usata.
1. Il modello M/M/1 come catena di Markov
Il sistema M/M/1 ha arrivi di Poisson di tasso , servizi i.i.d. esponenziali di tasso (media ), un servitore, coda infinita, FCFS. Sia il numero di clienti nel sistema (in coda più in servizio). Si studia che cosa può succedere in un intervallo piccolissimo .
Arrivi. Come visto: , , (e non dipendono dalla storia).
Partenze. Se il servitore è occupato, il tempo di servizio è esponenziale: per l'assenza di memoria il tempo residuo del cliente in servizio è ancora esponenziale di tasso , qualunque sia il tempo già speso. Quindi, se , e . Se non possono esserci partenze. (Equivalentemente si può pensare a un processo di partenze "virtuale" di Poisson di tasso che "scarta" i servizi quando il sistema è vuoto.)
Eventi simultanei. Un arrivo e una partenza nello stesso hanno probabilità (prodotto di due quantità ): si trascurano.
Ne segue che in lo stato cambia al più di : E la probabilità futura dipende solo dallo stato presente: è una catena di Markov (processo di nascita e morte: le transizioni sono tra stati adiacenti; "nascita" = arrivo, "morte" = partenza).
λ λ λ λ
0 ────→ 1 ────→ 2 ────→ 3 ────→ …
←──── ←──── ←──── ←────
μ μ μ μ2. Equazioni di equilibrio
Sia . Con il teorema della probabilità totale su , per : (si arriva in da con una nascita, da con una morte, oppure si resta), e per : . Si porta a sinistra, si divide per e si fa : Se il sistema è stabile esiste il limite (probabilità stazionarie, indipendenti dallo stato iniziale), e a regime le derivate sono nulle: Dalla seconda e dalla prima per : , e per induzione Sono i bilanci di flusso (flow balance, equilibri di taglio): a regime il numero di transizioni al secondo da a (: "sono nello stato e arriva un cliente") eguaglia quello da a (: "sono in e ne parte uno"); se non fosse così la distribuzione continuerebbe a cambiare.
3. Soluzione dell'M/M/1
Dal bilancio con , quindi . Le probabilità devono sommare a 1: (serie geometrica, Serie notevoli - geometrica, telescopica, armonicaLe serie di cui si conosce il carattere e da usare come termine di paragone: geometrica (converge a 1/(1-q) se |q|<1), telescopiche (somma b_1 - lim b_n, come Mengoli), armonica generalizzata (1/n^alpha converge se e solo se alpha>1).Serie notevoli - geometrica, telescopica, armonica →), che converge solo se : è la condizione di stabilità, . Quindi (distribuzione geometrica, Distribuzione geometricaGeo(p) è il numero della prova in cui arriva il primo successo in prove indipendenti: P(X = n) = (1−p)^(n−1) p per n ≥ 1, P(X > n) = (1−p)^n (lunga attesa), media 1/p, varianza (1−p)/p², ed è senza memoria.Distribuzione geometrica →), con probabilità di sistema vuoto. Da qui:
| Grandezza | Formula | Come si ricava |
|---|---|---|
| clienti nel sistema | (derivata della serie geometrica) | |
| varianza di | e | |
| clienti in servizio | se : | |
| clienti in coda | ||
| tempo nel sistema | Little: | |
| attesa in coda | oppure |
Il numero di clienti in servizio è : per un servitore solo, è la frazione di tempo in cui è occupato. Il tempo di sistema è il tempo di servizio diviso per : esplode per .
Grafico interattivo: Tempo medio nel sistema M/M/1 normalizzato al tempo di servizio, E[s]·μ = 1/(1−ρ), in funzione del carico ρ: vale 2 a ρ = 0,5, 10 a ρ = 0,9, 100 a ρ = 0,99 e diverge per ρ → 1
Esempio. Un collegamento da Mbit/s con pacchetti di lunghezza esponenziale di media bit ha pacchetti/s. Con pacchetti/s: , , , ( ✓); ms (Little: ✓), ms ( ✓); ; sistema vuoto con probabilità . Se il carico sale a (): ms, quattro volte di più.
Esempio (instabile). Con s e s (, il oltre il limite) cresce senza limite: i clienti si accumulano in media al ritmo al secondo e non esiste distribuzione stazionaria. Se il sistema è marginalmente instabile: la coda non cresce linearmente ma non ha regime ( per ogni ).
4. La distribuzione del tempo di sistema
Un cliente ("Leo") arriva e trova clienti: uno in servizio e in attesa. Il suo tempo di sistema è la somma del residuo del servizio in corso (ancora esponenziale di tasso , per l'assenza di memoria), dei servizi dei clienti in attesa e del proprio servizio: esponenziali i.i.d. di tasso , cioè una variabile di Erlang-: Con che probabilità trova clienti? Per la proprietà PASTA (Poisson Arrivals See Time Averages): gli arrivi di Poisson vedono il sistema nello stato con la probabilità media di quello stato, (perché l'arrivo è indipendente dallo stato passato: non "si sceglie" i momenti). Quindi Ricordando : Il tempo di sistema è esponenziale con tasso (media , come da Little). Per l'attesa in coda: se il cliente trova il sistema vuoto (probabilità ); altrimenti il suo tempo è somma di servizi con e si ottiene .
Esempio. Nell'esempio sopra ( s): e . Se Leo trova clienti il suo tempo medio è ms.
Teorema di Burke. Il processo delle partenze di un'M/M/1 stabile è di Poisson con lo stesso tasso degli arrivi. Conseguenza: se l'uscita di una coda alimenta una seconda coda (code in cascata), anche questa riceve arrivi di Poisson e, se il suo servizio è esponenziale, si può studiare come M/M/1 isolata.
5. Il modello M/M/m
Con servitori identici in parallelo, ciascuno con servizi esponenziali di tasso , se servitori sono occupati il primo che finisce lo fa dopo il minimo di esponenziali indipendenti. Il minimo di esponenziali di tasso è esponenziale di tasso : infatti . Quindi la "morte" avviene con tasso dipendente dallo stato: La catena è ancora di nascita e morte e i bilanci di flusso diventano Posto (traffico offerto: numero medio di servitori richiesti) e (fattore di carico), si ricava ricorsivamente Per si ha , cioè un fattore a ogni passo; per il fattore è . Normalizzando (): La seconda somma (serie geometrica di ragione ) converge se e solo se , cioè : condizione di stabilità per servitori.
Formula di Erlang C. La probabilità che un cliente che arriva trovi tutti i servitori occupati (e debba attendere) è, per PASTA,
Misure di prestazione. I clienti in servizio sono in media quanti i servitori occupati: (ogni servitore è occupato con frazione , ; è anche Little: ). In coda: . Poi, con Little: L'attesa in coda ha distribuzione: (con probabilità non si aspetta; altrimenti si attendono partenze a tasso e, con geometrico di ragione , la mistura è esponenziale di tasso ). Per : e si ritrovano le formule M/M/1.
Esempio. , s, s: , . ; . ; ; s; s. (Una simulazione con clienti dà e .)
Per si semplifica: , (con e : ).
Grafico interattivo: Probabilità di accodamento (Erlang C) in funzione del fattore di carico ρ = λ/(mμ) per m = 1, 2, 3 servitori: a parità di ρ, più servitori significano meno probabilità di dover attendere (m = 1: C = ρ; m = 2: 2ρ²/(1+ρ); m = 3: 4,5ρ³/(1+2ρ+1,5ρ²)); in ρ = 0,8 valgono 0,8, 0,711 e 0,647
Un server veloce o tanti lenti?
Si confrontano tre architetture con la stessa capacità totale: (a) un'M/M/1 con un solo servitore di tasso (canale unico, SC); (b) un'M/M/ con servitori di tasso (canale comune, CC); (c) code M/M/1 separate, ciascuna con un servitore di tasso e arrivi (canali paralleli, PC). Con e , il tempo di sistema in funzione di è
Grafico interattivo: Tempo medio nel sistema con 2 servitori di tasso 1 e arrivi di tasso λ: un'unica M/M/1 con servitore doppio (SC), una M/M/2 con coda comune (CC) e due M/M/1 separate (PC). L'ordine è sempre SC meglio di CC meglio di PC; per λ vicino a 2 le tre curve crescono insieme, a carico basso SC è molto più veloce
Per : ; per : . Conclusione: (a) (b) (c): "meglio un servitore veloce che tanti lenti", e la coda condivisa (b) è molto meglio di code separate (c). A carico basso un servitore doppio dimezza il tempo di servizio ( contro ); a carico alto (b) si avvicina ad (a). Lo svantaggio di (b) e (c) è che con meno clienti di servitori alcuni servitori restano inattivi.
6. Altri modelli di nascita e morte
M/M/ (infiniti servitori, nessuna coda). Ogni cliente ha subito un servitore: la morte da avviene a tasso . Bilancio , quindi per ogni , e : È sempre stabile, per qualsiasi (dimostrazione alternativa con il conteggio degli arrivi in Esercizio - sistema M-M-infinito). Esempio. chiamate/min, durata media min: e .
M/M/1/ (buffer finito, capacità del sistema ). Gli stati sono e i bilanci sono quelli dell'M/M/1: per ; la somma è finita, quindi non serve (il sistema è sempre stabile): . Un cliente è perso se trova il sistema pieno; per PASTA (per : ). Esempio. , : ; con : . Il throughput è e, per Little, (si usa il tasso dei clienti accettati).
Errori comuni
- Applicare le formule con (non c'è regime stazionario) o dimenticare che per servitori la condizione è , cioè (non ).
- Usare come tempo nel sistema: è l'attesa in coda; il tempo nel sistema include il servizio: .
- Calcolare con in bit/s e in bit, e nelle stesse unità di tempo di .
- Dimenticare di usare il tasso accettato in Little per i sistemi con blocco.
- Confondere (Erlang C, probabilità di aspettare) con o con .
- Pensare che i tempi siano geometrici: il numero di clienti è geometrico, il tempo di sistema è esponenziale.
Versione ripasso
Modello. Arrivi di Poisson di tasso (Processi di arrivo e processo di PoissonUn sistema a coda ha clienti che arrivano, un'area di attesa e $m$ servitori. Il processo di arrivo è un processo di punto con tempi di interarrivo $\tau_n=t_n-t_{n-1}$ e tasso $\lambda=\frac1{E[\tau]}$. Nel processo di Poisson omogeneo gli arrivi in intervalli disgiunti sono indipendenti e di Poisson con media $\lambda T$, gli interarrivi sono esponenziali $\lambda e^{-\lambda a}$ e senza memoria; somma di processi di Poisson è Poisson (tassi che si sommano), il diradamento con probabilità $p$ dà Poisson di tasso $p\lambda$; in $[0,h]$ c'è un arrivo con probabilità $\lambda h+o(h)$. Servizio con tasso $\mu=\frac1{E[y]}$; notazione di Kendall $A/B/m/K/N-S$.Processi di arrivo e processo di Poisson →), servizi esponenziali di media , servitori, coda infinita FCFS. Il numero di clienti è una catena di nascita e morte: nascita a tasso , morte a tasso . Il bilancio di flusso a regime è
M/M/1 ().
- Distribuzione: (geometrica), con probabilità di sistema vuoto. La serie converge solo se : è la condizione di stabilità (Serie notevoli - geometrica, telescopica, armonicaLe serie di cui si conosce il carattere e da usare come termine di paragone: geometrica (converge a 1/(1-q) se |q|<1), telescopiche (somma b_1 - lim b_n, come Mengoli), armonica generalizzata (1/n^alpha converge se e solo se alpha>1).Serie notevoli - geometrica, telescopica, armonica →, Distribuzione geometricaGeo(p) è il numero della prova in cui arriva il primo successo in prove indipendenti: P(X = n) = (1−p)^(n−1) p per n ≥ 1, P(X > n) = (1−p)^n (lunga attesa), media 1/p, varianza (1−p)/p², ed è senza memoria.Distribuzione geometrica →).
- Clienti: , , (frazione di tempo occupato), .
- Tempi: , . Il tempo di sistema è esponenziale: ; il tempo di attesa ha .
- Procedura per il tempo: un cliente che trova clienti aspetta il residuo del servizio in corso, servizi in coda e il proprio: esponenziali di tasso (Erlang-). Per PASTA gli arrivi vedono gli stati con probabilità , e la somma pesata dà l'esponenziale di tasso .
- Esempio: pacchetti/s, : , , , , ms, ms, . Con () si ha ms.
M/M/m (, ).
- Distribuzione: per ; per ; con .
- Erlang C: , la probabilità che un arrivo debba attendere (per PASTA).
- Misure: , , , , ; . Per si ritrovano le formule M/M/1, con .
- Procedura: si verifica , si calcola , poi , poi e , e infine oppure, con Little, (Sistemi a coda M-G-1 e formula di LittleMisure di un sistema a coda: occupazione $x=q+z$, tempi $s=w+y$, traffico offerto $G=\frac\lambda\mu$, fattore di carico $\rho=\frac\lambda{m\mu}$, throughput $\eta$ e throughput normalizzato $S=\frac\eta\mu$. Il sistema senza blocco è stabile se $\rho<1$ e allora $\eta=\lambda$, altrimenti $\eta=m\mu$. La formula di Little $E[x]=\lambda E[s]$ vale sempre (anche per la sola coda, $E[q]=\lambda E[w]$, e per il servizio, $E[z]=\lambda E[y]$). Per arrivi di Poisson e servizio generale (M/G/1) la formula di Pollaczek-Khinchin dà $E[w]=\frac{\lambda E[y^2]}{2(1-\rho)}$: con servizio esponenziale si ritrova l'M/M/1, con servizio costante (M/D/1) l'attesa si dimezza, $E[w]=\frac{\rho}{2\mu(1-\rho)}$.Sistemi a coda M-G-1 e formula di Little →).
- Caso : e, con generico, .
- Esempio: , s, s: , , , , , , s, s.
Confronto a parità di capacità (due servitori di tasso ): (a) un'M/M/1 con servitore di tasso , tempo ; (b) M/M/2 con coda comune, ; (c) due M/M/1 separate con arrivi , .
- Esempi: per valgono , , s; per valgono , , s.
- Ordine: (a) (b) (c): meglio un servitore veloce che tanti lenti, e la coda condivisa batte le code separate.
M/M/. Morte a tasso , sempre stabile: , . Esempio: chiamate/min e durata min danno e .
M/M/1/ (capacità ). Stesse equazioni dell'M/M/1, ma la somma è finita, quindi non serve : . Per PASTA la probabilità di blocco è . Little va usato con il tasso dei clienti accettati: .
- Esempio: : con ; con .
Burke. Il processo delle partenze di un'M/M/1 stabile è di Poisson di tasso : in una cascata di code la seconda riceve arrivi di Poisson.
Errori tipici:
- Usare le formule con (nessun regime stazionario).
- Con servitori la condizione è , non .
- Prendere per il tempo nel sistema: .
- Confondere con o con .
- Dire che i tempi sono geometrici: il numero di clienti è geometrico, il tempo di sistema è esponenziale.
- Dimenticare il tasso accettato in Little con il blocco.
- Calcolare con unità incoerenti.
Esercizi su questo argomento
- Esercizio - call center, stabilità e sostenibilità economica
- Esercizio - coda M-M-1 con servitore occupato al 90 per cento
- Esercizio - linea condivisa da dieci sessioni, commutazione di pacchetto e di circuito
- Esercizio - processori manager-worker, coda M-M-2 e compressione del registro
- Esercizio - Quattro domande brevi su entropia, informazione, M-M-3 e quantizzazione (simulazione d'esame 2012)
- Esercizio - sistema M-M-infinito
- Esercizio - SMS dei gol e coda M-M-1