Sei sulla pagina 1di 15

Esercitazione E5

Sistemi multimedia

Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 1

Video server - I
Un video server gestisce stream a 25 frame/s. Ciascun frame
richiede 8 ms di CPU su una CPU a 500 MHz. I frame sono
registrati su disco in blocchi di 1 MB che contengono 50 frame.
a) Volendo mantenere lutilizzazione di CPU entro il 70% quanti
stream possibile gestire con 2 CPU a 2 GHz?
b) Considerando il numero di stream di cui sopra, e disponendo di
dischi con tempo medio di accesso di 10 ms, e velocit media di
trasferimento di 50 MB/s, quanti dischi occorrono affinch la loro
utilizzazione media si mantenga entro il 40%?
c) Che dimensione di memoria centrale necessaria per
mantenere doppi buffer per tutte le stream?
d) Quale il volume di traffico tra dischi e memoria?
Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 2

Video server - I

a)

a) Volendo mantenere lutilizzazione di CPU entro il 70% quanti


stream possibile gestire con 2 CPU a 2 GHz ?
Dato che un frame richiede 8 ms su una CPU a 500 MHz, ne
deriva che, su una CPU a 2 GHz richiede:
8 ms 500 MHz/2 GHz = 8 ms 1/4 = 2 ms
Lutilizzazione delle 2 CPU con s stream data da:
UCPU = (s 25 0.002) / nCPU = (s 0.050) / 2

Imponendo che l utilizzazione delle 2 CPU non deve superare il


70%:
0.7 (s70 0.050) / 2
da cui si ricava:
s70 = 28
Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 3

Video server - I

b-1)

b) Considerando il numero di stream di cui sopra, e disponendo di


dischi con tempo medio di accesso di 10 ms, e velocit media di
trasferimento di 50 MB/s, quanti dischi occorrono affinch la loro
utilizzazione media si mantenga entro il 40%?
La lettura di un blocco richiede un tempo di accesso di ta = 10 ms,
ed un tempo di trasferimento
tt = 1 MB / 50 MB/s = 1/50 = 0.02 s
Complessivamente il tempo di occupazione di un disco per
leggere un blocco :
tD = ta + tt = 10 ms + 20 ms = 30 ms
Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 4

Video server - I

b-2)

Ciascuna stream richiede la lettura di 25 frame/s, quindi di un


blocco (da 50 frame) ogni 2 secondi
In totale una stream da un contributo allutilizzazione del disco
pari a:

UDISK = tD 1/2 = 30 ms / 2 s = 0.015 s


Con s stream e nDISK dischi lutilizzazione dei dischi :
UDISK = s UDISK / nDISK
Quindi, imponendo unutilizzazione dei dischi inferiore al 40%:
0.4 s70 UDISK / nDISK = 28 0.015 / nDISK
Risolvendo per nDISK (allintero superiore) si ha nDISK = 2

Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 5

Video server - I

c)

c) Che dimensione di memoria centrale necessaria per mantenere


doppi buffer per tutte le stream?
Ogni stream richiede due buffer, ciascuno di dimensioni pari a
quella di un blocco, cio 1 MB.
Pertanto, lavorando con s70 = 28 stream, la memoria necessaria
MBUFF :
MBUFF = s70 2 MB = 56 MB

Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 6

Video server - I

d)

d) Quale il volume di traffico tra dischi e memoria?


Ciascuna stream trasferisce 1 blocco ogni 2 secondi
Per cui, lavorando con s stream, complessivamente ogni secondo
vengono trasferiti:

= s 1 MB / 2 s = 14 MB/s

Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 7

Video server - II
Un video server gestisce stream a 25 frame/s. I frame sono registrati su
disco in blocchi di 1 MB che contengono ciascuno 50 frame, e ciascuno
di essi richiede 2 ms di elaborazione su di una CPU a 400 Mhz.
Supponendo di disporre di CPU a 1.6 GHz, e di dischi con tempo di seek
medio pari a 6 ms, tracce da 5 MB e velocit di rotazione di 3.000
giri/min, e di voler limitare lutilizzazione delle CPU al 70% e quella dei
dischi al 40%:
a) determinare la minima configurazione che consente di gestire un
carico di 300 stream;
b)calcolare leffettiva utilizzazione delle CPU e dei dischi nella
configurazione proposta;
c) supponendo invece di registrare i frame in blocchi da 5 MB e 250
frame, e di usare dischi delle stesse caratteristiche sopra definite,
calcolare come pu essere variata la configurazione dei dischi, e
quanto diventa la loro utilizzazione effettiva;

Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 8

Video server - II: carico di CPU

Dato che un frame richiede 2 ms su una CPU a 400 MHz, ne


deriva che, su una CPU a 1.6 MHz richiede:
2 ms 400 MHz/1.6 GHz = 2 ms 1/4 = 0.5 ms

Dato che una stream richiede lelaborazione di 25 frame/s, essa


richiede ogni secondo una disponibilit di CPU di:
tCPU = 25 0.5 ms = 12.5 ms

Quindi con una sola CPU a 1.6 GHz una sola stream comporta
una utilizzazione di CPU pari a:
UCPU = 0. 0125 1.2 %

Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 9

Video server - II:

carico del disco

Dalla velocit di rotazione si calcola il tempo di rotazione tR:


= 3000 giri/min = 50 giri/s = 50 s-1
tR = 1/ = 1/(50 s-1) = 0.02 s = 20 ms
Pertanto il tempo medio di latency e il tempo di accesso sono
tL= 10 ms , ta = tseek + tL = 16 ms
Dato che in un giro viene letta una traccia da 5 MB, la velocit di
trasferimento del disco :
VT = 5 MB = 50 s-1 5 MB = 250 MB/s
Quindi il tempo di trasferimento di un blocco :
tT = 1 MB / VT = 1 MB / 250 MB/s = 0.004 s = 4 ms
Quindi il tempo complessivo necessario a leggere un blocco :
tBLK = ta + tT = 16 ms + 4 ms = 20 ms
Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 10

Video server - II

a-1)

a) determinare la minima configurazione che consente di gestire un


carico di 300 stream;
Una stream richiede una disponibilit di CPU di tCPU = 12.5 ms,
per ogni secondo, quindi s = 300 stream richiederanno in totale,
per ogni secondo, TCPU secondi di lavoro:
TCPU = s tCPU = 300 12.5 ms = 3750 ms = 3.75 s
Lutilizzazione complessiva con nCPU CPU, che forniscono ogni
secondo nCPU secondi di lavoro :
UCPU = TCPU / nCPU = 3.75 / nCPU
Imponendo un utilizzazione inferiore al 70%:
0.7 UCPU = 3.75 / nCPU
nCPU 3.75 / 0.7 5.4
Quindi occorre avere almeno nCPU = 6
Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 11

Video server - II

a-2)

Una stream necessita la lettura di un blocco da 50 frame ogni 2


secondi, quindi occupa il disco, per ogni secondo per un tempo:
tDISK = tBLK / 2 = 10 ms
s = 300 stream richiederanno complessivamente ogni secondo
TDISK secondi di lavoro:
TDISK = s tDISK = 300 10 ms = 3000 ms = 3 s
Lutilizzazione complessiva con nDISK dischi, che forniscono ogni
secondo nDISK secondi di lavoro :
UDISK = TDISK / nDISK = 3 / nDISK
Imponendo un utilizzazione inferiore al 40%:
0.4 UDISK = 3 / nDISK
nDISK 3 / 0.4 7.5
Quindi occorre avere almeno nDISK = 8

Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 12

Video server - II

b)

b) calcolare leffettiva utilizzazione delle CPU e dei dischi nella


configurazione proposta;

Con nCPU = 6 lutilizzazione effettiva della CPU :


UCPU = TCPU / nCPU = 3.75 / 6 = 0.625 62 %

Con nDISK = 8 lutilizzazione effettiva dei dischi :


UDISK = TDISK / nDISK = 3 / 8 = 0.375 37 %

Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 13

Video server - II:

c-1)

c) supponendo invece di registrare i frame in blocchi da 5 MB e 250


frame, e di usare dischi delle stesse caratteristiche sopra definite,
calcolare come pu essere variata la configurazione dei dischi, e
quanto diventa la loro utilizzazione effettiva;

Il tempo di trasferimento di un blocco diventa:


tT = 5 MB / VT = 5 MB / 250 MB/s = 0.02 s = 20 ms

Quindi il tempo complessivo necessario a leggere un blocco :


tBLK = ta + tT = 16 ms + 20 ms = 36 ms

Una stream necessita la lettura di un blocco da 250 frame ogni 10


secondi, quindi occupa il disco, per ogni secondo per un tempo:
tDISK = tBLK / 10 = 3.6 ms

Si noti la diminuzione netta di tDISK da 10 ms a 3.6 ms.


Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 14

Video server - II:

c-2)

c) supponendo invece di registrare i frame in blocchi da 5 MB e 250


frame, e di usare dischi delle stesse caratteristiche sopra definite,
calcolare come pu essere variata la configurazione dei dischi, e
quanto diventa la loro utilizzazione effettiva;
s = 300 stream richiederanno complessivamente ogni secondo
TDISK secondi di lavoro:
TDISK = s tDISK = 300 3.6 ms = 1080 ms = 1.08 s
Lutilizzazione complessiva con nDISK dischi, che forniscono ogni
secondo nDISK secondi di lavoro :
UDISK = TDISK / nDISK = 1.08 / nDISK
Imponendo un utilizzazione inferiore al 40%:
0.4 UDISK = 1.08 / nDISK
nDISK 1.08 / 0.4 2.7
Quindi occorre avere almeno nDISK = 3
Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009

E5- 15