Capitolo 7 - Dipartimento di Ingegneria Informatica e delle

annuncio pubblicitario
CAPITOLO 7
TEORIA DEL TRAFFICO
.
1
7. TEORIA DEL TRAFFICO
In questo capitolo concentreremo le nostre attenzioni sul
•
•
dimensionamento e
sull’analisi delle reti di telecomunicazione.
7.1 Dimensionamento ed Analisi delle Reti di Telecomunicazioni
Una rete di telecomunicazioni può essere schematizzata come in Fig. 7.1-1, dove sono presenti delle
stazioni sorgenti che generano dei dati, i quali vengono immessi nella rete, per essere ricevuti dalle
stazioni destinatarie.
Sorgenti
Destinazioni
Rete
Fig. 7.1-1: Rete di Telecomunicazioni
Le reti di telecomunicazioni possono essere caratterizzate fondamentalmente in due differenti tipi:
1. BEST-EFFORT
2. GUARANTEED.
LE RETI BEST-EFFORT sono reti che non garantiscono qualità di servizio: un esempio è Internet.
Chi vuole trasmettere su una rete di questo genere lo può fare senza alcun
permesso: questo non può garantire nessuna qualità di servizio (QOS).
Oggi anche Internet sta cercando di implementare delle modalità di
servizio che possano garantire all’utenza certi requisiti.
NELLE RETI GUARANTEED
si ha una fase di ammissione di chiamata. L’utente che vuole
trasmettere interroga la rete se può trasmettere: se la rete riconosce
che ci sono le condizioni per garantire una certa qualità di servizio,
gli da il permesso di trasmettere. Un esempio di rete guaranteed è la
”ATM“.
Tralasciando le reti BEST-EFFORT, concentreremo la nostra attenzione sul controllo dell’ammissione
della chiamata nell’ATM, o più in generale nelle reti GUARANTEED.
Supponiamo di avere N-1 utenti che stanno trasmettendo sulla rete e che l’N-esimo utente vuole
trasmettere, chiedendo l’ammissione della chiamata.
Per poter decidere di accettare l’N-esimo utente, la rete valuta le caratteristiche statistiche del
traffico che l’utente intende trasmettere (velocità, bit rate, etc.).Quindi l’utente si presenta alla rete
comunicando le proprie caratteristiche statistiche e i propri parametri di qualità di servizio (QOS
- quality of service):
2
¾ massima probabilità di perdita per bit,
¾ massimo ritardo.
Se la rete accetta l’utente, si impegna a garantire la qualità di servizio richiesta e a continuare a
mantenere la qualità di servizio promessa agli altri N-1 utenti sotto servizio.
Al fine di valutare se la rete può ammettere la chiamata, occorre effettuare una caratterizzazione
statistica del traffico dell'utente N-esimo: ovvero la rete calcola la qualità di servizio che può
offrire all’N-esimo utente (garantendo la pattuita QOS agli N-1 utenti sotto servizio), la confronta
con quella richiesta e se è sufficiente decide di accettare l’utente.
Il problema della caratterizzazione del traffico è molto vasto, a causa della nascita di nuovi tipi di
sorgenti con caratteristiche diverse.
•
I PASSI DA EFFETTUARE PER REALIZZARE E GESTIRE UNA RETE SONO:
1. Dimensionare gli apparati all’interno della rete.
2. Gestire la rete di telecomunicazione, cioè decidere se accettare o meno le chiamate di
richiesta di trasmissione. Si ammette la chiamata cercando, come detto, di garantire
una certa qualità di servizio (QOS), note le caratteristiche delle sorgenti di traffico.
La QOS si caratterizza con dei parametri, quali:
⇒
⇒
⇒
⇒
Loss Probability (probabilità di perdita).
Delay (ritardo).
Delay Jitter (variazione del ritardo intorno la media).
Skew (definito come il valor medio della differenza dei ritardi fra le unità
informative appartenenti a due media diversi e sincronizzati fra loro).
La trattazione che segue farà riferimento a reti a pacchetto di tipo ATM.
• LE FASI DELLA PROGETTAZIONE DI UNA RETE POSSONO ESSERE COSÌ CLASSIFICATI:
A.
B.
C.
D.
Caratterizzazione delle Sorgenti di traffico.
Modellazione analitica delle Sorgenti di traffico.
Modellazione della rete.
Valutazione delle prestazioni intesa come calcolo della QOS. I metodi che useremo
per calcolare la QOS sono fondamentalmente 2:
1. ANALISI
2. SIMULAZIONE
7.2 Problematica dell’Ammissione di Chiamata
In letteratura il PROBLEMA DELL’AMMISSIONE DI CHIAMATA è indicato con la notazione CCAC,
ovvero Control Call admission control.
Come già detto un utente paga sia in base al tipo di traffico offerto dalla rete, sia in base ad una
certa QOS pattuita in fase contrattuale.
Quindi la rete, attraverso delle tecniche di UPC (User parameter control), deve monitorare l’utente,
controllando che questi rispetti i parametri statistici che aveva preventivamente dichiarato.
Se l’utente non dovesse rispettare quanto dichiarato, la rete reagisce o tagliando la connessione o
facendo pagare il plus di bit trasmessi.
La caratterizzazione della sorgente ha, dunque, lo scopo di consentire il calcolo di una serie di
parametri con i quali si possono valutare le prestazioni della rete: cioè si realizza un modello al
quale dare determinati parametri come input, per ottenere in uscita le prestazioni della rete.
3
Consideriamo un generico nodo di accesso ad una rete (Fig. 7.2-1) a cui afferiscono un certo
numero di sorgenti: analizzando il funzionamento del singolo nodo e iterando i risultati sarà
possibile caratterizzare l’intera rete di telecomunicazione.
NODO DI ACCESSO
N
LINK
…
SORGENTI
1
2
3
C [ kbit/s]
Fig. 7.2-1: Nodo di accesso ad una rete
Avendo in ingresso N sorgenti, il nodo dovrà necessariamente operare da multiplexer per poter
convogliare tutto il traffico sull’unico link di uscita. Ad esempio l’ATM fa uso della multiplexing
statistica.
Supponendo di avere 10 sorgenti in ingresso, di tipo ON-OFF, con picco pari a 64 kbit/s, quale deve
essere la capacità del link in uscita per supportare tutto il traffico?
Con un link di 640 kbit/s si è certi che, in qualsiasi istante, tutte le 10 sorgenti possono accedere alla
risorsa messa a disposizione dalla rete.
Ma essendo le sorgenti ON-OFF, probabilmente non tutte saranno nello stato di ON: anzi più
sorgenti abbiamo in ingresso e più sarà probabile che non serva una capacità di 640 kbit/s del link di
uscita.
Il buffer, interno al nodo, serve ad immagazzinare tutte le celle ATM trasmesse dalle 10 sorgenti.
Con un link di 640 kbit/s, siamo certi che la coda sarà sempre vuota, dato che ogni cella che arriva,
avrà sempre a disposizione la sua parte di risorsa e quindi potrà essere subito trasmessa.
Se abbassiamo la capacità del link a 60 kbit/s, la presenza della coda consente di ammortizzare quei
periodi in cui tutte le sorgenti sono in ON e quindi gli arrivi sono più delle partenze.
Viceversa nei periodi in cui si verificano arrivi con frequenza minore delle partenze, si ha uno
svuotamento della coda.
Supponiamo che la Fig. 7.2-2 rappresenti il comportamento delle 10 sorgenti.
TON
λ(t)
TOFF
1° Sorgente
t
2° Sorgente
t
3° Sorgente
…
t
10° Sorgente
Fig. 7.2-2: Comportamento delle 10 sorgrnti ON-OFF
t
4
Se TON (medio)=TOFF allora la sorgente trasmette mediamente a 32 kbit/s (per mezzo periodo
trasmette a 64 kbit/s e per mezzo periodo non trasmette, quindi la media è 32 kbit/s).
La capacità C del link in uscita, deve essere scelta tra la bit-rate media d’ingresso (per evitare un
accoramento infinito) ed il picco d’ingresso (con l’uguaglianza si ha lo smaltimento di tutto ciò che
arriva in ingresso), cioè:
(Bit-rate media)IN ≤ C ≤ (Picco)IN
Quindi prevedere un buffer all’interno di un multiplexer serve ad ammortizzare picchi di traffico
che superano (come mostrato in figura 7.2-3) la capacità C del link d’uscita.
λIN(t)
640 Kbit/s
C
λIN(t)
C
MUX
t
Fig. 7.2-3: bit rate totale in ingresso al multiplexer
In Fig. 7.2-3 λIN(t) = λ1(t)+ …+λ2(t), cioè è pari alla somma di tutte le bit-rate in ingresso.
Come si può vedere dal grafico solo per periodi molto piccoli può accadere che λIN(t) risulta essere
maggiore della capacità del link. Mettendo la coda non facciamo altro che immagazzinare dei
pacchetti in quei piccoli periodi per cui si verifica che λIN(t) > C. Se invece λIN(t) < C, si ha lo
svuotamento della coda.
RIEPILOGANDO possiamo affermare che un multiplexer statistico consente di convogliare il
traffico proveniente da N sorgenti su un unico canale di trasmissione.
La capacità di questo canale, grazie all’utilizzo di una coda, che funge da buffer,
può essere scelta inferiore a N volte il Picco della singola sorgente e maggiore del
valore medio totale della bit rate in ingresso.
Tutto questo deve accadere nel rispetto della condizione che:
ρ=
λIN
<1
C
dove con ρ si sta indicando il coefficiente di utilizzazione del buffer, definito come rapporto tra la
banda media in ingresso e quella in uscita. Avere ρ<1 significa che i periodi in cui λIN(t) è
maggiore di C sono inferiori rispetto ai periodi in cui λIN(t) è minore di C: cioè la coda prima o poi
si vuoterà. Se la coda è vuota gli slot temporali della cella ATM in uscita rimangono vuoti, per cui
si ha uno spreco di banda: quindi si cerca la condizione di avere sempre qualche pacchetto
all’interno della coda.
Tutti questi elementi, il cui fine è la determinazione dell’ammissione della chiamata, possono
essere utilizzati per la progettazione della rete.
Una volta definito il multiplexer statistico dobbiamo vedere quali sono i parametri di QOS,
ovvero di qualità di servizio che possono essere garantiti.
•
Se la lunghezza della coda è finita (caso reale di buffer fisico), sicuramente si ha una
LOSS PROBABILITY (Probabilità di Perdita) che, una volta fissate la dimensione del
buffer e la capacità del link, dipende dal numero di sorgenti che trasmettono.
5
•
Un altro parametro importante è il RITARDO (delay): più capiente è il buffer, maggiore è
il ritardo in trasmissione.
•
Ulteriore parametro di QOS è il DELAY-JITTER, ovvero la variazione del ritardo
rispetto al valore medio. In certe applicazioni dà più fastidio la variazione del ritardo
rispetto al valore medio il ritardo, piuttosto che il ritardo stesso, visto che quest’ultimo
può essere compensato facendo partire i processi in ritardo.
•
L’ultimo parametro di QOS che si può considerare è lo SKEW. Se, per esempio, per una
video conferenza si trasmettono audio e video separatamente, quello che si vuole è che
arrivino sincronizzati: lo Skew è la differenza dei ritardi fra due media sincronizzati.
Per le sorgenti real-time (voce e video), parametri di QOS fondamentali sono il Delay ed il Delay
Jitter. Mentre per sorgenti che trasmettono dati, il parametro fondamentale è la Loss Probability.
Invece, come prima accennato, lo Skew è un parametro particolare del traffico multimediale .
I requisiti di QOS dipendono quindi dal tipo di sorgente che si considera: è ovvio che migliore è il
servizio, maggiori sono i costi.
7.3 Caratterizzazione delle Sorgenti di Traffico
Caratterizzare una sorgente significa capire statisticamente il comportamento della sorgente di
traffico. Una sorgente di traffico (DTE) può essere modellata tramite una sorgente e un codificatore
(Fig. 7.3-1).
DTE
Sorgente
Codificatore
Rete
Fig. 7.3-1: Sorgente di Traffico (DTE)
Esistono 4 grosse famiglie di sorgenti di traffico:
SORGENTI AUDIO → TRAFFICO VOCALE
SORGENTI VIDEO → TRAFFICO VIDEO
SORGENTI DATI → TRAFFICO DATI
SORGENTI MULTIMEDIALI → TRAFFICO MULTIMEDIALE.
Le sorgenti Multimediali sono un aggregato delle sorgenti precedentemente elencate, le quali
risultano correlate fra loro. Ad esempio il movimento delle labbra di un parlatore è fortemente
correlato con i dati audio, relativi alla voce dello speaker.
In base alla modalità con cui i dati vengono emessi dal codificatore, la sorgente di traffico (DTE)
può trasmettere a
9Constant Bit Rate (CBR), ovvero a bit-rate costante: ad esempio il PCM è di tipo CBR
perché codifica la voce con bit/rate costante (64 kbit/sec.). Esso però è poco efficiente in
quanto trasmette anche quando si ha silenzio. Trasmettere con bit rate costante è spesso
poco conveniente, per cui si preferisce usare usualmente la tecnica VBR.
Variable Bit Rate (VBR), ovvero a bit-rate variabile.
9
6
7.3.1 Traffico vocale
Il traffico vocale è prodotto campionando, ad intervalli regolari, e comprimendo il segnale
proveniente da una sorgente vocale. I metodi di compressione sono tali che il messaggio vocale
ricostruito al ricevitore non risenta dei problemi di qualità. Inoltre, a seconda del tipo di codifica
usata, le perdite di celle possono essere compensate oppure no. La perdita di un alto numero di celle
può causare, a destinazione, periodi di silenzio o troncamento del segnale ricostruito.
Come già detto, a seconda del tipo di codifica usata dalle sorgenti vocali, il traffico generato può
essere CBR o VBR. Se è stato usato un codificatore PCM (Pulse Code Modulation) a 64 kbit/sec, il
traffico generato è CBR.
Se invece la codifica si basa sull’uso delle tecniche Speech ActivityDetector (SAD) e Digital
Speech Interpolation (DSI), il traffico risultante è di tipo VBR. Queste tecniche sfruttano la
ridondanza intrinseca in un segnale vocale, eliminano la non necessaria trasmissione degli intervalli
di silenzio durante una chiamata.
Se pensiamo al traffico generato da un parlatore con un microfono collegato ad un VAD (Voice
Activity Detector) (Fig. 7.3-2), il quale consente di riconoscere i periodi di attività della voce e
quelli di silenzio, allora una sorgente vocale si può modellare come un processo ON-OFF, cioè un
processo di rinnovamento (renewal process) che può assumere due stati:
ƒuno stato di attività (talkspurt o ON) e
ƒuno stato di inattività (silenzio o OFF).
Ogni volta che il processo cambia stato, si ha un rinnovamento, cioè viene dimenticata la storia
passata.
VAD
Fig. 7.3-2: VAD collegato ad un microfano
Chiameremo pacchetti le unità informative di trasmissione.
Le sorgenti vocali che emettono questo tipo di traffico sono dette bursty ed il periodo in cui la
sorgente emette è detto burst. Generalmente il burst ha una durata relativamente limitata nel tempo,
ma è caratterizzato da un bit-rate molto elevato. A tal proposito, si definisce una quantità, detta
burstiness, data dal rapporto tra la banda di picco P e la banda media B della sorgente. Essa è un
indice della sua attività; infatti, maggiore è questa quantità, più la sorgente si discosta dall’essere di
tipo CBR (per le sorgenti CBR la burstiness è unitaria).
Talkspurt
TON
Silenzio
TOFF
t
T
T
Fig. 7.3-3: Comportamento di una sorgente vocale
Il tipico comportamento di una sorgente vocale bursty è illustrato in Fig. 7.3-3: una sorgente vocale
è attiva quando il talker parla, mentre è inattiva e non genera pacchetti durante i periodi in cui il
talker è in silenzio. Come conseguenza, il numero di celle in trasmissione nella rete si riduce del 357
40% e il tempo di interarrivo dei pacchetti, nei periodi di attività, coincide con il periodo di
pacchettizzazione.
Assumiamo che i periodi di talkspurt e i periodi di silenzio costituiscano un processo di
rinnovamento alternato (alternating renewal process) e che questi intervalli temporali siano
indipendenti tra di loro.
Sia TOFF la durata di ciascun periodo di silenzio ed R il numero di celle nel periodo di talkspurt.
Se T rappresenta il periodo di pacchettizzazione di ciascuna cella, la durata temporale del talkspurt
è TON = RT. Si è osservato che il numero R di pacchetti in un talkspurt è una variabile aleatoria
distribuita geometricamente sugli interi positivi, cioè la durata temporale dei periodi di talkspurt
TON è una variabile aleatoria distribuita esponenzialmente.
In una normale conversazione la distribuzione esponenziale si adatta bene alla durata dei periodi di
attività, mentre la durata dei periodi di inattività è approssimata meno bene da questa distribuzione.
Per facilitare l’analisi si assume comunque che entrambi i periodi siano distribuiti
esponenzialmente con medie pari a
T ON
per il periodo di talkspurt e
T OFF
per il periodo di silenzio.
Valori tipici di questi parametri sono T ON ≈ 352 ms e T OFF ≈ 650 ms.
Il processo vocale è dunque un processo ON-OFF caratterizzato dai parametri T ON e T OFF e
dalla banda di picco P pari a
P=
1
1
=
T T ON
che rappresenta la frequenza di arrivo delle celle nei periodi di ON, ovvero la velocità di
trasmissione delle unità informative, detta cell-rate.
In funzione di questi parametri la burstiness b può essere calcolata come segue:
b=
P T OFF + T ON
=
≥1
B
T ON
Eq. 7.3-1
dove B rappresenta la banda media di trasmissione pari a
B=
1
T OFF + T ON
Quindi l’Eq. 7.3-1 mostra come la burstiness rappresenti la variabilità del traffico, cioè di quanto il
traffico si allontana dalla condizione costante. Il traffico CBR (constant bit rate) ha una burstness
pari a 1. Maggiore è la burstness peggiore è la qualità del servizio in termini di probabilità di
perdita, ritardo medio e spreco di banda in uscita.
Generalmente tutte le sorgenti di tipo ON-OFF hanno una banda media di 32 kbit/s.
Come già detto (vedi problematica dell’ammissione di chiamata), se consideriamo 10 sorgenti ONOFF, quando il traffico presenta dei picchi di 1 Mbit/s, anche se la media totale del traffico in
ingresso è sempre 320 kbit/s, nasce l’esigenza di utilizzare una coda (buffer).
La distribuzione di probabilità del tempo di interarrivo delle celle è data da:
−1

T  T 
−T OFF ( t −T )  
=
−
F (t ) 1
+
1 − e
U (t − T )


T
T
ON
ON



Eq. 7.3-2
dove U(t-T) rappresenta la funzione gradino unitario definita come
8
1 t ≥ T
U (t − T ) = 
0 t < T
La funzione densità di probabilità è la derivata di F(t) , quindi si ha che:
f (t ) =
1
T ON
T
1
T OFF
e
−1
−T OFF ( t −T )
Eq. 7.3-3
Se indichiamo con F(s) la trasformata di Laplace della distribuzione di probabilità F(t) del tempo di
interarrivo delle celle, da essa possiamo ricavare il valore medio del tempo di interarrivo:
µ=−
dF ( s )
ds
s =0
 T OFF
= 1 +
T ON


T


Eq. 7.3-4
Il coefficiente di variazione del tempo di interarrivo, ovvero il rapporto tra la varianza e il quadrato
del valor medio, è dato da:
−1
c=
−2
2T ON T − T ON T
−1
−1
(T ON + T OFF )T
Eq. 7.3-5
Nell’ATM il pacchetto si chiama cella ATM. Il traffico nella rete ATM non viene trasmesso come
singoli bit, ma è organizzato in pacchetti di dimensione costante pari a 53 byte, di cui 5 di
intestazione e 48 di payload (informazione vera e propria). La voce codificata è quella che viene
messa nel payload, mentre l’intestazione serve ad indicare la qualità del servizio, la destinazione,
etc. L’output della sorgente vocale è 64 Kbit/s , questo viene suddiviso in pacchetti di 48 byte che,
insieme a 5 byte di intestazione, vanno a costituire la cella ATM.
In Internet la dimensione del pacchetto, a differenza dell’ATM, non è costante. La durata del
periodo di attività non è costante, ma dipende dal parlatore.
All’uscita del VAD di Fig. 7.3-2, il segnale vocale viene codificato con impulsi PCM (Fig. 7.3-4)
con una bit rate pari a 64 Kbit/s, per poter ottenere una buona qualità del segnale vocale.
VAD
PCM
Fig. 7.3-4: Codifica PCM all’uscita del VAD
La trasmissione a 64 Kbit/s non è costante ma è relativa solo ai periodi di ON, in quanto le pause
non vengono codificate. Dividendo i 64 Kbit per 48 byte (ATM) otteniamo il numero di celle
emesse al secondo. La distanza fra le varie celle è costante ed essendo la dimensione di ognuna
abbastanza grande è necessario introdurre dei ritardi per il riempimento. Questi ritardi
rappresentano un problema per la trasmissione vocale che deve essere effettuata in real-time: a tal
proposito si stanno facendo degli studi sulla convenienza di aspettare il riempimento della cella.
9
7.3.2 Traffico Video
La codifica del segnale video può richiedere parecchi megabit al secondo ed è quindi di gran lunga
superiore ai 64 kbit/sec dell’ATM richiesti dal segnale vocale; inoltre la variabilità del bit-rate di
un segnale video è molto più alta di quella di un segnale vocale e pertanto un semplice modello,
come quello ON-OFF usato per i segnali vocali, non è adatto a caratterizzare segnali video.
Dal punto di vista informativo le immagini del traffico video sono di dimensione notevolmente
elevate, quindi ciò causerebbe una trasmissione molto “pesante”. Per ovviare a tale problematica si
è notata (in base al tipo di video) una notevole ridondanza di dati, che deriva da un’alta
correlazione intraframe e interframe.
Pixel1
1
A
Pixel2
2
Giornalista
Fig. 7.3-5: Giornalista con sfondo blu
CORRELAZIONE INTRAFRAME Consideriamo l’immagine di un giornalista che parla con uno sfondo
blu (Fig. 7.3-5). Se il pixel 1 è blu con molta probabilità lo sarà anche
il pixel 2. Se la giacca del giornalista ha un pixel nero con molta
probabilità sarà nero anche il pixel adiacente. Esistono delle tecniche
di codifica che tengono conto di queste proprietà (ad esempio la
tecnica di codifica J-PBG). Dunque, piuttosto che codificare tutta
l’immagine, se ne codificano solo alcune parti (ad esempio nel blocco
A di Fig. 7.3-5 si codifica un solo pixel per intero) e là dove esistono
forti variazioni si opera codificando solo le differenze fra le sezioni
adiacenti dell’intera immagine.
LA CORRELAZIONE INTERFRAME descrive, invece, le relazioni che esistono tra immagini consecutive.
Tra 2 immagini consecutive ci saranno delle parti che non variano:
quindi sfruttando la correlazione intraframe, si opera codificando sia
un’immagine per intero che le differenze che esistono fra le 2
immagini. Così facendo si abbassa notevolmente la bit-rate.
Traffico Video
λ(t)=bit-rate
λ(t)=bit-rate
La correlazione di tipo intraframe è una correlazione di tipo spaziale mentre quella interframe è
di tipo temporale. Con questo genere di codifica, all’uscita del codificatore video, si avrà una bitrate variabile nel tempo (Fig. 7.3-6) e quindi un traffico VBR (variable bit rate), al contrario del
codificatore PCM con bite-rate costante .
Traffico vocale
(tipo ON-OFF)
t
t
Fig. 7.3-6: λ(t) per il traffico video e per il traffico vocale di tipo ON-OFF.
10
Si è visto che, codificando una sequenza relativa a video-conferenza il traffico emesso ha una
-aτ
funzione di autocorrelazione di tipo esponenziale (Fig.7.3-7), pari a Rλλ(τ) = N e .
Rλλ(τ)
Traffico video
N
τ
Fig. 7.3-7: Funzione di autocorrelazione nel traffico video
Si è inoltre dimostrato che il traffico video è caratterizzato in maniera esaustiva dalla funzione di
-aτ
autocorrelazione Rλλ(τ) = N e , dal valore medio E(λ) e dalla varianza σ 2 λ.
Sono dunque necessarie delle codifiche particolari.
LA CODIFICA JPEG è molto diffusa per le immagini fisse, perché riesce a caratterizzare molto bene
la correlazione intraframe. Viceversa,
LO STANDARD MPEG è molto usato per codificare le sorgenti video in quanto tiene contro anche
della correlazione interframe (tra frame diverse). Con l’MPEG si
suddivide il filmato in GOP (Group of Picture), che è costituito da un
insieme di frame consecutive.
Secondo lo standard PAL si trasmettono 25 immagini al secondo e il GOP presenta questa
struttura:
IBBPBBPBBPBBI
La prima frame I viene codificata per intero con tecnica JPEG, senza tener conto di ciò che abbiamo
prima e dopo. Le frame P vengono codificate secondo una codifica differenziale rispetto alla frame
I e alle frame P dello stesso GOP. Infine le frame intermedie B vengono codificate sfruttando le
differenze con la frame I precedente e successiva, e anche con le frame P precedente e successiva
appartenenti allo stesso GOP.
Le frame I contengono la maggiore informazione e sono le più pesanti da trasmettere.
Viceversa le frame B sono le più leggere e le più povere di contenuto informativo.
Questa struttura non può essere continuata all’infinito, ma periodicamente è necessario ricodificare
un’immagine per intero per evitare la propagazione dell’errore.
Ad esempio l’MPEG opera, dopo 12 frame, la codifica di un’immagine per intero. Queste 12
frame, che mi costituiscono il GOP (group of picture), non hanno dimensione ben precisa. Più
lungo è il GOP, più bassa è la bit-rate e peggiore è la qualità dell’immagine.
Il traffico che viene fuori da un codificatore M-PEG è abbastanza strano perché presenta una
pseudoperiodicità: infatti se decidiamo di fissare la lunghezza del GOP pari a 12, avremo un picco
di traffico ogni 12 frame, dovuto proprio alla codifica dell’immagine per intero.
Il traffico è pseudoperiodico in quanto presenta una periodicità temporale (es. 12 frame) del GOP,
ma non presenta periodicità per quanto riguarda la bit-rate. Infatti i vari blocchi all’interno di un
GOP hanno dimensioni diverse in termini di bit e l'unica cosa certa è che ogni 12 frame si ha un
picco di traffico. Dato che all’interno del GOP si hanno variabilità molto forti, spesso, oltre a
caratterizzare il comportamento del traffico a livello di GOP, si usa caratterizzare la sorgente
all’interno, cioè a livello della singola frame.
11
Caratterizzare le sorgenti MPEG non è affatto semplice, in quanto bisogna caratterizzare
statisticamente le frame I, B e P. Sono in corso delle ricerche per capire qual’è il numero minore di
parametri per caratterizzare tali sorgenti.
Inoltre modellare male una sorgente porta ad una qualità di servizio scadente rispetto a quella
promessa, o ad un dimensionamento del sistema in eccesso, andando incontro a sprechi di risorse
(sovradimensionamento del sistema).
7.3.3 Traffico Dati
Sebbene ci si aspetti che il traffico dati sia il tipo di traffico più semplice da modellare, ciò, in
realtà, non è vero. Questo è dovuto alla varietà dei tipi di traffico dati esistenti.
I processi di arrivo dei pacchetti sono stati analizzati, ma non è ancora stato identificato un modello
adatto in ambiente ATM.
La natura del traffico dati è spesso considerata di tipo Poissoniana o Geometrica: se così fosse, il
traffico dati lo si può incorporare nei modelli esistenti di traffico bursty. Quindi, se per esempio il
traffico dati di frequenza γ è sovrapposto ad un flusso di traffico vocale, che è modellato attraverso
sorgenti MMPP (che presenteremo in seguito, in cui γ0 e γ1 sono le frequenze in ciascuno stato),
allora il traffico totale può essere caratterizzato da una sorgente MMPP con frequenze γ +γ0 e
γ+ γ1 per ciascuno stato. Dunque, se la sovrapposizione dei flussi di dati può essere approssimata
attraverso un processo di Poisson, allora una MMPP, leggermente modificata può modellare i flussi
aggregati di voce e dati.
Se il traffico dati non è Poissoniano, allora la metodologia vista per costruire il modello MMPP per
il traffico vocale può essere applicata direttamente al flusso aggregato.
7.3.4 Traffico Multimediale
Una sorgente multimediale è la composizione di più sorgenti monomediali correlate tra di loro.
Allora, per la definizione di un modello di sorgente multimediale, non solo si devono caratterizzare
le singole sorgenti monomediali, ma devono essere anche definite, in maniera analitica, le relazioni
intermediali.
7.4 Modellazione delle Sorgenti di traffico
In teoria si potrebbero realizzare dei modelli per ogni particolare tipo di traffico ON-OFF, M-PEG,
MULTIMEDIALE, WEB, ecc., ma è più conveniente modellare il tipo di traffico in modo generico.
Nella nostra analisi la variabile tempo sarà continua o discreta, cioè divisa in intervalli temporali
detti slot.
7.4.1 Modello tempo-continuo IPP per il traffico vocale
Il processo degli arrivi da una singola sorgente vocale ON-OFF può essere caratterizzato, nel
continuo, da un modello IPP (Interrupted Poisson Process), illustrato in Fig. 7.4-1.
p=1/TON
Q=0
P
0
1
q=1/TOFF
Fig. 7.4-1: Modello IPP
12
Quindi tale processo può essere descritto da una catena di Markov tempo-continua (phase process o
catena sottostante) a due stati {0,1} in cui:
•
•
•
•
•
•
•
lo stato 0 corrisponde allo stato di OFF della sorgente;
lo stato 1 corrisponde allo stato di ON della sorgente;
Q = 0 è la bit rate di emissione della sorgente nello stato di OFF;
P = Banda di Picco è la bit rate di emissione della sorgente nello stato di ON;
p = 1/TON è la frequenza di transizione OFF-ON
q = 1/TOFF è la frequenza di transizione ON-OFF
La permanenza nello stato di OFF, o di ON, è distribuita esponenzialmente (proprietà
delle catene di Markov). Quindi nel periodo di ON la sorgente trasmette pacchetti con
tempi di emissione distribuiti in modo esponenziale avente valore medio pari a P.
Quindi la matrice Q dei rate di transizione di stato della catena di Markov, è una matrice 2×2 , in
cui il generico elemento Q[i,j] rappresenta il rate di transizione dallo stato i allo stato j.
Indicato con p il rate di transizione dallo stato 0 allo stato 1 e con q il rate di transizione dallo stato
1 allo stato 0, la matrice di transizione di stato è così definita:
− p p 
Q=

 q − q
dove
1
∑Q
[i, j ]
=0
j =0
p, q ≥ 0
Eq. 7.4-1
(siamo nel continuo)
(essendo frequenze di transizioni e non probabilità)
L’IPP è dunque un processo di Poisson interrotto: l’interruzione si ha nel momento in cui la catena
di Markov passa dalla fase 1 alla fase 0.
Quando la catena si trova nello stato di OFF la sorgente non emette, mentre quando si trova nello
stato ON emette con una bit-rate P non costante. Quindi questo modello approssima nel dominio
tempo-continuo il comportamento di una sorgente vocale ON-OFF precedentemente descritta, con
l’unica differenza che nella sorgente reale i tempi di interrarrivo delle celle sono costanti.
La scelta del modello IPP con tempi di interarrivo esponenziali, e non costanti, mi semplifica i
calcoli attraverso cui posso ricavare i parametri di qualità di servizio.
Attenzione a non confondere i processi di Markov tempo-continui con quelli tempo-discreti:
9nel tempo-continuo, i valori reali sugli archi indicano le frequenze di transizione,
9mentre nel tempo-discreto, sono indicate le probabilità di transizione di stato
(probabilità di trovarsi in un altro stato o rimanere nello stesso stato alla fine dello slot
temporale), che sono quantità minori di 1.
Definito il vettore
0
P= 
P
in cui sono contenuti il rate medio di emissione della sorgente nello stato 0 e 1, determiniamo il
vettore delle probabilità di stato stazionario
Π = [π 0 , π 1 ]
dove, indicando con S(t) lo stato della catena di Markov nell’istante t,
13
π i = lim Pr ob{S (t ) = i}= alla probabilità che il sistema si trovi nell’istante t nello stato i-esimo
t →∞
(con i ∈{0,1}).
Le probabilità asintotiche di stato πi si possono ricavare risolvendo il seguente sistema:
 ΠQ = 0
 π =0
∑i i
Eq. 7.4-2
Operando la trasposta di entrambi i membri della 1° equazione del sistema 7.4-2 (ricordiamo che
(AB)t = Bt At), segue che:
− pπ 0 + qπ 1 = 0
− p q  π 0  0
=
⇒

 p − q  π  0

 1   
 pπ 0 − qπ 1 = 0
La seconda equazione essendo linearmente dipendente dalla prima, và sostituita con la seconda
equazione del sistema 7.4-2; per cui segue che:
− pπ 0 + qπ 1 = 0

 π 0 + π1 = 1
Risolvendo si ottiene che:
π0 =
q
p+q
π1 =
p
p+q
da cui è immediato ricavare la bit rate media del processo di traffico:
E {λ (t )} = P Π = Pπ 1
7.4.2 Modello tempo-discreto IBP
Poiché nelle reti ATM le celle hanno lunghezza costante, il tempo può essere visto come slottato,
dove ciascuno slot ha una durata pari al tempo di trasmissione di una cella. Quindi, la
modellizzazione delle reti ATM è preferibile che avvenga nel dominio tempo-discreto.
I modelli tempo-discreto sono particolarmente adatti per la valutazione delle prestazioni dei nodi di
rete, dal momento che le operazioni all’interno di un nodo sono sincronizzate sugli slot.
Per cogliere la natura bursty del traffico vocale, sono stati proposti diversi modelli, come L’IBP
(Interrupted Bernoulli Process).
L’IBP è il corrispondente modello tempo-discreto dell’IPP.
Una sorgente IBP è descritta da una catena di Markov a due stati {0,1}, mostrata in Fig. 7.4-2.
α
0
1-α
B
0
1
1-β
β
Fig. 7.4-2: Modello IBP
14
¾Se il processo in uno slot è nello stato 0, durante lo slot successivo esso o rimane nello stato 0
con probabilità 1− α, oppure transita nello stato 1 con probabilità α. Analogamente, quando il
processo è nello stato 1, esso o vi rimane con probabilità 1− β, o transita nello stato 0 con
probabilità β.
¾Quindi, i tempi di soggiorno in ciascuno stato sono distribuiti geometricamente con parametri
1− α e 1− β, rispettivamente.
¾Non si hanno arrivi quando il processo è nello stato 0.
¾Invece nello stato 1 si hanno gli arrivi secondo un processo di Bernoulli: cioè per ogni slot
temporale in cui il processo è nello stato 1, si ha un arrivo con probabilità B, oppure lo slot
rimane vuoto con probabilità 1− B. Questo processo di emissione viene interrotto quando la
catena di Markov passa nello stato 0.
¾Il processo IBP viene quindi caratterizzato dalla matrice delle probabilità di transizione di stato
della catena di Markov
α 
1 − α
Q=
1 − β 
 β
Eq. 7.4-3
e dal vettore
0
B= 
B
dove B deve essere intesa come la quantità media di pacchetti emessi in uno slot temporale
(mentre nel tempo continuo si parla di pacchetti al secondo).
Analogamente a quanto visto nel processo IPP tempo continuo, le probabilità di stato si possono
ricavare risolvendo il seguente sistema:
 ΠQ = Π
 π =
∑ i i 0
dove
Eq. 7.4-5
π i = lim Pr ob{S (n) = i} con i∈{0,1} e S(n)= stato corrente in cui si trova la catena di
t →∞
Markov (Fig. 7.4-3).
S(n)
Time Slot
1
0
∆
2∆
3∆
4∆
5∆
6∆
Fig.7.4-3: Stati S(n) della catena di Markov tempo discreta
Le soluzioni del sistema 7.4-5 sono:
π1 =
α
α+β
E{λ (n )} = B Π = Bπ 1 = B
α
α+β
π0 =
β
α+β
Quindi la media del processo di emissione sarà pari:
15
7.4.3 Modello tempo-discreto MMBP
L’MMBP (Markov Modulated Bernulli Process) può considerarsi come l’estensione del modello
tempo-discreto IBP. Esso è infatti descritto da una catena di Markov ad M+1 stati, in cui nello stato
0 si ha un arrivo con probabilità B0, nello stato 1 un arrivo con probabilità B1, …, nello stato M un
arrivo con probabilità BM.
In Fig. 7.4-4 è mostrato un processo MMBP a 3 stati.
p01
B0
B1
0
p00
1
p11
p10
p02
p20
p21
p12
2
B2
p22
Fig. 7.4-4: processo MMBP a 3 stati
Analogamente a quanto visto per l’IBP, l’MMBP si caratterizza attraverso una matrice di
T
transizione di stato Q e un vettore colonna B = [B0 , B1 , ..., B M ] delle probabilità di emissione in
ogni singolo stato.
Ad esempio la matrice Q e il vettore B relativi all’MMBP di figura 7.4-4 risultano essere:
 p00
Q =  p10
 p 20
p01
p11
p 21
p02 
p12 
p 22 
 B0 
B =  B1 
 B 2 
Ricordiamo che in una catena di Markov tempo-discreta gli autovalori della matrice di stato Q sono:
ƒuno pari all’unità
ƒe tutti gli altri sono all’interno del cerchio di raggio unitario.
Risolvendo il sistema:
 ΠQ = Π
 π =
∑ i i 0
si determina il vettore Π delle probabilità di stato. Quindi la media del processo di emissioni è:
E{λ (n)} = Π B = ∑iπ i Bi
16
7.4.4 Modello tempo-continuo MMPP
L’MMPP (Markov Modulated Poisson Process) rappresenta, invece, l’estensione del modello
tempo-continuo IPP. L’MMPP è infatti un processo di Poisson doppiamente stocastico descritto da
una catena di Markov tempo-continua a M+1 fasi (stati), detta phase process (chiamata anche
catena sottostante o modulante).
Durante la permanenza nello stato i (con 0 ≤ i ≤ M), gli arrivi hanno una distribuzione Poissoniana
con frequenza pari a γi. Quindi, analogamente al modello tempo-continuo IPP a due stati, anche il
processo MMPP è caratterizzato
•
dalla matrice Q dei rate di transizione di stato, di dimensione (M+1)×(M+1), dove il
generico elemento Q[i,j] = qij rappresenta il rate di transizione dallo stato i allo stato j:
 q00 ... q0 M 
Q =  q10 ... q1M 
q M 0 ... q MM 
dove
M
∑Q
[i , j ]
j =0
=0
(siamo nel continuo)
Q[ ii ] < 0, Q[ij ] ≥ 0
•
per i ≠ j (essendo frequenze di transizioni e non probabilità)
dal vettore delle frequenze di arrivo P = [γ 0 , γ 1 , γ 2 , ..., γ M ] , i cui elementi
rappresentano la frequenza di arrivo in ciascuna fase: quindi 1/γi è il tempo di interarrivo
quando il processo si trova nello stato i-esimo.
T
Per determinare il vettore delle probabilità asintotiche di stato
Π = [π 0 ,π 1 , ..., π M ]
dove, indicando con S(t) lo stato della catena di Markov nell’istante t,
π i = lim Pr ob{S (t ) = i}= alla probabilità che il sistema si trovi nell’istante t nello stato i-esimo
t →∞
(con i ∈{0,1,2, …,M}), occorre, al solito, risolvere il seguente sistema:
 ΠQ = 0
 π =0
∑i i
Anche per l’MMPP la bit rate media del processo è pari a
E{λ (t )} = Π P = ∑iπ i γ i
Ci resta da esaminare l’ultimo modello tempo-discreto SBBP.
7.4.5 Modello tempo-discreto SBBP
Se nel tempo-continuo non ha senso lo slot temporale e quindi l’emissione di più pacchetti per slot,
nel tempo-discreto si può considerare, come estensione del processo MMBP, un modello di traffico
in cui ci sia la possibilità di emettere più di un pacchetto per slot temporale.
17
Il modello di traffico in questione è l’SBBP (Switched Batch Bernoulli Process) che, ammettendo
più di un arrivo per slot temporale, riesce a descrivere la sovrapposizione di sorgenti bursty in
tempo reale (Fig.7.4-5).
Emissioni
per slot
n
Stato 1
Stato 2
Stato3
Fig. 7.4-5: Andamento temporale di un modello SBBP
Il processo tempo-discreto SBBP è modellabile attraverso una catena di Markov con un numero di
stati > 2, in cui, come detto, si ha la possibilità di emettere più di un pacchetto per slot temporale.
Quindi un SBBP, ad esempio con 3 stati, è così rappresentabile:
p22
p12
2
p21
p23
1
p11
p32
p13
3
p33
p31
Fig. 7.4-6: SBBP a tre stati
in pratica in ogni stato (1,2, o 3) il processo emette un certo numero di pacchetti secondo una certa
funzione densità di probabilità (f.d.p.) di tipo impulsiva; per rendere più chiaro il concetto
consideriamo per lo stato 1 la seguente f.d.p.:
probabilità
in questo esempio nello stato 1 la SBBP emette
0 pacchetti con una probabilità del 30%
1 pacchetti con una probabilità del 20%
2 pacchetti con una probabilità del 40%
3 pacchetti con una probabilità del 10%
4/10
3/10
2/10
1/10
0
1
2
3
n° di pacchetti emessi
Fig. 7.4-7: Funzione densità di probabilità caratteristica dello stato 1 dell’SBBP di Fig. 7.4-5
Quindi per una SBBP è necessario definire:
18
a) una matrice di transizione di stato Q, che sarà sempre una matrice quadrata (di dimensione =
(n° di stati)×(n° di stati)) i cui elementi mi rappresentano le varie probabilità di passare da uno
stato ad un altro, compreso lo stesso; guardando la Fig. 7.4-6, la matrice di transizione di stato,
di questa particolare SBBP, sarà così fatta:
 q11
Q = q21
q31
q12
q 22
q32
q13 
q 23 
q33 
dove, ovviamente, la somma degli elementi di ogni riga della matrice Q deve essere uguale ad 1.
b) Una matrice di emissione B, (di dimensione = (n° di stati)×(n° di pacchetti emessi +1)) in cui
l’elemento ij mi rappresenta la probabilità di emissione di j = 0,1,2,.. pacchetti quando la SBBP
si trova con una certa probabilità nello stato i-esimo.
Se il n° di stati =3 (i=1,2,3) e il n° di pacchetti emessi = 3 (j=0,1,2,3), la matrice B sarà così
fatta:
b11
b21
b31
b12
b22
b32
b13   f 0 
b23  =  f1 
b33   f 2 
stato i-esimo
in cui
Ad esempio, riferendoci alla figura 7.4-7, f o = [0.3
Quindi il generico elemento della matrice B è pari a
j-esimo pacchetto
b10
B = b20
b30
0.2 0.4 0.1] .
bij = lim Pr ob{λ ( n) = j / S ( n) = i}
n→∞
cioè uguale alla probabilità di emettere j pacchetti, dato per certo di essere nello stato i.
Anche in questo caso la somma degli elementi di ogni riga della matrice B (essendo probabilità)
deve essere pari ad 1.
Un processo SBBP si può caratterizzare, oltre che con la coppia di matrici (Q,B), con la matrice
C ( r ) = QD r
dove Dr è la matrice diagonale che contiene (sulla propria diagonale principale) la colonna r-esima
della matrice di emissione B.
Se consideriamo una catena di Markov a 3 stati (i=1,2,3), dove la matrice di emissione B tiene
conto, per ogni stato, dell’emissione di 0 pacchetti, di 1 pacchetto, di 2 pacchetti e di 3 pacchetti
(cioè j=0,1,2,3), si ha che:
 q11
C (0) = q21
 q31
q12
q22
q32
q13  b10
q23   0
q33   0
0
b20
0
0   q11b10
0  = q21b10
b30   q31b10
q12 b20
q22 b20
q32b20
q13b30 
q23b30 
q33b30 
19
0   q11b11
 q11 q12 q13  b11 0
C (1) = q 21 q 22 q 23   0 b21 0  = q 21b11
q 31 q32 q 33   0
0 b31  q 31b11
0   q11b12
 q11 q12 q13  b12 0
C (2) = q21 q22 q23   0 b22 0  = q21b12
 q31 q32 q33   0
0 b32  q31b12
0   q11b13
 q11 q12 q13  b13 0
C (3) = q21 q22 q23   0 b23 0  = q21b13
 q31 q32 q33   0
0 b33  q31b13
q12 b21
q 22 b21
q32 b21
q13 b31 
q 23b31 
q 33b31 
q12b22
q13b32 
q23b32 
q33b32 
q13b33 
q23b33 
q33b33 
q22b22
q32b22
q12b23
q22b23
q32b23
Quindi l’elemento generico C(r)[i,j] rappresenta la probabilità di transizione dallo stato i allo stato j
moltiplicata per la probabilità di emettere, nello stato j, r pacchetti.
Notiamo che
∑C
[i , j ]
( r ) = Q[ i , j ]
r
ovvero abbiamo applicato il teorema della probabilità totale.
La media di un processo SBBP è pari a:
E{λ (n)} =
n ° _ stati n ° _ max di pacchetti emessi
∑
i =1
∑ j B[i, j ] π
i
j =0
Calcolo della Funzione di Autocorrelazione del Processo degli Arrivi di una SBBP
La funzione di autocorrelazione è pari a
R λλ (m ) = E {λ ( n)λ (n + m)}
dove λ rappresenta il processo degli arrivi.
Supponiamo che, all’interno di uno slot temporale, possono essere emessi un numero di pacchetti
che varia da 0 a rmax. Quindi Rλλ(m) mi quantifica la correlazione che esiste tra il processo degli
arrivi in un certo slot e lo slot a distanza m:
rmax rmax
Rλλ (m) = ∑∑ r1r2 ∑ ∑ lim Pr ob{λ (n) = r1 , λ ( n + m) = r2, S ( n) = s1 , S ( n + m) = s 2 }
r1 =0 r2 =0
dove
s1∈I s2 ∈I
n →∞
r1 =numero di arrivi nello slot n -esimo
r2 = numero degli arrivi nelloslot n+m -esimo
mentre il valor medio è pari a
µ = ∑ iΠ i
nello slot n, λ può assumere valori da 0 a r1;
nello slot n+m, λ può assumere valori da 0 a r2;
Dal teorema della probabilità totale, dato un certo evento B, la probabilità dell’evento A
20
P( A) = ∑ P( A, B)
B
Posto
rmax rmax
A = ∑ ∑ r1r2 ∑ ∑ lim
r1 = 0 r2 = 0
s1∈I s2 ∈I
n→∞
utilizzando la relazione P(x,y)=P(x/y)P(y) segue che:
Rλλ (m) = A Pr ob{λ ( n + m) = r2 / S (n + m) = s 2 , λ (n) = r1, S ( n) = s1 }⋅
⋅ Pr ob{S (n + m) = s 2 , λ (n) = r1, S (n) = s1 }=
= A Pr ob{λ ( n + m) = r2 / S (n + m) = s 2 , λ (n) = r1, S ( n) = s1 }⋅
⋅ Pr ob{S (n + m) = s 2 / λ (n) = r1, S ( n) = s1 }⋅ Pr ob{λ (n) = r1, S (n) = s1 }=
= A Pr ob{λ ( n + m) = r2 / S (n + m) = s 2 , λ (n) = r1, S ( n) = s1 }
⋅ Pr ob{S (n + m) = s 2 / λ (n) = r1, S ( n) = s1 }⋅
⋅ Pr ob{λ (n) = r1, / S (n) = s1 }Pr ob{S ( n) = s1 }
Poiché il processo è memory less, l’emissione di r2 e r1 celle, rispettivamente, nello slot n+m e nello
slot n, dipende solo dallo stato nello stesso slot. Quindi si ha che:
Rλλ (m) = A Pr ob{λ (n + m) = r2 / S (n + m) = s 2 }⋅ Pr ob{S (n + m) = s 2 / S (n) = s1 }⋅
⋅ Pr ob{λ (n) = r1 / S (n) = s1 }Pr ob{S (n) = s1 }
Inoltre per il teorema di Chapman Kolmogorof
Pr ob{S ( n + m) = s 2 / S ( n) = s1 } = Q m
da cui, essendo Pr ob{S ( n) = s1 } = Π 1 , si ottiene che
Rλλ ( m) = AB[s 2 , r2 ]Q m B[s1 , r1 ]Π 1
Normalmente Rλλ(m) ha il seguente andamento:
Rλλ(m)
E2{λ}
m
L’unico termine che complica il calcolo di Rλλ(m) è proprio Q m, specialmente per elevati valori di
m. Per ovviare a questo problema si effettua la scomposizione spettrale di Q, in funzione dei suoi
autovalori e autovettori:
Q = TΛT −1
dove
21
λ 0
Λ =  ...
 ...
... ... 
... ...  è la matrice degli autovalori di Q e T è la matrice degli autovettori di Q.
... λ n −1 
In questo modo si ottiene che:
Q m = TΛm T
−1
λ 0
= T  ...
 ...
... 
... ... T −1
... λ n −1 
...
Quindi in Qm, e conseguentemente in Rλλ(m), l’unica dipendenza da m è data dalla matrice Λm.
Sviluppando per esteso Rλλ(m), si otterrà un’espressione di questo tipo:
R λλ ( m ) = R 0 λ m0 + R1 λ1m + R 2 λ m2 + ... + R n −1 λ mn−1
Visto che la matrice Q ha un autovalore pari ad 1 e tutti gli altri, in modulo, minore di uno,
Rλλ ( m ) ≅ R0
Questo significa che la funzione di autocorrelazione del processo di emissione di una SBBP è la
combinazione di n-1 esponenziali (se n è il numero degli stati) più un termine costante pari al valor
medio al quadrato.
Operando in modo analogo nel continuo, si avrà al posto della matrice Qm la matrice
e Qτ = Te λτ T −1
e quindi
Rλλ ( m) = R0 e λ0τ + R1e λ1τ + R2 e λ2τ + ... + Rn −1e λn −1τ
Poiché nel continuo gli autovalori sono uno nullo e tutti gli altri a parte reale negativa, si ha che
Rλλ ( m) ≅ R0 = E 2 {λ }
7.4.6 Considerazioni sui vari modelli di traffico
Si è visto come caratterizzare il traffico e come modellarlo analiticamente: abbiamo analizzato
• nel continuo i processi IPP e MMPP;
• nel discreto i processi IBP, MMBP e SBBP.
Abbiamo anche visto come l’IPP, nel tempo continuo , e l’IBP, nel tempo discreto, costituiscono
un modello per sorgenti ON-OFF (sorgente vocale con VAD) che, nei periodi di ON, trasmettono
con una packet-rate P costante.
TOFF
TOFF
Sorgente ON-OFF
P
TON
TON
Fig. 7.4-8: Sorgente ON-OFF
22
L’IPP è un processo tempo continuo a due stati (stato di ON e stato di OFF), caratterizzato dalle
frequenze di transizione 1/ T OFF e 1/ T ON , dove T OFF e T ON sono rispettivamente il tempo medio
di OFF e di ON distribuiti esponenzialmente. Quindi se si utilizza l’IPP per modellare una sorgente
ON-OFF, viene fatta l’approssimazione di considerare non costante P, visto che i tempi di
interarrivo sono distribuiti esponenzialmente (il processo non è deterministico, bensì di Poisson).
L’IBP è invece un processo tempo discreto a due stati (stato 0 e stato 1), caratterizzato dalle
probabilità di transizione di stato α e β e dalla probabilità B che sia avvenuto con successo un
arrivo.
Fissata uguale a ∆ la durata dello slot, possiamo legare i parametri caratteristici del modello IPP con
quelli del modello IBP:
α=
∆
T OFF
β=
∆
T ON
B = ∆⋅P
da cui segue che
α
1
=
∆ T OFF
β
1
=
∆ T ON
cioè
Transizioni per slot
= Transizioni al secondo
Durata dello slot in secondi
Osserviamo che a parità di T OFF e T ON , con un ∆ grande, avremo un α grande e quindi più
probabilità di passare dallo stato 0 allo stato 1 dopo la fine dello slot ∆. Con ∆ piccolo avremo,
viceversa, una probabilità più bassa di cambiare stato.
Nell’IBP, essendo B una probabilità, necessariamente B deve essere ≤1: quando B vale proprio 1, si
avrà l’emissione di un pacchetto per slot.
Se invece devo modellare una sorgente che emetta più pacchetti in ogni slot temprale, devo
necessariamente usare il processo SBBP.
Se consideriamo una sorgente di tipo video, sicuramente essa avrà una bit rate λ(t) fortemente
variabile, come mostrato in Fig. 7.4-9:
λ(t)
t
Fig. 7.4-9: variabilità della bit rate di una sorgente video
La λ(t) graficata si riferisce ad una sorgente video senza cambi di scena con codifica differenziale,
cioè in cui ogni frame viene codificata come differenza con la frame precedente. Infatti se abbiamo
cambi di scena, la frame dovrà essere interamente codificata causando delle forti discontinuità della
λ(t) di Fig. 7.4-9.
23
Se A = (0, A, 2A, 3A, 4A) è il passo di quantizzazione scelto, una sorgente video, così fatta, può
essere modellata nel discreto attraverso un processo SBBP e nel continuo attraverso un processo
MMPP descritto dalla seguente catena di Markov di nascita e morte:
λ
0
2λ
A
µ
3λ
2A
2µ
4λ
3A
3µ
4A
4µ
Fig. 7.4-10: Catena di Markov di nascita e morte di un processo MMPP
Dove 0, A, 2A, 3A, e 4A sono i parametri di emissione del processo di Poisson.
Il modello avrà, quindi, un andamento temporale di questo tipo:
4A
3A
2A
A
Fig. 7.4-11: andamento temporale del modello considerato
Come gia visto, il modello MMPP è caratterizzato dalla matrice Q dei rate di transizione di stato
e dal vettore P delle frequenze di arrivo, che nel nostro caso è P = [0, A, 2 A, 3 A, 4 A] .
Si è dimostrato che, calcolando i parametri λ e µ, di un processo di Markov di nascita e morte
(Fig.7.4-10), in modo che il processo risultante abbia la stessa funzione di autocorrelazione del
processo reale, si ottiene che il modello utilizzato è accurato.
L’accuratezza è importante per la valutazione delle prestazioni del multiplexer: in quanto è come
se al multiplexer fosse applicato il processo reale.
Se la sorgente presenta dei cambi di scena, dobbiamo necessariamente considerare ulteriori
transazioni fra stati non adiacenti: quindi il processo, nella sua globalità, non è più descrivibile
(come mostra la Fig. 7.4-12) attraverso una catena di nascita e morte.
0
A
2A
3A
4A
Fig. 7.4-12: stati di una sorgente video con cambi di scena.
Per le catene di nascita e morte la matrice Q dei rate di transizione di stato è una matrice
tridiagonale, cioè con la diagonale principale e la pseudodiagonale inferiore e superiore non nulla:
24
 q11
q
 21
0
Q=
0
 ...

 0
q12
q 22
q32
...
0
...
0
q 23
q33
...
q34
...
0
...
0
...
...
...
0
...
q M −1 M − 2
0
q M −1 M −1
q M M −1






q M −1 M 

q MM 
0
0
0
0
questo perché le transizioni avvengono solamente fra stati adiacenti. Ovviamente se la sorgente
video presenta dei cambi di scena, la corrispondente matrice Q sarà una matrice piena.
Analogamente a quanto fatto nel tempo-continuo con l’MMPP, questo stesso tipo di sorgente video
può essere modellata, anche nel tempo-discreto, utilizzando il processo SBBP.
7.4.7 Sovrapposizione Markoviana
FLUSSI DI
TRAFFICO
…
Dato un nodo di una rete di telecomunicazioni, per valutarne le prestazioni, noto il carico
complessivo in ingresso, è necessario modellare l’aggregato delle sorgenti che afferiscono al
multiplexer (Fig. 7.4-13):
Nodo di Rete
Traffico
Aggregato
SINGOLI
LINK d’uscita
Fig. 7.4-13: Traffico aggregato in ingresso ad un nodo di rete
Dal processo che descrive il singolo flusso di traffico, è possibile modellare il traffico aggregato
inteso come insieme di sorgenti omogenee ed eterogenee.
Supponiamo di avere due sorgenti ON-OFF modellate attraverso un processo IBP (Fig. 7.4-14).
Nodo di Rete
Sorgente ON-OFF IBP1
Traffico
Aggregato
LINK d’uscita
Sorgente ON-OFF IBP2
α1
0
B1
0
1-α1
α2
0
0
1
β1
B2
1-β1
1-α2
1
β2
1-β2
Fig. 7.4-14: due sorgenti ON-OFF modellate attraverso un processo IBP
25
Ricordiamo che le due sorgenti IBP sono caratterizzate dalle matrici di transizione di stato
α1 
1 − α1
Q1 = 
1 − β1 
 β1
α2 
1 − α 2
Q2 = 
1 − β 2 
 β2
e dai vettori delle probabilità di emissione negli stati 0 e 1
0
B1 =  
 B1 
0
B2 =  
 B2 
Calcoliamo il modello dell’aggregato di queste due sorgenti. Detto S1(n) lo stato della catena di
Markov 1 nello slot n, e S2(n) lo stato della catena di Markov 2 nello slot n, con
S 1 (n )∈ {0,1}
S 2 (n )∈ {0,1},
definiamo lo stato del processo complessivo come:
S (n ) = (S1 (n ), S 2 (n ))∈ {(0,0), (0,1), (1,0), (1,1)}≡ I
dove I è lo spazio degli stati del processo aggregato, dato dal prodotto cartesiano degli spazi degli
stati dei processi componenti.
La matrice di transazione dell’aggregato sarà quindi pari a:
(1-α1)Q2=Q1[0,0] Q2
 (1 − α 1 )(1 − α 2 )


 (1 − α 1 )β 2
Q=

β 1 (1 − α 2 )



β1 β 2

(1 − α 1 )α 2
(1 − α1 )(1 − β 2 )
β1α 2
β 1 (1 − β 2 )
β1 Q2 =Q1[1,0] Q2
α1 Q2=Q1[0,1] Q2
α 1 (1 − α 2 )
α 1α 2



α1 β 2
α 1 (1 − β 2 ) 

(1 − β 1 )(1 − α 2 )
(1 − β 1 )α 2 

(1 − β 1 ) β 2
(1 − β1 )(1 − β 2 )
(1-β1) Q2=Q1[1,1] Q2
L’elemento 11 è uguale alla probabilità che il primo processo vada da 0 a 0 per la probabilità che il
secondo processo vada da 0 a 0; l’elemento 12 è uguale alla probabilità che il primo processo vada
da 0 a 0 per la probabilità che il secondo processo vada da 0 a 1 e così via per gli altri elementi di Q.
E’ possibile scrivere la matrice Q in una forma più compatta suddividendola in quattro quadranti:
dove
Q1[0, 0 ]Q 2
Q=
Q1[1, 0 ]Q 2
Q 1[0,1] Q 2 
Q1[1,1]Q 2 
Q1[0,0] indica la probabilità che la sorgente 1 rimanga nello stato 0;
Q1[0,1] indica la probabilità che la sorgente 1 vada dallo stato 0 allo stato 1;
Q1[1,0] indica la probabilità che la sorgente 1 vada dallo stato 1 allo stato 0;
Q1[1,1] indica la probabilità che la sorgente 1 rimanga nello stato 1.
26
Ma quest’ultima espressione di Q rappresenta il prodotto di Kronecker tra Q1 e Q2, ovvero
Q = Q1 ⊗ Q 2
Quindi abbiamo dimostrato che la matrice di trasmissione del processo aggregato è data dal
prodotto di Kronecker delle matrici di transizione dei processi componenti.
Questo risultato, ottenuto nel caso particolare di due sorgenti IBP, ha validità generale, cioè vale
qualsiasi sia numero e il tipo di processi (anche con Q di dimensioni diverse) considerati, purché
tali processi siano tutti tempo-discreti.
Calcoliamo la matrice B dell’aggregato.
Il processo aggregato, da noi analizzato, può quindi essere così schematizzato (Fig. 7.4-15):
00
10
10
11
Fig. 7.4-15: stati dell’aggregato dei due processi IBP.
Dobbiamo capire se il processo aggregato è un MMBP o un SBBP. Nello stato (0,0) il processo
emette 0 celle in (1,0) e in (0,1) emette al più una cella per slot, in (1,1) potrà emettere anche due
celle per slot, quindi l’aggregato è certamente un SBBP.
In pratica, l’aggregato sarà rappresentato da un modello SBBP a 4 stati in cui la sorgente emetterà
con una certa probabilità (fissata nella matrice B) 0,1 o 2, pacchetti.
Ricordiamo che nella matrice di emissione B di una SBBP gli indici delle righe sono gli stati e gli
indici delle colonne sono il numero dei pacchetti-1 (visto che il sistema può anche non emettere
pacchetti) che possono essere emessi (quindi B può anche non essere quadrata), l’aggregato sarà
caratterizzato dalla seguente matrice di emissione:
n° di packets emessi
Stato
Stato
B=
Stato
Stato
00
01
10
11
0
1
2
1
0
0

 (1 − B )
0
B2
2

 (1 − B1 )
0
B1

(1 − B1 )(1 − B2 ) B1 (1 − B2 ) + B 2 (1 − B1 ) B1 B2






dove l’elemento Bij rappresenta la probabilità che nello stato i vengano emessi j pacchetti.
Infatti la prima riga indica che il processo, trovandosi nello stato (0,0), emetterà 0 pacchetti con
probabilità unitaria e 1 o 2 pacchetti con probabilità nulla.
Come Q, anche B può essere scritta in una forma più generale, per mezzo di sommatorie e
produttorie.
Per un SBBP, la funzione densità di probabilità (p.d.f)
f (r ) = lim prob{λ (n ) = r}
n → +∞
si può ottenere come:
27
f (r ) = ΠB
che rappresenta la probabilità, condizionata dallo stato, di emettere un certo numero di celle, dove
Π è l’array della probabilità di stato (pari a Π = [Π 00 Π 01 Π 10 Π 11 ] se si considera l’aggregato di
due sorgenti IBP).
L’approccio, fin qui utilizzato, per ricavare la matrice di transizione di stato Q e la matrice di
emissione B, che caratterizzano il processo aggregato, è noto con il nome di SOVRAPPOSIZIONE
MARKOVIANA. La Sovrapposizione Markoviana è un metodo talmente preciso che avrà il
problema dell’esplosione del numero degli stati, per un numero N elevato di processi considerati.
7.4.8 Sovrapposizione Statistica
L’approccio duale alla Sovrapposizione Markoviana è la SOVRAPPOSIZIONE STATISTICA.
La sovrapposizione statistica consiste nel determinare un modello analitico che presenti le stesse
caratteristiche statistiche che risultano dominanti nel calcolo delle prestazioni del multiplexer.
Osserviamo che le caratteristiche statistiche dominanti sono diverse a secondo delle prestazioni
considerate.
Seguendo un iter differente da quello percorso per la Sovrapposizione Markoviana (ad es. secondo
un approccio simulativo), si è, infatti, dimostrato che per calcolare le prestazioni del multiplexer
basta considerare particolari caratteristiche statistiche dei processi: cioè il multiplexer avrà le stesse
prestazioni per processi diversi, se tali processi sono caratterizzati dagli stessi parametri statistici
dominanti.
Per spiegare meglio quanto detto, consideriamo un multiplexer (Fig. 7.4-16) di dimensione K e
capacità di svuotamento C:
K
C
Fig. 7.4-16: multiplexer di dimensione K e capacità di svuotamento C:
Esaminiamo due differenti casi
• traffico in ingresso a bit-rate costante e
• traffico in ingresso a bit-rate variabile,
bit rate variabile
bit rate costante
con la stessa media e calcoliamo rispettivamente il ritardo o la probabilità di perdita.
Se le prestazioni in termini di ritardo e di probabilità di perdita sono uguali per i due tipi di traffico,
implica che la media è il fattore statistico dominante: cioè qualsiasi tipo di traffico avente la stessa
media, darà prestazioni identiche a quelle trovate.
Il problema è allora valutare quali siano le caratteristiche statistiche dominanti del traffico, per poter
calcolare le prestazioni del multiplexer.
Inoltre poiché le prestazioni del multiplexer restano uguali per processi aventi stesse caratteristiche
statistiche dominanti, sarà conveniente scegliere il processo avente il minor numero di stati.
Quindi, con la Sovrapposizione Statistica, si risolve il problema dell’esplosione degli stati della
Sovrapposizione Markoviana.
28
San qi Li ha dimostrato che le caratteristiche statistiche dominanti, relative al calcolo della
probabilità di perdita e del ritardo, sono le statistiche del primo ordine (p.d.f.) e del secondo ordine
(funzione di autocorrelazione), calcolate per il processo aggregato ottenuto con Sovrapposizione
Markoviana.
Esiste inoltre un’affermazione di San qi Li che è stata subito negata dal gruppo di ricerca
dell’ingegnere Schembra dell’Università di Ingegneria Elettronica di Catania: secondo San qi Li, se
due processi SBBP presentano la stessa p.d.f. e la stessa funzione di autocorrelazione, allora
avranno la stessa probabilità di perdita e lo stesso ritardo.
7.5 Valutazione delle prestazioni intesa come calcolo della QOS
APPROCCIO ANALITICO
Vediamo come operare per calcolare analiticamente le prestazioni di un multiplexer (Fig. 7.5-1)
di una rete di telecomunicazioni considerando in ingresso l’aggregato, per Sovrapposizione
Markoviana o Statistica, di N flussi di traffico.
K<∞
Processo aggregato
C [bit/sec]
Fig. 7.5-1: multiplexer di una rete di telecomunicazioni
Il multiplexer è quel sistema che permette di mettere assieme più flussi di traffico per trasferirli su
un’unica linea di trasmissione, avente una capacità compresa tra la bit-rate media e la banda di
picco del flusso d’ingresso. Inoltre la coda interna al multiplexer ammortizza i picchi di
trasmissione limitando la perdita dei processi che trovano la risorsa trasmissiva impegnata:
ovviamente se il buffer è infinito (caso non reale), i processi verranno prima o poi serviti, senza che
si verifichi alcuna perdita.
Consideriamo, per comodità di calcolo, la dimensione dello slot temporale
∆ = al tempo di trasmissione di un pacchetto sul link di uscita,
cioè in ogni slot temporale viene servito un pacchetto.
Nell’ipotesi di LATE ARRIVAL SYSTEM WITH IMMEDIATE ACCESS, il processo degli arrivi e
delle partenze si può così rappresentare:
Osservazione
Partenza
Osservazione
Arrivi Partenza
Slot n - esimo
Arrivi
Slot n+1 - esimo
Fig. 7.5-2: diagramma della successione temporale per un
Late Arrival System with Immediate Access
Avremo prima l’osservazione, poi, quasi alla fine dello slot, gli arrivi e quindi l’unica partenza
all’inizio dello slot successivo. Con questo schema non potremo mai vedere il sistema pieno, visto
che gli arrivi e la partenza sono vicini e l’osservazione avviene dopo la partenza.
29
Se C è la capacità in bit/s di un link ATM, essendo la cella ATM costituita da 53 bytes, la
dimensione ∆ dello slot temporale, per l’assunzione fatta, sarà pari ad un tempo di trasmissione,
53⋅ 8
della cella ATM, di
.
C
Indichiamo con Mmax il numero massimo di arrivi per slot.
Lo stato dell’intero sistema
(Σ )
(Q )
S
(n ) = (S (n ), S (n ))
è dato dallo stato dell’aggregato delle sorgenti e dallo stato della coda.
Se la coda è di dimensione K < ∞, allora S(Q)(n) potrà assumere i valori 0, 1, 2, …, K (anche se, in
effetti, ci potremmo fermare a K-1, in quanto la coda non si troverà mai nello stato K, cioè non
osserveremo mai K pacchetti in coda, data l’assunzione fatta che l’osservazione avviene sempre
dopo una partenza).
Invece, se la matrice Q dell’aggregato è M×M, S(n) potrà assumere i valori 0,1, …, M-1
(nell’aggregato di due processi IBP è M = 4, come visto in Fig. 7.4-15, in cui sono presenti gli stati
00, 01, 10 e 11).
Calcoliamo la matrice delle probabilità di transizione Q Σ per l’intero sistema, nell’ipotesi che il
processo che carica il multiplexer è composto da due IBP, ovvero dal processo aggregato SBBP.
Ricordando che un processo SBBP si può caratterizzare, oltre che con la coppia di matrici (Q,B),
anche con la matrice
C ( r ) = QD r ,
( )
dove Dr è la matrice diagonale che contiene (sulla propria diagonale principale) la colonna r-esima
Σ
della matrice di emissione B, la Q( ) sarà così strutturata:
1

 C (0 ) + C (1) C (2 )


C (0 )
C (1)



0
C (0 )

Q=

0
0


0
0


...
...


0
...

2
3
C (3) ... ...
C (2 ) ... ...
C (1) ... ...
C (0) ... ...
0
... ...
...
... ...
...
... 0
K-1
K Stati dell’aggregato

C (r ) 0 
∑
r =k

M max
C (r ) 0 
∑
r = k −1

M max
C (r ) 0 
∑

r = k −1
M max

∑ C (r ) 0 
r =k −2
M max

(
)
0
C
r

∑
r = k −3

...
... 
0 
C (0)
M max
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
… …
0
00
01
10
11
QUADRANTE 00: la coda passa dallo da 0 allo stato 0, mentre gli stati dell’aggregato possono
variare fra di loro nelle varie combinazioni; in pratica o si sarà un arrivo oppure
zero arrivi, ovvero troveremo in questo primo quadrante la matrice C(1)+ C(0).
QUADRANTE 01: la coda passa dallo stato 0 allo stato 1, mentre gli stati dell’aggregato possono
variare fra di loro nelle varie combinazioni. Ma affinché il buffer passa da 0 a un
30
processo in coda, ci dovranno essere necessariamente due arrivi, essendo la
sequenza degli eventi osservazione-arrivi-partenza-osservazione. Quindi occorre
considerare la matrice di transizione Q dell’aggregato con la probabilità che ci
siano due arrivi: cioè, considerando la definizione di C(r), la matrice del
quadrante 12 sarà C(2);
Gli altri elementi di Q(Σ) sono facilmente deducibili facendo analoghe considerazioni. Infatti nel
QUADRANTE 10: avremo da 1 a 0 arrivi, quindi troviamo la matrice C(0);
QUADRANTE 11: avremo un arrivo, quindi troviamo al matrice C(1)
QUADRANTE 20: il buffer passa dallo stato di 2 processi in coda allo stato di coda vuota: questa
situazione non si potrà mai verificare vista l’assunzione fatta di LATE ARRIVAL
SYSTEM WITH IMMEDIATE ACCESS, quindi troviamo la matrice nulla.
Gli elementi della K-esima colonna della matrice Q(Σ) sono tutti nulli, in quanto non possiamo mai
osservare un sistema totalmente pieno sotto l’ipotesi di LATE ARRIVAL SYSTEM WITH IMMEDIATE
ACCESS.
QUADRANTE 0 K-1: ci potranno essere sia K arrivi, sia molti di più, visto che i restanti pacchetti
vengono persi. Troveremo quindi la
M max
∑ C (r );
r =k
QUADRANTE 1 K-1: analogamente a quanto detto per il quadrante 0 K-1, nell’elemento 1 K-1 della
matrice Q(Σ) troveremo la
M max
∑ C (r )
r = k −1
e così via per gli altri elementi del K-1 – esima colonna di Q(Σ).
Osserviamo che se
Mmax < K
la sommatoria dell’elemento 0 K-1 è nulla.
Nota Q(Σ), per determinare le probabilità Π(Σ) di stato dell’intero sistema basta risolvere il seguente
sistema:
Π (Σ )Q (Σ ) = Π (Σ )

(Σ )
 ∑ Π [ q , s ] = 1
∀q ∈ [0,1,..., K ] ∀s ∈ [0,1,..., M − 1]
Eq. 7.5-1
dove [q,s] rappresenta lo stato dell’intero sistema (sorgenti + multiplexer), costituito dallo stato q
della coda e dallo stato s del flusso di traffico aggregato.
Esistono delle tecniche di calcolo numerico che permettono di risolvere in maniera semplice ed
efficiente questo sistema, che, a causa del grande numero di stati, sarebbe complicato e pesante
trovarne la soluzione.
In generale si può affermare che dato un certo numero di sorgenti tempo-discrete (SBBP, IBP o
MMBP), in ingresso ad un multiplexer con capacità d’uscita C e dimensione K, il traffico aggregato
trasmesso è modellabile, con Sovrapposizione Markoviana o Sovrapposizone Statistica, attraverso
un processo SBBP cumulativo.
31
Una volta risolto il sistema 7.5-1, noto Π(Σ) (i cui elementi sono gli stati dell’intero sistema), si può
determinare la lunghezza media E{Q} della coda
k −1
E{Q} = ∑ qf Q (q )
Eq. 7.5-2
q =0
dove fQ(q) è la funzione densità di probabilità della coda pari a:
{
}
f Q (q ) = lim prob S (Q ) (n ) = q
n→∞
fQ(q)
…
q
Fig. 7.5-3: funzione distribuzione di probabilità della coda
Per determinare, ad esempio, la probabilità che la coda sia vuota (q=0), basta sommare la
probabilità che la coda sia vuota e la sorgente d’ingresso sia nello stato 0, più la probabilità che la
coda sia vuota e la sorgente d’ingresso sia nello stato 1, … più la probabilità che la coda sia vuota e
la sorgente sia nello stato M-1.
•
La lunghezza media E{Q} della coda
k −1
E{Q} = ∑ qf Q (q )
q =0
ovvero il ritardo medio, espresso in slot, che si subisce quando si entra in coda, è il
primo parametro di QOS (qualità di servizio) trovato per valutare le prestazioni dell’intero
sistema.
•
Altro parametro importante di QOS è la probabilità di perdita ploss relativa alle celle che
vengono perse nel buffer, pari a
ploss =
n° celle ( pacchetti) perse
n° celle ( pacchetti) emesse
Il parametro ploss dipende fortemente da fQ(0), fQ(1), fQ(2), …, ovvero dalla funzione
densità di probabilità della coda, che rappresenta la distribuzione degli stati del sistema
coda: infatti più la coda si avvicina alla condizione di saturazione, maggiore sarà la
probabilità che si verifichino perdite.
•
Se le sorgenti in ingresso al multiplexer evolvono in maniera differente l’una dall’altra,
queste perderanno in maniera diversa, quindi è opportuno considerare la probabilità di
perdita ploss(i) relativa ad ogni singola sorgente (e non la probabilità di perdita media
complessiva dell’intero sistema), pari a:
32
ploss (i) =
n° celle ( pacchetti) perse dalla sorgente i − esima
n° celle ( pacchetti) emesseperse dalla sorgente i − esima
•
Altro parametro di QOS che si può considerare è il jitter dei tempi di ritardo, ovvero la
varianza della variabile q, cioè la varianza dalla p.d.f. fQ(q).
•
Come ultimo parametro di QOS consideriamo lo skew che rappresenta la differenza dei
ritardi subiti da due sorgenti correlate fra di loro. Se si vuole sincronizzare delle sorgenti
multimediali, ognuna con un flusso audio e video distinti, è necessario correlare il traffico
audio con il traffico video. Così facendo, se le unità informative partono allineate, audio e
video arriveranno ancora allineate, senza skew, cioè non si perderà la sincronia fra la voce
(formato audio) e il movimento delle labbra (formato video).
RICAPITOLANDO
⇒ abbiamo, opportunamente, modellato il traffico offerto al sistema con processi tempo-discreti
(IBP, MMBP, o SBBP) o con processi tempo-continui (IPP o MMPP);
⇒ abbiamo considerato l’aggregato dei singoli flussi di traffico, con Sovrapposizione
Markoviana o Statistica; se la variabile tempo è discreta, l’aggregato sarà una SBBP
caratterizzata dalla matrice Q di transizione di stato e dalla matrice B di emissione.
⇒ Una volta note Q e B, si costruisce il matricione Q(Σ) dell’intero sistema (sorgenti+coda di
attesa) e si calcola Π(Σ).
⇒ Noto Π(Σ), si determinano i parametri prestazionali di QOS dell’intero sistema (ritardo medio
E{Q}, loss probabilità ploss, jitter, skew, etc.). E’ opportuno graficare l’andamento dei
parametri prestazionali trovati, al fine di valutare visivamente la resa del sistema.
Ad esempio, fissata la capacità C del canale d’uscita (come nell’ATM, in cui i multiplexer
hanno dei link d’uscita di capacità costante, pari a 155 Mbit/sec) nel grafico di Fig. 7.5-4, ogni
curva mostra l’andamento della loss-probability ploss, al variare della dimensione K del buffer,
di un sistema con, rispettivamente, N=20, N=30 e N=50 sorgenti.
ploss
N=50 Sorgenti
N=30 Sorgenti
N=20 Sorgenti
1000
K [bit/sec]
Fig. 7.5-4: loss-probability al variare di K (dimensione del buffer)
Quindi si comprende come l’uso di tali grafici può essere utile
¾sia in FASE DI PROGETTO - se, ad esempio, è richiesta una probabilità di perdita di 10-5,
prevedendo di avere 50 sorgenti in ingresso al multiplexer, dovrò,
come si vede dal grafico di figura 7.5-4, necessariamente utilizzare
un buffer di capacità K=1000 [bit/s].
33
¾Sia per il CONTROLLO DI AMMISSIONE DI CHIAMATA (CAC)
Se un dato sistema presenta determinati parametri prestazionali con 20 sorgenti, non
appena la 21-esima sorgente vuole trasmettere, sicuramente, aumentando il traffico in
ingresso ed essendo il buffer di dimensione costante, le prestazioni deteriorano (Fig
7.5-5).
ploss
N=30 Sorgenti
N=21 Sorgenti
N=20 Sorgenti
1000
K [bit/sec]
Fig. 7.5-5: loss-probability al variare di K (dimensione del buffer)
Infatti, nel grafico di Fig. 7.5-5, per K=1000 [bit/s], la probabilità di perdita della
curva tratteggiata, relativa a 21 sorgenti, è maggiore della probabilità di perdita della
curva relativa a 20 sorgenti.
Quindi prima di accettare la 21-esima richiesta, devo verificare che la QOS, pattuita
con le 20 sorgenti previste, sia garantita.
Per effettuare questa verifica non è necessario ricalcolare, in tempo reale, i grafici ad
ogni nuova richiesta di chiamata: si usano, infatti, delle tabelle e dei grafici interpolati,
ricavati interpolando le curve calcolate per N=20, N=30, N=40, …
Nel nostro esempio, per ottenere la curva relativa a N=21 sorgenti, basta interpolare le
curve relative a N=20 e N=30 sorgenti.
Si possono usare anche tecniche fuzzj e di intelligenza artificiale per effettuare queste
interpolazioni.
E’, inoltre, estremamente importante, effettuare il MONITORAGGIO DEI PARAMETRI: infatti, se le
sorgenti non rispettano i parametri di trasmissione pattuiti con il gestore della rete, chiaramente i
grafici estrapolati, sotto determinate assunzioni, non saranno più validi, e l’intera rete entrerà in
crisi. Quindi è necessario predisporre un meccanismo che monitorizzi le sorgenti, per controllare
che rispettino quanto promesso.
Il METODO ANALITICO, finora visto, lo abbiamo applicato al problema del dimensionamento e
della gestione di un multiplexer. Anche se con maggiori complicazioni, stesse procedure si possono
estendere ad un’intera rete (Modellazione della rete), vista come un insieme di multiplexer che si
caricano l’un l’altro (Fig.7.5-6).
C’è comunque da precisare che le complicazioni nascono specialmente nei nodi di ingresso, dove il
traffico è molto variabile (bursty); mentre, con le successive miltiplazioni delle varie sorgenti,
l’andamento del traffico all’interno della rete tende ad essere CBR (constant bit rate), con piccole
variazioni di bit rate rispetto alla bit rate media.
34
Fig.7.5-6: insieme di multiplexer che si caricano l’un l’altro.
APPROCCIO SIMULATIVO
L’approccio simulativo ha validità generale per la risoluzione di una vastissima gamma di
problematiche. Infatti, qualsiasi prototipo, prima di essere commercializzato, viene sottoposto a
diversi test simulativi.
Simulare vuol dire RIPRODURRE al calcolatore un modello del sistema da analizzare, tenendo conto
di tutti quei parametri che possono influenzare le prestazioni del processo stesso. In pratica con la
simulazione riusciamo a modellare in maniera indipendente anche i più piccoli dettagli del sistema
globale, rendendolo estremamente realistico.
Quindi l’approccio simulativo è sicuramente molto più preciso e realistico del processo analitico.
Di contro, col simulatore, l’estrapolazione dei risultati richiede tempi di calcolo elevati, in quanto è
necessario che il numero di eventi che contiamo, per fare la stima, siano statisticamente rilevanti.
Cioè la durata della simulazione dipende dalla precisione dei risultati cercati: infatti, maggiore è il
numero di eventi che si conteggiano, più affidabile sarà la stima, ma più lunga sarà la durata della
simulazione.
Occorre, dunque, trovare un compromesso tra il tempo di calcolo che si vuole attendere, il numero
di parametri che influenzano le prestazioni del sistema e la precisione del risultato (cioè il numero
di eventi da osservare): ovviamente non ha senso considerare dettagli che poco (o niente)
influenzano i parametri da stimare. Dunque, in definitiva,
¾con l’analisi è necessario considerare delle ipotesi restrittive (che portano ad approssimazioni)
per rendere trattabile il problema,
¾mentre la simulazione ha l’enorme vantaggio di essere precisa nel riprodurre qualunque
sistema, con tutti i dati voluti e sotto qualsiasi ipotesi.
D’altra parte, l’analisi, rispetto al processo simulativo, è molto più rapida nel calcolo, visto che si
tratta, solamente, di risolvere una formula.
PIANIFICAZIONE E REALIZZAZIONE DI UNA SIMULAZIONE
I passi da seguire per effettuare una corretta simulazione sono, a grandi linee, i seguenti:
1.
2.
3.
4.
5.
6.
7.
8.
Formulazione del Problema;
Raccolta ed Analisi dei Dati Reali;
Formulazione di un Modello Matematico;
Valutazione dei Modelli;
Impostazione e Scrittura del Programma di Simulazione;
Verifica del Modello;
Pianificazione degli Esperimenti;
Analisi dei Risultati.
35
1. Formulazione del Problema: bisogna cercare di capire gli aspetti fondamentali del
processo che stiamo studiando, cioè le variabili che dobbiamo stimare. In pratica, in questa
prima fase, non intervengono problematiche di carattere statistico, ma il target principale è
quello di descrivere l’obiettivo della simulazione stessa. Esso può essere, ad esempio,
l’analisi delle prestazioni del sistema, oppure la determinazione delle relazioni funzionali fra
ingresso e uscita, o ancora l’ottimizzazione dei parametri di controllo.
2. Raccolta e Analisi dei Dati: bisogna capire quali sono i dati in ingresso e quali sono le loro
caratteristiche, per poter costruire in maniera oculata il simulatore. Si devono, quindi,
raccogliere dati sperimentali sulle distribuzioni delle grandezze aleatorie (come la
distribuzione dei tempi di interarrivo) di interesse per la simulazione. Tali grandezze
possono essere usate, ad esempio, per ricavare una distribuzione teorica oppure per
effettuare delle verifiche sul modello.
3. Modello Matematico: Potrebbe sembrare strano, nell’approccio simulativo, formulare un
modello matematico, ma è comunque necessario, a partire da dati reali, costruirne uno.
La formulazione del modello matematico è sicuramente il passo più delicato da compiere.
Bisogna scegliere un modello matematico, da dare in pasto al calcolatore, che meglio
rappresenti il sistema reale. Quindi tale modello non deve essere un modello matematico
analitico molto approssimato, ma, al contrario, gli si deve assegnare un alto grado di
approssimazione reale (cioè di vicinanza alla realtà).
REALTÀ
Modello Matematico molto
meno approssimato,
utilizzato nella simulazione
MODELLO
ANALITICO
Modello Matematico
approssimato
Fig. 7.5-7: Differenza tra Modello Matematico Analitico e Simulativo
Ad esempio modellare delle sorgenti vocali, in ingresso ad un multiplexer, con dei processi
IBP, per simulare il funzionamento dell’intero sistema, sarebbe un grosso errore, visto che
sto applicando, il processo simulativo ad un modello matematico analitico, risolvibile con
un approccio analitico in maniera molto più efficiente e veloce.
Se invece nella modellazione del traffico vocale considero che durante i periodi di parlato
(ON), i pacchetti sono egualmente spaziati nel tempo e che la durata dei tempi di ON non è
esponenziale, ma ha una distribuzione gaussiana, allora sto certamente creando un modello
matematico più reale.
4. Valutazione dei Modelli: bisogna verificare che i dati reali sono in accordo con i modelli
formulati.
5. Impostazione e Scrittura del Programma di Simulazione: è opportuno, prima della
stesura del codice, decidere lo stato di partenza del sistema, la presenza o meno di
condizioni iniziali, la precisione dei risultati e l’eventuale utilizzo di conoscenze acquisite
36
sul processo per velocizzare la simulazione stessa. Solo a questo punto si può scrivere il
programma.
6. Verifica del Modello: questa fase impone di verificare l’adeguatezza del modello al sistema
reale. Scritto il programma di simulazione, si assegnano degli input opportuni e si verifica
che il codice funzioni bene: cioè se, ad esempio, il modello prevede un tempo di interarrivo
di 5 secondi, dobbiamo verificare che il simulatore, in accordo con le previsioni, emetta
nuovi processi ogni 5 secondi.
7. Pianificazione degli Esperimenti: questa è una fase di grande importanza che viene spesso
trascurata. La pianificazione degli esperimenti varia in base agli obiettivi focalizzati nella
prima fase.
Se l’obiettivo della simulazione riguarda l’analisi delle prestazioni del sistema al variare dei
dati d’ingresso o dei parametri di controllo, è importante garantire una precisione statistica
dei risultati adeguata (accuratezza del risultato) senza esasperare i tempi di calcolo. E’,
infatti, inutile occupare il computer con elaborazioni che durano settimane intere, per poi
accorgerci che il blocco di esperimenti bastava simularlo, ad esempio, per una capacità del
link di uscita di 10 bit/sec, anziché di 100 bit/sec. Bisogna in pratica pianificare gli
esperimenti, eseguendo oculate CAMPAGNE DI SIMULAZIONE.
Se invece la simulazione è mirata a determinare le relazioni funzionali tra i parametri di
ingresso e le prestazioni di uscita, è importante, per prima cosa, ipotizzare la forma di tali
relazioni e successivamente stimare i parametri che li caratterizzano.
Se, ancora, l’obiettivo della simulazione riguarda l’ottimizzazione dei parametri di controllo,
bisognerà ricercare il massimo o il minimo della funzione qualità che lega le variabili di
ingresso a quelle di uscita.
8. Analisi dei Risultati: consiste nella raccolta e nell’interpretazione dei risultati ottenuti.
Dall’analisi dei risultati si comprende se è necessario effettuare ulteriori simulazioni per
ottenere altri risultati significativi.
Per automatizzare il processo simulativo, il programma non deve avere input da tastiera: questo mi
consente alla simulazione di procedere autonomamente, anche per lunghi giorni, senza intervento
umano. Quindi l’input deve essere da file e l’output deve essere su file.
Se la durata della simulazione è lunga, conviene, ad intervalli di tempo regolari, salvare in un file
“risultati_temporanei” i dati (non definitivi) che via via si ottengono.
Per non perdere la corrispondenza tra i parametri di ingresso ed i relativi risultati di fine
simulazione, è conveniente allegare alla fine (o all’inizio) del file di output, l’input che lo ha
generato.
PROBLEMI DELLA SIMULAZIONE
Fondamentalmente, i due più grossi problemi che si incontrano nelle simulazioni sono:
A. Analisi del Transitorio.
B. Accuratezza (Precisione) dei Risultati.
Analisi del Transitorio
Simulare il sistema nel transitorio vuol dire capire come il sistema evolve a partire da certe
condizioni iniziali. Per condizioni iniziali si deve intendere una fotografia del sistema in un
istante qualsiasi della sua vita, a partire dal quale si iniziano a raccogliere i dati e ad osservare le
variabili. Se riusciamo a graficare l’andamento di una variabile del sistema da simulare, una
37
volta scelto arbitrariamente lo stato iniziale (origine), da esso dipenderà l’evoluzione del
processo simulativo negli istanti immediatamente successivi.
Stato iniziale scelto da cui far evolvere il sistema
Fig. 7.5-8: evoluzione temporale di una variabile del sistama
Quindi è necessario, in ogni simulazione, partire da assegnate condizioni iniziali, da cui
dipenderanno i risultati finali.
Le simulazioni possono essere STAZIONARIE o DINAMICHE.
Le simulazioni DINAMICHE, sono condotte
a EVENTI - per simulare sistemi con approccio tempo-continuo,
o a INTERVALLI COSTANTI - per simulare sistemi tempo-discreti.
Invece le simulazioni STAZIONARIE sono indipendenti dalla variabile temporale. Sono infatti
simulazioni asincrone in cui si tiene conto solo dei cambiamenti di stato del sistema e non degli
istanti in cui i cambiamenti di stato avvengono.
Un esempio è il Metodo di Montecarlo per misurare aree di superfici irregolari (Fig.7.5-9):
ƒsi lanciano punti all’interno del rettangolo che contiene la figura, in maniera casuale;
ƒsi contano quanti punti cadono all’interno e quanti all’esterno della figura;
ƒquindi il rapporto fra il numero di punti caduti dentro la figura e il numero di punti nel
rettangolo ci fornisce il rapporto fra l’area della figura e quella del rettangolo.
Ovviamente, più punti lancio, più è accurata la misura.
Fig. 7.5-9: Metodo di Montecarlo
Le SIMULAZIONI STAZIONARIE, che interessano in questa trattazione, hanno lo scopo di
indagare il comportamento del sistema in regime di equilibrio statistico. Il sistema raggiunge la
condizione di equilibrio statistico se
ƒil suo comportamento non dipende più dalle condizioni iniziali con cui è partita la
simulazione;
ƒle probabilità di stato sono indipendenti dal tempo.
Quindi nelle simulazioni stazionarie, per effettuare una corretta valutazione del sistema, è
necessario scartare i risultati relativi alla fase transitoria, perché essi sono influenzati dalle
condizioni iniziali della simulazione stessa.
38
Esistono diverse tecniche che permettono l’individuazione della durata del transitorio: alcune
sono puramente empiriche, altre si basano su un approccio scientifico.
L’APPROCCIO SCIENTIFICO si basa, invece, sulla stima della funzione di autocorrelazione
del processo e si considera terminato il transitorio quando la correlazione è praticamente
nulla. Dato un sistema composto da una sorgente SBBP in ingresso ad un multiplexer,
partendo da condizioni iniziali nulle, lo stato della coda
S (Q ) (n ) ∈ {0,1,2,..., K }=Lunghezza della Coda
evolverà, ad esempio, seguendo un andamento di questo tipo:
S (Q ) (n )
condizioni
iniziali nulle
n
TRANSITORIO
REGIME
Fig. 7.5-10: evoluzione transitoria e a regime dello stato di una coda
Quando la variabile lunghezza della coda sarà scorrelata dalle condizioni iniziali, il sistema
è a regime ed i risultati ottenuti, con il processo simulativo stazionario, saranno veritieri.
Ricordiamo che la funzione di autocorrelazione RQQ (m ) di una SBBP è una funzione
discreta, definita per m ≥1, che per m = 0 coincide col valore quadratico medio [E{Q}] 2.
[E{Q}] 2
RQQ(m)
ε
E2{Q}
0
1
2
3
4
5 m =6
m
Fig. 7.5-11: Funzione di autocorrelazione RQQ(m)
Si potrà considerare finito il transitorio quando la funzione di autocorrelazione coincide col
valore medio al quadrato E2{Q}. Questa condizione si può matematicamente esprimere con
la disuguaglianza:
RQQ (m ) − E 2 {Q} < ε
o con la disuguaglianza normalizzata:
39
RQQ (m ) − E 2 {Q}
E 2 {Q}
<ε
scegliendo ε (fattore adimensionato) pari a 10-2, 10-3 (errore sulla seconda o terza cifra
decimale). Nel grafico di Fig. 7.5-12 la disuguaglianza di fine transitorio avviene a distanza
m =6 dall’origine: cioè dopo m slot temporali, il processo è indipendente dalle condizioni
iniziali.
Utilizzando il PROCESSO EMPIRICO, nel caso di un multiplexer caricato da una sola
sorgente ON–OFF, si fanno evolvere in contemporanea due simulazioni, imponendo
rispettivamente le condizioni iniziali opposte di
ƒbuffer completamente pieno e sorgente ON
ƒbuffer completamente vuoto e sorgente OFF
e si attende che il numero di elementi in coda, nei due casi, tendano al valor medio; da
questo momento si può considerare esaurito il transitorio.
Infatti le variabili di stato del sistema cumulativo, multiplexer più sorgente ON–OFF in
ingresso, sono:
S (Q ) (n ) ∈ {0,1,2,..., K } Lunghezza della Coda
S (n ) ∈ {OFF , ON }
Stato della Sorgente
Le due condizioni iniziali (da cui solitamente si fa evolvere la simulazione) sono come
detto:
 S (Q ) (0 ) = 0
Condizione I 
S (0 ) = OFF
S (Q ) (0 ) = K
Condizione II 
 S (0 ) = ON
Partendo dalla condizione iniziale II, essendo la coda totalmente piena, la probabilità di
perdita sarà maggiore della probabilità di perdita ottenuta partendo dalla condizione iniziale
I. Quindi, il ritardo medio, cioè la lunghezza media della coda E{Q}, avrà nei due casi un
andamento differente.
Esattamente, (Fig. 7.5-12) facendo partire la simulazione dalle condizioni migliori (caso I),
q1=E{Q1}, da 0 aumenterà tendendo al valor medio reale E{Q}. Viceversa facendo partire la
simulazione dalle condizioni peggiori (caso II), l’andamento di q2=E{Q2} sarà decrescente
tendendo al viceversa valor medio reale E{Q}.
q2
q medio
q1
t
Fig. 7.5-12: andamento di q1=E{Q1} e q2=E{Q2}
Affinché il transitorio termini, è necessario staccarsi da queste condizioni iniziali, cioè
facendo evolvere il processo, si uscirà dal transitorio quando:
40
q1 − q2
q1
<t
dove
q1 =E{Q1} è il numero dei pacchetti in coda partendo dalla condizione iniziale di coda vuota,
q2 =E{Q2} è numero dei pacchetti in coda partendo dalla condizione iniziale di coda piena e
t è un valore da fissare che determina la fine del transitorio. Più piccolo è t, minore sarà
l’errore che si compie nella Simulazione Stazionaria.
In una simulazione tempo discreta, per dichiarare terminato il transitorio, si può utilizzare sia il
metodo scientifico, sia il metodo empirico, mentre nel tempo continuo il calcolo della funzione
di autocorrelazione è complicato a causa della presenza dell’integrale. Quindi si preferisce
l’approccio empirico se il sistema da simulare è tempo contino.
Sia se utilizziamo un approccio empirico che scientifico, si fa evolvere il simulatore, da certe
condizioni iniziali, senza effettuare misure, e solo quando il transitorio sarà terminato,
comincerà la simulazione a regime, a prescindere dal fatto che essa sia a eventi o ad intervalli
costanti.
Nel caso in cui, per vari motivi, la simulazione non riesce a staccarsi dalle condizioni iniziali,
dopo un numero considerevole di slot temporali, posso decidere, ugualmente, di iniziare la
simulazione a regime.
Accuratezza dei Risultati.
Il problema dell’accuratezza del risultato è un problema di statistica. Si deve, infatti, decidere
quanto tempo deve durare la simulazione, visto che più lungo è il processo simulativo, più
accurati saranno i risultati. Con una simulazione infinitamente lunga si otterrebbe il risultato
reale. Inoltre, oltre alla durata della simulazione, l’attendibilità dei risultati di fine simulazione
dipende da numerosi fattori:
ƒdati di ingresso,
ƒgeneratore di numeri pseudo-casuali,
ƒle condizioni iniziali, etc.
Supponiamo di voler calcolare la probabilità di perdita di un sistema tempo-discreto.
Sia l1 la probabilità di perdita Ploss ottenuta dopo una simulazione di 10.000 slot temporali:
l1 =
n° celle perse
n° celle emesse
Per verificare se il valore l1 trovato è accurato, lanciamo nuovamente la simulazione a regime
(considerando sempre 10.000 slot): troveremo un altro valore di probabilità di perdita che
indicheremo con l2.
Iterando il procedimento N volte avremo, in definitiva, l’insieme dei valori di probabilità di
perdita
l1 , l 2 , ..., l N
Per capire quanto grande deve essere questo numero N e quale degli N valori scegliere come
risultato accurato, consideriamo la media
l=
l1 + l2 + ... + l N
N
Questa media è tanto più accurata, quanto più è alto il numero di volte che lancio la
simulazione a regime: cioè aumentando il numero dei campioni, la media ottenuta si avvicina
41
sempre di più al valore esatto. Quindi con la simulazione, non si può dire con precisione qual’è
la probabilità di perdita di un certo multiplexer, ma si può sicuramente affermare che la
probabilità di perdita reale l (cioè quella ottenuta analiticamente) appartiene al seguente
intervallo di confidenza:
[
]
l∈ l −δ, l +δ ≡ ∆
E’ importante precisare che la scelta dei campioni va fatta in modo tale da essere statisticamente
indipendenti tra loro, cioè devono essere uniformemente distribuiti su tutto lo spazio campione.
Più piccolo è l’intervallo di confidenza, minore è la certezza che il valore l di probabilità di
perdita reale stia all’interno dell’intervallo ∆. Infatti se desideriamo che l cada all’interno
dell’interballo di confidenza con una probabilità del 99%, dobbiamo necessariamente
considerare un grande ∆.
Quindi il problema dell’accuratezza del risultato si risolve assegnando l’intervallo di confidenza
con una certa probabilità P=95%÷99 %, all’interno del quale è possibile trovare il valore reale l.
l
P=95%
P=99%
Fig.7.5-13: Intervallo di confidenza
Lanciare simulazioni più brevi porta allo svantaggio di doverne fare un numero maggiore per
ottenere lo stesso intervallo di confidenza.
In pratica, scelta la durata della simulazione e assegnato, come input, un certo intervallo δmax
con una P=99%, si lanciano diverse simulazioni da cui si ottengono vari valori di l e δ; quando
l’errore δ verifica la relazione che
δ ≤ δ max
dove δ = t p
S
N −1
con N = numero di campioni (in questo caso di regimi effettuati; occorre che N sia
almeno pari a 2, in quanto non ha senso fare la media su un solo campione );
tp = valore percentuale scelto (ad esempio t99% corrisponde ad una probabilità P del
99%) che si ricava dalla tabella del t-students (tabella di Fig.7.5-14) al variare
del numero di regimi effettuati;
S = scarto quadratico medio, definito come
∑ (l
N
S=
in cui
i
− lN
i =1
)
2
N
li = probabilità di perdita all’i-esimo regime;
42
N
lN =
∑l
i =1
N
i
= media calcolata su N regimi;
Fig. 7.5-14: VALORI DEI PERCENTILI (tp) PER LA DISTRIBUZIONE DELLA
VARIABILE CASUALE t DI STUDENT CON ν GRADI DI LIBERTÀ
ν
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
40
60
120
∞
t0,995
63.66
9.92
5.84
4.60
4.03
3.71
3.50
3.36
3.25
3.17
3.11
3.06
3.01
2.98
2.95
2.92
2.90
2.88
2.86
2.84
2.83
2.82
2.81
2.80
2.79
2.78
2.77
2.76
2.76
2.75
2.70
2.66
2.62
2.58
t0,99
31.82
6.96
4.54
3.75
3.36
3.14
3.00
2.90
2.82
2.76
2.72
2.68
2.65
2.62
2.60
2.58
2.57
2.55
2.54
2.53
2.52
2.51
2.50
2.49
2.48
2.48
2.47
2.47
2.46
2.46
2.42
2.39
2.36
2.33
t0,975
12.71
4.30
3.18
2.78
2.57
2.45
2.36
2.31
2.26
2.23
2.20
2.18
2.16
2.14
2.13
2.12
2.11
2.10
2.09
2.09
2.08
2.07
2.07
2.06
2.06
2.06
2.05
2.05
2.04
2.04
2.02
2.00
1.98
1.96
t0,95
6.31
2.92
2.35
2.13
2.02
1.94
1.90
1.86
1.83
1.81
1.80
1.78
1.77
1.76
1.75
1.75
1.74
1.73
1.73
1.72
1.72
1.72
1.71
1.71
1.71
1.71
1.70
1.70
1.70
1.70
1.68
1.67
1.66
1.645
t0,90
3.08
1.89
1.64
1.53
1.48
1.44
1.42
1.40
1.38
1.37
1.36
1.36
1.35
1.34
1.34
1.34
1.33
1.33
1.33
1.32
1.32
1.32
1.32
1.32
1.32
1.32
1.31
1.31
1.31
1.31
1.30
1.30
1.29
1.28
t0,80
1.376
1.061
0.978
0.941
0.920
0.906
0.896
0.889
0.883
0.879
0.876
0.873
0.870
0.868
0.866
0.865
0.863
0.862
0.861
0.860
0.859
0.858
0.858
0.857
0.856
0.856
0.855
0.855
0.854
0.854
0.851
0.848
0.845
0.842
t0,75
1.000
0.816
0.765
0.741
0.727
0.718
0.711
0.706
0.703
0.700
0.697
0.695
0.694
0.692
0.691
0.690
0.689
0.688
0.688
0.687
0.686
0.686
0.685
0.685
0.684
0.684
0.684
0.683
0.683
0.683
0.681
0.679
0.677
0.674
t0,70
0.727
0.617
0.584
0.569
0.559
0.553
0.549
0.546
0.543
0.542
0.540
0.539
0.538
0.537
0.536
0.535
0.534
0.534
0.533
0.533
0.532
0.532
0.532
0.531
0.531
0.531
0.531
0.530
0.530
0.530
0.529
0.527
0.526
0.524
t0,60
0.325
0.289
0.277
0.271
0.267
0.265
0.263
0.262
0.261
0.260
0.260
0.259
0.259
0.258
0.258
0.258
0.257
0.257
0.257
0.257
0.257
0.256
0.256
0.256
0.256
0.256
0.256
0.256
0.256
0.256
0.255
0.254
0.254
0.253
t0,55
0.158
0.142
0.137
0.134
0.132
0.131
0.130
0.130
0.129
0.129
0.129
0.128
0.128
0.128
0.128
0.128
0.128
0.127
0.127
0.127
0.127
0.127
0.127
0.127
0.127
0.127
0.127
0.127
0.127
0.127
0.126
0.126
0.126
0.126
Fonte: R.A. Fisher e F. Yates, Statistical Table for Biological, Agricultural and Medical Research (quinta
edizione), Tavola III, Oliver and Boyd Ltd., Edinburgh, per gentile concessione degli autori e
dell’editore.
43
Si può notare come in questa tabella i valori di tp, per la distribuzione della variabile casuale t di
Student, variano per un numero di unità ν (gradi di libertà) ∈[1,30[ per poi rimanere costante da
30 a 39, da 40 a 59, e così via. Questo significa che, dopo la 30-esima simulazione a regime,
devo attendere fino al 40-esimo regime per poter verificare se l’intervallo di confidenza è quello
richiesto.
Nella realtà è consigliabile non andare oltre la 60-esima simulazione a regime. Se, infatti, si
supera la 60-esima simulazione e δ non è ancora ≤ di δmax, allora le simulazioni fatte sono
troppo brevi e quindi conviene ripartire con simulazioni più lunghe.
In questo diagramma di flusso sono riassunti i passi da compiere che bisogna seguire in un processo
simulativo:
INIZIO
INPUT
INIZIALIZZAZIONE DELLE
VARIABILI GLOBALI
INIZIALIZZAZIONE DELLE
VARIABILI DI CICLO
TRANSITORIO
REGIME
CALCOLO DELLE
GRANDEZZE DI INTERESSE
INTERVALLO DI
CONFIDENZA
N=N+1
NO
FINE
SIMULAZIONE
δ ≤ δmax
SI
OUTPUT
RISULTATI
END
Fig. 7.5-15: Steps di una simulazione
44
Scarica