La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo 255 5 Valutazione delle prestazioni 5Generalità 5.1Prestazioni della CPU 5.2Prestazioni.

Presentazioni simili


Presentazione sul tema: "Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo 255 5 Valutazione delle prestazioni 5Generalità 5.1Prestazioni della CPU 5.2Prestazioni."— Transcript della presentazione:

1 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Valutazione delle prestazioni 5Generalità 5.1Prestazioni della CPU 5.2Prestazioni del sistema 5.3Considerazioni finali

2 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Generalità l La misura delle prestazioni permette il confronto di architetture o sistemi diversi l generalmente le prestazioni sono collegate alla velocità di esecuzione l possono essere classificate in base: –alle durate temporali delle singole istruzioni –alla durata temporale di interi programmi o sezioni significative

3 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU classificazione è utile distinguere tra l prestazioni della CPU –legate ai tempi di esecuzione della CPU, quindi user CPU time ed eventualmente anche system CPU time l prestazioni del sistema –legate al tempo di esecuzione totale, e quindi al- lI/O, ai dispositivi di memoria, allarchitettura,...

4 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU definizione parametri 1 Confrontiamo le caratteristiche di due mezzi di tras- porto in un generico tratto autostradale da 100 Km: –Chi è il mezzo più veloce per lutente? (tempo di trasferimento) –Chi è il mezzo più veloce per il gestore dei trasfe- rimenti ? (numero utenti trasferiti nellunità di tempo)

5 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU definizione parametri 2 Occorre distinguere due parametri: l tempo di esecuzione (detto anche response time o elapsed time), intervallo di tempo necessario ad eseguire una data attività l banda passante (detto anche bandwidth o throughput), numero di attività eseguite in un dato intervallo di tempo

6 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU tempo di esecuzione 1 l le prestazioni di un sistema in base al tempo di esecuzione si possono misurare con 1 tempo_esecuzione_X prestazioni_X = l due sistemi hanno prestazioni diverse se il tempo di esecuzione della stessa attività è diverso

7 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU tempo di esecuzione 2 l in un sistema il tempo di esecuzione può dipendere anche da fattori esterni, quali la presenza o meno di processi concorrenti l in generale il tempo di esecuzione CPU (CPU time), o tempo dedicato dalla CPU per svolgere quellattività, è composto da –tempo CPU dedicato allutente (user CPU time) –tempo CPU dedicato al sistema (system CPU time)

8 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU tempo di esecuzione 3 l provare ad esempio in ambiente LINUX il comando per calcolare il tempo di sistema e quello totale di un dato comando: time ls -l xxx u yyy s z:zz pp% xxx = user CPU time yyy = system CPU time z:zz = elapsed time (tempo totale di esecuzione) = xxx + yyy + non_CPU_time

9 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU tempo di esecuzione 4 l il tempo CPU di esecuzione, o CPU time, è dato da CPU_time = (numero cicli di clock CPU) * (durata di un ciclo) numero cicli di clock CPU frequenza di clock = esempio: se una CPU ha una frequenza di clock di 200 MHz e richiede 100 cicli di clock per eseguire un dato comando, il tempo CPU di esecuzione vale: CPU_time = 100 / (200 x 10 6 ) = 0,5 S

10 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU CPI 1 l Clock cycles per instruction, numero medio di cicli di clock necessari per eseguire unistruzione; per il calcolo si può –partire da un insieme di istruzioni –partire dal tempo totale di esecuzione di un dato insieme di istruzioni CPI = i C i x F i CPI = CPU_Time x frequenza_clock numero_istruzioni_eseguite con C i = numero cicli istruzione i-esima F i = frequenza istruzione i-esima

11 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU CPI 2

12 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU MIPS 1 l MIPS, Million Instructions Per Second MIPS nativo = numero di istruzioni tempo di esecuzione x 10 6 = frequenza di clock CPI x 10 6 l MIPS di picco, quando le istruzioni sono scelte per minimizzare il CPI (poco realistico) l MIPS relativo, quando fa riferimento ad una macchina standard (difficile da mantenere aggiornato)

13 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU caratteristiche del MIPS 1 l facile da capire e da calcolare teoricamente e da valutare praticamente l inadatto nel confronto con CPU aventi set di istruzioni diverse (penalizza le CISC) l strettamente dipendente dal mix di istruzioni prese in esame

14 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU caratteristiche del MIPS 2 Supponiamo di avere due sistemi, M1 ed M2, con il medesimo set di istruzioni, ma con architetture e fre- quenze di clock diverse, rispettivamente 200 e 300 MHz Dividiamo le istruzioni in classi omoge- nee per fre- quenza di uti- lizzo e di du- rata in cicli.

15 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU caratteristiche del MIPS 3 l calcolo del MIPS nativo su tutte le istruzioni: MIPS native = freq_clock / CPI x 10 6 CPI globale = i C i x F i CPI M1 = 1 x 0,5 + 2 x 0,3 + 3 x 0, x 0,05 = 1,75 MIPS nativo M1 = 200 x 10 6 / 1,75 x 10 6 = 114 CPI M2 = 2 x 0,5 + 2 x 0,3 + 4 x 0, x 0,05= 2,40 MIPS nativo M2 = 300 x 10 6 / 2,40 x 10 6 = 125

16 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU caratteristiche del MIPS 4 l calcolo del tempo di esecuzione di 10 6 istruzioni: CPU time M1 = 1,75 x 10 6 / 200 x 10 6 = 8,7 mS CPU time M2 = 2,40 x 10 6 / 300 x 10 6 = 8,0 mS CPU time = numero_istruzioni x CPI_globale frequenza_di_clock

17 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU caratteristiche del MIPS 5 l calcolo del MIPS di picco: MIPS peak = freq_clock / CPI_minimo = 200 x 10 6 / 1 = 200 MIPS peak per M1 = 300 x 10 6 / 2 = 150 MIPS peak per M2 l calcolo del MIPS nativo con istruzioni di classe A e C: MIPS nativo M1 = 200 x 10 6 / (0,5 x 1 + 0,5 x 3) x 10 6 = 100 MIPS nativo M2 = 300 x 10 6 / (0,5 x 2 + 0,5 x 4) x 10 6 = 100

18 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni della CPU MFLOPS l MFLOPS, Million FLoating-point Operations Per Second, ha le stesse caratteristiche del MIPS, ma valuta solo le prestazioni dellunità FP l è influenzato dal mix di istruzioni usate (non tutte le istruzioni FP sono implementate in tutte le CPU) l MFLOPS normalizzato, in cui viene adottata una ripartizione percentuale prefissata delle varie operazioni FP

19 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni del sistema generalità l Spesso non interessa sapere le prestazioni della CPU, quanto quelle dellintero sistema l purtroppo queste dipendono da –lalgoritmo e le strutture dati adottate –il compilatore utilizzato –il tipo di CPU in uso ed il set di istruzioni –lambiente operativo –le prestazioni della memoria e dellI/O

20 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni del sistema benchmark 1 l un benchmark è un programma (o insieme di programmi) atto a valutare le prestazioni del sistema in cui viene fatto eseguire l usato in macchina diverse permette di confrontarle l usato nella stessa macchina, permette di valutare gli effetti di modifiche hardware o le prestazioni di compilatori diversi

21 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni del sistema benchmark 2 I benchmark si possono dividere in l limitati (toy benchmark), in cui il numero contenuto di linee di programma permette unanalisi molto sommaria del sistema l sintetici (synthetic benchmark), basati su una distribuzione di istruzioni che riproducono la distribuzione tipica dei programmi commerciali l significativi (kernel benchmark), composti da parti significative di programmi commerciali l reali (real benchmark), basati sullesecuzione standard di più programmi commerciali

22 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni del sistema benchmark 3 I più noti sono: l Whetstone, adatto per valutazioni FP l Dhrystone, adatto a valutare integer e FP, è troppo corto e può risiedere gran parte in cache l Linpack, adatto per valutare FP l SPEC

23 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni del sistema benchmark 4 l offrono un sistema di valutazione globale abbastanza veloce e facilmente trasportabile in varie piattaforme l i limitati ed i sintetici non riproducono situazioni operative reali l non si valuta la capacità elaborativa del sistema, ma laccoppiata sistema-software specifico, e non è detto che con nuovo software le prestazioni siano analoghe

24 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni del sistema SPEC 1 l Standard Performance Evaluation Corporation, creato da un gruppo di venditori per creare un prodotto di valutazione standard l viene aggiornato ogni 3 anni circa, attualmente SPEC95, composto da 8 moduli integer e 10 FP l è un insieme di benchmark specifici, di cui viene fatta la media geometrica l fornisce informazioni numeriche inversamente legate al tempo di esecuzione (valori SPEC elevati = migliori prestazioni)

25 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Prestazioni del sistema SPEC 2 l nella determinazione dello SPEC sono ammessi tutti i trucchi per aumentare l eprestazioni (disabilitare tutti gli altri processi, adottare specifici flag per il compilatore, modificare il kernel del S.O.,..) l in tal modo si evitano controlli rigorosi e si ha la sicurezza che il valore ottenuto rappresenta il massimo raggiungile

26 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Considerazioni finali prestazioni medie Dovendo calcolare la media di più risultati si può adottare: media aritmetica X a = R i / N ( tempi di esecuzione) media geometrica X g = R i 1/N ( tempi normalizzati) media armonica X m = N / 1/R i ( throughput) N i=1 N N

27 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Considerazioni finali legge di Amdahl 1 l determina lo speed-up (aumento della velocità) conseguente allaumento di prestazioni di una frazione di sistema Speed Up = Vecchie_prestazioni Nuove_prestazioni Vecchie_prestazioni Incremento_parziale Vecchie_prestazioni (1- ) + Vecchie_prestazioni =

28 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Considerazioni finali legge di Amdahl 2 l Se ad esempio raddoppio le prestazioni di ununità della CPU (ad esempio lALU FP), ed il tempo di esecuzione normalmente speso da questa unità è il 10% del tempo totale, lo speed-up vale: Speed Up = 1 (1-0,1) + 0,1 2 = 1,05


Scaricare ppt "Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo 255 5 Valutazione delle prestazioni 5Generalità 5.1Prestazioni della CPU 5.2Prestazioni."

Presentazioni simili


Annunci Google