Salta al contenuto
Note per Studenti Sistemi a coda M-G-1 e formula di Little

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 tt: q(t)q(t) clienti nell'area di attesa, z(t)z(t) clienti in servizio (al più mm) e x(t)=q(t)+z(t)x(t)=q(t)+z(t) nell'intero sistema. Con A(t)A(t) e D(t)D(t) arrivi e partenze fino a tt vale anche x(t)=A(t)−D(t)x(t)=A(t)-D(t). Le medie sono E[q],E[z],E[x]E[q],E[z],E[x].

Tempi. Per il cliente CnC_n: wnw_n tempo di attesa in coda, yny_n tempo di servizio, sn=wn+yns_n=w_n+y_n tempo di sistema, e l'istante di uscita è dn=tn+wn+yn=tn+snd_n=t_n+w_n+y_n=t_n+s_n. Medie: E[w],E[y]=1μ,E[s]E[w],E[y]=\frac1\mu,E[s].

Traffico. Con λ\lambda il tasso di arrivo e μ\mu il tasso di servizio di un servitore:

  • traffico offerto G=λμ=λE[y]G=\frac\lambda\mu=\lambda E[y]: numero medio di arrivi durante un tempo di servizio, cioè quanti servitori "servirebbero" in media;
  • fattore di carico (utilizzazione, intensità di traffico) con mm servitori: ρ=λmμ=Gm\rho=\frac{\lambda}{m\mu}=\frac Gm;
  • throughput η=1E[r]\eta=\frac1{E[r]} (clienti/s): numero medio di clienti serviti e usciti per unità di tempo, con rn=dn−dn−1r_n=d_n-d_{n-1} tempo di interpartenza;
  • throughput normalizzato S=ημ=ηE[y]S=\frac\eta\mu=\eta E[y] (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 11 Mbit/s trasmette pacchetti da 10001000 bit: μ=1000\mu=1000 pacchetti/s. Con λ=800\lambda=800 pacchetti/s: G=ρ=0,8G=\rho=0{,}8.

2. Stabilità e throughput

Definizione (stabilità). Un sistema è stabile se lim⁡t→∞P[x(t)=k]=πk\lim_{t\to\infty}P[x(t)=k]=\pi_k esiste, con ∑kπk=1\sum_k\pi_k=1, e non dipende dallo stato iniziale x(0)x(0). Se x(t)→∞x(t)\to\infty le πk\pi_k sono tutte 00 e il sistema è esplosivo (instabile).

Condizione di stabilità (Loynes). Un sistema senza blocco (G/G/mm, con arrivi e servizi i.i.d. indipendenti) è stabile se e solo se λ<mμ⟺ρ<1.\lambda<m\mu\quad\Longleftrightarrow\quad\rho<1. I sistemi con blocco (KK finito) sono sempre stabili, perché il numero di clienti non supera KK.

Se λ>mμ\lambda>m\mu i clienti arrivano più in fretta di come si servono: si accumulano in media a λ−mμ\lambda-m\mu al secondo. Se λ=mμ\lambda=m\mu 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: η={λρ<1mμρ≥1=min⁡{λ,mμ},S=min⁡{G,m},S=G  (ρ<1).\eta=\begin{cases}\lambda&\rho<1\\m\mu&\rho\ge1\end{cases}=\min\{\lambda,m\mu\},\qquad S=\min\{G,m\},\qquad S=G\ \ (\rho<1). Per un sistema con blocco il throughput è η=λ(1−PBLK)\eta=\lambda(1-P_{BLK}).

Esempio. Con μ=1000\mu=1000 pacchetti/s: se λ=800\lambda=800, ρ=0,8<1\rho=0{,}8<1, η=800\eta=800 pacchetti/s e S=0,8S=0{,}8 (il servitore è occupato l'80% del tempo). Se λ=1200\lambda=1200, ρ=1,2\rho=1{,}2: instabile, escono solo η=1000\eta=1000 pacchetti/s (S=1S=1) e la coda cresce di 200200 pacchetti al secondo.

Esempio (pacchetti di lunghezza fissa). λ=50\lambda=50 pacchetti/s su una linea con Rb=1R_b=1 Mbit/s e pacchetti di L=10 000L=10\,000 bit: μ=RbL=106104=100\mu=\frac{R_b}L=\frac{10^6}{10^4}=100 pacchetti/s, λ<μ\lambda<\mu quindi stabile, ρ=50100=0,5\rho=\frac{50}{100}=0{,}5. 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: E[x]=λ E[s].\boxed{E[x]=\lambda\,E[s].} 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 tt, cioè la somma dei secondi passati nel sistema da tutti i clienti.

  1. Per istante. All'istante uu ci sono x(u)=A(u)−D(u)x(u)=A(u)-D(u) clienti, ognuno dei quali "consuma" un secondo-cliente per secondo: il totale è l'area sotto la curva x(u)x(u), ∫0tx(u) du\int_0^tx(u)\,du.
  2. Per cliente. Il cliente CnC_n resta sns_n secondi, e il totale è ∑n=1A(t)sn\sum_{n=1}^{A(t)}s_n. Le due quantità coincidono a meno dei clienti ancora presenti a tt, che per t→∞t\to\infty in un sistema stabile pesano sempre meno.

Dividendo per tt e moltiplicando e dividendo per A(t)A(t): 1t∫0tx(u) du=A(t)t⋅1A(t)∑n=1A(t)sn.\frac1t\int_0^tx(u)\,du=\frac{A(t)}t\cdot\frac1{A(t)}\sum_{n=1}^{A(t)}s_n. Per t→∞t\to\infty il membro di sinistra tende a E[x]E[x] (media temporale di xx, ergodicità); A(t)t→λ\frac{A(t)}t\to\lambda; l'ultimo fattore è la media degli sns_n, cioè E[s]E[s]. Quindi E[x]=λE[s]E[x]=\lambda E[s]. □\square

La struttura a cui si applica si sceglie a piacere, purché sia conservativa:

struttura clienti presenti tempo medio Little
tutto il sistema E[x]E[x] E[s]E[s] E[x]=λE[s]E[x]=\lambda E[s]
la sola coda E[q]E[q] E[w]E[w] E[q]=λE[w]E[q]=\lambda E[w]
i soli servitori E[z]E[z] E[y]=1μE[y]=\frac1\mu E[z]=λE[y]=λμ=GE[z]=\lambda E[y]=\frac\lambda\mu=G

Per un sistema G/G/1 stabile z∈{0,1}z\in\{0,1\}, quindi E[z]=P[z=1]E[z]=P[z=1] e allora P[servitore occupato]=λE[y]=ρP[\text{servitore occupato}]=\lambda E[y]=\rho: l'utilizzazione è la frazione di tempo in cui il servitore lavora, qualunque sia la distribuzione. Con mm servitori E[z]=GE[z]=G.

Esempio. In un router entrano λ=500\lambda=500 pacchetti/s e in media se ne trovano E[x]=10E[x]=10 nel sistema: ogni pacchetto resta in media E[s]=10500=20E[s]=\frac{10}{500}=20 ms. Se la trasmissione di un pacchetto dura 1μ=1\frac1\mu=1 ms, ne aspetta E[w]=20−1=19E[w]=20-1=19 ms in coda, e in coda ci sono E[q]=500⋅0,019=9,5E[q]=500\cdot0{,}019=9{,}5 pacchetti; il servitore è occupato per E[z]=500⋅0,001=0,5E[z]=500\cdot0{,}001=0{,}5 del tempo (9,5+0,5=109{,}5+0{,}5=10 ✓). 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 λ\lambda, un servitore, tempi di servizio i.i.d. con distribuzione qualsiasi, media E[y]=1μE[y]=\frac1\mu e secondo momento E[y2]E[y^2]; ρ=λE[y]<1\rho=\lambda E[y]<1. 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. E[w]=λ E[y2]2(1−ρ)\boxed{E[w]=\frac{\lambda\,E[y^2]}{2(1-\rho)}}

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 E[q]E[q]. Gli arrivi di Poisson vedono il sistema nello stato medio (PASTA): il servitore è occupato con probabilità ρ\rho. Quindi E[w]=ρ E[yres]+E[q] E[y],E[yres]=E[y2]2E[y].E[w]=\rho\,E[y_{res}]+E[q]\,E[y],\qquad E[y_{res}]=\frac{E[y^2]}{2E[y]}. Il residuo medio si ottiene così: il servizio "in corso" in un istante qualsiasi ha lunghezza yy con probabilità proporzionale a y py(y)y\,p_y(y) (i servizi lunghi occupano più tempo, quindi è più facile capitare dentro uno di essi: paradosso dell'ispezione), cioè con densità y py(y)E[y]\frac{y\,p_y(y)}{E[y]}, e il tempo residuo in un servizio di lunghezza yy è uniforme in [0,y][0,y], di media y2\frac y2. Allora E[yres]=∫y py(y)E[y]⋅y2 dy=E[y2]2E[y]E[y_{res}]=\int\frac{y\,p_y(y)}{E[y]}\cdot\frac y2\,dy=\frac{E[y^2]}{2E[y]}. Si usa poi Little per la coda, E[q]=λE[w]E[q]=\lambda E[w]: E[w]=ρE[y2]2E[y]+λE[w]E[y]=ρE[y2]2E[y]+ρE[w] ⇒ E[w](1−ρ)=ρE[y]⋅E[y2]2=λE[y2]2,E[w]=\rho\frac{E[y^2]}{2E[y]}+\lambda E[w]E[y]=\rho\frac{E[y^2]}{2E[y]}+\rho E[w]\ \Rightarrow\ E[w](1-\rho)=\frac{\rho}{E[y]}\cdot\frac{E[y^2]}2=\frac{\lambda E[y^2]}2, perché ρE[y]=λ\frac\rho{E[y]}=\lambda. □\square Poi, con Little: E[s]=E[w]+1μ,E[x]=λE[s]=ρ+λ2E[y2]2(1−ρ),E[q]=λE[w].E[s]=E[w]+\frac1\mu,\qquad E[x]=\lambda E[s]=\rho+\frac{\lambda^2E[y^2]}{2(1-\rho)},\qquad E[q]=\lambda E[w]. 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 c2=Var⁡(y)E[y]2c^2=\frac{\operatorname{Var}(y)}{E[y]^2} si ha E[y2]=1+c2μ2E[y^2]=\frac{1+c^2}{\mu^2} e E[w]=1+c22⋅ρμ(1−ρ).E[w]=\frac{1+c^2}2\cdot\frac{\rho}{\mu(1-\rho)}.

Casi particolari.

  • Servizio esponenziale (M/M/1). E[y2]=2μ2E[y^2]=\frac2{\mu^2} (c2=1c^2=1): E[w]=λ⋅2/μ22(1−ρ)=ρ/μ1−ρE[w]=\frac{\lambda\cdot2/\mu^2}{2(1-\rho)}=\frac{\rho/\mu}{1-\rho}, il risultato dell'M/M/1.
  • Servizio costante (M/D/1), pacchetti tutti uguali: E[y2]=1μ2E[y^2]=\frac1{\mu^2} (c2=0c^2=0): E[w]=ρ2μ(1−ρ),E[s]=1μ(1+ρ2(1−ρ))=2−ρ2μ(1−ρ),E[x]=ρ+ρ22(1−ρ)=ρ(2−ρ)2(1−ρ),E[q]=ρ22(1−ρ).E[w]=\frac{\rho}{2\mu(1-\rho)},\quad E[s]=\frac1\mu\left(1+\frac\rho{2(1-\rho)}\right)=\frac{2-\rho}{2\mu(1-\rho)},\quad E[x]=\rho+\frac{\rho^2}{2(1-\rho)}=\frac{\rho(2-\rho)}{2(1-\rho)},\quad E[q]=\frac{\rho^2}{2(1-\rho)}. A parità di ρ\rho l'attesa del servizio costante è la metà di quella esponenziale.
  • Servizio Erlang-kk: c2=1kc^2=\frac1k, attesa 1+1/k2\frac{1+1/k}2 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 11 Mbit/s, λ=800\lambda=800 pacchetti/s, pacchetti da 10001000 bit (μ=1000\mu=1000 pacchetti/s, ρ=0,8\rho=0{,}8). M/D/1 (lunghezza fissa): E[w]=0,82⋅1000⋅0,2=2E[w]=\frac{0{,}8}{2\cdot1000\cdot0{,}2}=2 ms, E[s]=3E[s]=3 ms, E[x]=0,8+0,640,4=2,4E[x]=0{,}8+\frac{0{,}64}{0{,}4}=2{,}4 pacchetti (Little: 800⋅0,003=2,4800\cdot0{,}003=2{,}4 ✓). M/M/1 (lunghezza esponenziale di media 10001000 bit): E[w]=4E[w]=4 ms, E[s]=5E[s]=5 ms, E[x]=4E[x]=4. Con servizio uniforme in [0,2/μ][0,2/\mu] (E[y2]=43μ2E[y^2]=\frac4{3\mu^2}, c2=13c^2=\frac13): E[w]=1+1/32⋅4=2,67E[w]=\frac{1+1/3}2\cdot4=2{,}67 ms (una simulazione con 6⋅1056\cdot10^5 clienti dà 2,662{,}66). Altro esempio, pacchetti fissi con λ=50\lambda=50 pacchetti/s e μ=100\mu=100 (ρ=0,5\rho=0{,}5): E[w]=0,52⋅100⋅0,5=5E[w]=\frac{0{,}5}{2\cdot100\cdot0{,}5}=5 ms, E[s]=15E[s]=15 ms, E[x]=0,5+0,251=0,75E[x]=0{,}5+\frac{0{,}25}{1}=0{,}75.

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 ρ<1\rho<1 non si accumulerebbe mai nessuno (E[w]=0E[w]=0).

5. Che cosa si fa nel progetto di una rete

Errori comuni

  • Applicare le formule con ρ≥1\rho\ge1, o usare E[w]E[w] al posto di E[s]E[s] (manca il tempo di servizio).
  • Usare il tasso λ\lambda totale nella Little di un sistema con blocco: serve il tasso dei clienti accettati λ(1−PBLK)\lambda(1-P_{BLK}).
  • Applicare le formule dell'M/M/1 a un servizio costante, o viceversa: a parità di ρ\rho l'attesa differisce di un fattore 2.
  • Dimenticare che Pollaczek-Khinchin usa E[y2]E[y^2] (e non solo la media): per l'esponenziale E[y2]=2μ2E[y^2]=\frac2{\mu^2}, per il costante 1μ2\frac1{\mu^2}.
  • Confondere traffico offerto G=λμG=\frac\lambda\mu (può superare 1 con m>1m>1) e fattore di carico ρ=Gm\rho=\frac Gm (deve essere <1<1).

Versione ripasso

Misure di un sistema a coda. Occupazione x=q+zx=q+z (coda più servitori), tempi s=w+ys=w+y (attesa, servizio). Con λ\lambda il tasso di arrivo e μ\mu il tasso di un servitore:

  • Traffico offerto: G=λμ=λE[y]G=\frac\lambda\mu=\lambda E[y], quanti servitori i clienti richiedono in media;
  • Fattore di carico: ρ=λmμ=Gm\rho=\frac\lambda{m\mu}=\frac Gm;
  • Throughput: η=1E[r]\eta=\frac1{E[r]} (clienti/s), con rnr_n tempo di interpartenza; throughput normalizzato S=ημS=\frac\eta\mu, numero di servitori davvero attivi.

Esempio: μ=1000\mu=1000 pacchetti/s (1 Mbit/s, pacchetti da 1000 bit) e λ=800\lambda=800: G=ρ=0,8G=\rho=0{,}8.

Stabilità. Un sistema senza blocco G/G/mm è stabile se e solo se λ<mμ\lambda<m\mu, cioè ρ<1\rho<1 (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 ρ<1\rho<1 il throughput è η=λ\eta=\lambda; se ρ≥1\rho\ge1 è η=mμ\eta=m\mu. In sintesi η=min⁡{λ,mμ}\eta=\min\{\lambda,m\mu\} e S=min⁡{G,m}S=\min\{G,m\}. Con blocco vale η=λ(1−PBLK)\eta=\lambda(1-P_{BLK}).

  • Esempio: con μ=1000\mu=1000, λ=800\lambda=800 si ha η=800\eta=800 pacchetti/s e S=0,8S=0{,}8. Con λ=1200\lambda=1200 il sistema è instabile: esce η=1000\eta=1000 pacchetti/s e la coda cresce di 200200 pacchetti/s.
  • Esempio a lunghezza fissa: Rb=1R_b=1 Mbit/s e L=10 000L=10\,000 bit danno μ=100\mu=100 pacchetti/s; con λ=50\lambda=50 si ha ρ=0,5\rho=0{,}5, stabile.

Formula di Little. In una struttura conservativa, con valori medi esistenti:

Teorema. E[x]=λ E[s].E[x]=\lambda\,E[s]. 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 ∫0tx(u) du\int_0^t x(u)\,du come area sotto x(u)x(u) e come ∑sn\sum s_n; si divide per tt, e A(t)t→λ\frac{A(t)}t\to\lambda, 1A(t)∑sn→E[s]\frac1{A(t)}\sum s_n\to E[s].

Strutture applicabili (tutte conservative):

  • sistema intero: E[x]=λE[s]E[x]=\lambda E[s];
  • sola coda: E[q]=λE[w]E[q]=\lambda E[w];
  • soli servitori: E[z]=λE[y]=GE[z]=\lambda E[y]=G. Per G/G/1 stabile E[z]=ρE[z]=\rho, cioè la frazione di tempo occupato.

Esempio: un router riceve λ=500\lambda=500 pacchetti/s con E[x]=10E[x]=10: E[s]=20E[s]=20 ms. Con E[y]=1E[y]=1 ms si ha E[w]=19E[w]=19 ms, E[q]=9,5E[q]=9{,}5 e E[z]=0,5E[z]=0{,}5, e 9,5+0,5=109{,}5+0{,}5=10.

Pollaczek-Khinchin (M/G/1). Arrivi di Poisson, un servitore, servizio con distribuzione qualsiasi di media E[y]=1μE[y]=\frac1\mu e secondo momento E[y2]E[y^2]; ρ=λE[y]<1\rho=\lambda E[y]<1.

E[w]=λ E[y2]2(1−ρ),E[s]=E[w]+1μ,E[x]=λE[s]=ρ+λ2E[y2]2(1−ρ).E[w]=\frac{\lambda\,E[y^2]}{2(1-\rho)},\qquad E[s]=E[w]+\frac1\mu,\qquad E[x]=\lambda E[s]=\rho+\frac{\lambda^2E[y^2]}{2(1-\rho)}.

  • Passi della derivazione: l'attesa è il residuo del servizio in corso (con probabilità ρ\rho, per PASTA) più i servizi in coda, E[w]=ρ E[yres]+E[q]E[y]E[w]=\rho\,E[y_{res}]+E[q]E[y]; il residuo medio è E[yres]=E[y2]2E[y]E[y_{res}]=\frac{E[y^2]}{2E[y]} (paradosso dell'ispezione); si usa E[q]=λE[w]E[q]=\lambda E[w] e si isola E[w]E[w].
  • Con c2=Var⁡(y)E[y]2c^2=\frac{\operatorname{Var}(y)}{E[y]^2} si ha E[y2]=1+c2μ2E[y^2]=\frac{1+c^2}{\mu^2} e E[w]=1+c22⋅ρμ(1−ρ)E[w]=\frac{1+c^2}2\cdot\frac\rho{\mu(1-\rho)}.
  • M/M/1: c2=1c^2=1, E[w]=ρ/μ1−ρE[w]=\frac{\rho/\mu}{1-\rho}.
  • M/D/1: c2=0c^2=0, E[w]=ρ2μ(1−ρ)E[w]=\frac\rho{2\mu(1-\rho)}, E[s]=2−ρ2μ(1−ρ)E[s]=\frac{2-\rho}{2\mu(1-\rho)}, E[x]=ρ(2−ρ)2(1−ρ)E[x]=\frac{\rho(2-\rho)}{2(1-\rho)}, E[q]=ρ22(1−ρ)E[q]=\frac{\rho^2}{2(1-\rho)}: a parità di ρ\rho l'attesa è la metà di quella esponenziale.
  • Esempio: μ=1000\mu=1000, λ=800\lambda=800 (ρ=0,8\rho=0{,}8). M/D/1: E[w]=0,82⋅1000⋅0,2=2E[w]=\frac{0{,}8}{2\cdot1000\cdot0{,}2}=2 ms, E[s]=3E[s]=3 ms, E[x]=2,4E[x]=2{,}4. M/M/1: E[w]=4E[w]=4 ms, E[s]=5E[s]=5 ms, E[x]=4E[x]=4.
  • Esempio a servizio fisso: λ=50\lambda=50, μ=100\mu=100 (ρ=0,5\rho=0{,}5): E[w]=5E[w]=5 ms, E[s]=15E[s]=15 ms, E[x]=0,75E[x]=0{,}75.

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 ρ<1\rho<1 nessuno aspetterebbe.

Errori tipici:

  • Usare le formule con ρ≥1\rho\ge1.
  • Prendere E[w]E[w] per E[s]E[s]: manca il servizio, E[s]=E[w]+1μE[s]=E[w]+\frac1\mu.
  • Usare λ\lambda totale in Little con blocco: serve λ(1−PBLK)\lambda(1-P_{BLK}).
  • Applicare le formule M/M/1 a un servizio costante (o viceversa): la differenza è un fattore 2.
  • Usare la media di yy invece di E[y2]E[y^2] nella formula di Pollaczek-Khinchin.
  • Confondere G=λμG=\frac\lambda\mu, che può superare 1 con m>1m>1, con ρ=Gm\rho=\frac Gm, che deve essere minore di 1.

Esercizi su questo argomento

Lezioni in cui compare

Teoria collegata