S. Balsamo -4-
nella fase di dimensionamento e acquisizione:
questa fase comprende le scelte fra diversi sistemi o componenti disponibili ed
esistenti;
nella fase di evoluzione della configurazione e del carico:
in questo caso si considerano tutti gli aspetti e i problemi relativi alla modifica ed
evoluzione di un sistema esistente, tipicamente per una sua espansione o un suo
miglioramento, sia per variazioni della configurazione che per variazioni del
carico di lavoro.
Misurazione
diretta
Misurazione Benchmarking
Modelli Simulativi
Ibridi
Fig. 1.1 - Metodi di valutazione delle prestazione di sistemi -
S. Balsamo -5-
vantaggio, rispetto al precedente, la ripetibilit del procedimento di misurazione e la
possibilit di effettuare misurazioni comparative fra diversi sistemi sotto le stesse
condizioni di carico. Se il sistema su cui effettuare le misurazioni non disponibile,
in quanto non esistente o in quanto una delle precedenti tecniche di misurazione non
applicabile, si pu ricorrere alla costruzione di un prototipo su cui effettuare le
misurazioni. Se il prototipo realizzato a livello software, viene anche detto
emulatore del sistema. Lo svantaggio principale di questo approccio la scarsa
flessibilit e modificabilit, una volta che il prototipo stato costruito, per lo studio di
scelte alternative. Una trattazione estesa delle tecniche di misurazione si pu trovare
in [FER 78, FSZ 81, JAI 90].
Luso dei modelli per la valutazione e lo studio del comportamento dei sistemi
diventa indispensabile nella fase di progetto di sistemi non esistenti (per cui le
tecniche di misurazione diretta o artificiale non sono applicabili) e in particolar modo
nei primi stadi di progetto in cui importante poter discernere fra differenti
alternative senza dover scendere ad un livello di dettaglio elevato, come invece
solitamente necessario nello sviluppo di prototipi.
Un modello una rappresentazione astratta del sistema che include solo gli
aspetti rilevanti allo scopo dello studio del sistema. Un modello definito ad un
determinato livello di astrazione, ovvero il sistema viene descritto con un certo
livello di dettaglio, includendo nella rappresentazione solo quelle componenti e
interazioni fra componenti che si ritengono necessarie allo scopo prefisso. Alla
definizione del modello segue la sua parametrizzazione, per poter considerare le
alternative di studio, e la sua valutazione o soluzione per ottenere le informazioni
relative allo studio del sistema.
S. Balsamo -6-
Se da un lato la simulazione fornisce uno strumento potente per la valutazione di
sistemi, per ragioni di flessibilit e di generalit dei modelli risolvibili, daltra parte il
suo limite maggiore costituito dal costo sia di sviluppo e di parametrizzazione che
di esecuzione, specialmente se il sistema rappresentato ad un elevato livello di
dettaglio. Inoltre per le caratteristiche delle misurazioni effettuate negli esperimenti di
simulazione, un corretta analisi dei risultati deve utilizzare opportune tecniche
statistiche per la stima degli indici di prestazione, spesso di non semplice
applicazione [JAI 90, KAN 92, LAV 83, LAV 89, LK 82].
Daltro canto fra i limiti e gli svantaggi delle tecniche modellistiche notiamo:
scelta del modello:
la scelta del livello di astrazione appropriato pu essere un compito non
semplice; luso di un modello non appropriato pu chiaramente portare ad errori
di valutazione;
uso errato del modello:
vi il rischio di utilizzare un modello oltre il suo campo di validit, ovvero
anche quando le assunzioni e le ipotesi che hanno portato alla sua definizione
non sono pi verificate; in altre parole, occorre fare attenzione ad un uso
improprio del modello dovuto allestrapolazione dei risultati oltre il suo campo
di applicabilit.
S. Balsamo -7-
I modelli basati su processi stocastici sono introdotti ed applicati per valutare la
dinamica dei sistemi ed in particolare le loro prestazioni e/o affidabilit [KOB 78,
TRI 82, LAV 83, KAN 94]. Tale classe di modelli introdotta nel prossimo capitolo.
I modelli a rete di code costituiscono una classe di modelli ampiamente studiata
e applicata per la valutazione delle prestazioni di sistemi informatici [FSZ 81, GEL
89, JAI 90, KAN 92, KIN 90, KLE 75, KOB 78, LAV 83, LZG 84, SC 79, TRI 82].
Tale classe di modelli permette di rappresentare sistemi di congestione, ovvero
sistemi formati da un insieme limitato di risorse e in cui si osserva competizione per
il loro utilizzo da parte di un insieme di utenti [KLE 75].
Esempi di sistemi di congestione rappresentabili da modelli a rete di code si possono
osservare in diversi campi: dai sistemi di calcolo e di comunicazione ai sistemi di
traffico e di produzione. Ad esempio, in un sistema di calcolo le risorse possono
essere componenti hardware e software e gli utenti i lavori (job) o programmi da
eseguire. Analogamente, in una rete di comunicazione le linee di comunicazione
rappresentano le risorse e i messaggi o pacchetti da trasmettere gli utenti. In un
sistema di traffico, ad esempio un aeroporto, le piste di atterraggio e le torri di
controllo corrispondono alle risorse, e gli aeroplani e i passeggeri corrispondono agli
utenti.
La valutazione delle prestazioni di un sistema di congestione include due
differenti aspetti: dal punto di vista del sistema, si interessati alla valutazione della
utilizzazione delle risorse, mentre dal punto di vista dellutente si valutano i tempi di
attesa per luso delle risorse. Di conseguenza lottimizzazione di tali sistemi pu
essere orientata verso due direzioni contrastanti: da un lato la massimizzazione
delluso delle risorse e, dallaltro la minimizzazione dei tempi di attesa degli utenti
per il loro utilizzo.
In seguito introduciamo le principali metodologie per valutare i diversi indici di
prestazione nei modelli a rete di code.
I sistemi oggetto di studio possono essere sia esistenti che ipotetici. Abbiamo
definito, un sistema come un insieme di componenti o entit interagenti al fine di
raggiungere uno scopo prefissato. Levoluzione nel tempo di un sistema descritta,
ad ogni istante, dallo stato del sistema che ne rappresenta la condizione in quel
particolare momento. Lo stato espresso in termini di variabili di stato che
descrivono le entit del sistema e i loro attributi. Le attivit delle componenti nel
tempo e le interazioni fra le componenti sono descritte dalle regole di trasformazione
fra stati. La descrizione nel tempo del comportamento del sistema e della sua
S. Balsamo -8-
evoluzione rappresenta dalla storia degli stati, ovvero dalla successione temporale
degli stati del sistema.
Un sistema opera in un ambiente che pu influenzare il comportamento del
sistema stesso. Occorre quindi identificare senza ambiguit il sistema e la sua
interfaccia rispetto allambiente esterno. Le variabili di stato si distinguono in
variabili endogene, se il loro cambiamento dovuto soltanto ad attivit interne al
sistema, e variabili esogene se sono influenzate dallambiente esterno al sistema. Un
sistema detto chiuso se il suo comportamento completamente determinato da
attivit interne, cio se non esistono variabili esogene. Al contrario, un sistema
aperto se interagisce con lambiente esterno, come viene espresso dalle variabili
esogene.
I sistemi si distinguono in continui o discreti a seconda del tipo di cambiamento
dei valori, continuo o discreto, delle variabili di stato. Ad esempio se la variabile di
stato rappresenta la temperatura in un dato luogo, poich i suoi cambiamenti sono
graduali e continui, abbiamo un sistema continuo. Viceversa, se ad esempio il sistema
descritto dal numero di persone presenti in una stanza, i cambiamenti avvengono
istantaneamente per passi discreti e quindi si osserva un sistema discreto.
Il modo in cui avvengono le trasformazioni fra stati determina se un sistema
deterministico o stocastico. Nel primo caso le regole di trasformazione determinano
univocamente il cambiamento di stato del sistema, mentre nel secondo caso da uno
stato possibile raggiungere diversi stati secondo una legge di probabilit associata
alla regola di trasformazione. Esempi di sistemi deterministici si possono osservare in
alcuni sistemi di produzione e di automazione (per esempio in una catena di
montaggio pu essere vista come un sistema deterministico, in quanto ogni attivit
determina univocamente lo stato successivo del sistema). I sistemi stocastici in cui le
variabili di stato variano con casualit secondo leggi di distribuzione di probabilit si
osservano in diversi campi. Alcuni esempi sono losservazione delle turbolenze
atmosferiche in un sistema naturale, il numero di pazienti in un ospedale, il numero di
utenti collegati ad un sistema di calcolo interattivo, il numero di messaggi trasmessi
su una linea di comunicazione in un sistema di comunicazione, il numero di
automobili che attraversano un casello autostradale in un sistema di traffico.
La natura stocastica o deterministica, continua o discreta di un sistema non una sua
propriet assoluta, ma dipende dalla visione da parte dellosservatore del sistema
stesso che determinata dagli obiettivi e dal metodo di studio, cos come
dallesperienza dellosservatore.
Analogamente ai sistemi, anche i modelli possono essere distinti in aperti e chiusi,
continui e discreti, deterministici e stocastici. Non necessariamente il tipo di modello
corrisponde al tipo di sistema rappresentato. Ad esempio un sistema continuo pu
essere rappresentato da un modello discreto, introducendo una discretizzazione del
S. Balsamo -9-
campo di definizione delle variabili continue del sistema per definire variabili discrete
del modello. Analogamente un sistema stocastico pu essere descritto da un modello
deterministico ad esempio facendo riferimento ai soli valori medi delle variabili del
sistema.
La natura del modello dipende non solo dal tipo di sistema studiato ma anche dal
livello di astrazione impiegato e dallobiettivo per il quale il modello definito.
Infatti il modello deve riprodurre tutte quelle propriet elementari delle componenti
del sistema e le loro interazioni da cui dipendono le funzionalit, oggetto di studio,
che si interessati a rappresentare e a valutare.
I modelli si distinguono in due principali categorie: modelli fisici e modelli
simbolici.
I modelli simbolici includono i modelli matematici su cui concentreremo la
nostra attenzione, e i modelli non matematici. A questa ultima categoria appartengono
alcuni modelli linguistici, grafici, e schematici (diagrammi, mappe).
Un modello matematico costituito da un insieme di variabili e parametri che
rappresentano le componenti del sistema e da un insieme di relazioni fra variabili e
parametri che rappresentano le regole di trasformazione o attivit del sistema,
espresse in un formalismo logico-matematico.
Vediamo ora di schematizzare il procedimento di valutazione di un sistema
tramite la definizione, parametrizzazione e soluzione di un modello che lo
rappresenti.
S. Balsamo - 10 -
adeguatezza delle misure: nella fase di parametrizzazzione necessario disporre
degli strumenti adatti per valutare le grandezze necessarie alla definizione delle
variabili del modello;
facilit di soluzione del modello: soltanto per alcune classi di modelli
possibile calcolare efficientemente la soluzione; per poter utilizzare un modello
appartenete ad una certa classe si spesso costretti ad introdurre delle
semplificazioni.
Il procedimento di creazione ed uso di modelli (modelling cycle ) per valutare un
sistema si pu schematizzare come segue [LZG 84, JAI 90]:
3. Parametrizzazione.
In questa fase sono identificate le variabili del modello da misurare e i corrispondenti
S. Balsamo - 11 -
strumenti di misurazione e la caratterizzazione del carico, ovvero il modello che
rappresenta il carico del sistema e le tecniche per definirlo [FSZ 81, JAI 90].
S. Balsamo - 12 -
Un possibile mancato raggiungimento dello scopo prefissato la presenza nel
sistema di colli di bottiglia (bottleneck) o strozzature dovute alla elevata utilizzazione
di un certo insieme di risorse. Nel ciclo descritto si operano allora delle modifiche al
sistema e/o al modello per eliminare tali colli di bottiglia; il procedimento iterativo
in quanto i bottleneck identificati possono mascherarne altri che si manifestano
soltanto quando i primi sono risolti.
S. Balsamo - 13 -
Modello l
livello di astrazione 1 (alto)
Modello 2
... ... livello di astrazione 2 (medio)
Sviluppo
top-down
... ...
Modello n
... ... livello di astrazione n (basso)
... ...
Nel sistema gli utenti, provenienti sia dal sistema interattivo che dal flusso batch,
competono per luso delle risorse. Obiettivo di progetto di un sistema di elaborazione
da un lato garantire una efficiente utilizzazione delle risorse, e dallaltro fornire un
insieme di funzionalit del sistema che garantisca tempi di risposta del sistema
accettabili agli utenti, in special modo per gli utenti interattivi.
Poich le attese per luso delle risorse da parte degli utenti hanno un notevole
impatto sulle prestazioni del sistema, lintero sistema pu essere rappresentato da un
modello a rete di code in cui sono espressi e quantificati i ritardi introdotti.
Lelemento di base dei modelli a rete di code il centro di servizio che, nel caso
pi semplice, formato da una coda (eventualmente vuota) e da un servente. Il
sistema rappresentato in Fig. 1.4 il pi semplice modello di code aperto: un utente
S. Balsamo - 14 -
transazioni
METODO ACCESSO
TERMINALI
risposte
SCHEDULER MEMORIA
job batch
SISTEMA INGRESSO
BATCH
output
DISPATCHER
PROCESSORE 1 PROCESSORE N
SUPERVISORE I/O
CANALI
PERIFERICHE
S. Balsamo - 15 -
utenti utenti
in arrivo in partenza
coda servente
Fig. 1.4 - Modello di code aperto con singolo centro di servizio -
Pur essendo la classe dei modelli a rete di code uno strumento importante ed
efficiente per la rappresentazione e la valutazione delle prestazioni di sistemi
per unampia variet di applicazioni, tuttavia essa si basa su alcune assunzioni.
Esistono diverse caratteristiche dei sistemi che portano alla definizione di modelli che
non sono risolvibili efficientemente. Infatti la valutazione analitica di modelli
complessi che non rientrano nella classe di modelli di code in forma prodotto in molti
casi pu essere ricondotta alla soluzione di sottostanti processi stocastici, la cui
complessit computazionale tuttavia quasi sempre esponenziale [KLE 75, LAV 83].
S. Balsamo - 16 -
terminali
sistema
...
terminali
... ...
processore
periferiche di I/O
S. Balsamo - 17 -
richiesta
...
...
processore
terminali
periferiche di I/O
memoria
rilascio
Fig.1.7 - Modello a rete di code estese con richiesta simultanea di risorse -
S. Balsamo - 18 -
75, SC 81, SCH 87]. I modelli a rete di code sviluppati e le efficienti tecniche di
soluzione proposte hanno portato alla definizione di strumenti e ambienti di sviluppo
per la valutazione di sistemi tramite luso integrato di modelli analitici e simulativi
[ALL 94, LAV 83, LZG 84, SC 81, JAI 90]. Questi strumenti permettono di definire
agevolmente modelli dei sistemi oggetto di valutazione a diversi livelli di astrazione,
spesso tramite interfacce grafiche, e rendendo trasparente allutente le scelte e le
metodologie di soluzione.
I modelli analitici basati su processi stocastici e su modelli di code sono trattati in
dettaglio nei successivi capitoli. Tali modelli possono essere studiati anche con
tecniche di simulazione, nel qual caso diventano modelli di simulazione. Tuttavia,
come osservato, la simulazione permette una maggiore generalit nella definizione
del modello, includendo anche descrizioni di tipo procedurale. Rimandiamo alla
letteratura per una descrizione dettagliata dei modelli e metodi di simulazione [LK
82, LAV 83, JAI 90, PAW 90].
Unaltra categoria di modelli per la valutazione delle prestazioni di sistemi che ha
ricevuto un notevole interesse negli ultimi anni la classe di modelli a rete di Petri
temporizzate stocastiche, definite come unestensione del modello a rete di Petri
originariamente introdotto per rappresentare la sincronizzazione in sistemi
concorrenti [MBC 86, KAN 92]. I modelli a rete di Petri stocastiche si prestano
naturalmente a modellare sincronizzazione di attivit concorrenti di sistemi, ma non
la competizione per luso delle risorse. Possiamo affermare che tale classe di modelli
ha quindi caratteristiche complementari a quella dei modelli a rete di code che
permettono di modellare naturalmente la congestione, ma non la sincronizzazione di
attivit. I metodi di analisi di reti di Petri stocastiche si riconducono prevalentemente
allanalisi del processo stocastico sottostante la rete. Recentemente sono state definite
alcune sottoclassi la cui analisi pi efficiente. Per una introduzione ai modelli a rete
di Petri stocastiche per la valutazione delle prestazioni di sistemi si veda [MBC 86,
KAN 92]. Non tratteremo qui tale classe di modelli.
Una categoria particolare di modelli per la valutazione delle prestazioni di sistemi
costituita dai modelli ibridi, che combinano le caratteristiche dei modelli analitici e
di simulazione. Tali modelli sono particolarmente adeguati per rappresentare sistemi
di grandi dimensioni eventualmente nellambito di metodologie di sviluppo
gerarchico. Applicando il principio di decomposizione del modello, che verr
introdotto nel capitolo 5, si riconduce lo studio del modello a quello di un insieme di
sottomodelli ed ad una loro combinazione. Se i sottomodelli e la loro composizione
sono analizzati con tecniche diverse (analitiche e simulative) si parla di modello e
metodologia ibrida. Scopo di tale metodologia combinata sfruttare i vantaggi delle
due classi di modelli e metodi: la semplicit ed efficienza risolutiva dei modelli e
metodi analitici e la generalit della simulazione.
S. Balsamo - 19 -
In letteratura la tecnica combinata analitico-simulativa prevalentemente
presentata come un approccio empirico per lanalisi di sistemi complessi e di grandi
dimensioni e non come una vera e propria metodologia. Una prima semplice
definizione stata proposta in [LZG 84] per modelli a reti di code in forma prodotto.
In generale, tuttavia, non semplice identificare condizioni e criteri generali sulla
base dei quali opportuno e conveniente definire un modello ibrido ed applicare la
metodologia ibrida in termini di riduzione dei costi rispetto alle altre metodologie
[LZG 84, JAI 90, KAN 92, MIR 94]. Uno studio dettagliato sia analitico che
sperimentale per analizzare tali problemi nellambito dei modelli gerarchici si pu
trovare in [MIR 94].
S. Balsamo - 20 -