Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Moreno Marzolla
moreno.marzolla@pd.infn.it
29 maggio 2008
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 1 / 88
Indice
Introduzione
Notazione
Leggi Fondamentali
Una Applicazione
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 3 / 88
Introduzione Notazione
Centro di Servizio
Response Time R
λ S
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 5 / 88
Introduzione Notazione
Delay Center
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 6 / 88
Introduzione Notazione
Reti di code
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 7 / 88
Introduzione Notazione
Reti di code
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 8 / 88
Introduzione Notazione
Terminals
Disk1
2
1
Disk2
CPU 3
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 9 / 88
Introduzione Notazione
Analisi Operazionale
Definizione
Le ipotesi operazionalmente testabili (operationally testable) sono quelle che
possono essere verificate mediante misure.
Esempio
È possibile verificare se in un intervallo di tempo T il numero di arrivi al centro
di servizio i-esimo è uguale al numero di partenze; L’assunzione di
bilanciamento del flusso (job flow balance) è operazionalmente testabile.
Esempio
È impossibile stabilire mediante misure se i tempi di servizio delle richieste
formano una sequenza di variabili casuali indipendenti. Le assunzioni di
indipendenza, sebbene comunemente usate nell’analisi statistica delle reti di
code, non sono operazionalmente testabili.
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 10 / 88
Introduzione Notazione
Definizione
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 11 / 88
Introduzione Notazione
Esempio
4
3
Num. utenti
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26
Tempo (t)
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 12 / 88
Introduzione Leggi Fondamentali
Ck Bk Bk
Sk Xk = = = Uk
T Ck T
da cui si ha:
Utilization Law
Uk = Xk Sk (5)
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 13 / 88
N = XR (6)
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 14 / 88
Introduzione Leggi Fondamentali
Esempio
Terminals
Si può applicare al singolo server
Disk2 (esclusa la coda) (Box 1).
I N(1) rappresenta l’utilizzazione di
Disk1
Disk2
I R(1) rappresenta il tempo medio di
Disk2 servizio delle richieste;
CPU
I X(1) rappresenta il tasso a cui il
1
2 server soddisfa le richieste.
3
4
Esempio
Supponiamo che il disco processi 40 richieste/secondo (X(1) = 40) e
mediamente ciascuna richiesta richieda 0.0225 secondi (R(1) = 0.0225). Da
(6) si ricava N(1) = 0.9, ossia l’utilizzazione del disco è 90%
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 15 / 88
Esempio
Terminals Includiamo la coda (Box 2).
I N(2) è il numero totale di utenti
(includendo quello in servizio e
Disk1
quelli in coda);
I R(2) è il tempo speso da ciascuna
richiesta nel sistema, includendo il
Disk2
CPU
tempo di attesa in coda e quello in
1
servizio
2
3
I X(2) è il throughput
4
Esempio
Supponiamo che il disco stia servendo 40 richieste/secondo (X(2) = 40) e il
numero medio di richieste sia N(2) = 4. Da (6) si ricava R(2) = 0.1. Sapendo
che R(1) = 0.0225, si ricava che il tempo speso in coda è R(2) − R(1) = 0.0775.
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 16 / 88
Introduzione Leggi Fondamentali
Esempio
Esempio
Supponiamo che il throughput sia X(3) = 0.5 e il numero medio di richieste sia
N(3) = 7.5. Da (6) si ricava R(3) = 15.
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 17 / 88
Esempio
Terminals
Consideriamo ora il sistema completo
(Box 4).
I N(4) è il numero totale di utenti nel
sistema (costante, essendo un
Disk1
sistema chiuso);
I R(4) è il tempo totale di servizio +
Disk2 di attesa nel delay center (think
CPU
time);
1
2 I X(4) è il tasso di passaggio dai
3 terminali al sottosistema centrale.
4
Esempio
Supponiamo che ci siano N(4) = 10 utenti, e che il think time sia Z = 15. Il
tempo speso nel sistema è R(3) = 15. Poichè R(4) = R(3) + Z , possiamo
scrivere N(4) = X(4) (R(3) + Z ), da cui X(4) = 0.5.
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 18 / 88
Introduzione Leggi Fondamentali
R N
R= −Z (7)
X
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 19 / 88
Definizione
Visit Count Vk = Ck /C
Xk = Vk X (8)
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 20 / 88
Introduzione Leggi Fondamentali
Abbiamo definito con Sk il tempo di servizio richiesto per ogni singola visita al
centro di servizio k -esimo.
Ci tornerà comodo definire una ulteriore quantià Dk (domanda di servizio),
che rappresenta il tempo di servizio totale richiesto al centro k -esimo.
Definizione
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 21 / 88
Vedremo ora come calcolare dei limiti (bound) sui valori del throughput X e
del tempo di risposta R di un sistema in funzione del tasso di arrivo delle
richieste o del numero di utenti presenti.
L’analisi dei bound:
I Richiede pochissimo sforzo e può fornire informazioni utili in molte
situazioni di modellazione dei sistemi.
I Aiuta a individuare l’effetto dei colli di bottiglia (bottlenecks) del sistema.
I Consente di confrontare rapidamente sistemi diversi.
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 23 / 88
Analisi dei Limiti
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 24 / 88
Uk = XVk Sk = XDk
Bound su X (λ)
1
X (λ) ≤ (10)
Dmax
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 25 / 88
Analisi dei Limiti Sistemi Aperti
I Nel caso ottimo, in cui nel sistema ci sia una sola richiesta, P
il tempo di
risposta R sarà uguale alla domanda totale di servizio D = k Dk :
Bound su R(λ)
R(λ) ≥ D (11)
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 26 / 88
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 27 / 88
Analisi dei Limiti Sistemi Chiusi
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 28 / 88
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 29 / 88
Analisi dei Limiti Sistemi Chiusi
Da cui si ottiene:
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 30 / 88
Sistemi Aperti
X (λ) ≤ 1/Dmax
D ≤ R(λ)
Sistemi Chiusi
N N 1
≤ X (N) ≤ min ,
ND + Z D + Z Dmax
max (D, NDmax − Z ) ≤ R(N) ≤ ND
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 31 / 88
Analisi dei Limiti Sistemi Chiusi
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 32 / 88
ab_closed.m
## Throughput A s y m p t o t i c Bound
function [ lower , upper ] = ab_X_closed ( N , D , Z )
D _ t o t = sum(D ) ;
D_max = max(D ) ;
lower = N / ( N∗ D _ t o t +Z ) ;
upper = min ( N / ( D _ t o t +Z ) , 1 / D_max ) ;
endfunction
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 33 / 88
Analisi dei Limiti Sistemi Chiusi
Esempio
source ( " ab_closed .m" ) ;
Output:
01 3.50 3.50
02 3.50 7.00
03 3.50 10.50
04 3.50 14.00
05 3.50 17.50
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 34 / 88
Esempio
Bound Asintotici
Parametri Dati
Disk1 I D1 = 2.0, D2 = 0.5, D3 = 3.0
2
I V2 = 10, V3 = 100
I S2 = 0.05, S3 = 0.03
1 I Z = 15s
Disk2
CPU 3
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 35 / 88
Analisi dei Limiti Sistemi Chiusi
Esempio
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 36 / 88
Esempio
Sistema Originale
60
Throughput X(N )
0.6
50
0.5
40
0.4
30
0.3
20 0.2
10 0.1
Original
0 0
5 10 15 20 25 30 5 10 15 20 25 30
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 37 / 88
Analisi dei Limiti Sistemi Chiusi
Esempio
Scenario 1: CPU più veloce
60
Throughput X(N )
0.6
50
0.5
40
0.4
30
0.3
20 0.2
10 0.1 Original
Scenario 1
0 0
5 10 15 20 25 30 5 10 15 20 25 30
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 38 / 88
Esempio
Scenario 2: Bilanciamento carico tra i dischi
Spostiamo i dati dal disco lento a quello veloce, in modo da avere D2 = D3
(ricordiamo che Dk = Vk Sk ). Si deve risolvere il sistema lineare:
V2 + V3 = 110 Il numero di visite deve restare inalterato
V2 S2 = V3 S3 Bilanciare le domande di servizio
Da cui risulta V2 = 41, V3 = 69, ossia D2 = D3 = 2.06
80 0.9
Original
70 Scenario 1 0.8
Scenario 2
0.7
Residence Time R(N )
60
Throughput X(N )
0.6
50
0.5
40
0.4
30
0.3
20 0.2
Original
10 0.1 Scenario 1
Scenario 2
0 0
5 10 15 20 25 30 5 10 15 20 25 30
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 39 / 88
Analisi dei Limiti Sistemi Chiusi
Esempio
Scenario 3: Ulteriore disco veloce
Aggiungiamo un ulteriore disco “veloce” che gestisca metà del carico del
disco esistente più carico. Avremo quindi K = 4 centri di servizio, con
D1 = 2.0, D2 = 0.5, D3 = 1.5, D4 = 1.5
80 0.9
Original
70 Scenario 1 0.8
Scenario 2
0.7
Residence Time R(N )
60 Scenario 3
Throughput X(N )
0.6
50
0.5
40
0.4
30
0.3
20 Original
0.2
Scenario 1
10 0.1 Scenario 2
Scenario 3
0 0
5 10 15 20 25 30 5 10 15 20 25 30
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 40 / 88
Esempio
Scenario 4: Tutte i miglioramenti contemporaneamente
In questo scenario usiamo una CPU più veloce (D1 ← 1.0), aggiungiamo un
disco veloce (S4 = 0.03) e facciamo in modo da bilanciare il carico tra tutti i
dischi. Similmente al caso 2 avremo:
V2 + V3 + V4 = 110
V2 S2 = V3 S3
V3 S3 = V4 S4
60 Scenario 3
Throughput X(N )
Scenario 4 0.6
50
0.5
40
0.4
30
0.3 Original
20 0.2 Scenario 1
Scenario 2
10 0.1 Scenario 3
Scenario 4
0 0
5 10 15 20 25 30 5 10 15 20 25 30
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 41 / 88
Population Size N Population Size N
Analisi dei Limiti Sistemi Chiusi
X (λ) ≤ 1/Dmax
D D
≤ R(λ) ≤
1 − λDave 1 − λDmax
N 1 N
(N−1)Dmax
≤ X (N) ≤ min , (N−1)Dave
D+Z + Dmax D + Z +
1+Z /(ND) 1+Z /D
(N − 1)Dave (N − 1)Dmax
max NDmax − Z , D + ≤ R(N) ≤ D +
1 + Z /D 1 + Z /(ND)
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 42 / 88
bsb_closed.m
## Throughput Balanced System Bound
function [ lower , upper ] = bsb_X_closed ( N , D , Z )
D_max = max(D ) ;
D _ t o t = sum(D ) ;
D_ave = sum(D ) / s i z e (D , 2 ) ;
lower = N / ( D _ t o t +Z + ( ( N−1)∗D_max ) / ( 1 + Z / ( N∗ D _ t o t ) ) ) ;
upper = min ( 1 / D_max , N / ( D _ t o t +Z + ( ( N−1)∗D_ave ) / ( 1 + Z / D _ t o t ) ) ) ;
endfunction
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 43 / 88
Analisi dei Limiti Sistemi Chiusi
Esempio
source ( " ab_closed .m" ) ;
source ( " bsb_closed .m" ) ;
D = [2 , 0.5 , 3];
Z = 15;
f o r N=1:20
[ ab_R_low , ab_R_high ] = ab_R_closed ( N , D , Z ) ;
[ ab_X_low , ab_X_high ] = ab_X_closed ( N , D , Z ) ;
[ bsb_R_low , bsb_R_high ] = bsb_R_closed ( N , D , Z ) ;
[ bsb_X_low , bsb_X_high ] = bsb_X_closed ( N , D , Z ) ;
p r i n t f ( "%f %f %f %f %f %f %f %f %f \ n " , N,
ab_R_low , ab_R_high , bsb_R_low , bsb_R_high ,
ab_X_low , ab_X_high , bsb_X_low , bsb_X_high
);
endfor
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 44 / 88
D1 = 2, D2 = 0.5, D3 = 3, Z = 15
120 0.35
Response Time R(N )
AB 0.3
Throughput X(N )
100 BSB
0.25
80
0.2
60
0.15
40
0.1
20 AB
0.05
BSB
0 0
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 45 / 88
Mean Value Analysis
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 48 / 88
Fondamenti Teorici
L’algoritmo MVA descritto in seguito funziona solo se applicato a reti che
godono delle seguenti proprietà:
1. In ciascun centro di servizio il numero di arrivi deve uguagliare il numero
di completamenti (Service Center Flow Balance)
2. Non devono avvenire due cambiamenti di stato nel sistema nello stesso
istante (One-Step Behaviour)
3. La probabilità che una richiesta che completa servizio al centro i venga
messa in coda al centro j è indipendente dalla lunghezza di qualsiasi
coda (Routing Homogeneity)
4. Il tasso di completamento in un centro di servizio deve essere
indipendente dal numero di job in coda, e dal numero di utenti nel
sistema (Service Time Homogeneity)
5. Il numero di arrivi dall’esterno non deve dipendere dal numero o dal
posizionamento delle eventuali richieste nel sistema (Homogeneous
External Arrivals)
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 49 / 88
Mean Value Analysis MVA per Reti Aperte
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 50 / 88
Xk (λ) = λVk
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 51 / 88
Mean Value Analysis MVA per Reti Aperte
Rk (λ) = Sk + Sk Ak (λ)
= Sk (1 + Ak (λ))
I Se valgono le ipotesi descritte in precedenza, allora si ha Ak (λ) = Qk (λ), da
cui:
Rk (λ) = Sk (1 + Qk (λ))
= Sk (1 + Xk Rk (λ)) applicando (6)
= Sk + Uk (λ)Rk (λ) applicando (5)
Sk
= (queueing centers)
1 − Uk (λ)
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 52 / 88
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 53 / 88
Mean Value Analysis MVA per Reti Aperte
mva.m
function [ U, R,Q ] = mva_open ( lambda , V , S , d e l a y )
K = size (S , 2 ) ;
R = zeros ( 1 ,K ) ;
Q = zeros ( 1 ,K ) ;
D = V . ∗ S;
U = lambda ∗ D ;
f o r k =1:K
i f ( delay ( k ) )
R( k ) = S ( k ) ;
Q( k ) = U( k ) ;
else
R( k ) = S ( k )/(1 −U( k ) ) ;
Q( k ) = U( k )/(1 −U( k ) ) ;
endif
endfor
endfunction
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 54 / 88
Esempio
Departures
Disk1
2
Arrivals 1
Disk2
CPU 3
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 55 / 88
Mean Value Analysis MVA per Reti Aperte
Esempio
> source("mva_open.m");
# Definizione dei parametri
> V = [121, 70, 50];
> S = [0.005, 0.030, 0.027];
> lambda = 0.3;
# Calcoliamo le domande di servizio
> D = V .* S
D = 0.60500 2.10000 1.35000
# Calcoliamo il tasso di arrivo max
> lambda_sat = 1 / max(D)
lambda_sat = 0.47619
# Risolviamo il modello
> [U,R,Q] = mva_open( lambda, V, S, zeros(1,3) )
# CPU Disk1 Disk2
U = 0.18150 0.63000 0.40500
R = 0.0061087 0.0810811 0.0453782
Q = 0.22175 1.70270 0.68067
# Tempo di risposta complessivo
> R_tot = sum(R .* V)
R_tot = 8.6837
# Numero totale di utenti nel sistema
> Q_tot = lambda * R_tot
Q_tot = 2.6051
# ...si poteva calcolare anche come
> Q_tot =sum(Q)
Q_tot = 2.6051
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 56 / 88
Esempio
Consideriamo il sistema precedente, con V1 = 121, V2 = 70, V3 = 50,
S1 = 0.005, S2 = 0.030, S3 = 0.027
70
Users in system Q(λ)
60 Response Time R(λ)
50
40
30
20
10
0
0 0.1 0.2 0.3 0.4 0.5
Arrival Rate λ
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 57 / 88
Mean Value Analysis MVA per Reti Chiuse
N
X (N) =
Z + R(N)
I Numero utenti in coda: La legge di Little applicata al singolo centro di
servizio k da
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 58 / 88
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 59 / 88
Mean Value Analysis MVA per Reti Chiuse
mva.m
function [ U, R,Q ] = mva_closed ( N , V , S , Z , d e l a y )
K = size (S , 2 ) ;
Q = zeros ( 1 ,K ) ;
R = zeros ( 1 ,K ) ;
D = V . ∗ S;
X = 0;
f o r n =1:N
f o r k =1:K
i f ( delay ( k ) )
R( k ) = S ( k ) ;
else
R( k ) = S ( k ) ∗ ( 1 +Q( k ) ) ;
endif
endfor
R _ t o t = sum ( R . ∗ V ) ; # system response t i m e
X = n / ( Z+ R _ t o t ) ;
Q = X∗(V . ∗ R ) ;
endfor
U = X ∗ D;
endfunction
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 60 / 88
Esempio
Terminals
Disk1
2
1
Disk2
CPU 3
Esempio
> source("mva_closed.m");
# Definizione dei parametri
> V = [121, 70, 50];
> S = [0.005, 0.030, 0.027];
> D = V .* S;
> N = 3;
> Z = 15;
# Risolviamo il modello
> [U,R,Q] = mva_closed( N, V, S, Z, zeros(1,3) );
# CPU Disk1 Disk2
U = 0.091667 0.318185 0.204547
R = 0.0053217 0.0372101 0.0310237
Q = 0.097566 0.394657 0.235030
# Tempo di risposta del sistema
> R_tot = sum( V .* R )
R_tot = 4.7998
# Throughput del sistema
> X = N/(Z+R_tot)
X = 0.15152
# Numero totale di utenti _in coda_ nel sistema
> Q_tot = N-X*Z
Q_tot = 0.72725
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 62 / 88
0.45
Throughput X(N )
50 0.4
40 0.35
0.3
30 0.25
0.2
20 0.15
10 BSB 0.1 BSB
MVA 0.05 MVA
0 0
5 10 15 20 25 30 5 10 15 20 25 30
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 63 / 88
Una Applicazione
Cos’è BPEL?
I BPEL (Business Process Execution Language) è una specifica per
descrivere dei workflow in notazione XML
I BPEL consente di rappresentare sequenze di interazioni complesse con
WS diversi
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 65 / 88
Una Applicazione
Esempio
Fonts: http://docs.oasis-open.org/wsbpel/2.0/Primer/wsbpel-v2.0-Primer.pdf
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 66 / 88
Una Applicazione
Problema
È possibile stimare in modo semplice le prestazioni di un workflow
rappresentato tramite un BPEL?
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 67 / 88
Una Applicazione
Scelta dell’approccio
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 68 / 88
Una Applicazione
Modellare il sistema
Operation Resource
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 69 / 88
Una Applicazione
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 70 / 88
Una Applicazione
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 71 / 88
Una Applicazione
Caso di studio
Descrizione del workflow
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 72 / 88
Una Applicazione
A1
Authenticate
A6
Analyze
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 73 / 88
Una Applicazione
Caso di studio
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 74 / 88
Una Applicazione
Caso di studio
WSDL del servizio Computing Element
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 75 / 88
Una Applicazione
Caso di studio
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 76 / 88
Una Applicazione
Caso di studio
Rappresentazione delle risorse
Storage Element
DF:CPU DF:Disk
1 2
Computing Element
Network CE:CPU CE:Disk
7 3 4
Analysis Element
DA:CPU CA:Disk
5 6
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 77 / 88
Una Applicazione
Analisi
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 78 / 88
Una Applicazione
Analisi
Primo passo: Calcolo delle visite alle azioni
A1
Authenticate
Risolviamo:
VA2 = VA1
A2 A3
VA = VA1
TransferISB TransferData V 3
p
A4 = 1−p VA3
VA5 = VA3
p = 0.7
V = VA5
A6
A4
JobStart VA1 = 1
Da cui si ha:
A5 VA1 = VA2 = VA3 = VA5 = VA6 = 1.
TransferOSB
VA4 = 2.3333
A6
Analyze
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 79 / 88
Una Applicazione
Analisi
Secondo passo: Calcolo delle visite alle risorse
Dalle visite alle singole azioni, possiamo ora risalire alle visite totali alle
risorse.
source("bsb_closed.m");
source("mva_closed.m");
## Visite alle singole azioni
V_A = [1 1 1 2.333 1 1];
## Visite ai centri di servizio
V = [
V_A(3) # DF:CPU
V_A(3) # DF:Disk
V_A(1)+V_A(2)+V_A(4)+V_A(5) # CE:CPU
V_A(2)+V_A(5) # CE:Disk
V_A(6) # DA:CPU
V_A(6) # DA:Disk
V_A(2)+V_A(3)+V_A(5) # Network
]’;
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 80 / 88
Una Applicazione
Analisi
Terzo passo: Calcolo delle Domande di Servizio
A1
3 / CE:CPU / 10
Authenticate
Storage Element
DF:CPU DF:Disk
3 / CE:CPU / 2 1 / DF:CPU / 1
A2 A3 1 2
4 / CE:Disk / 120 2 / DF:Disk / 120
TransferISB TransferData
7 / Network / 10 7 / Network / 80
Computing Element
Analysis Element
3 / CE:CPU / 1
A5 DA:CPU CA:Disk
4 / CE:Disk / 30
TransferOSB 5 6
7 / Network / 80
A6 5 / DA:CPU / 100
Analyze 6 / DA:Disk / 30
Esempio
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 81 / 88
Una Applicazione
Analisi
## Domande di servizio
D = [
V_A(3)*1 # DF:CPU
V_A(3)*120 # DF:Disk
V_A(1)*10+V_A(2)*2+V_A(4)*4+V_A(5)*1 # CE:CPU
V_A(2)*120+V_A(5)*30 # CE:Disk
V_A(6)*100 # DA:CPU
V_A(6)*30 # DA:Disk
V_A(2)*10+V_A(3)*80+V_A(5)*80 # Network
]’;
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 82 / 88
Una Applicazione
Esempio
Quarto Passo: Valutazione delle Alternative
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 83 / 88
Una Applicazione
Risultati
Situazione iniziale
3500 0.008
3000 0.007
Response Time R(N )
Throughput X(N )
2500 0.006
0.005
2000
0.004
1500
0.003
1000 0.002
500 0.001
Original Original
0 0
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 84 / 88
Una Applicazione
Risultati
Riduzione domanda di servizio su CE:CPU
3500 0.008
3000 0.007
Response Time R(N )
Throughput X(N )
2500 0.006
0.005
2000
0.004
1500
0.003
1000 0.002
500 Original Original
0.001
CE:CPU CE:CPU
0 0
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 85 / 88
Una Applicazione
Risultati
Riduzione domanda di servizio sulla rete
3500 0.008
3000 0.007
Response Time R(N )
Throughput X(N )
2500 0.006
0.005
2000
0.004
1500
0.003
1000 Original 0.002 Original
500 CE:CPU CE:CPU
0.001
Network Network
0 0
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 86 / 88
Una Applicazione
Risultati
Miglioramento di CE:Disk e rete
3500 0.008
3000 0.007
Response Time R(N )
Throughput X(N )
2500 0.006
0.005
2000
0.004
1500
Original 0.003 Original
1000 CE:CPU 0.002 CE:CPU
500 Network Network
0.001
Network+CE:Disk Network+CE:Disk
0 0
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20
Population Size N Population Size N
Moreno Marzolla (INFN Padova) Introduzione alle Reti di Code 29 maggio 2008 87 / 88