1 Modellazione delle Performance a Livello di Componenti - Cenni di reti di code - MVA per reti di code aperte, chiuse.

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

INFLAZIONE, PRODUZIONE E CRESCITA DELLA MONETA
2. Introduzione alla probabilità
CINEMATICA SINTESI E APPUNTI.
Intervalli di confidenza
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
6. Catene di Markov a tempo continuo (CMTC)
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
Meccanica 2 1 marzo 2011 Cinematica in una dimensione
Inferenza Statistica Le componenti teoriche dell’Inferenza Statistica sono: la teoria dei campioni la teoria della probabilità la teoria della stima dei.
1 System Call per Comunicazione tra Processi Pipe.
Marika Arena - Economia e Organizzazione Aziendale B - A.A. 2008/ Lanalisi di investimento.
Definizione e caratteristiche
(se a = 0 l’equazione bx + c = 0 è di primo grado)
Scheduling della CPU Concetti di base Criteri di scheduling
RISPARMIO, ACCUMULAZIONE DI CAPITALE E PRODUZIONE
6. Catene di Markov a tempo continuo (CMTC)
3. Processi Stocastici Un processo stocastico è una funzione del tempo i cui valori x(t) ad ogni istante di tempo t sono v.a. Notazione: X : insieme di.
Sistemi e Tecnologie della Comunicazione
GESTIONE DELLA PRODUZIONE
Esercitazioni su circuiti combinatori
Modello di simulazione
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Esercizio 1 Due collegamenti in cascata, AB e BC hanno una velocità rispettivamente di 100 Mb/s e 50 Mb/s e tempi di propagazione pari a 1 ms e 1.2 ms.
La domanda di prodotti agricoli ed agro-alimentari
Corso di Tecniche e Sistemi di trasmissione Fissi e Mobili
INTERVALLO DI CONFIDENZA PER UNA PROPORZIONE (1)
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
7. Teoria delle Code Una coda è costituita da 3 componenti fondamentali: i serventi i clienti uno spazio in cui i clienti attendono di essere serviti.
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
Canale A. Prof.Ciapetti AA2003/04
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
INTENSITA SU UNO SCHERMO IN UNA INTERFERENZA TRA DUE SORGENTI PUNTIFORMI Alberto Martini.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Algoritmi e Strutture Dati (Mod. A)
Esperienza n. 10 Partitore resistivo e sua compensazione in c. a
Sistemi di equazioni lineari
Corso di biomatematica lezione 6: la funzione c2
Ricerca della Legge di Controllo
Disco magnetico (2) Ciascuna traccia è divisa in settori
Economia politica II – Modulo di Macroeconomia
SOLUZIONE DELLO STRATO LIMITE SU UNA PARETE PIANA
Convertitore A/D e circuito S/H
Queuing or Waiting Line Models
OPERAZIONI CON TRINOMI DI II° GRADO
Lezione 8 Numerosità del campione
Num / 36 Lezione 9 Numerosità del campione.
Il calcolo di radiosity
SISTEMI LINEARI TEMPO INVARIANTI SEZIONE 7
Campionamento e ricostruzione di segnali SEZIONE 7
1 Esercizio 1 Un router riceve da un collegamento A lungo 10 km a 100 Mb/s e instrada i pacchetti ricevuti, lunghi 1000 bit verso una linea duscita B a.
Elementi di Informatica di base
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
LEZIONI DI MACROECONOMIA CAPITOLO 2
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Sistemi - Stabilità - Rielaborazione di Piero Scotto
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
STATISTICA CHEMIOMETRICA
Quale tra queste è la città più bella? A Trapani B Palermo C Catania D Praga 1 ABCD None 36,36% (4) 9,09% (1) 0% (0) 54,55% (6) 0% (0)
Pippo.
TRASFORMATA DI FOURIER
Rendite e Ammortamenti
OPERAZIONI CON TRINOMI DI II° GRADO
Daniela Valenti, Treccani Scuola
1 Modellazione e valutazione di un ambiente applicativo su una intranet.
I mercati dei beni e i mercati finanziari: il modello IS-LM
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.
Ancora sulle equazioni di secondo grado….. Equazione di secondo grado completa Relazione tra le soluzioni di un'equazione di secondo grado.
Transcript della presentazione:

1 Modellazione delle Performance a Livello di Componenti - Cenni di reti di code - MVA per reti di code aperte, chiuse

2 Tipi di risorse in una rete di code Load independent Load dependent Delay S(n) R(n) S(n) R(n) S(n) R(n) n n n

3 Reti di code aperte DISK TAPE uscite arrivi CPU DISK TAPE CPU M clienti Reti di code chiuse

4 Nomenclatura K: numero di code X 0 : throughput medio della rete. Nel caso di rete aperta in regime stazionario X 0 = V i : numero medio di visite al servente i da parte di una richiesta generica da quando viene generata allistante in cui viene soddisfatta (esce dal sistema nel caso di rete aperta) S i : tempo medio di servizio di una richiesta del servente i W i : tempo medio di attesa in coda di una richiesta nella coda i R i : tempo medio di risposta di una richiesta nella coda i. R i = S i + W i X i : throughput della coda i-esima X i = X 0 V i R i : tempo medio di residenza di una richiesta generica nella coda i dallistante in cui viene generata allistante in cui viene soddisfatta (esce dal sistema nel caso di rete aperta) R i = V i R i D i : la domanda di servizio che una richiesta effettua ad un servente di una coda i dallistante in cui viene generata allistante in cui viene soddisfatta (esce dal sistema nel caso di rete aperta) D i = V i S i

5 Q i : tempo totale speso da una richiesta in attesa nella coda i dallistante in cui viene generata allistante in cui viene soddisfatta (esce dal sistema nel caso di rete aperta) Q i = V i W i R i = V i R i =V i (W i + S i ) = W i V i + S i V i = Q i + D i R 0 : tempo medio di risposta ad una richiesta dellintero sistema R 0 = k i=1 R i n i : numero medio di richieste alla coda i in attesa o che stanno ricevendo un servizio N: numero medio di richieste nel sistema N = k i=1 n i

6 Trattazione Reti Aperte (Single Class) Equazioni: Arrival theorem (for open networks): il numero medio di richieste residenti in una coda i trovate da una richiesta entrante nella stessa coda (n a i ) è pari al numero medio di richieste nella coda i (n i ).. R i (n) = S i + W i (n) = S i + n i S i Applicando la legge di Little (n i = X i R i ) e U i = X i S i si ha:. R i = S i _ (1-U i ) Quindi:. R i = V i R i = D i _ (1-U i ) Inoltre:. n i = U i _ (1-U i ) R i = S i (1 + n i ) = S i + S i X i R i R i (1- U i ) = S i Dato che U i = X i S i

7 Trattazione Reti Aperte (Single Class) Calcolo del massimo : Ricordiamo che in una rete aperta la frequenza media di utenti che entrano nella rete viene fissata a priori; dato che per troppo alto la rete diventerà instabile, siamo interessati al massimo valore di che possiamo applicare alla rete. Dato che:. U i = X i S i = V i S i vale la. = U i / D i dato che D i = V i S i Sapendo che in condizioni di massimo utilizzo della coda i U i sarà pari a 1, possiamo calcolare il massimo che non destabilizza il sistema:. 1 _ max k i=1 D i

8 Esempio DB Server (Example 9.1) request per hour = X 0 D CPU = 0,2 sec Service demand at CPU V DISK1 = 5 V DISK2 = 3 S DISK1 = S DISK2 = 15 msec D DISK1 = V DISK1 * S DISK1 = 5 * 15 msec = 75 msec Service demand at disk 1 D DISK2 = V DISK2 * S DISK2 = 3 * 15 msec = 45 msecService demand at disk 2. Service Demand Law U CPU = D CPU * X 0 = 0,2 sec/req * 3 req/sec = 0,6 Utilization of the CPU U D1 = D DISK1 * X 0 = = 0,225 Utilization of the disk 1 U D2 = = 0,135 Utilization of the disk 1 R CPU = D CPU / (1- U CPU ) = 0,5 sec Residence times R D1 = D DISK1 / (1- U DISK1 ) = 0,097 sec R D2 = D DISK2 / (1- U DISK2 ) = 0,052 sec CPU DISK1 DISK2

9 Total response time R0 = R CPU + R D1 + R D2 = 0,649 sec Average number of requests at each queue n CPU = U CPU / (1- U CPU ) = 0,6 / (1-0,6) = 1,5 n DISK1 = = 0,29 n DISK2 = = 0,16 Total number of requests at the server N = n CPU + n DISK2 + n DISK2 = 1,95 requests RMaximum arrival rate = 1 _ = 1 _ = 5 rich /sec max k i=1 D i max (0,2; 0,075; 0,045)

10 Trattazione Reti Aperte (Multiple Class) r classi di utenti, k code Input parameters D i,r, r Equations. U i,r ( ) = r V i,r S i,r = r D i,r. U i ( ) = R r=1 U i,r ( ). R i,r ( ) = D i,r delaying resource D i,r / (1-U i ( )) queuing resource. R 0,r ( ) = K i=1 R i,r ( ). n i,r ( ) = U i,r ( ) / (1-U i ( )). n i, ( ) = R r=1 n i,r ( ) Average residence time of class r request at resource i Utilization Average class r requests at resource i Average class r request response time Average number of requests at resource i

11 Esempio DB server (example 9.2) query – 5 tx per second (tps) 2 classi di richieste update – 2 tx per second (tps) Service demand x QueryUpdates CPU0,10,15 DISK10,080,20 DISK20,070,10 Utilizations (%) CPU5030 Disk140 Disk Residence times (sec) CPU0, Disk10,401,00 Disk 20,0160,22 Response times (sec)1,061,97

12 Trattazione Reti Chiuse ( Mean Value Analysis) Permette di calcolare gli indici prestazionali (tempo medio di risposta, throughput, lunghezza media della coda, ecc…) di una rete chiusa Metodo iterativo basato sulla considerazione che i risultati di una rete di code possano essere calcolati a partire dai risultati della stessa rete con una popolazione ridotta di ununità. Utilizzabile anche per reti di code ibride Nomenclatura. X 0 : throughput medio della rete di code.. V i : numero medio di visite di una richiesta ad una coda i.. S i : tempo medio di servizio di una richiesta del servente i.. R i : tempo medio di permanenza di una richiesta alla coda i.. R i : tempo totale medio di permanenza di una richiesta alla coda i considerando tutte le sue visite alla coda. Pari a V i R i. D i : tempo totale medio di servizio di una richiesta alla coda i considerando tutte le sue visite alla coda. Pari a V i S i. R 0 : tempo medio di risposta della rete di code. Pari alla somma degli R i n i a : numero medio di richieste che una richiesta trova al suo ingresso in coda. Forced Flow Law Data la nomenclatura vista sopra, abbiamo:. X i = X 0 V i

13 Mean Value Analysis (Single class) Equazioni: R i (n) = S i + W i (n) = S i + n i a (n) S i = S i (1+ n i a (n) ) Arrival Theorem: il numero medio di richieste (n i a ) residenti in una coda i che vengono trovate da una richiesta entrante nella coda stessa è pari al numero medio di richieste in tutta la coda i nel caso in cui nella rete di code vi siano n-1 richieste (n i (n-1) cioè n meno quella che vuole il servizio sulla coda i-esima) In altri termini: n i a (n) = n i (n-1) Quindi:R i = S i (1+n i (n-1)) e moltiplicando entrambi i membri per V i =>R i = D i (1+n i (n-1)) Applicando la legge di Little a tutto il sistema rete di code (n=X 0 R 0 ), abbiamo che: =>X 0 = n / R 0 (n) = n / K r=1 R i (n) Applicando la legge di Little e la Forced Flaw Law: => n i (n) = X i (n) R i (n) = X 0 (n) V i R i (n) = X 0 (n) R i (n)

14 Mean Value Analysis (Single class) Riassumendo, le tre equazioni sono: -> Residence Time equation R i = D i [1+n i (n-1)] -> Throughput equation X 0 = n / K r=1 R i (n) -> Queue lenght equation n i (n) = X 0 (n) R i (n) Procedimento iterativo: 1.Sappiamo che n i (n) = 0 per n=0; infatti se non ci sono messaggi nelle rete di code certamente non ci sono in ognuna delle singole code che la costituiscono. 2.Sapendo n i (0) si possono calcolare i vari R i (1) 3.Sapendo gli R i (1) si possono calcolare i vari n i (1) e X 0 (1) 4.Sapendo gli n i (1) si possono calcolare gli R i (2) 5.Si continua finchè non si sono trovati gli n i (n) R i (n) e X 0 (n) dove n è il numero di richieste che circolano allinterno della rete in considerazione.

15 Esempio DB Server (example 9.3) Richieste da 50 clients Ogni richiesta necessita 5 letture di record da un disco Average read time di un record = 9 msec Ogni richiesta al DB necessita di 15 msec di CPU D CPU = S CPU = 15 msec Service demand at CPU D DISK = S DISK * V DISK = 9 * 5 = 45 msec Service demand at the disk Using MVA Equations n = 0; Number of cuncurrent requests R CPU = 0;Residence time for CPU R DISK = 0; Residence time for disk R 0 = 0; Average response time X 0 = 0; Throughput n CPU = 0; Queue lenght at CPU n DISK = 0Queue lenght at disk n = 1; R CPU = D CPU = 15 msec; R DISK = D DISK = 45 msec; R 0 = D CPU + D DISK = 60 msec; X 0 = n/ R 0 = 0,0167 tx/msec n CPU = X 0 * R CPU = 0,250 n DISK = 0,750

16 Reti Chiuse (Single Class) Bounds Identificazione del collo di bottiglia (1/2) Normalmente il throughput generato da una rete di code tenderà a saturare al crescere delle richieste allinterno del sistema; siamo quindi interessati a individuare quale sia il componente allinterno del sistema (supposto che sia uno solo) che provoca la saturazione. Ricordando che nel caso di reti aperte: 1 _ max k i=1 D i e sostituendo con X 0 (n): X 0 (n) 1 _ max k i=1 D i Ricordando la Throughput Equation di MVA e tenendo presente che R i D i per tutte le code i, abbiamo: X 0 (n) = n n _ K r=1 R i K r=1 D i

17 Reti Chiuse (Single Class) Bounds Identificazione del collo di bottiglia (2/2) Combinando le due equazioni ottenute abbiamo: -> X 0 (n) min n _, 1 _ K r=1 D i max k i=1 D i Quindi per n piccoli il throughput crescerà al più linearmente con n, dopo di che si appiattisce su un valore pari a 1/ max k i=1 D i. X0X0 n

18 Reti Chiuse (Single Class) Bounds Tempi medi di risposta (1/2) Quando il throughput raggiunge il suo massimo valore (cioè per n grande) il tempo medio di risposta corrisponde a: R 0 (n) n _ max throughput Quindi per grandi valori di n il tempo di risposta cresce linearmente con n: -> R 0 (n) n max k i=1 D i Al contrario, per piccoli valori di n (n prossimo ad 1) il tempo medio di risposta sarà pari a. -> R 0 (n) = K r=1 D i dato che i tempi di attesa sono nulli.

19 Reti Chiuse (Single Class) Bounds Tempi medi di risposta (2/2) Potremo quindi stabilire un lower bound sul tempo medio di risposta pari a: -> R 0 (n) max K r=1 D i, max k i=1 D i

20 Esempio DB Server (Example 9.4) Nuovi scenari rispetto es.precedente: Aumento degli indici nel DB Disco 60% più veloce (average service time = 5,63 msec) CPU più veloce (service demand = 7,5 msec) ScenarioService demand D CPU Service demand D DISK D i 1/ max D i Bootleneck a152,5 * 9 = 22,537,50,044disk b155*5,63 = 28,1543,150,036disk c15/2 = 7,54552,50,022disk a+b152,55*5,63 = 14,0829,080,067CPU a+c15/2 = 7,52,5 * 9 = 22,530,00,044disk

21 Mean Value Analysis (Multiple Class) Denotati con:. N: il vettore contenente il numero di richieste per ogni classe allinterno del sistema; N r numero di richieste di classe r. l r : un vettore contenente 0 in ogni posizione diversa da r e 1 nella posizione r; Le equazioni caratterizzanti il sistema sono: -> Residence Time Equation for class r R i,r (N)= D i,r [1+n i (N – 1 r )] -> Throughput equation for class r X 0,r = N r / K r=1 R i,r (N) -> Queue lenght equation for class r n i,r (n) = X 0,r (n) R i,r -> Queue equation n i (N)= R r=1 n i,r (N)

22 Quando si usano molte classi, il calcolo della n i per un certo N richiede di calcolare tutte le n i,r ; queste dipendenze rendono spesso molto oneroso il calcolo della MVA; Per questo si usa un metodo approssimato basato sullosservazione che il numero di richieste di una classe r presenti un una coda è proporzionale al numero di richieste di classe r nella rete di code. Da questo segue che: n i,r ( N – l r ) = N r – 1 n i,r ( N ) N r E quindi la seguente equazione: -> Approssimazione n i,r ( N – l r ) = N r – 1 n i,r ( N ) N r Tuttavia questa approssimazione si basa sulla conoscenza di: n i,r (N). Normalmente per risolvere questo problema si usa un metodo iterativo basato sullutilizzare un valore n i,r (N) approssimato, ricavare iterativamente n i,r (N), e ripetere il procedimento finché la differenza fra i due valori non scende al di sotto di una soglia di errore precedentemente stabilita. Mean Value Analysis (Multiple Class)