57
Reti di telecomunicazioni Teoria delle code 1 Appunti per il Corso di Reti di Telecomunicazioni Teoria delle Code e Teletraffico Franco Davoli DIST-Università di Genova

Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

1

Appunti per il Corso di Reti di Telecomunicazioni

Teoria delle Code e Teletraffico

Franco Davoli

DIST-Università di Genova

Page 2: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

2

1. Introduzione Il corso di Reti di Telecomunicazioni per la Laurea triennale in Ingegneria delle Telecomunicazioni si propone essenzialmente due obiettivi:

• fornire gli elementi essenziali per la comprensione del funzionamento e della struttura delle reti di telecomunicazioni, in termini di architetture, modi di trasferimento, protocolli e servizi;

• porre le basi per la comprensione delle rappresentazioni delle reti di telecomunicazioni tramite modelli, che vengono elaborati allo scopo di consentirne la previsione delle prestazioni, il dimensionamento e il controllo.

Dal punto di vista sistemistico, una rete di telecomunicazioni, qualunque sia la sua natura, è un sistema dinamico complesso, costituito da un insieme di sottosistemi, il cui compito è allocare risorse condivise (essenzialmente, la banda dei mezzi trasmissivi) tra una molteplicità di utenti, in modo da soddisfare sia le esigenze degli utenti stessi (in termini di qualità del servizio offerto), sia le esigenze del gestore (in termini di utilizzazione delle risorse e, in ultima analisi, di ricavi economici). Il comportamento dinamico di una rete è determinato, per un certo modo di trasferimento e per una data struttura di commutazione, dal traffico offerto dagli utenti, ovvero generato da sorgenti di traffico esterne. Tali sorgenti possono essere descritte tramite processi aleatori, che rendono conto del comportamento statistico del traffico (il termine usato per indicare che si tratta di traffico di telecomunicazioni, siano esse voce, video o dati, è teletraffico; quando ci si riferisce alle operazioni di dimensionamento e controllo della rete, si usa spesso il termine Ingegneria del Teletraffico – Teletraffic Engineering). Tra le diverse rappresentazioni di sistemi dinamici (ad es., in termini di equazioni di stato, equazioni differenziali ingresso-uscita e, nel caso lineare, funzione – o matrice – di trasferimento), risulta particolarmente adatta alle reti di telecomunicazioni quella in termini di processi stocastici descritti da sistemi a coda (queueing systems), tramite i quali sono rappresentabili la maggior parte delle caratteristiche statistiche delle reti. Per questo motivo, queste note sono dedicate alle basi elementari della teoria delle code, affrontate prima come isolate (a rappresentare un singolo elemento del sistema dinamico complesso) e poi come sistemi interconnessi (reti di code). In particolare, i modelli che verranno considerati saranno riferiti, per fissare le idee, a due modi specifici di commutazione: circuito e pacchetto. Tuttavia, sotto un altro punto di vista, si potrebbe parlare, come vedremo, di modelli a scale temporali differenti, che possono rappresentare diverse caratteristiche del teletraffico: a livello “microscopico” (pacchetto) o a livello di “richieste di allocazione di risorse”, (circuito, o più in generale “connessione”, o “flusso”).

Page 3: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

3

2. Teoria delle code La motivazione per l'uso di alcuni strumenti della teoria delle code nelle reti di telecomunicazioni nasce dal fatto che tali reti sono in effetti rappresentabili come reti di code e che tale modellizzazione è utile per la determinazione delle prestazioni. Queste ultime sono tipicamente determinate in base a indici diversi, a seconda che la rete sia a commutazione di circuito o di pacchetto. Una rete a commutazione di pacchetto è rappresentabile come una rete di code variamente interconnesse, poiché in ogni nodo i pacchetti vengono scritti in un buffer servito da una o più linee di uscita, e vi rimangono fino al loro turno di trasmissione (servizio). Gli indici che tipicamente caratterizzano le prestazioni in questo caso sono i seguenti: • Throughput (flusso netto di dati che attraversa la rete); • Tempo di ritardo medio per pacchetto Nelle reti a commutazione di circuito, le code sono determinate dalle richieste di connessione che competono per l'uso delle risorse trasmissive. Tuttavia, in questo caso, è molto più frequente la situazione in cui la mancanza della risorsa al momento della richiesta non produce l'inserimento in un buffer della chiamata in corso, ma il suo rifiuto. Questo tipo di sistemi è detto “a blocco” (blocking) o “a perdita” (loss). Gli indici di prestazione più tipici sono in questo caso: • probabilità di blocco;

• ritardo medio per stabilire la connessione (dopo il quale l'unico ritardo è quello dovuto alla trasmissione e alla propagazione). I risultati esposti nel seguito sono derivati, in diverse forme, da [Klein], [Schw], [Berts, Gall], [Ross], [Zuk]. 2.1. Struttura e parametri di una coda Coda: è una struttura caratterizzata da: - un processo di arrivi (di cui di solito si conosce una descrizione statistica); - uno spazio di memoria (buffer); - uno o più servitori (server); - un processo di servizio (di cui di solito si conosce una descrizione statistica); - una disciplina di servizio.

Page 4: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

4

Fig. 2.1.1. Elementi di una coda.

Server: si definisce servente (server) la risorsa che è destinata ad elaborare il contenuto di una coda. Nel nostro caso i server saranno le linee (e i relativi apparati) di trasmissione. Il servizio svolto sarà: - il mantenimento della linea per la durata della connessione, una volta stabilita

quest'ultima attraverso i nodi di commutazione nel caso di reti a commutazione di circuito;

- la trasmissione del pacchetto nel caso di reti a pacchetto. Il comportamento statistico del server è caratterizzato dalla distribuzione del tempo di servizio. Tempo di servizio: il tempo (in generale una variabile aleatoria (v.a.)) per cui l'oggetto del servizio "rimane" nel server; è la durata della connessione per reti a commutazione di circuito, mentre per reti a pacchetto è il tempo di trasmissione di un pacchetto. Il buffer può avere dimensione finita o infinita. Alcuni parametri caratteristici della coda sono: • numero di "oggetti" (o "clienti", customer) in coda; • tempo medio di attesa in coda (nel buffer); • tempo medio di attraversamento del sistema (buffer + server); • tasso di uscita o throughput (numero medio di oggetti che attraversano il sistema

nell'unità di tempo); • tasso di ingresso o input rate. Disciplina di servizio: può essere FIFO (First In - First Out), a priorità, o altro ancora e verrà specificata caso per caso, ove necessario. Alcuni risultati generali valgono indipendentemente dalla disciplina di servizio. Per quanto riguarda la relazione tra throughput e input rate distinguiamo due casi: Buffer infinito: i) throughput = input rate , se il sistema è stabile (esiste una distribuzione stazionaria) e quindi la coda non cresce indefinitamente; ii) throughput < input rate , se il sistema è instabile, nel senso che il contenuto del buffer può crescere indefinitamente e non esiste una distribuzione stazionaria; vedremo che quest'ultima situazione si verifica quando ciò che in media entra nel sistema nell’unità di tempo è maggiore o uguale alla massima capacità di servizio.

Page 5: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

5

Buffer finito: poiché vi è la possibilità di rifiuto (blocco), sarebbe più corretto usare la denominazione di carico offerto (offered load ) per ciò che arriva dall'esterno e che può o meno entrare nel sistema; in questa situazione, è facile convincersi che una distribuzione stazionaria esiste sempre. Intendendo allora con input rate ciò che effettivamente entra nel sistema, in generale risulta throughput = input rate < offered load. Useremo per il throughput medio la notazione S [bit/s]. Altre definizioni e notazioni Customer (“cliente”): è l'oggetto che arriva nella coda (pacchetto o richiesta di connessione). I clienti possono essere distinti in “classi”, caratterizzate da statistiche diverse, o da diversi requisiti in termini di prestazioni, o ancora da diverso trattamento nel servizio (ad esempio, in base a priorità). La coda si dice in questo caso multiclasse. Definiamo: ci ≡ i-esimo cliente che arriva in coda;

n t( ) ≡ numero di clienti nel sistema all'istante t (compresi quelli in servizio);

nw(t) ≡ numero di clienti in attesa in coda (ma non in servizio) all'istante t;

u t( ) ≡ “unfinished work“: tempo necessario per svuotare il sistema (se non vi

fossero altri arrivi) da tutto ciò che è presente all'istante t (cioè per finire il servizio in corso e servire tutti gli nw(t) clienti presenti in coda);

τ i ≡ istante di arrivo di ci ;

t i ≡ tempo che separa l'arrivo dell' (i-1)-esimo cliente da quello dell' i-esimo (inter-

arrival time): t i = τ i − τ i−1 (2.1.1) è una v.a. che caratterizza a tutti gli effetti la statistica degli arrivi.

t i

τi −1 τi

Fig. 2.1.2. Tempo di interarrivo.

La caratterizzazione del processo degli arrivi corrisponde alla descrizione statistica della variabile aleatoria t i . Definiamo la funzione di distribuzione di t i come

Page 6: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

6

Ai(t) ≡ Pr ti ≤ t{ } Questa funzione è troppo generale per i nostri scopi, variando con i, ovvero con lo specifico utente. Introduciamo una variabile indipendente da i: t i i→∞ → ˜ t (v.a. con distribuzione statistica invariante) per la quale A i(t) i→∞ → A(t) = Pr ˜ t ≤ t{ } . Un discorso analogo vale per i tempi di servizio: xi ≡ tempo di servizio di ci Bi(x) ≡ Pr xi ≤ x{ }

Anche qui introdurremo: xi i→∞ → ˜ x

Bi(x) i→∞ → B(x) = Pr ˜ x ≤ x{ }

Per le rispettive densità, definiamo

a(t) ≡ dA(t)dt

; b(x) ≡ dB(x)dx

In sostanza, consideriamo solo distribuzioni stazionarie per le v.a. “primarie”. Per la v.a. n(t) si avrà invece, in generale, una distribuzione che varia nel tempo: tuttavia, se il sistema è stabile, il numero di clienti in esso contenuto n(t) non è un processo stazionario per un periodo transitorio iniziale, ma diventa tale dopo un tempo sufficientemente lungo. Uno degli obiettivi principali sarà proprio cercare, quando valgano le condizioni per la stabilità, la distribuzione stazionaria di n(t). Definiamo ancora:

si ≡ tempo di attraversamento del sistema da parte di ci ;

wi ≡ tempo di attesa in coda di ci (fino a quando quest'ultimo non entra in servizio).

Si ha quindi:

si = wi + xi

Le corrispondenti variabili stazionarie sono ˜ s e ˜ w , rispettivamente, per cui si ha:

˜ s = ˜ w + ˜ x (2.1.2)

Possiamo a questo punto fornire una rappresentazione grafica di alcune delle principali variabili introdotte.

Page 7: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

7

Fig. 2.1.3. Rappresentazione grafica degli eventi nella coda. In figura, la linea inferiore rappresenta l'andamento temporale dell'arrivo dei clienti nel sistema; la linea superiore rappresenta invece l'andamento temporale delle uscite dei clienti dal server (e quindi dal sistema). Un cliente entra in servizio quando un cliente precedente lascia libero un server. Introduciamo ora una notazione per i valori medi dei tempi di interarrivo e di servizio:

E ˜ x { } = x ≡ 1µ

tempo medio di servizio

E ˜ t { } = t ≡ 1λ

tempo medio di interarrivo

E ˜ w { } = w ≡ W tempo medio di attesa in coda (nel buffer)

E ˜ s { } = s ≡ T tempo medio di attraversamento del sistema (T = W +1 µ ) Pertanto, λ e µ rappresentano rispettivamente il tasso medio di arrivi (o il carico offerto) in coda [(clienti arrivati) /secondo] e la capacità massima di servizio (tasso di servizio) [(max # clienti servibili) /secondo]. Si definisce intensità di traffico il rapporto A = λ µ . (a volte indicato anche come carico offerto)

A =λ

µλ

µ

Fig. 2.1.4. Intensità di traffico.

Page 8: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

8

Essendo il rapporto tra tasso medio di arrivi e massima capacità di servizio del server, che sono entrambi dimensionalmente l'inverso di un tempo, A risulta essere un numero puro. Un altro modo di vedere A è quello di interpretarlo come il numero medio di

arrivi durante un tempo medio di servizio (λ ⋅1µ

), che spiega il nome intensità di

traffico. Pur essendo un numero puro, per la sua importanza gli si associa un'unità di misura, che prende il nome di Erlang. Si definisce come fattore di utilizzazione nel caso generico di code multiserver (con

buffer infinito e quindi, in equilibrio, con S =λ ) il rapporto ρ =λmµ

,

Fig. 2.1.5. Fattore di utilizzazione per coda multiserver con buffer infinito.

dove m è il numero di server della coda. Nel caso di coda single server (m=1), con buffer infinito, il fattore di utilizzazione coincide con l'intensità di traffico. Se la coda non ha buffer infinito ( S <λ ), è corretto definire l'utilizzazione (o throughput normalizzato) come S mµ . 2.2. Risultati generali In una coda a servitore singolo, il fattore di utilizzazione ρ è legato alla probabilità che la coda sia vuota. Indichiamo con P0 tale probabilità. Allora 1-P0 sarà la probabilità di avere almeno un cliente nel sistema (in coda od in servizio). Normalmente, se in una coda c'è almeno un cliente, il server lavora (è attivo): i sistemi in cui questo si verifica sono detti “work-conserving”; supponiamo di essere in questo caso (vedremo più avanti, parlando dei sistemi ad accesso multiplo, in cui il server può prendere dei periodi di “vacanza” (vacation ), alcuni casi di sistemi “non-work-conserving”). Vediamo ora come legare ρ a P0 . Per una coda a servitore singolo, con buffer infinito, sussiste il seguente risultato, indipendentemente dalle statistiche degli arrivi e dei tempi di servizio: ρ = 1− P0 (2.2.1) Dim.: si supponga di osservare la coda per un intervallo di tempo τ ; possiamo dire che τ (1− P0) = frazione di τ per cui nel sistema c'è almeno un cliente.

Page 9: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

9

x è il tempo medio di servizio: ne consegue che τ (1− P0) x rappresenta il numero medio di utenti serviti in τ . Il numero medio di utenti che entrano nella coda in τ è λ τ , per qualunque statistica dei servizi (ricordando che λ è il numero medio di arrivi al secondo). Per un sistema in equilibrio (la coda non cresce indefinitamente) deve essere: λ τ ≅ τ (1 − P0)

x (2.2.2)

Per τ che tende all'infinito, se (come è nel caso di processi ergodici) le medie temporali tendono alle medie statistiche, deve risultare

λ =1 − P0

x , ovvero λ

µ= ρ = 1− P0

Poichè sono stati coinvolti solo i valori medi, questo è vero per qualunque statistica degli arrivi e dei servizi (per cui valga l’ergodicità).

∇ Note : i) La relazione precedente si può ricavare in maniera analoga per una coda a servitore singolo con buffer finito, sostituendo il throughput S a λ .

ii) Poiché ρ ≥ 0 e ρ = 1− P0 , risulta P0 > 0 se ρ =λµ

< 1 ;

se ρ ≥ 1, allora P0 = 0, e la (2.2.2) non è più valida. Se P0 = 0, il sistema non si svuota praticamente mai, il che equivale a dire che, nel caso di buffer infinito, la coda cresce indefinitamente (e ciò accade se l'intensità degli arrivi è maggiore o uguale alla capacità massima di servizio del sistema). Può anche essere λ > µ , ossia si può immettere più di quello che si può elaborare, ma ovviamente non vale in questo caso l'eguaglianza ρ = 1− P0 . iii) Nel caso di coda a servente singolo con buffer finito, se indichiamo con PB (probabilità di blocco) la probabilità che in un istante qualunque il sistema sia saturo (e quindi “blocchi” gli arrivi), deve essere per l'equilibrio statistico (che in questo caso esiste sempre) λ (1 − PB ) = µ (1 − P0 ) = S (2.2.3)

Oss.: Se λ → ∞ , allora P 0 → 0, PB →1, e S → µ (il throughput normalizzato ρ = S / µ→ 1).

∇ Possiamo enunciare ancora un risultato generale, noto come

Page 10: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

10

Teorema di Little: S T = n (2.2.4) ovvero, il throughput per il tempo medio di attraversamento della coda è uguale al numero medio di clienti nella coda.

Fig. 2.2.1. Delimitazione del sistema per il Teorema di Little. Dim.: nell'ipotesi di disciplina FIFO e processi ergodici, supponiamo di osservare una realizzazione specifica del processo per un intervallo temporale [0, t]. Sia α (t) il numero di ingressi nel sistema in [0, t] e δ t( ) il numero di uscite dal sistema nello stesso intervallo; allora : n(t) = α (t) − δ(t) (2.2.5)

rappresenta il numero dei clienti nel sistema all'istante t.

Fig. 2.2.2. Andamento temporale di ingressi e uscite. Inoltre, l'area tra le due curve in Fig. 2.2.2 può essere espressa sia come n(τ )0

t∫ dτ (2.2.6)

che come

sii=1

δ(t)

∑ + t − τ i( )i=δ (t )+1

α( t )

∑ ≡ γ (t) (2.2.7)

Page 11: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

11

dove si indica il tempo di sistema dell'i-esimo cliente. Ora, St = α (t) / t (2.2.8) è la media temporale del tasso di arrivo di clienti nel sistema nell'intervallo [0, t], nt ≡

1t

n(τ)0t∫ dτ = γ (t) t (2.2.9)

è la media temporale del numero di clienti nel sistema nell'intervallo [0, t] e Tt ≡ γ (t) α (t) (2.2.10) è la media temporale del tempo passato da ciascun cliente nel sistema nell'intervallo [0, t]. Allora, eguagliando la (2.2.6) alla (2.2.7), dividendo entrambi i membri per t e moltiplicando e dividendo il secondo membro per α(t), si ha nt = St Tt (2.2.11) Per t →∞ , se le medie temporali tendono a quelle statistiche (il che accade sotto ipotesi molto generali sui processi degli arrivi e di servizio) n = S T (2.2.12)

∇ Oss.: La relazione nota come Teorema di Little può assumere diverse forme in funzione dei diversi “confini” del sistema cui si fa riferimento:

a) Sistema = buffer + server

Fig. 2.2.3. Delimitazione del sistema per il Teorema di Little (a).

a) S T = n , se il sistema è costituito da buffer e server (T è quindi il tempo medio di attraversamento della coda più servente e n il numero medio di clienti nel sistema);

b) Sistema = buffer

Page 12: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

12

Fig. 2.2.4. Delimitazione del sistema per il Teorema di Little (b). b) S W = n w , se il sistema è costituito dal solo buffer (W è quindi il tempo medio di attesa nel buffer e n w il numero medio di clienti in attesa in coda);

c) Sistema = server

Fig. 2.2.3. Delimitazione del sistema per il Teorema di Little (c).

c) S x = n s , dove n s = numero medio di clienti in corso di servizio, se il sistema è costituito dal(i) solo(i) server; nel caso single-server, n s coincide con 1 − P0 . 2.3. Code Markoviane La classe più comune di code che utilizzeremo nel seguito per l'analisi di prestazioni di alcune reti di TLC sono le code Markoviane, cioè code la cui dinamica è descritta da processi di Markov. Def. Processo di Markov: processo stocastico in cui la dinamica è descritta da una sequenza di v.a. xn{ } (se a tempo discreto) o da una v.a. funzione del tempo x(t) (se a tempo continuo), che prendono il nome di “stato”, caratterizzate rispettivamente dalle seguenti proprietà (supponiamo che le v.a. possano assumere valori in un insieme discreto (numerabile), finito o infinito; il processo si dice in questo caso “a stato discreto” o “catena di Markov”): Pr xn = Xn|X0, X1,.. ., Xn−1{ } = Pr xn = Xn |X n−1{ } (2.3.1) nel caso a tempo discreto e

Pr x(t) = X t x τ( ), t1 ≤ τ ≤ t2 < t{ } = Pr x(t) =X t x(t2 ){ } (2.3.2) nel caso a tempo continuo; Xn e Xt rappresentano le realizzazioni delle rispettive v.a.. Le variabili xn e x(t) nei processi di Markov sono a tutti gli effetti variabili di stato, in quanto la loro conoscenza all'istante attuale determina tutte le inferenze statistiche sul comportamento futuro del sistema. Le proprietà (2.3.1) e (2.3.2) esprimono sostanzialmente una “assenza di memoria”, condizionatamente al valore passato più recente. E' interessante notare che le (2.3.1) e (2.3.2) impongono un vincolo sulla distribuzione del tempo di permanenza del processo in uno qualunque dei valori da esso assunti. Più

Page 13: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

13

specificamente, tale distribuzione è necessariamente geometrica nel caso a tempo discreto ed esponenziale nel caso a tempo continuo. Dim. (tempo discreto): sia pii = Pr xn+1 = i|xn = i{ } la probabilità di rimanere (in un passo) nello stato i; la probabilità di uscirne sarà dunque 1 − pii . Sia ri la v.a. “tempo di permanenza nello stato i”. Allora risulta

Pr ri =1{ } = (1 − pii)

Pr ri = 2{ } = pii(1 − pii)...

Pr ri = k{ } = piik-1(1− pii)

(2.3.3)

che è appunto una distribuzione geometrica (le probabilità decrescono in proporzione geometrica). ∇ Dim. (tempo continuo): sia τ il tempo di permanenza in uno stato generico (supponiamo, per semplicità di notazione e senza perdita di generalità, che τ non dipenda dallo stato specifico). Si consideri:

Fig. 2.3.1. Transizioni di stato.

Pr τ > s + t τ > s{ } (2.3.4) Per la proprietà di assenza di memoria, la (2.3.4) deve essere funzione di t soltanto; indicando con g(t) la sua dipendenza da t, possiamo scrivere: Pr τ > s + t τ > s{ } = g(t) (2.3.5) Vediamo allora di determinare g(t): g(t) = Pr τ > s + t,τ > s{ }

Pr τ > s{ }=Pr τ > s + t{ }Pr τ > s{ }

(2.3.6)

allora, Pr τ > s + t{ } = g t( )Pr τ > s{ } ; in particolare, per s = 0 , si ha: Pr τ > t{ } = g t( )Pr τ > 0{ } ; ma Pr τ > 0{ } =1 , per cui: g(t) = Pr τ > t{ } . (2.3.7)

Page 14: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

14

La Markovianità implica pertanto che Pr τ > s + t{ } = Pr τ > s{ }Pr τ > t{ } (2.3.8) L'unica distribuzione che soddisfa la (2.3.8) è la distribuzione esponenziale. Infatti, dalla (2.3.8), derivando rispetto a s, si ottiene

ddsPr τ > s + t{ } = Pr τ > t{ }

ddsPr τ > s{ } =

Pr τ > t{ } dds1− Fτ (s)[ ] = −Pr τ > t{ }fτ (s)

(2.3.9)

Per il primo membro della (2.3.9) si ha:

ddsPr τ > s + t{ } =

ddXPr τ > X{ }

X = s + t

dXds

=ddXPr τ > X{ }

X = s + t (2.3.10)

Calcolando allora la (2.3.9) in s=0, si ha la seguente equazione differenziale nella funzione incognita Pr τ > t{ }

ddtPr τ > t{ } = −Pr τ > t{ }fτ (0) (2.3.11)

(con la condizione iniziale Pr τ > 0{ } =1), la cui soluzione è data da Pr τ > t{ } = e−fτ (0)t (2.3.12)

Quindi la funzione di distribuzione corrispondente sarà: Fτ (t) ≡ Pr τ ≤ t{ } = 1 − Pr τ > t{ } = 1− e− fτ (0)t t ≥ 0 (2.3.13) e la densità di probabilità

fτ (t) = fτ (0)e−fτ (0)t t ≥ 0 (2.3.14)

∇ La distribuzione esponenziale è dunque l'unica a possedere una proprietà come quella espressa dalla (2.3.8), che si potrebbe ben chiamare di assenza di memoria. In effetti, data una v.a. τ con distribuzione esponenziale si verifica che:

Pr τ > s + tτ > s{ } = Pr τ > s + t,τ > s{ }Pr τ > s{ }

=e−fτ (0)(s+ t)

e−fτ (0)s= e−fτ (0)t (2.3.15)

Questo è una conseguenza del fatto che la “coda” della funzione densità, normalizzata per riportarla ad area unitaria, è uguale alla funzione stessa traslata (Fig. 2.3.2).

Page 15: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

15

Fig. 2.3.2. Invarianza della densità esponenziale.

Poiché la distribuzione esponenziale è piuttosto importante, apriamo una breve parentesi su di essa. Per semplicità di notazione, sia f τ (0) = λ . Per prima cosa, notiamo che esiste una stretta parentela fra distribuzione esponenziale e processo di Poisson. Se infatti na (t) rappresenta un numero di eventi (ad esempio, nel nostro caso tipico, arrivi in coda) nell'intervallo (0, t), con distribuzione di Poisson

Pr na (t) = k{ } = (λt)k

k!e−λt (2.3.16)

e ˜ t è il tempo tra un evento e l'altro, allora Pr ˜ t > t{ } = Pr nessun evento in (0, t){ } = e−λt (2.3.17) e pertanto F ˜ t ( t) ≡ Pr ˜ t ≤ t{ } = 1− Pr ˜ t > t{ } = 1− e− λt t ≥ 0 (2.3.18)

f ˜ t ( t) = λe−λt t ≥ 0 (2.3.19) I momenti del primo e del secondo ordine della distribuzione esponenziale sono dati da:

E ˜ t { } = tλe−λtdt = 1λ

0

∫ (2.3.20)

(il che motiva la notazione introdotta in § 2.1)

E ˜ t 2{ } = t2

0

∫ λe−λtdt = 2λ2 (2.3.21)

σ˜ t

2 = E ˜ t 2{ } − E2 ˜ t { } = 1λ2 (2.3.22)

Ricordiamo anche che per il processo di Poisson si ha:

Page 16: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

16

E na (t){ } = λt ; σn a (t )2 = λt ; E na

2(t){ } = λ t + λ2t2 (2.3.23) 2.4. Sistemi nascita-morte (birth-death) Ci occupiamo ora della classe di catene di Markov a tempo continuo cosiddette birth-death (nascita-morte), nelle quali in un intervallo infinitesimo lo stato può variare soltanto al più di una unità, ossia sono di fatto possibili solo transizioni tra stati adiacenti. Più precisamente, diremo che la probabilità di variazioni maggiori di una unità in Δt è un infinitesimo di ordine superiore a Δt , che verrà indicato con la notazione o(Δt) , definita da lim

Δt→0

o(Δt)Δt

= 0 .

k+1

k

k-1

t t+Δt

Fig. 2.4.1. Transizione nello stato k in un intervallo Δt per un sistema birth-death. Per quanto riguarda specificamente i sistemi a coda, in questa situazione in un intervallo infinitesimo Δt possono di fatto verificarsi solo tre casi: - fine di un singolo servizio; - arrivo di un solo cliente; - nessun cambiamento. In altri termini, Pr{in Δt si verifichi più di una fine servizio o più di un arrivo}= o(Δt). Inoltre, le probabilità di un singolo arrivo o di una fine servizio in Δt sono proporzionali a Δt stesso (a meno di infinitesimi di ordine superiore): Pr{ un solo arrivo in (t, t + Δt) | n(t) = k} = λ kΔt + o(Δt) (2.4.1) Pr{ una sola fine servizio in (t , t + Δt) | n(t) = k} = µkΔt + o(Δt) (2.4.2) Nelle (2.4.1) e (2.4.2) abbiamo considerato che le costanti di proporzionalità λk e µk , per generalità, possano dipendere dallo stato; vedremo che questo ci consentirà di modellare un buon numero di sistemi diversi. Si può peraltro notare facilmente che, fissate distribuzioni esponenziali dei tempi di interarrivo e dei tempi di servizio, con parametri λk e µk , rispettivamente, espandendo in serie l'esponenziale in Δt si ha:

Page 17: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

17

1- e-λkΔt = λkΔt + o(Δt) (2.4.3) 1- e−µkΔt = µkΔt + o(Δt) (2.4.4) A questo punto, possiamo cercare di determinare la distribuzione di probabilità dello stato n(t) (2.4.5) Dalla Fig. 2.4.1 si può scrivere, per k≥1,

= Pk(t) ⋅ (1- λkΔt + o(Δt))(1- µkΔt + o(Δt))[ ]+

+Pk-1(t) ⋅ (λk-1Δt + o(Δt))(1-µk-1Δt + o(Δt))[ ]+

+Pk+1(t) ⋅ (1- λk+1Δt + o(Δt))(µk+1Δt + o(Δt))[ ]+ o(Δt)

(2.4.6)

Raggruppando in un unico termine tutti gli infinitesimi di ordine superiore a Δt , portando Pk(t) al primo membro e dividendo per Δt , si ha Pk(t + Δt)- Pk (t)

Δt= -(λk + µk)Pk (t) + λ k -1Pk-1(t) + µk+1Pk+1(t) + o(Δt) (2.4.7)

e, passando al limite per ,

ddtPk(t) = -(λk + µk )Pk(t) + λ k-1Pk-1(t) + µk+1Pk+1(t), k≥1 (2.4.8)

Si vede facilmente che per k=0 si ottiene d

dtP0(t) = -λ0P0(t) + µ1P1(t), (2.4.9)

Le (2.4.8), (2.4.9) sono equazioni differenziali e alle differenze, la cui soluzione è molto complessa anche nei casi più semplici (e.g., λk e µk costanti, ∀ k; tuttavia, si può verificare facilmente che per λk = cost = λ e µk = 0, ∀ k, si ottiene la distribuzione di Poisson). D'altra parte, non interessa tanto l'evoluzione temporale delle Pk (t), quanto (se esiste) la distribuzione stazionaria Pk , ottenibile per

Page 18: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

18

(2.4.10)

A questo proposito vale quanto osservato nel par. 2.2: la distribuzione stazionaria esiste sempre per code con buffer finito, mentre può non esistere per code con buffer infinito. Prima di passare alla derivazione della distribuzione stazionaria, osserviamo ancora che, in sistemi a coda di questo genere (e, più in generale, in tutti processi Markoviani), il tempo già trascorso in un determinato stato non cambia la statistica del tempo di permanenza nello stato stesso: la probabilità che, all'istante t, il contenuto della coda n(t) abbia un certo valore, condizionata al fatto che, ad esempio, il servizio in corso è iniziato da 10 secondi, è la stessa che si avrebbe nel caso in cui non fosse noto da quanto tempo il servizio è iniziato (un discorso analogo si può fare per gli arrivi). Ciò significa che la dinamica del sistema è descritta unicamente da n(t) e che n(t) è un processo di Markov, che può ben essere chiamato in questo caso lo stato del sistema, in quanto ogni inferenza statistica sul futuro, condizionata a n(t), non cambia aggiungendo la conoscenza di altre variabili (in particolare, l'unfinished work u(t)). Ciò è dovuto alla proprietà vista di assenza di memoria della distribuzione esponenziale. In effetti, se, ad esempio, il tempo di servizio avesse una qualunque altra distribuzione, non sarebbe più vero che n(t) rappresenta da solo lo stato del sistema; in questo caso, ha rilevanza ad esempio sapere da quanto è iniziato il servizio in corso (poiché consente di fare inferenze su quando finirà e quindi di cambiare la statistica di n(t)): la variabile u(t) entra pertanto a far parte dello stato del sistema. Tuttavia, se gli arrivi sono ancora Markoviani, se si considera il sistema negli istanti di fine servizio, è facile convincersi che il processo n(t) (a eventi discreti) in tali istanti costituisce una catena di Markov (detta in inglese “embedded Markov chain”): in questa situazione, infatti, non si ha alcuna informazione “aggiuntiva”, dovendo il servizio successivo ancora iniziare. Un processo di questo genere viene detto semi-Markoviano, e corrisponde sostanzialmente ad un processo Markoviano senza il vincolo di distribuzione esponenziale del tempo di permanenza in uno stato: in altre parole, la proprietà di Markov espressa dalla (2.3.2) non vale in istanti qualunque, ma soltanto se si considerano particolari istanti di transizione del processo (v. § 2.4.6). 2.4.1. Distribuzione stazionaria Sostituendo la distribuzione stazionaria, indipendente dal tempo, nelle (2.4.8) e (2.4.9), si ottiene -(λk + µk)Pk + λ k-1Pk-1 + µk+1P k+1 = 0, k ≥ 1 (2.4.11) -λ 0P0 + µ1P1 = 0 (2.4.12) Queste sono semplici equazioni alle differenze, la cui soluzione si ricava ricorsivamente: dalla (2.4.12) si ha subito

P1 =λ 0µ1P0 (2.4.13)

Page 19: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

19

e, sostituendo nella (2.4.11) per k=1,

0 = -λ1P1 -µ1P1 + λ 0P0 + µ2P2 =

= - λ1λ 0µ1

P0 -µ1λ 0µ1

P0 + λ 0P0 + µ2P2

da cui

P2 =λ1λ 0µ1µ2

P0 =λ1µ2P1 (2.4.14)

Proseguendo nella ricorsione, si trova la seguente relazione generale:

Pk+1 =λ kµk+1

Pk (2.4.15)

o anche, esprimendo tutte le Pk in funzione della P0 ,

Pk =λ0λ1 ⋅ ⋅ ⋅ ⋅ ⋅λ k -1µ1µ2 ⋅ ⋅ ⋅ ⋅ ⋅µk

P0 = P0λiµi+1i=0

k -1

∏ (2.4.16)

Resta ora da determinare soltanto P0; per questo, basta osservare che le Pk , k=0,1,..., costituiscono una distribuzione di probabilità e perciò la loro somma deve essere 1. Imponendo tale condizione si ha subito:

P 0 + P 0 ⋅λi

µ i+1i=0

j-1

∏j=1

∑ =1 ⇒ P0 = 1

1+ λi

µ i+1i=0

j-1

∏j=1

∑ (2.4.17)

Il limite superiore ∞ nella sommatoria è ovviamente tale solo nel caso di code con buffer infinito; in tal caso, in dipendenza dei valori dei coefficienti, la serie potrebbe divergere e la distribuzione stazionaria, di conseguenza, non esistere. Come si è già in precedenza osservato, dunque - se la coda è a stato finito, ovvero ha buffer finito, la distribuzione stazionaria esiste

sempre (la P0 non può mai essere nulla); - se la coda ha buffer infinito, la distribuzione stazionaria può non esistere; le

condizioni per questo saranno viste caso per caso. L'equazione (2.4.11) è suscettibile di una rappresentazione delle transizioni di stato:

Page 20: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

20

0 1 k-1 k k+1

λ0 λk-1 λk

µ1 µk µk+1 Fig. 2.4.1.1. Rappresentazione delle transizioni di stato di un sistema

birth - death. Dalla (2.4.11) possiamo ricavare la relazione di bilancio globale: λ k + µk( )P k = λ k−1P k−1 + µk+1P k+1 (2.4.11.1) che si può interpretare, relativamente alla Fig. 2.4.1.1., come il fatto che, in equilibrio statistico, il “flusso di probabilità” che esce dallo stato k equivale al “flusso di probabilità” che entra nello stato k. In genere, il bilancio può trovarsi per ispezione anche in casi più complessi. Si hanno relazioni che possono rappresentare un bilancio locale, in cui si legheranno le probabilità fra stati adiacenti. Dal diagramma si ottiene:

λ 0P 0 = µ1P1

λ kPk = µk+1Pk+1 (2.4.11.2)

Le (2.4.11.2) sono le equazioni di bilancio locale (riguardano coppie di stati adiacenti). A seconda di come si descriva la dipendenza dallo stato dei parametri λk e µk , si presentano diversi casi specifici, che verranno analizzati nel seguito. Prima di questo, introduciamo la seguente: Notazione di Kendall: si indicano le caratteristiche di una coda specifica con diversi campi separati da barre:

campo 1/campo 2/campo 3/campo 4/campo 5 dove: • campo 1 indica la distribuzione del tempo di interarrivo ˜ t (M=Markoviano

(esponenziale); D=Deterministico (costante); G=Generale (qualsiasi); ecc.); • campo 2 indica la distribuzione del tempo di servizio ˜ x (con le stesse notazioni

del tempo di interarrivo); • campo 3 indica il numero di server; • campo 4 indica lo spazio disponibile (a questo proposito, si possono trovare due

diverse notazioni: i) spazio nel buffer, in termini di clienti contenibili, più numero di server, o ii) solo spazio nel buffer, in termini di clienti contenibili, senza i server; nel seguito di queste note verrà usata la prima);

• campo 5 indica il numero massimo di clienti ammesso.

Page 21: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

21

Se un campo tra 3, 4 e 5 manca, il suo valore è considerato infinito; se dopo il campo mancante ve ne sono altri, comparirà una doppia barra (ad esempio, M/M/m//N; però si scrive esplicitamente M/M/∞ ). 2.4.2. Coda M/M/1 Il caso più semplice con λk e µk entrambi diversi da zero è quello della coda M/M/1, ossia λk = cost = λ, µk = cost = µ, ∀ k. Evidentemente, si ha un solo server (campo 3 = 1) ed un buffer infinito (manca il campo 4). Si ha quindi: f˜ t ( t) = λe−λt , t ≥ 0 per il tempo di interarrivo f˜ x (x) = µe−µx , x ≥ 0 per il tempo di servizio

Sia ρ =λµ

(che in questo caso rappresenta sia il fattore di utilizzazione che l'intensità di

traffico); dalla (2.4.16) si ottiene:

P k = P0λµi=0

k-1

∏ = P0 ⋅ ρk (2.4.18)

e dalla (2.4.17)

P 0 = 1

1 + ρ j

j=1

∑= 1

1 (1 -ρ )= 1- ρ, ρ < 1 (2.4.19)

poiché la serie geometrica converge per ρ < 1. La distribuzione stazionaria è pertanto una distribuzione geometrica P k = (1- ρ)ρk , ρ < 1 (2.4.20) (al crescere di k, la probabilità di essere nello stato k decresce in progressione geometrica). Se ρ→ 1 , la P0 tende a 0, e con lei tutte le Pk (si hanno infiniti valori, tutti equiprobabili e infinitesimi). Siamo ora in grado di calcolare alcuni parametri caratteristici. 1) Occupazione media:

n = kPkk=0

∑ = k(1- ρ)ρ k

k=0

∑ (2.4.21)

Page 22: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

22

Poiché

kρ k-1k=1

∑ = ddρ

ρ k

k=1

∑ = ddρ

11− ρ

−1

= 1

(1- ρ)2 (2.4.22)

dalla (2.4.21) si ha n = ρ

1 − ρ (2.4.23)

2) Tempo medio di attraversamento: una volta noto , si può calcolare, tramite il teorema di Little, T = 1

λn = 1

λρ

1- ρ= 1µ(1- ρ)

= 1µ - λ

(2.4.24)

3) Probabilità che la coda superi un valore fissato:

P{n >N} = ρ k

k=N+1

∑ (1- ρ ) = 1- ρ k

k=0

N

∑ (1- ρ) =

= 1- (1- ρ )1- ρN+1

1- ρ= ρN+1

(2.4.25)

Dalla (2.4.25) si può notare che, in condizioni di carico non troppo elevato, un buffer non particolarmente lungo può essere considerato praticamente infinito. Ad esempio, con ρ = 0.6 e N = 15, si ha , quindi relativamente bassa. Viceversa, fissata la probabilità di superare una certa soglia, si può calcolare facilmente la lunghezza del buffer che approssima quello infinito entro tale probabilità. Nota 2.4.1: La coda M/M/1 può rappresentare una coda in una rete a commutazione di pacchetto, con pacchetti di lunghezza variabile; il tempo di servizio è in questo caso determinato dalla velocità di trasmissione C [bit/s] e dalla lunghezza [bit] del pacchetto, che è una v.a. esponenziale. Sia 1 µ la sua media, allora:

1µ= 1

µ C (2.4.26)

e la distribuzione del tempo di servizio è esponenziale, poiché

(2.4.27)

e pertanto

Page 23: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

23

f ˜ x (x) = 11 C

f ˜ l x

1 C

= Cµ e- Cµ x = µe-µx (2.4.28)

2.4.2.1. Coda M/M/1/K Vediamo ora il caso di buffer finito: sia K il numero di elementi che può contenere il sistema (buffer più server). Si può modellare questa situazione con

λ k =λ , k < K0, k ≥K

(2.4.29)

Rispetto al caso precedente, ciò che cambia è soltanto la P0 , in quanto non si ha più una sommatoria infinita, ma limitata ai primi K termini. Pertanto,

(2.4.30)

con A = λ µ (intensità di traffico; preferiamo non utilizzare qui la notazione ρ , per le ragioni che saranno esposte nella nota 2.4.2);

(2.4.31)

Quindi (2.4.32)

Nota 2.4.2: Nel caso di buffer finito, anche in presenza di un unico server, non si può più affermare che intensità di traffico e fattore di utilizzazione coincidano. Peraltro, infatti, poiché la coda ha buffer finito, nulla vieta che sia A = λ µ > 1. Al limite, se , allora P0→ 0 , ma la distribuzione stazionaria esiste: tutte le probabilità di occupazione tendono a 0, tranne quella per K, che tende a 1 (se il carico offerto è maggiore di quello che può essere servito, aumenta la probabilità di rifiutare clienti in ingresso, e la coda è praticamente sempre piena: si ha semplicemente una situazione di saturazione). Poiché ora λ non è più il tasso di entrata, ma solo il carico offerto, l'utilizzazione è, come già detto in 2.1, ρ = S µ .

Page 24: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

24

Fig. 2.4.2. Tasso di reiezione nella coda con buffer finito.

Quando la coda è piena, gli elementi in arrivo vengono rifiutati: questa situazione si dice di “blocco”. La probabilità che in un qualunque istante di tempo il sistema sia in blocco (probabilità di blocco) è data dalla (2.4.32) per k=K: (2.4.33) Allora si ha che, essendo λ il flusso netto che viene offerto al sistema, • λPB in media viene rifiutato; • λ (1- PB) in media entra nel sistema. Oss.: Ciò che esce dal sistema è dato da S = µ(1- P0) (questo è vero anche nel caso di buffer infinito). Deve peraltro valere l'eguaglianza tra ciò che in media entra ed esce, ossia λ (1- PB) = µ(1 - P0 ) , come già rilevato in (2.2.3). Αll'aumentare dell'intensità di traffico, P0 diminuisce, mentre P B e ρ aumentano; al limite, quando , P 0 → 0, PB →1 e ρ = 1- P0 = A(1 - PB )→ 1. Si può notare che, nel caso di buffer infinito, l'utilizzazione cresce linearmente con λ fino a 1 (è sempre λ µ , con µ costante), poi rimane costante ed uguale ad 1 per λ ≥ µ (il throughput è λ per ρ < 1, poi resta costante ed uguale a µ ).

∇ 2.4.3. Coda M/M/m Si consideri ora il caso M/M/m, ovvero una coda Markoviana con m serventi.

Fig. 2.4.3. Coda multiserver.

Si può modellare questo sistema con: λ i = λ ∀i (2.4.34) µ i = min{iµ, mµ} (2.4.35)

Page 25: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

25

La (2.4.35) corrisponde a µ i = iµ per i ≤ m;µ i = mµ per i > m. La capacità di servizio aumenta quindi linearmente con il numero di server occupati, per restare poi costante quando tutti gli m server lavorano. Sostituendo nella (2.4.16) e ricordando che ora ρ = λ mµ , si ha subito

Pk = P0λ

(i +1)µ=

i=0

k- 1

∏ P0λµ

k1k!

= P0 mρ( )k k! per k ≤ m (2.4.36)

Pk = P0λµ

m1m!

λµ

k-m1

m k-m = (mρ)k 1mk-mm!

P0 =ρ k

m!m−m P0 per k ≥ m (2.4.37)

L'espressione di P0 si ricava, dopo qualche semplice manipolazione algebrica, sostituendo nella (2.4.17)

P0 =1

1+ (mρ)j

j!+ (mρ)m

m!(1- ρ)j=1

m−1

∑=

1(mρ)j

j!+mρ( )m

m!⋅ρ

1− ρj=0

m

∑ (2.4.38)

Una probabilità interessante per questo sistema è quella che ci sia qualcosa in coda in attesa (cioè che ci sia coda nel buffer, che inizia a formarsi quando tutti i server sono occupati). Si ha allora

Pr{coda} = Pk = P0(mρ)m

m!(1- ρ)k=m

∑ (2.4.39)

La (2.4.39) è nota come Formula C di Erlang e viene spesso indicata con E2,m (A) . Si possono ancora ricavare le seguenti quantità:

n w = kPm+k = P0(mρ)m

m!k =1

∑ kρ k =k=1

∑ P0(mρ)m

m!ρ

(1− ρ)2 = E2,m (A) ρ1− ρ

(2.4.40)

W = n w λ =E2,m (A)mµ(1- ρ)

; T = 1µ

+ W (2.4.41)

n = λT = λµ

+ λW = A + E2,m (A) ρ1 - ρ

(2.4.42)

Nota 2.4.3: I tre tipi di code fino ad ora esaminati possono rappresentare, come già accennato per la coda M/M/1, sistemi a commutazione di pacchetto. Mentre le code M/M1 e M/M/1/K rappresentano il caso di completo multiplexing statistico (in cui la capacità disponibile è condivisa interamente da tutti i pacchetti), la coda M/M/m può rappresentare un

Page 26: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

26

sistema, ad esempio a divisione di tempo (TDM), in cui la capacità è suddivisa in più “canali”, a ciascuno dei quali corrisponde pertanto un server. Dal punto di vista del ritardo di attraversamento, il multiplexing statistico completo è sempre più vantaggioso. Usando le espressioni ricavate in precedenza, è facile confrontare le due situazioni, ad esempio nel caso m=2. Si consideri una coda M/M/1 con tasso di arrivi λ e capacità di servizio 2µ . Allora si ha: TM M 1 =

12µ - λ

= 12µ(1- ρ)

(2.4.43)

con ρ = λ 2µ . Per il caso M/M/2, con ciascuno dei due server avente capacità µ , risulta invece

P0 = 1 + 2ρ + 4ρ2

2(1- ρ)

-1

= 1- ρ1+ ρ

(2.4.44)

con ρ = λ 2µ , e per le Pk si ha Pk = 2P0ρ

k , k≥1 (2.4.45)

mentre dalle (2.4.39) e (2.4.41)

TM M 2 =1µ+ ρ2

µ(1+ρ)(1- ρ)= 1

µ(1+ρ)(1- ρ) (2.4.46)

che risulta sempre maggiore di TM/M/1, essendo ρ <1 .

1

2

3

4

5

.2 .4 .6 .8 1

M/M/1 (λ/µ)

M/M/2

M/M/1 (λ/2µ)

ρ=λ/2µ

T µ

Fig. 2.4.4. Confronto fra i tempi di ritardo normalizzati. [T (1 µ) = Tµ : tempo di ritardo normalizzato].

Nella fig. 2.4.4. è illustrato un confronto fra tempi di ritardo di code M/M/1 ed M/M/2 al variare di ρ .

Page 27: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

27

Il multiplexing statistico per pacchetti a lunghezza variabile è dunque sempre migliore, dal punto di vista del ritardo di attraversamento, rispetto ad un sistema a confinamento (che è l'equivalente di allocare una porzione della banda a ciascun pacchetto). La coda M/M/m può anche rappresentare un sistema telefonico con capacità di memorizzazione delle chiamate (ad esempio, un call center); in questo caso, i “clienti” sono le richieste di connessione e il tempo di servizio corrisponde alla durata della connessione. Tuttavia, la possibilità di memorizzare le richieste di connessione in caso di linea in uscita occupata, per poi inoltrarle successivamente, non è usuale nei sistemi telefonici; se tutte le linee sono occupate, normalmente la chiamata è rifiutata. I modelli che meglio rappresentano il traffico telefonico sono pertanto quelli “a perdita” (loss), che verranno trattati di seguito. 2.4.4. Coda M/M/m/m Questo è uno dei due modelli tipicamente utilizzati per rappresentare il traffico telefonico. Essendo il numero di server pari allo spazio disponibile, non vi è spazio di memorizzazione e, perciò, nel caso in cui tutti i server siano occupati, una chiamata in arrivo viene rifiutata. Questo effettivamente accade in un concentratore o in un commutatore telefonico, in cui ad ogni chiamata entrante è associato un canale in uscita, se disponibile. Non si considera in questa fase la struttura ed il funzionamento interno del commutatore; supponiamo unicamente che, nel caso esista una linea libera in uscita, si possa sempre instaurare un collegamento verso di essa (cioè, che l'autocommutatore sia non-bloccante).

Fig. 2.4.5. Commutatore e modello equivalente di coda M/M/m/m. Si può notare che, in questo modello, finché vi sono linee libere in uscita, il flusso d'ingresso λ rimane costante. Ciò corrisponde a non tener conto del fatto che ad ogni chiamata entrante è associato un canale in ingresso, che rimane nello stato di occupato (e quindi non contribuisce al tasso di generazione) per tutta la durata della connessione.

Page 28: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

28

Implicitamente, si è supposto che il numero di linee entranti sia talmente grande (e corrispondentemente che ognuna di esse abbia un tasso di generazione molto basso) da poterne trascurare le variazioni di stato agli effetti del flusso entrante. Il modello considerato nel prossimo paragrafo terrà invece conto esplicitamente di tali variazioni. Si ha allora:

λ i =λ , i < m0, i ≥ m

(2.4.47)

µ i = iµ (2.4.48)

e, sostituendo nelle (2.4.16), (2.4.17)

P k = P0λ

(i +1)µ=

i=0

k-1

∏ P0(λ µ )k 1k!

, k ≤m (2.4.49)

P k = 0 , k > m (2.4.50)

P0 =1

1 + (λ µ)k

k!k=1

m

∑ (2.4.51)

e pertanto

P k = (λ µ )k k!(λ µ) j

j!j=0

m

∑ , k ≤m (2.4.52)

La probabilità di blocco si ottiene dalla (2.5.52) per k=m:

PB = Pm =(λ µ)m m!

(λ µ) j

j!j=0

m

∑= Am m!

Aj j!j=0

m

∑ (2.4.53)

La (2.4.53) è nota come Formula B di Erlang, e viene spesso utilizzata per trovare il numero m di linee in uscita necessarie ad avere una PB inferiore ad una quantità fissata, corrispondente alla qualità del servizio richiesta. I valori risultanti sono estensivamente tabulati in molti testi di telefonia; intuitivamente, si può comunque affermare che per una probabilità di blocco non troppo elevata deve essere certamente almeno m>A. 2.4.5. Coda M/M/m/m/N In questo caso, teniamo esplicitamente conto della presenza di un numero finito N di linee (canali) in ingresso e del fatto che una linea è occupata se impegnata da una connessione, e quindi non può generare ulteriori richieste finché non torna libera. N,

Page 29: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

29

corrispondente al campo 5 della notazione di Kendall introdotta in 2.4.1, rappresenta pertanto il numero massimo di utenti che generano il traffico da inoltrare al sistema.

Fig. 2.4.6. Sistema M/M/m/m/N Il caso più semplice è quello di una piccola centrale di commutazione a divisione di spazio, come in Fig. 2.4.7. Se arriva una richiesta di connessione e si connette una linea di ingresso con una linea di uscita, allora quella linea non genera altre richieste fino alla fine della connessione.

Fig. 2.4.7. Matrice a divisione di spazio. Ovviamente, PB = 0 se N<m; consideriamo pertanto il caso in cui N≥m. Sia λ ' il tasso di generazione di ciascuna linea in ingresso. λ i deve decrescere linearmente con lo stato:

λ i =(N - i)λ ' , i < m 0 , i ≥ m

(2.4.54)

µ i = iµ (2.4.55) Si può notare come si passi da questo modello a quello considerato nel paragrafo precedente se: N → ∞; λ '→ 0; Nλ' = λ Si ottiene allora:

Page 30: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

30

P k = P0λ i

µ i+1i=0

k-1

∏ = P0λ'µ

k N(N -1) ⋅ ⋅ ⋅(N - k +1)k!

=

= P0(λ' µ )k N!(N - k)! k!

= P0(λ' µ )k Nk

, k ≤m

(2.4.56)

P0 =1

1 + (λ ' µ) jNj

j=1

m

∑ (2.4.57)

Pertanto

Pk =(λ' µ)k

Nk

(λ ' µ) jNj

j=0

m

∑ (2.4.58)

La (2.4.58) è detta distribuzione di Engset. La probabilità di blocco si ottiene come sempre per k=m. Nota 2.4.4: La probabilità di blocco PB è la probabilità di trovare il sistema bloccato in un istante qualsiasi (vista quindi da un “osservatore” esterno) e rappresenta la percentuale di tempo per cui il sistema rimane bloccato (ed infatti è detta anche “time congestion”). Un'altra variabile di interesse è la probabilità di perdita PL , che rappresenta la probabilità che una chiamata in arrivo trovi il sistema occupato (o la percentuale delle chiamate in arrivo che trovano il sistema occupato; è detta infatti anche “call congestion”). Quest'ultima è in generale diversa da PB; le due quantità sono uguali solo se il tasso degli arrivi non dipende dallo stato. Infatti:

PL = Pr{sistema occupato | una chiamata in arrivo in Δt} =

= Pr{una chiamata in arrivo in Δt | n(t) = m}Pr{n(t) = m}Pr{una chiamata in arrivo in Δt}

=

= λmΔt Pmλ Δt

(2.4.59)

dove

λ ≡ λ ii=0

m

∑ Pi (2.4.60)

Ora, nel caso M/M/m/m risulta λm = λ = λ e, pertanto, PL = Pm = PB . Nel caso attuale, in cui il tasso di arrivi dipende dallo stato, secondo la (2.4.54), si ha

PL =(N -m)λ ' PB

(N - i)λ ' Pii=0

m

∑ (2.4.61)

Page 31: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

31

Sostituendo le espressioni di P i e PB fornite dalla (2.4.58), dopo qualche semplificazione si trova facilmente che PL N = PB N-1 (2.4.62) ovvero che la PL per N linee in ingresso è uguale alla PB calcolata per N-1 linee. Per N sufficientemente elevato, la differenza è dunque molto piccola.

2.4.5.1. Il caso N=m Ricordando che:

(λ' µ) jmj

j=0

m

∑ = (1+ λ ' µ)m (2.4.63)

si può scrivere

Pk =(λ' µ)k

mk

(1+ λ ' µ)m=

a1- a

k mk

11- a

m =mk

ak(1- a)m-k (2.4.64)

avendo definito a =λ '

λ ' +µ, da cui λ ' µ = a

1- a. La (2.4.64) è una distribuzione

binomiale. La (2.4.64) può essere ottenuta anche in altro modo. Osservando una coppia di linee in ingresso e in uscita, si può notare che essa si alterna tra due stati, tra loro indipendenti: i) connessione, con durata media 1 µ , e ii) disconnessione, con durata media 1 λ' . Nel tempo, questa alternanza tra due stati indipendenti costituisce un processo detto di renewal. Le probabilità di essere nello stato connesso e disconnesso, rispettivamente, sono date da:

a =1µ

1 λ ' +1 µ=

λ 'λ '+µ

; 1 − a = µλ ' +µ

(2.4.65)

A questo punto, è immediato ricavare lo stesso risultato della (2.4.64). 2.4.6. Coda M/G/1 Nella coda M/G/1 gli arrivi hanno distribuzione Poissoniana. Si considera qui il caso di un solo servente e buffer infinito. I tempi di servizio hanno distribuzione generica, ma poniamo alcuni vincoli necessari per l'analisi delle prestazioni. Indichiamo con xi il tempo di servizio del cliente i-esimo; esso è una variabile aleatoria con le seguenti proprietà:

Page 32: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

32

• la sua distribuzione di probabilità è stazionaria rispetto ad i; • è indipendente rispetto agli altri tempi di servizio; • E xi{ } = 1

µ ∀i

Non è possibile modellare la coda come una catena di Markov birth-death, poiché l’inferenza statistica all'istante t dipende, in generale, dalla conoscenza del sistema in tutti gli istanti precedenti. Si può comunque descrivere il sistema come un processo semi-Markoviano: osservando il sistema solo agli istanti di fine servizio, si può utilizzare come modello una catena di Markov birth-death (si veda l’osservazione fatta in §2.3). Calcoliamo ora il tempo medio di attesa. Utilizzeremo la seguente notazione: Wi ≡ tempo di attesa totale in coda per il cliente i-esimo; Ri ≡ tempo di servizio residuo visto dal cliente i-esimo nel momento in cui entra nel sistema; nwi ≡ lunghezza della coda vista dal cliente i-esimo. Vale dunque la seguente relazione:

Wi = Ri + xjj= i − nwi

i−1

∑ (2.4.65)

dove la sommatoria rappresenta il tempo di servizio necessario per servire i clienti in coda davanti all'i-esimo. Per trovare il tempo medio di attesa, è necessario mediare rispetto al tempo di servizio ed al numero di clienti in attesa all'arrivo dell' i-esimo:

E Wi{ } = E Ri{ } + Enw i

E xj nwi{ }j = i− nwi

i−1

(2.4.66)

Essendo xj non condizionato dal numero di clienti in coda nwi , è possibile scrivere:

E x j nwj{ } = E xj{ } (2.4.67)

Inoltre, per l'ipotesi di uguale distribuzione per tutte le variabili aleatorie (e supponendo che la disciplina di servizio non dipenda dal tempo di servizio), si ottiene:

Page 33: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

33

E xj{ } = E ˜ x { } = 1

µ

E nwi{ }→i→∞

E nw{ } (2.4.68)

Pertanto, per i→ ∞ , la (2.4.66) diventa:

W = R + E nw{ } ⋅ 1µ

(2.4.69)

dove R = lim

i→∞E Ri{ } . Si noti che, nello scrivere la prima delle (2.4.68), abbiamo

supposto che la disciplina di servizio non dipenda esplicitamente dal tempo di servizio (o meglio, dalle realizzazioni del tempo di servizio relative agli utenti in coda); in tal caso,

infatti, le E x j{ } sarebbero, in generale, diverse da 1µ

. Si pensi, ad esempio, ad una

disciplina di servizio che privilegia sempre gli utenti con la realizzazione più piccola del tempo di servizio tra quelli presenti. Il caso in cui, invece, la disciplina di servizio stabilisce, ad esempio, diverse priorità sulla base dei tempi medi di servizio, rientra ancora nella nostra trattazione (scambiando l’ordine dei pacchetti nella coda, il pacchetto entrante vede lo stesso tempo medio di attesa). Inoltre, val la pena notare che le distribuzioni di probabilità viste da un cliente in arrivo coincidono con quelle viste da un osservatore esterno in un istante qualsiasi, poiché gli arrivi sono di Poisson e indipendenti dai tempi di servizio (in particolare, il tasso degli arrivi non dipende dallo stato del sistema). Questa proprietà, vista nel caso particolare della coda M/M/m/m nella Nota 2.4.4, è conosciuta sotto il nome di PASTA (Poisson Arrivals See Time Averages). Calcoliamo ora R; è necessario analizzare l'andamento del tempo residuo in funzione del tempo:

τ

r(τ)=-τ+τ1+x1

τ1

r(τ)

x1

x1 x2 Fig. 2.4.9. Andamento del tempo residuo in una coda M/G/1

Occorre mediare r(τ) in 0, t[ ] (supponiamo r(t) = 0):

1t⋅ r(τ) dτ

0

t

∫ =1t⋅ 1

2i = 1

M t( )

∑ xi2 =

12⋅M t( )

t⋅

xi2

i = 1

M t( )

∑M t( )

(2.4.70)

Page 34: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

34

dove l'integrale è la somma delle aree dei triangoli (uno per ogni arrivo), M(t) è il numero dei servizi completati nell'intervallo [0, t] e xi la realizzazione dell'i-esimo tempo di servizio. Passando al limite

limt→∞

1t⋅ r(τ) dτ

0

t

∫ =12

limt→∞

M t( )t

⋅ limt→∞

xi

2

i = 1

M t( )

∑M t( )

(2.4.71)

e assumendo l'ergodicità, le medie temporali tendono alle medie d'insieme, ovvero

limt→∞

M t( )t

= λ (2.4.72)

e

limt→∞

x i

2

i = 1

M t( )

∑M t( )

= E ˜ x 2{ } (2.4.73)

Allora vale:

R =12⋅ λ ⋅E ˜ x 2{ } (2.4.74)

Sapendo che, dal Teorema di Little, E nw{ } = λ ⋅W dalle (2.4.72), (2.4.73) e (2.4.74) otteniamo

W =λ ⋅E ˜ x 2{ }2 ⋅ (1− ρ)

(2.4.75)

La (2.4.75) è nota come formula di Pollaczek-Khinchin. Sulla base della formula di Pollaczek-Khinchin possiamo ricavare le seguenti relazioni:

T =1µ+λ ⋅E ˜ x 2{ }2 ⋅(1 − ρ)

(2.4.76)

E nw{ } = λ ⋅W =λ2 ⋅E ˜ x 2{ }2 ⋅(1 − ρ)

(2.4.77)

Page 35: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

35

E n{ } = λ ⋅T =λµ+λ2 ⋅E ˜ x 2{ }2 ⋅ (1− ρ)

(2.4.78)

Questi risultati sono stati ottenuti considerando una politica di servizio FIFO, ma sono validi per qualunque altro tipo di politica, purché l'ordine di servizio sia indipendente dalle realizzazioni del tempo di servizio stesso. Vediamo alcuni confronti fra la coda M/G/1 ed altre code già esaminate. La (2.4.76) può essere riscritta, con opportune sostituzioni (si ricordi che E x2{ } = σ ˜ x

2 +1 µ 2 , dove σ ˜ x 2 è

la varianza del tempo di servizio), come segue:

T =1µ+λ ⋅E x2{ }2 ⋅(1− ρ)

= 1µ - λ

1− ρ21 − µ 2σx

2( )

(2.4.79)

dove 1

µ - λ è il tempo medio di attraversamento del sistema nel caso di una coda M/M/1.

Ricordiamo anche che σ ˜ x 2( )M / M / 1

= 1 µ 2 . Allora:

• Se σx2 =

1µ 2 ⇒ T =

1µ - λ

• Se σ x2 >

1µ 2 ⇒ T M/ G /1 > TM / M/1

• Seσ x2 <

1µ 2 ⇒ T M/ G /1 < TM / M/1

2.4.6.1. Coda M/D/1 E' un caso particolare della coda M/G/1; qui il tempo di servizio non è una variabile aleatoria, ma è deterministico e pertanto costante. Per il tempo di servizio costante, ovviamente σ ˜ x

2 = 0 . Allora

T =1

µ − λ1 − ρ

2

(2.4.80)

Quindi: • per carichi bassi: ρ ≅ 0 ⇒ comportamento come la coda M/M/1. • in congestione: ρ→ 1 ⇒ T inferiore del 50% rispetto alla coda M/M/1. 2.4.7. Code con priorità Consideriamo ora un caso di disciplina di servizio con priorità.

Page 36: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

36

Fig. 2.4.12. Coda multiclasse con unico server. Si consideri un unico server e diversi flussi di traffico, i quali vengono divisi in più classi, cui si associano diverse priorità. Ciascuna classe è in generale caratterizzata da propri parametri statistici, quali i tempi medi di servizio e i tassi di generazione, ma supponiamo che le distribuzioni statistiche siamo uguali per tutte le classi (in particolare, che gli arrivi siano Poissoniani). Un flusso di traffico a priorità maggiore può sorpassare un altro flusso a priorità minore in due punti distinti: 1. nella coda ( non - preemptive ); 2. nel server ( preemptive ). Il caso non - preemptive è quello più frequente nelle reti di TLC, in quanto non si interrompe, di solito, un cliente (chiamata o pacchetto) in corso di trasmissione. Come è evidenziato in Fig. 2.4.12, supponiamo siano presenti P classi in ingresso alla coda, ciascuna con propria priorità; supponiamo, inoltre, di ordinare le classi in base alla priorità in modo tale che la classe 1 abbia priorità massima e la classe P priorità più bassa. Si può allora scrivere

W1 = R +1µ 1

⋅ n w1 (2.4.81)

dove W1 ≡ tempo di attesa in coda di un cliente della classe 1; R ≡ tempo residuo per terminare il servizio in corso;

1µ1

≡ tempo medio di servizio dei clienti della classe 1;

n w1

≡ # medio di pacchetti della classe 1 che sono già in coda e che non possono essere scavalcati. Dal Teorema di Little: n w1

= λ1W1 e quindi:

Page 37: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

37

W1 =R

1− ρ1 (2.4.82)

Anche in questo caso si è considerato un processo ergodico e quindi si confonde sempre la media temporale con la media di insieme. Consideriamo ora la classe 2:

W2 = R +1µ1⋅ n w1 +

1µ2

⋅ n w2 +1µ1

⋅ n w2' (2.4.83)

dove il termine 1µ1⋅ n w2

' rappresenta il tempo medio di servizio del numero medio di

clienti appartenenti alla classe 1 che sono arrivati durante W2 , e che vanno dunque serviti prima. E’ possibile, dunque, riscrivere la (2.4.83) come

W2 = R + ρ1 ⋅W1 + ρ2 ⋅W2 + ρ1 ⋅W2 (2.4.84) e sostituendo a

W1 il valore trovato nella (2.4.82), si ottiene

W2 =R

(1 − ρ1)(1− ρ1 − ρ2) (2.4.85)

che è ovviamente maggiore di W1 . Iterando, si ottiene il seguente risultato:

W p =R

(1 − ρii = 1

p − 1

∑ )(1 − ρii = 1

p

∑ ) p = 1,2,. .. ,P (2.4.86)

E’ necessario ora ricavare R; con lo stesso ragionamento fatto nel caso di una coda M/G/1, si ottiene

R = limt→∞

12

Mp(t)

tp=1

P

∑ ⋅

xp(i )2

i=1

Mp( t)

∑M p(t)

= 12

λpp=1

P

∑ xp2 (2.4.87)

Page 38: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

38

2.5. Reti di code nella commutazione di pacchetto I vari tipi di code fin qui considerati possono essere usati per modellare un singolo sistema di servizio (come già osservato, ad esempio, un multiplexer statistico, che gestisce l’accesso ad un canale di comunicazione in un nodo di una rete a commutazione di pacchetto, o un singolo autocommutatore in una rete a commutazione di circuito. Un sistema più complesso, come una rete di telecomunicazioni, va modellato come un insieme di code interconnesse, che formano una rete di code. Il primo caso di rete di code che analizzeremo è relativo alle reti di comunicazione a commutazione di pacchetto. Nel paragrafo successivo ci occuperemo dello studio di reti di code nella commutazione di circuito. Una rete a commutazione di pacchetto risulta composta dalla interconnessione, tramite opportuni canali, di nodi “store and forward”, ai quali (trascurando l’architettura interna del nodo di commutazione (router)) si può far corrispondere una coda per ciascuna linea uscente (Fig. 2.5.1).

Fig. 2.5.1. a) Rete a commutazione di pacchetto.

Page 39: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

39

Fig. 2.5.1. b) Rete di code corrispondente.

E’ importante osservare che, in generale, le code interconnesse non sono più descrivibili da statistiche indipendenti, ma bensì attraverso una distribuzione di probabilità congiunta. In generale, i tempi di interarrivo per il traffico proveniente da altre code sono fortemente correlati con i tempi di servizio di queste ultime. Ad esempio, nel caso di due code uguali in cascata, con tempi di servizio deterministici, inizialmente vuote, e arrivi Poissoniani nella prima coda, questa si comporta come un sistema M/D/1, mentre la seconda coda avrà il buffer sempre vuoto.

Fig. 2.5.2. Due code in cascata (tandem). Possiamo distinguere due tipi di reti di code: 2. Reti chiuse, nelle quali i clienti, in numero costante, possono solo circolare tra le

varie code. 2. Reti aperte, nelle quali i clienti possono entrare e uscire dalla rete stessa. Ci occuperemo nel seguito soltanto del secondo caso. In generale, la determinazione analitica della probabilità congiunta di occupazione di un insieme di code interagenti presenta difficoltà formidabili, anche nei casi più semplici. Un’importante semplificazione si ha nei casi in cui vale la cosiddetta “Product Form Solution” (PFS):

Page 40: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

40

P(n1,n2,.....,nM) = P(n1) P(n2) ......P(nM) (2.5.1) dove con P(nj) si è indicata la probabilità stazionaria che vi siano nj pacchetti nella coda j. In tali casi le code possono essere studiate come indipendenti. E’ importante dunque studiare le ipotesi che garantiscono che per un determinato tipo di rete valga la PFS. 2.5.1. Il Teorema di Burke Se: 1. gli arrivi dall’esterno della rete sono descrivibili come processi di Poisson indipendenti; 2. i tempi di servizio di ogni coda sono indipendenti tra loro e dai tempi di interarrivo esterni e sono distribuiti esponenzialmente; 3. i flussi scorrono solo “in avanti” (non vi sono ritorni di flusso su una coda già attraversata); allora la distribuzione stationaria congiunta è di tipo PFS (si può quindi trattare ogni coda come se fosse indipendente dalle altre). In particolare, il processo complessivo in ingresso ad ogni coda (sovrapposizione di arrivi dall’esterno e di uscite da altre code) è di Poisson. La dimostrazione rigorosa del risultato precedente, basata su una proprietà di alcune catene di Markov, detta “reversibilità”, si può trovare in [Berts, Gall]. A solo titolo di illustrazione, si supponga di avere due code con tempi di servizio esponenziali indipendenti in cascata e che gli arrivi nella prima coda siano di Poisson (la prima coda è M/M/1). Sia ˜ u il tempo che intercorre tra due istanti di fine servizio della prima coda. Si può allora scrivere (v. Fig. 2.5.2):

˜ u = ˜ x con probabilità 1-P0 (2.5.2) ˜ u = ˜ x + ˜ ′ t con probabilità P0

dove ˜ x è il tempo di servizio della prima coda e P0 è la probabilità che la coda stessa sia vuota. Infatti, se la coda non è vuota il tempo fra un’uscita e l’altra dalla coda stessa ( ˜ u ) consiste semplicemente nel tempo di servizio ˜ x del pacchetto nel server; se invece la coda è vuota bisogna prima attendere, oltre a ˜ x , anche il tempo che si presenti un nuovo pacchetto da elaborare (tempo ˜ ′ t ). Osserviamo che, grazie alla proprietà di assenza di memoria della distribuzione esponenziale, possiamo affermare che la densità di ˜ ′ t è la stessa del tempo di interarrivo ˜ t .

Ingressinelserver

Arrivi incoda

Uscite

Fig. 2.5.3. Rappresentazione grafica degli eventi nella coda.

Page 41: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

41

Il modo più semplice per calcolare la densità di probabilità (pdf) di ˜ u è quello di utilizzare le funzioni caratteristiche (trasformate di Laplace della pdf): nel caso della somma delle due v.a. indipendenti, che darebbe luogo alla convoluzione delle pdf, la funzione caratteristica è il prodotto delle funzioni caratteristiche delle due v.a.. Sia f˜ x (x) = µe−µx ⋅1(x) la pdf di ˜ x . La sua funzione caratteristica è :

Lx (s) =µ

s + µ

Analogamente,

Lt (s) =λ

s + λ

Scriviamo allora la funzione caratteristica della variabile ˜ u :

Lu (s) =µ

s + µ1− Po( ) + λ

s + λ⋅µ

s + µPo =

=µs + µ

ρ +λµ

(s + λ)(s + µ)1− ρ( ) =

=λs + µ

+λµ − λ2

(s + λ )(s + µ)=

λs + λ

= Lt (s)

Le due funzioni caratteristiche del tempo tra due uscite consecutive e del tempo di interarrivo sono uguali e quindi lo sono anche le rispettive pdf. Il processo di uscita ˜ u è dunque ancora un processo di Poisson con parametro λ. 2.5.2 Il Teorema di Jackson Come accennato, il teorema di Burke (che è un caso particolare del successivo teorema di Jackson, che verrà considerato in questo paragrafo) si applica a una rete di code in cui il traffico scorre “solo in avanti”; si è detto anche che, in tali condizioni e sotto le altre ipotesi del teorema stesso, il traffico complessivo in ingresso ad ogni coda è ancora di Poisson. E’ interessante osservare che il flusso in una coda dove è presente una “retroazione” non è più di Poisson (sebbene la somma di due processi indipendenti di Poisson con parametri λ1 e λ2 sia ancora tale, con λ=λ1+λ2, in questo caso gli arrivi “controcorrente” sono correlati a quelli esterni).

Fig. 2.5.4. Coda in cui parte delle uscite rientrano nel sistema.

Page 42: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

42

Si supponga infatti, come illustrato in Fig. 2.5.4, che un cliente all’uscita del server possa rientrare in coda con probabilità p e uscire definitivamente dal sistema con probabilità 1-p. Se gli arrivi dall’esterno sono rari, cioè λ è molto piccolo rispetto a µ, e la probabilità di ritorno p è vicina a 1, è facile rendersi conto come un cliente in arrivo (che trova con alta probabilità il sistema vuoto), possa venir riportato indietro molte volte prima che si verifichi un altro arrivo vero e proprio dall’esterno (Fig. 2.5.4). Questi “ritorni” sono correlati all’arrivo che li ha generati e quindi non si può più affermare che il flusso complessivo in ingresso al sistema sia di Poisson.

Fig. 2.5.5. Sequenza di arrivi nel sistema (nella figura i clienti in arrivo dall’esterno sono rappresentati con frecce più lunghe, quelli che “ritornano” in coda dopo essere

stati serviti con frecce più corte; il processo osservato a “batch” successivi si può ancora approssimare con un processo di Poisson, anche se complessivamente non è

tale). Per quanto riguarda i flussi in Fig. 2.5.4, il numero medio r di volte che il cliente torna indietro è: r=1⋅Pr(torni 1 volta)+2⋅Pr(torni 2 volte)+..k⋅Pr(torni k volte)+...= =p(1-p)+2p2(1-p)+...kpk(1-p)+...= p/(1-p). Pertanto, in ingresso alla coda si ha un flusso pari a λ+λp/(1-p) = λ/(1-p). Questo flusso (maggiore di λ!) è anche quello che esce dal server, mentre ciò che mediamente entra ed esce dal sitema nel suo complesso (buffer + server) è sempre λ. La particolarità del teorema di Jackson è che l’indipendenza continua comunque a valere, sotto le stesse ipotesi del teorema di Burke, ma senza il vincolo sui “ritorni”, anche se questi ultimi “distruggono” la Poissonianità dell’ingresso ad ogni coda. Riassumendo, le ipotesi di Jackson sono unicamente: i) arrivi dall’esterno di Poisson e indipendenti; ii) tempi di servizio esponenziali, indipendenti tra loro e dai tempi di interarrivo. Sotto tali ipotesi, è vero in generale, indipendentemente da come il flusso scorre, che le code interconnesse possono essere trattate come indipendenti; in altre parole, tutto va come se il flusso complessivo in ingresso ad ogni coda fosse davvero di Poisson, anche se, come abbiamo appena visto, può non esserlo. La dimostrazione del Teorema di Jackson verrà data in 2.5.4. Sebbene ci occupiamo solo di reti code aperte, possiamo notare che un risultato analogo, espresso dal teorema di Gordon e Newell, vale per le reti chiuse. Anche per questo tipo di reti è dunque possibile trovare una Product Form Solution. In pratica, in una rete reale, in cui un pacchetto conserva la sua individualità e la sua lunghezza non è generata nuovamente a partire da una distribuzione esponenziale indipendente ad ogni coda attraversata, i tempi di interarrivo sono in generale

Page 43: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

43

fortemente correlati con i tempi di servizio e le ipotesi di Jackson non sono a rigore mai verificate. Tuttavia, se la rete è complessa ed i flussi tendono a mischiarsi in maniera casuale su tutte le uscite, si può comunque ragionevolmente tentare di modellarla come se i tempi di servizio e i tempi di interarrivo sui vari nodi fossero indipendenti (ipotesi di indipendenza di Kleinrock). 2.5.3. Il bilancio di flusso in una rete di code Consideriamo una rete di code qualsiasi, nella quale i clienti entrano nel sistema secondo processi indipendenti di Poisson, per poi seguire un percorso casuale tra una coda e l’altra. Facciamo riferimento per semplicità ad un’unica coppia sorgente-destinazione (s,d). Sia qik la percentuale del flusso che attraversa la coda i per dirigersi verso la coda k, con

λkqki

λi λiqijµi

qiiλi

Fig. 2.5.6. Interazione di una coda con il resto della rete. Di tale flusso va a destinazione (uscendo definitivamente dalla rete) una percentuale qid e globalmente risulta:

qikk=1

M∑ + qid = 1 , i=1,...,M (2.5.3)

(se la rete fosse chiusa, ovviamente si avrebbe qid=0 , i=1..M). I coefficienti qik sono detti “coefficienti di instradamento” e supponiamo siano fissati. Supponiamo che i clienti arrivino dall’esterno nella rete con un flusso medio complessivo pari a λ. Se la rete è in condizione stazionaria vale l’equazione di bilancio di flusso per la coda i:

λi = λqsi + λ jj=1

M∑ qji , i=1,...,M (2.5.4)

dove λqsi è la porzione di flusso complessivo che ciascuna coda riceve direttamente dall’esterno e λjqji è il flusso proveniente dalla coda j che va a caricare la coda i. L’insieme dei qij forma la matrice dei coefficienti di instradamento. Di una rete di code è noto il traffico complessivo λ che arriva dall’esterno e la matrice dei qij: nel caso di rete di code aperta, se la matrice ha rango pieno, si possono ricavare univocamente i λi.

Page 44: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

44

2.5.4. Formula di Kleinrock Supponiamo ora di essere sotto le ipotesi di Jackson (o, in alternativa, imponiamo l’ipotesi di indipendenza). Scriviamo il tempo medio T di attraversamento del sistema. Sia

n = n ii=1

M∑ (2.5.5)

Per il teorema di Little

T =n λ

(2.5.6)

Nell’ipotesi di indipendenza, assumendo esponenziali le distribuzioni dei tempi di interarrivo in ogni coda e dei tempi di servizio, ogni coda si comporta come M/M/1 e pertanto, applicando ancora il teorema di Little

T =1λ

λiTi =i=1

M∑

λiµi − λii=1

M∑ =

λiµ iCi − λii=1

M∑ =

fiCi − fii=1

M∑ (2.5.7)

essendo Ci la capacità trasmissiva in bit/s della linea che serve la coda i, 1 µ i la lunghezza media dei pacchetti in bit e fi = λi µ i il flusso in bit/s, sempre relativamente alla coda i. La (2.5.7) è nota come formula di Kleinrock.

Page 45: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

45

2.6. Reti di code nella commutazione di circuito Una rete a commutazione di circuito può essere rappresentata come in figura 2.6.1. Essa consiste in un insieme di autocommutatori e linee di interconnessione (link), dove ogni link è caratterizzato da una certa capacità. Uno o più link adiacenti costituiscono un percorso, e più di un percorso può collegare una coppia di nodi di commutazione.

Fig. 2.6.1. Rete a commutazione di circuito.

In generale, per stabilire una connessione fra una coppia di nodi occorre avere a disposizione un insieme di percorsi, almeno uno dei quali abbia possibilità di attraversare tutti i suoi link; in caso contrario la chiamata è bloccata e persa. Consideriamo una rete composta da J link, dove il link j ha capacità di Cj unità di banda. Sono previste K “relazioni” di traffico, distinte in base alla coppia sorgente-destinazione. Associati a una chiamata di classe k sono un tempo medio di interarrivo 1/λk, un tempo medio di servizio 1/µk, e un percorso Rk ⊆ {1,....,J}. Αk = λk/µk è il carico offerto (o intensità di traffico) della classe k. Le chiamate dalle K classi arrivano secondo processi di Poisson indipendenti, con tasso λk, k = 1,.....,K. Una chiamata della classe k è ammessa nella rete se e solo se ogni link j appartenente al percorso Rk dispone di almeno 1 unità di banda libera; le chiamate bloccate vanno perdute. Ogni chiamata di classe k ammessa occupa 1 unità di banda in ogni link j del percorso per tutta la durata del suo tempo di servizio, che è distribuito esponenzialmente con media 1/µk e indipendente dagli altri, nonché dai tempi di interarrivo. Il modello qui descritto si applica al caso in cui ogni connessione richieda lo stesso numero di unità di banda. Un sistema di questo tipo viene chiamato, per motivi che saranno chiari in seguito, Product-Form Loss Network (PFLN). Le PFLN sono utili per modellare una vasta gamma di applicazioni per le telecomunicazioni, ad esempio reti telefoniche a commutazione di circuito con instradamento fisso, reti ATM a livello di connessione, reti MPLS a livello del Label Switched Path (LSP) – generalizzando, in questi ultimi due casi, il modello a diverse classi di connessione, richiedenti un diverso numero di unità di banda. Sia K l’insieme di tutte le relazioni di traffico: K = {1,....,K}. Kj è l’insieme delle relazioni che usano il link j:

K j = {k∈K : j ∈Rk} Dato n = (n1,....,nK), dove nk denota il numero di chiamate di classe k nel sistema, lo spazio degli stati è definito da:

Page 46: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

46

S = n∈ N K : nk ≤Cjk∈K j

∑ , j=1,....,J

(2.6.1)

indicando con

N l’insieme dei numeri naturali, comprensivo dello 0. Definiamo inoltre Xk(t) come il numero (aleatorio) di chiamate di relazione k presenti nella rete all’istante t. Sia X(t) = (X1(t),.......,XK(t)) lo stato della rete all’istante t e {X(t)} il processo stocastico associato. Si può verificare facilmente che questo è un processo di Markov aperiodico sullo spazio finito degli stati S (si veda l’Appendice B per i processi di Markov). Si può dimostrare che la probabilità di equilibrio in uno stato n vale:

P(X = n) =1G

Aknk

nk!k=1

K

∏ (2.6.2)

dove:

G =Aknk

nk!k=1

K

∏n∈S∑ (2.6.3)

Questo risultato giustifica l’uso del nome Product-Form Loss Network e generalizza la formula B di Erlang. Conoscendo la distribuzione di probabilità, si possono ottenere le probabilità di blocco delle varie relazioni di traffico. Tuttavia, può essere complesso calcolare la costante di normalizzazione (2.6.3), in presenza di numerose relazioni di traffico e di link ad elevata capacità. Una possibile approssimazione è illustrata nel seguito. Sia ER[Α, C] la probabilità di blocco per un sistema con perdita di Erlang con carico offerto Α e C unità di banda:

ER[A,C] =AC C!

Ac c!c= 0

C

∑ (2.6.4)

Definiamo

A j come il carico totale che sarebbe offerto al link j se non ci fosse blocco da nessun’altra parte:

A j = Akk∈K j

∑ (2.6.5)

Allora, assumendo l’indipendenza delle probabilità di blocco sui diversi link attraversati, si può scrivere per la probabilità di blocco delle connessioni appartenenti alla relazione k:

Bk ≅1− (1−ER[A j,Cj])j∈Rk

∏ (2.6.6)

Nel solo caso, quale quello da noi considerato, dello stesso numero di unità di banda per ogni connessione, si può dimostrare che il secondo membro della (2.6.6) costituisce un

Page 47: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

47

limite superiore (noto come Product Bound), alla probabilità di blocco per percorsi con un numero arbitrario di link. Per le applicazioni in cui il limite è relativamente piccolo e le chiamate impegnano solo pochi link, questa è una eccellente approssimazione. Tuttavia, il limite superiore può risultare poco stretto quando le chiamate richiedono molti link. Ad esempio, si supponga che tutti i J link abbiano capacità C, e che ci sia una sola classe di chiamate, il cui percorso usa tutti i J link: R1 = {1,....,J} e Αj = Α1 per ogni j. Il product bound, che vale:

B1 ≤1− (1−ER[A1,C])J

può essere reso arbitrariamente vicino a 1 all’aumentare del numero di link J. La vera probabilità di blocco, tuttavia, vale:

B1 = ER[A1,C] indipendentemente da J. L’approssimazione del product bound è quindi in questo caso molto diversa dalla soluzione reale.

Page 48: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

48

Appendice 1 – La distribuzione di Pareto La distribuzione di Pareto è un esempio di distribuzione “a coda lunga” (long-tail), ovvero con decremento molto più lento rispetto all’esponenziale. Questo può tener conto di fenomeni relativi al traffico reale, relativamente alla presenza di correlazioni a lungo termine. Sia x una v.a. continua. Si consideri la densità di probabilità

fx X( ) =cX−α−1, X ≥ δ

0 X < δ

, α,δ > 0

La costante di normalizzazione c può essere calcolata imponendo:

fx−∞

+∞

∫ X( )dX =1

ovvero

cX−α−1

δ

+∞

∫ dX =1 → c 1−α

X−α

+∞

δ=1 → c = αδα

La

fx X( ) =αδαX−α−1, X ≥ δ

0 X < δ

è detta densità di probabilità di Pareto. La corrispondente funzione di distribuzione è:

Fx X( ) = Pr x ≤ X{ } = fx−∞

X

∫ Y( )dY = αδα

δ

X

∫ Y−α−1dY = αδα1−α

Y−α

= δα δ−α −X−α( ) =

=1− δαX−α , X ≥ δ

La media è data da:

x = E x{ } = Xfx X( )δ

+∞

∫ dX = αδα X−α

δ

+∞

∫ dX = αδα1

−α +1X−α+1

+∞

δ.

L’integrale converge se

α >1; per

α ≤1, la media è infinita. Per

α >1 si ha:

x = αδα 1−α +1

X−α+1

+∞

δ=

αδα −1

Per quanto riguarda il valore quadratico medio:

Page 49: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

49

x2 = E x2{ } = X2fx X( )δ

+∞

∫ dX = αδα X−α+1

δ

+∞

∫ dX = αδα1

−α + 2X−α+2

+∞

δ.

L’integrale converge se

α > 2 ; per

α ≤ 2 , il valore quadratico medio è infinito. Per

α > 2 si ha:

x2 = αδα1

−α + 2X−α+2

+∞

δ=αδ2

α − 2.

È interessante calcolare la probabilità:

Pr x > s + t x > s{ } =Pr x > s + t, x > s{ }

Pr x > s{ }=

Pr x > s + t{ }Pr x > s{ }

=δα s + t( )−α

δαs−α=

s + ts

−α

= 1+ts

−α

In particolare, si noti che, per qualunque intervallo t finito,

lims→∞

1+ts

−α

=1.

Se x rappresenta un tempo di servizio o di interarrivo, la probabilità che una realizzazione perduri per un intervallo finito quando ha già superato un tempo molto lungo tende a 1.

Page 50: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

50

Appendice 2 – Catene di Markov La trattazione delle code Markoviane a tempo continuo è stata condotta senza ricorrere alla teoria generale dei processi Markoviani. Tuttavia, si è detto che i sistemi birth-death appartengono alla classe delle catene di Markov. Poiché numerosi modelli nelle reti di telecomunicazioni, sia a tempo discreto che a tempo continuo, ricadono in questa categoria di sistemi dinamici, se ne riportano le definizioni e i risultati principali. Tutti i teoremi che enunciamo nel seguito sono enunciati senza dimostrazione. Le catene di Markov sono processi stocastici le cui variabli aleatorie dipendenti dal tempo (lo stato della catena) possono assumere valori in un insieme discreto (lo spazio degli stati), finito o infinito numerabile. La proprietà di Markovianità consiste essenzialmente nell’indipendenza condizionata dell’evoluzione futura rispetto a tutto il passato (l’intera storia del processo è “condensata” nel valore più recente dello stato). La catena può essere pensata come il modello della posizione di un oggetto nel tempo in un insieme discreto di possibili locazioni, in cui la locazione successiva è scelta a caso da una distribuzione di probabilità che dipende soltanto dalla locazione corrente. A2.1. Catene di Markov a tempo discreto Definizione A2.1.1: un processo stocastico

in punti consecutivi di osservazione 0,1,2, …, n,… è una catena di Markov a tempo discreto (Discrete Time Markov Chain – DTMC) se, per ogni

n∈N 0 , xn ∈ S , con

N 0 = 0,1,2,...{ } e

S spazio degli stati,

(A2.1)

Sia

S = 0,1,2,...{ }. Le quantità

(A2.2)

sono dette probabilità di transizione a 1 passo di una catena omogenea (la cui distribuzione di probabilità condizionata non dipende dal tempo). ∇ La matrice stocastica (ovvero, tale che

pij ≥ 0, pijj∈S∑ =1)

P = pij, i, j∈ S{ } è detta

matrice di probabilità di transizione (Transition Probability Matrix – TPM) della DTMC. Sia

(A2.3)

la distribuzione di probabilità non condizionata al tempo n e sia

X0,X1,...,Xn,...{ }

Pr Xn+1 = xn+1 Xn = xn,Xn−1 = xn−1,...,Xo = xo{ } =

= Pr Xn+1 = xn+1 Xn = xn{ }

pij = Pr Xn+1 = jXn = i{ } = Pr X1 = jXo = i{ }

π i (n) = Pr Xn = i{ }, i∈ S{ }

π(n) = π0(n),π1(n),...,πn (n),...[ ]

Page 51: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

51

(A2.4)

il corrispondente vettore riga. Per n=1,

(A2.5)

e

(A2.6)

Ripetendo il ragionamento

(A2.7)

e, di conseguenza,

(A2.8)

Una distribuzione di probabilità π è detta invariante (o stazionaria) per la matrice di probabilità di transizione P se

π = πP (A2.9) (ricordiamo che, essendo π una distribuzione di probabilità, è anche sempre vero che

π ii∈S∑ =1). A seconda della struttura di P, può esistere più di una distribuzione

stazionaria. D’altra parte, possiamo definire le probabilità limite di stato:

(A2.10)

Siamo particolarmente interessati ai casi in cui, al tendere di n ad infinito, sia la matrice di probabilità di transizione a n passi Pn sia il vettore delle probabilità di stato convergono indipendentemente dalla distribuzione iniziale π(0) e, inoltre,

˜ π i > 0, ∀i∈ S, e ˜ π ii∈S∑ =1 (ovvero,

˜ π è una distribuzione di probabilità su

S ). In tal

caso,

˜ π coinciderebbe con l’unica soluzione dell’equazione stazionaria (A2.9) e sarebbe l’unico vettore di probabilità a regime (steady-state probability vector) della DTMC. La figura A2.1 riporta alcuni esempi relativi a diverse possibili situazioni. Irriducibilità Definizione A2.1.2: una matrice di probabilità di transizione P sullo spazio degli stati

S si dice irriducibile se è possibile per una DTMC con matrice di probabilità di transizione P passare da uno stato qualunque i ad un altro stato qualunque j in tempo finito (ovvero, esiste un percorso tra due stati qualunque nel corrispondente diagramma di transizione). La catena è irriducibile se la sua matrice P è irriducibile. ∇ Teorema A.2.1.1: una DTMC irriducibile ha al più una distribuzione invariante (ne ha certamente una se è a stato finito). Una DTMC con un’unica distribuzione invariante è

π i (1) = Pr X0 = j,X1 = i{ }j∈S∑ = π j

j∈S∑ (0)pji

π(1) = π(0)P

π(n +1) = π(n)P, n ≥ 0

π(n) = π(0)Pn

˜ π = limn→∞

π(n) = limn→∞

π(0)Pn = π(0) limn→∞

Pn = π(0) ˜ P

Page 52: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

52

detta ricorrente positiva (la distribuzione invariante misura le frazioni di tempo che la catena passa nei vari stati). ∇

Fig. A2.1. Esempi di esistenza o meno della distribuzione stazionaria di regime [Triv].

Periodicità Sia:

(A2.11)

il massimo comun divisore del numero di passi n in cui la DTMC può tornare dallo stato i indietro allo stato i stesso (se la catena è irriducibile, di = d, ∀i, ovvero d è lo stesso per tutti gli stati). Definizione A2.1.3: sia P una matrice di probabilità di transizione irriducibile su

S . Se d > 1, si dice che P è periodica con periodo d. Se d = 1, si dice che P è aperiodica. ∇ Teorema A.2.1.2: per una DTMC irriducibile e aperiodica, con distribuzione invariante π, il limite

˜ π esiste, è indipendente dallo stato iniziale e coincide con l’unico vettore stazionario π. ∇ Una catena discreta irriducibile e aperiodica, con tutti gli stati ricorrenti positivi è detta ergodica. Il vettore π della distribuzione stazionaria si trova risolvendo la (A2.9), con la condizione aggiuntiva

π ii∈S∑ =1.

di =GCD n ≥1(Pn )i,i > 0{ }

Page 53: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

53

A2.1.1. Un esempio A2.1.1.1 [J.R. Norris, Markov Chains, Cambridge University Press, Cambridge, UK, 1997] Si consideri la catena di Markov discreta rappresentata in Fig. A.2.2.

0

12

3

4

6

5

1 1

11/53/5

1

1/3

2/3

1/5

1

1/5

Fig. A2.2. Una catena di Markov discreta a 7 stati.

a) Si trovino le classi di stati comunicanti in cui la catena può essere partizionata, e

si indichi se sono chiuse, transienti o ricorrenti, periodiche o aperiodiche. Ci sono 3 classi comunicanti: {0}, {1, 2, 3} e {4, 5, 6}. La classe {0} è transiente, mentre {1, 2, 3} e {4, 5, 6} sono chiuse e ricorrenti. {4, 5, 6} è periodica.

Si mostrino le proprietà seguenti.

b) Partendo da 0, la probabilità di arrivare a 6 è 1/4. Partendo da 0, lo stato 6 sarà raggiunto con probabilità 1 dopo aver raggiunto 4. Ora,

Pr x1 = 4 x0 = 0{ } = p04 =1/5

Pr x2 = 4 x0 = 0{ } = p00 ⋅ p04 = 1/5( )2 …

Pr xn = 4 x0 = 0{ } = 1/5( )n

Perciò,

Pr raggiungere 6 x0 = 0{ } =15

n=1

∑n

=1

1−1/5−1=

54−1=

14

.

c) Partendo da 1, la probabilità di raggiungere 3 è 1.

In generale,

p132k +1 = 0 , k = 0,1,..., mentre

p132k =

13

k−1

⋅23

, k =1,2,...

Page 54: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

54

Perciò,

Pr raggiungere 3x0 =1{ } =13

k−1

k=1

∑ ⋅23

=23

13

j= 0

∑j

=23⋅

11−1/3

=23⋅

32

=1

.

d) Partendo da 1, ci vogliono in media 3 passi per raggiungere 3. Come conseguenza della seconda riga al punto c), il numero medio di passi per raggiungere 3 partendo da 1 è

2 ⋅ k 13

k=1

∑k−1

⋅23

= 2 ⋅ 11−1/3

= 2 ⋅ 32

= 3 .

e) Partendo da 1, la porzione asintotica di tempo speso in 2 è 3/8. Partendo da 1, la catena rimane nella classe chiusa {1, 2, 3}, la cui matrice di probabilità di transizione è data da

P =

0 1 01/3 0 2 /31 0 0

Perciò, il sistema di equazioni

π = πPπ1 + π2 + π3 =1 fornisce

π2 = 3/8 . f)

limn→∞p01n = 9 /32.

p01n = p01

k

k=1

n−1

∑ ⋅ p11n−k = p11

n−k ⋅15

k=1

n−1

∑k−1

⋅35

limn→∞

p01n = lim

n→∞p11n−k ⋅

k=1

n−1

∑ 15

k−1

⋅35

=35

p11∞

k=1

∑ ⋅15

k−1

=35

π1k=1

∑ ⋅15

k−1

=

=35⋅38⋅

11−1/5

=35⋅38⋅54

=932

A2.2. Catene di Markov a tempo continuo Le catene di Markov a tempo continuo (Continuous Time Markov Chains – CTMC) possono essere ricavate a partire dalle catene di Markov a tempo discreto, con unità di tempo infinitesima. Tuttavia, si può usare una definizione più diretta.

Page 55: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

55

Definizione A2.2.1: Sia

S un insieme numerabile. Una matrice di tassi di transizione (o generatore infinitesimale) Q su

S è una collezione

Q = qij, i, j∈ S{ } di numeri reali, tali che:

0 ≤ qij <∞,∀i ≠ j∈ S , e − qii = qi ≡ qijj≠ i∑ <∞, ∀i∈ S (A2.12)

∇ Definizione A2.2.2: Dato un insieme numerabile

S , una matrice di tassi di transizione Q su

S e una distribuzione iniziale π, la CTMC

X = Xt, t ≥ 0{ } è definita come segue:

• si scelga

x0 con distribuzione iniziale π; • se

x0 = i, si scelga un tempo τ da una distribuzione esponenziale con tasso qi; si definisca X tale che

Xt = i per 0 ≤ t < τ ; • al tempo t=τ, il processo salta dal valore iniziale i ad un nuovo valore j, scelto

indipendentemente da τ e tale che

Pr Xτ = jX0 = i,τ{ } = Γij ≡ qij qi , j ≠ i ; • la costruzione riprende da questo punto, indipendentemente dal processo prima

di τ. ∇ Nuovamente, l’unica informazione sulla traiettoria di X fino al tempo t che è utile a predire la traiettoria dopo il tempo t è il valore corrente Xt. Si noti, come già osservato al § 2.4, che in processi con tempi di permanenza non esponenziali, ma ancora con salti consecutivi condizionatamente indipendenti (ovvero, semi-Markov, come i sistemi M/G/1), può essere utile studiare la catena discreta negli istanti di transizione (embedded Markov chain). Come inoltre già osservato in 2.4.6, è notevole che la distribuzione stazionaria di tale catena nel caso M/G/1 sia la stessa di quella del processo originario non Markoviano (Poisson Arrivals See Time Averages – PASTA). Una possibile traiettoria della catena a tempo continuo è rappresentata in Fig. A2.3.

Pr ξ0 = i0,ξ1 = i1,...,ξn = in{ } = π i0Γi0i1Γi1i2 ⋅ ⋅ ⋅ Γin−1in

Fig. A2.3. Evoluzione della catena a tempo continuo. Γij è come definito in (A2.2.2).

Page 56: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

56

Definizione A2.2.3: Una matrice di tassi di transizione Q su

S è irriducibile se

qi > 0,∀i∈ S e se è irriducibile la matrice di probabilità di transizione Γ (della catena discreta embedded) definita da

Γij =qij qi , i ≠ j∈ S0, i = j∈ S

(A2.13)

Una CTMC si dice irriducibile se lo è la sua matrice Q. Come nel caso discreto, l’irriducibilità implica la possibilità di andare da ogni stato ad ogni altro in tempo finito. ∇

Teorema A2.2.1: Sia X una catena di Markov a tempo continuo con matrice Q su

S e distribuzione iniziale π. Allora,

• La distribuzione π è invariante se e solo se soddisfa le equazioni di equilibrio

π ii∈S∑ qij = 0,∀j∈ S (πQ = 0) (A2.14)

• La CTMC è stazionaria se e solo se la sua distribuzione iniziale è invariante. • La CTMC ha una sola o nessuna distribuzione invariante; ha sicuramente una

distribuzione invariante se è a stato finito. • Se la catena ha una distribuzione invariante π, il limite della distribuzione delle

probabilità di stato esiste ed è uguale a π; la componente πi rappresenta la frazione di tempo che la catena passa nello stato i.

• Se non esiste la distribuzione invariante, le probabilità limite sono 0 per tutti gli stati e la frazione di tempo passata in ogni stato è trascurabile. ∇

Le equazioni di equilibrio possono essere scritte in una forma più significativa come:

qijπ ii≠ j∑ = π j q ji , ∀j∈ S

i≠ j∑ (A2.15)

dove il primo membro rappresenta il “flusso” totale da ogni altro stato nello stato j e il secondo membro rappresenta il “flusso” totale dallo stato j verso ogni altro stato (il che rende conto del termine “equazioni di equilibrio”). Naturalmente la soluzione può essere trovata aggiungendo la condizione di normalizzazione sulle componenti del vettore π (

π ii∑ =1).

Page 57: Appunti per il Corso di Reti di Telecomunicazionitnt-lab.unige.it/reti/reti2009_2010/TeoriaDelleCode-Reti... · 2010-06-03 · Il corso di Reti di Telecomunicazioni per la Laurea

Reti di telecomunicazioni Teoria delle code

57

Bibliografia [Klein] L. Kleinrock, Queueing Systems, Vol. I, Wiley, New York, 1975. [Schw] M. Schwartz, Telecommunication Networks: Protocols, Modeling, and

Analysis, Addison-Wesley, Reading, MA, 1987. [Berts, Gall] D. Bertsekas, R. Gallager, Data Networks, 2nd Ed., Prentice-Hall,

Englewood Cliffs, NJ, 1992. [Ross] K. W. Ross, Multiservice Loss Models for Broadband

Telecommunication Networks, Springer Verlag, London, 1995. [Zuk] M. Zukerman, Introduction to Queueing Theory and Stochastic

Teletraffic Models, 2000-2008; available online: http://www.ee.unimelb.edu.au/staff/mzu/classnotes.pdf

[Triv] G. Bolch, S. Greiner, H. de Meer, K.S. Trivedi, Queueing Networks and Markov Chains, Wiley, New York, NY, 1998.