Sistemi a coda M/G/1 e formula di Little
In questa pagina 6
Il modello è quello di 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 Sistemi a coda M-M-1 e M-M-mIn un sistema M/M/m (arrivi di Poisson $\lambda$, servizi esponenziali $\mu$, $m$ servitori) il numero di clienti $x(t)$ è una catena di Markov di nascita e morte con tassi di nascita $\lambda$ e di morte $\min(k,m)\mu$. A regime il bilancio di flusso $\lambda\pi_{k-1}=\min(k,m)\mu,\pi_k$ dà per M/M/1 $\pi_k=(1-\rho)\rho^k$ ($\rho=\frac\lambda\mu<1$), $E[x]=\frac\rho{1-\rho}$, $E[s]=\frac1{\mu-\lambda}$ (esponenziale), e per M/M/m la probabilità di accodamento di Erlang C, $C=P[x\ge m]$, con $E[q]=\frac{C,G}{m-G}$, $E[w]=\frac C{m\mu-\lambda}$, $E[s]=E[w]+\frac1\mu$ ($G=\frac\lambda\mu$, $\rho=\frac Gm<1$).Sistemi a coda M-M-1 e M-M-m →. Qui si definiscono le misure di prestazione di un sistema a coda qualsiasi, si dimostra la formula di Little (che vale senza ipotesi sulle distribuzioni) e si calcola il ritardo del sistema M/G/1, in cui il servizio ha distribuzione qualunque, per esempio costante (pacchetti tutti uguali). Vedi anche Introduzione alla teoria delle codeUn sistema a coda (QS) è fatto da un processo di arrivi (di Poisson, tasso $\lambda$), una coda e uno o più servitori con tasso di servizio $\mu$. Carico offerto $G=\lambda/\mu$, fattore di carico $\rho=\lambda/(m\mu)$: il sistema è stabile solo se $\rho<1$, e allora il throughput è $\lambda$ (altrimenti è $m\mu$). Legge di Little: $E[x]=\lambda E[s]$, valida per qualsiasi disciplina. Coda M/M/1: $E[x]=\frac{\rho}{1-\rho}$, $E[s]=\frac{1/\mu}{1-\rho}$, $E[w]=\frac{\rho/\mu}{1-\rho}$. Con servizio deterministico (M/D/1, caso particolare di Pollaczek-Khinchin): $E[w]=\frac{\rho}{2\mu(1-\rho)}$. Il ritardo cresce senza limite quando $\rho\to1$.Introduzione alla teoria delle code → (corso di Internet).
1. Le misure di un sistema a coda
Occupazione. All'istante : clienti nell'area di attesa, clienti in servizio (al più ) e nell'intero sistema. Con e arrivi e partenze fino a vale anche . Le medie sono .
Tempi. Per il cliente : tempo di attesa in coda, tempo di servizio, tempo di sistema, e l'istante di uscita è . Medie: .
Traffico. Con il tasso di arrivo e il tasso di servizio di un servitore:
- traffico offerto : numero medio di arrivi durante un tempo di servizio, cioè quanti servitori "servirebbero" in media;
- fattore di carico (utilizzazione, intensità di traffico) con servitori: ;
- throughput (clienti/s): numero medio di clienti serviti e usciti per unità di tempo, con tempo di interpartenza;
- throughput normalizzato (numero puro): numero medio di servitori attivi. Il traffico offerto è quanti servitori i clienti richiedono, il throughput normalizzato quanti ne vengono davvero usati.
Esempio. Un collegamento da Mbit/s trasmette pacchetti da bit: pacchetti/s. Con pacchetti/s: .
2. Stabilità e throughput
Definizione (stabilità). Un sistema è stabile se esiste, con , e non dipende dallo stato iniziale . Se le sono tutte e il sistema è esplosivo (instabile).
Condizione di stabilità (Loynes). Un sistema senza blocco (G/G/, con arrivi e servizi i.i.d. indipendenti) è stabile se e solo se I sistemi con blocco ( finito) sono sempre stabili, perché il numero di clienti non supera .
Se i clienti arrivano più in fretta di come si servono: si accumulano in media a al secondo. Se il sistema è marginalmente instabile (nessun regime). Un sistema stabile e senza blocco deve far uscire in media quello che entra, altrimenti ci sarebbe accumulo; se è instabile i servitori lavorano sempre al massimo: Per un sistema con blocco il throughput è .
Esempio. Con pacchetti/s: se , , pacchetti/s e (il servitore è occupato l'80% del tempo). Se , : instabile, escono solo pacchetti/s () e la coda cresce di pacchetti al secondo.
Esempio (pacchetti di lunghezza fissa). pacchetti/s su una linea con Mbit/s e pacchetti di bit: pacchetti/s, quindi stabile, . Il servizio è costante: è un sistema G/D/1 (M/D/1 se gli arrivi sono di Poisson).
3. La formula di Little
Teorema (formula di Little). In una struttura "conservativa" (che non crea né distrugge clienti), se i valori medi esistono, il numero medio di clienti presenti è uguale al tasso di ingresso per il tempo medio di permanenza: Non fa ipotesi sulla distribuzione di arrivi e servizi, sulla disciplina (anche non FIFO), sul numero di servitori, né sulla dipendenza tra arrivi e servizio. Vale se i processi sono ergodici, in modo che le medie temporali coincidano con quelle statistiche.
Dimostrazione (ingegneristica). Si conta in due modi il "tempo-cliente" totale accumulato fino al tempo , cioè la somma dei secondi passati nel sistema da tutti i clienti.
- Per istante. All'istante ci sono clienti, ognuno dei quali "consuma" un secondo-cliente per secondo: il totale è l'area sotto la curva , .
- Per cliente. Il cliente resta secondi, e il totale è . Le due quantità coincidono a meno dei clienti ancora presenti a , che per in un sistema stabile pesano sempre meno.
Dividendo per e moltiplicando e dividendo per : Per il membro di sinistra tende a (media temporale di , ergodicità); ; l'ultimo fattore è la media degli , cioè . Quindi .
La struttura a cui si applica si sceglie a piacere, purché sia conservativa:
| struttura | clienti presenti | tempo medio | Little |
|---|---|---|---|
| tutto il sistema | |||
| la sola coda | |||
| i soli servitori |
Per un sistema G/G/1 stabile , quindi e allora : l'utilizzazione è la frazione di tempo in cui il servitore lavora, qualunque sia la distribuzione. Con servitori .
Esempio. In un router entrano pacchetti/s e in media se ne trovano nel sistema: ogni pacchetto resta in media ms. Se la trasmissione di un pacchetto dura ms, ne aspetta ms in coda, e in coda ci sono pacchetti; il servitore è occupato per del tempo ( ✓). Little non dice com'è fatto il sistema: lega solo le tre medie.
4. La coda M/G/1 e la formula di Pollaczek-Khinchin
Arrivi di Poisson di tasso , un servitore, tempi di servizio i.i.d. con distribuzione qualsiasi, media e secondo momento ; . Il numero di clienti non è più una catena di Markov (il servizio non è senza memoria) ma si può comunque trovare l'attesa media.
Formula di Pollaczek-Khinchin.
Derivazione (analisi del valore medio). Un cliente che arriva deve aspettare: (i) il tempo residuo del servizio in corso, se il servitore è occupato; (ii) i servizi dei clienti già in coda, in numero medio . Gli arrivi di Poisson vedono il sistema nello stato medio (PASTA): il servitore è occupato con probabilità . Quindi Il residuo medio si ottiene così: il servizio "in corso" in un istante qualsiasi ha lunghezza con probabilità proporzionale a (i servizi lunghi occupano più tempo, quindi è più facile capitare dentro uno di essi: paradosso dell'ispezione), cioè con densità , e il tempo residuo in un servizio di lunghezza è uniforme in , di media . Allora . Si usa poi Little per la coda, : perché . Poi, con Little: L'attesa dipende dal secondo momento del servizio: a parità di media, un servizio più variabile fa aspettare di più. Con il coefficiente di variazione quadratico si ha e
Casi particolari.
- Servizio esponenziale (M/M/1). (): , il risultato dell'M/M/1.
- Servizio costante (M/D/1), pacchetti tutti uguali: (): A parità di l'attesa del servizio costante è la metà di quella esponenziale.
- Servizio Erlang-: , attesa volte quella dell'M/M/1.
Grafico interattivo: Tempo medio nel sistema normalizzato E[s]·μ in funzione del fattore di carico ρ: M/M/1, 1/(1−ρ), e M/D/1, 1 + ρ/(2(1−ρ)). Entrambe divergono per ρ → 1; a ρ = 0,8 valgono 5 e 3
Esempio. Collegamento da Mbit/s, pacchetti/s, pacchetti da bit ( pacchetti/s, ). M/D/1 (lunghezza fissa): ms, ms, pacchetti (Little: ✓). M/M/1 (lunghezza esponenziale di media bit): ms, ms, . Con servizio uniforme in (, ): ms (una simulazione con clienti dà ). Altro esempio, pacchetti fissi con pacchetti/s e (): ms, ms, .
Perché gli arrivi di Poisson sono "cattivi". Anche a servizio costante l'attesa non è nulla, perché gli arrivi sono irregolari: si formano "grappoli" di clienti. Con arrivi deterministici e servizio costante con non si accumulerebbe mai nessuno ().
5. Che cosa si fa nel progetto di una rete
- Si dimensiona il collegamento perché lavori lontano da : fino a il ritardo è meno del doppio del tempo di servizio, poi sale ripidamente (grafico).
- Per sistemi con servizio costante (frame tutti uguali, sistemi TDMA) si usano le formule M/D/1; per quelle con lunghezza variabile l'M/M/1 è un buon modello prudente.
- Per più utenti con la stessa linea conviene condividerla (una sola coda): a parità di capacità i ritardi sono minori di quelli di canali dedicati per ogni utente (Esercizio - linea condivisa da dieci sessioni, commutazione di pacchetto e di circuito).
- I protocolli di accesso e di ritrasmissione usano questi risultati (Tecniche ARQ e loro prestazioniARQ (Automatic Repeat reQuest) rende affidabile un collegamento che sbaglia: il ricevitore risponde a ogni pacchetto con ACK (corretto) o NACK (errato), e il trasmettitore ritrasmette. Con probabilità di pacchetto errato $p$, $t_{RTT}=t_P+t_A+2\tau_P$ e coda sempre piena, il throughput massimo (frazione di tempo d'aria) è: Stop-and-Wait $S=\frac{t_P(1-p)}{t_{RTT}}$; Go-Back-N con $N=t_{RTT}/t_P$ $S=\frac{1-p}{(N-1)p+1}$; Selective Repeat $S=1-p$. Il ritardo medio è $m_{delay}=t_P+\tau_P+\frac p{1-p}t_{RTT}$ (a coda vuota). Sono solo valori massimi: la coda ARQ è stabile solo se $\lambda$ è minore della velocità di servizio, $\lambda<1/m_y$; altrimenti il throughput è $\min(\lambda,\mu)$. L'efficienza (payload) è $\eta=S,L_D/L$.Tecniche ARQ e loro prestazioni →, Accesso al mezzo - ALOHA, CSMA e protocolli deterministiciQuando più nodi condividono il canale serve un protocollo di accesso (MAC): deterministico (TDMA, FDMA, SDMA, CDMA), a richiesta (polling, token) o casuale (ALOHA, CSMA). Con $N_u$ utenti, arrivi di Poisson $\lambda$ ciascuno e pacchetti da $t_P=L/R_b$: TDMA stabile se $N_u\lambda t_P<1$, $m_{delay}=\frac{N_ut_P}{2(1-\rho)}+t_P+\tau_P$; FDMA ha ritardo maggiore di $t_P(N_u/2-1)$. ALOHA puro: intervallo di vulnerabilità $2t_P$, $S=Ge^{-2G}$, $S_{max}=1/(2e)\simeq0{,}18$ per $G=1/2$; slotted ALOHA: vulnerabilità $t_P$, $S=Ge^{-G}$, $S_{max}=1/e\simeq0{,}37$. ALOHA è intrinsecamente instabile (oltre il massimo il throughput va a $0$). Il carrier sense riduce la vulnerabilità a $\tau_P$ (CSMA), CD interrompe le collisioni, CA (RTS/CTS) è per il wireless; la persistenza (1-, non-, $p$-persistente) può portare il throughput verso il $100,%$.Accesso al mezzo - ALOHA, CSMA e protocolli deterministici →).
Errori comuni
- Applicare le formule con , o usare al posto di (manca il tempo di servizio).
- Usare il tasso totale nella Little di un sistema con blocco: serve il tasso dei clienti accettati .
- Applicare le formule dell'M/M/1 a un servizio costante, o viceversa: a parità di l'attesa differisce di un fattore 2.
- Dimenticare che Pollaczek-Khinchin usa (e non solo la media): per l'esponenziale , per il costante .
- Confondere traffico offerto (può superare 1 con ) e fattore di carico (deve essere ).
Versione ripasso
Misure di un sistema a coda. Occupazione (coda più servitori), tempi (attesa, servizio). Con il tasso di arrivo e il tasso di un servitore:
- Traffico offerto: , quanti servitori i clienti richiedono in media;
- Fattore di carico: ;
- Throughput: (clienti/s), con tempo di interpartenza; throughput normalizzato , numero di servitori davvero attivi.
Esempio: pacchetti/s (1 Mbit/s, pacchetti da 1000 bit) e : .
Stabilità. Un sistema senza blocco G/G/ è stabile se e solo se , cioè (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 →). I sistemi con blocco sono sempre stabili. Con il throughput è ; se è . In sintesi e . Con blocco vale .
- Esempio: con , si ha pacchetti/s e . Con il sistema è instabile: esce pacchetti/s e la coda cresce di pacchetti/s.
- Esempio a lunghezza fissa: Mbit/s e bit danno pacchetti/s; con si ha , stabile.
Formula di Little. In una struttura conservativa, con valori medi esistenti:
Teorema. Vale senza ipotesi su distribuzioni, disciplina o numero di servitori (Sistemi a coda M-M-1 e M-M-mIn un sistema M/M/m (arrivi di Poisson $\lambda$, servizi esponenziali $\mu$, $m$ servitori) il numero di clienti $x(t)$ è una catena di Markov di nascita e morte con tassi di nascita $\lambda$ e di morte $\min(k,m)\mu$. A regime il bilancio di flusso $\lambda\pi_{k-1}=\min(k,m)\mu,\pi_k$ dà per M/M/1 $\pi_k=(1-\rho)\rho^k$ ($\rho=\frac\lambda\mu<1$), $E[x]=\frac\rho{1-\rho}$, $E[s]=\frac1{\mu-\lambda}$ (esponenziale), e per M/M/m la probabilità di accodamento di Erlang C, $C=P[x\ge m]$, con $E[q]=\frac{C,G}{m-G}$, $E[w]=\frac C{m\mu-\lambda}$, $E[s]=E[w]+\frac1\mu$ ($G=\frac\lambda\mu$, $\rho=\frac Gm<1$).Sistemi a coda M-M-1 e M-M-m →), purché i processi siano ergodici.
Procedura della dimostrazione: si conta il tempo-cliente come area sotto e come ; si divide per , e , .
Strutture applicabili (tutte conservative):
- sistema intero: ;
- sola coda: ;
- soli servitori: . Per G/G/1 stabile , cioè la frazione di tempo occupato.
Esempio: un router riceve pacchetti/s con : ms. Con ms si ha ms, e , e .
Pollaczek-Khinchin (M/G/1). Arrivi di Poisson, un servitore, servizio con distribuzione qualsiasi di media e secondo momento ; .
- Passi della derivazione: l'attesa è il residuo del servizio in corso (con probabilità , per PASTA) più i servizi in coda, ; il residuo medio è (paradosso dell'ispezione); si usa e si isola .
- Con si ha e .
- M/M/1: , .
- M/D/1: , , , , : a parità di l'attesa è la metà di quella esponenziale.
- Esempio: , (). M/D/1: ms, ms, . M/M/1: ms, ms, .
- Esempio a servizio fisso: , (): ms, ms, .
Perché gli arrivi di Poisson aspettano comunque. Anche con servizio costante l'attesa non è nulla, perché gli arrivi irregolari formano grappoli di clienti. Con arrivi e servizi deterministici e nessuno aspetterebbe.
Errori tipici:
- Usare le formule con .
- Prendere per : manca il servizio, .
- Usare totale in Little con blocco: serve .
- Applicare le formule M/M/1 a un servizio costante (o viceversa): la differenza è un fattore 2.
- Usare la media di invece di nella formula di Pollaczek-Khinchin.
- Confondere , che può superare 1 con , con , che deve essere minore di 1.
Esercizi su questo argomento
- Esercizio - call center, stabilità e sostenibilità economica
- Esercizio - carico di un collegamento con pacchetti di lunghezza fissa
- 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 - Quattro domande brevi su entropia, informazione, M-M-3 e quantizzazione (simulazione d'esame 2012)