1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni
2 Esistono varie attività che si alternano durante il funzionamento di un sistema di calcolo Calcolo, visualizzazione, comunicazione,... Al variare del tipo di problema, ogni attività si incontrerà con una frequenza differente Per esempio, in un programma di videoscrittura la necessità di svolgere calcoli non è molto frequente L e attività durante l’esecuzione
3 Si consideri un miglioramento che consente ad una macchina un funzionamento 10 volte più veloce, ma che sia utilizzabile solo per il 40% del tempo Quale è il guadagno complessivo (speedup globale ) che si ottiene? Problema tipico
4 10 volte più veloce Utilizzabile per il 40% del tempo Soluzione Speedup glob = 1= (0.4/ 10) Speedup ott =10 F= 0.4, (1-F) = 0.6 A livello globale si ottiene un miglioramento solo del 56%
5 Riepilogo In molti casi è possibile ottimizzare solo alcune delle attività che concorrono allo svolgimento di un lavoro È preferibile concentrare gli sforzi su quelle che occupano la maggior parte del tempo di esecuzione La legge di Amdhal consente di prevedere il guadagno complessivo Esiste comunque un limite teorico massimo al miglioramento ottenibile
6 Test di autovalutazione - 1 Si supponga che l’esecuzione di un programma richieda lo svolgimento di tre attività –A, B, C- che occupano rispettivamente il 10%, 80% e il 10% del tempo di esecuzione. Avendo a disposizione un budget che consente di ottimizzare (nella stessa misura) solo una delle tre modalità di funzionamento, come destinereste le vostre risorse a)Tutte sull’attività B b)Indifferentemente A o C c)Uniformemente fra A, B e C
7 Test di autovalutazione - 2 –Si supponga che il tempo di elaborazione sia così ripartito fra due sottoattività: elaborazione (CPU) e accesso al disco (I/O): I/O: 60%, CPU: 40%. Date due possibili ottimizzazioni a) e b) così caratterizzate A) modifica della sola cpu con speedup ott = 10 B) modifica del solo disco con speedup ott = 4 –dire quale delle affermazioni seguenti è vera 1.A) è più vantaggiosa ovvero porta ad uno speedup globale più elevato di B) 2.B) è più vantaggiosa ovvero porta ad uno speedup globale più elevato di A) 3.È preferibile lasciare il sistema invariato 4.A conti fatti, le due soluzioni A) e B) sono equivalenti
8 Test di autovalutazione - 3 –Dato un sistema partizionabile in due sottoattività A e B, che impiegano rispettivamente il 20% e l’80% del tempo di esecuzione –Quale è il limite teorico dello speedup globale che si può raggiungere ottimizzando, solo l’attività B? 1.Speedup globale =80% 2.Speedup globale =1/0.2=5 3.Speedup globale =1/0.8= Speedup globale =20%+80%=100% 5.Speedup globale =20%
9 In un sistema la CPU è usata per il 50% del tempo e il rimanente è destinato ad attese per operazioni di I/O. Si supponga di potere aumentare la velocità della CPU di un fattore 5 (senza influenzare I/O) con un costo 5 volte superiore. Se la CPU è un terzo del costo totale di un computer, è un buon investimento sotto dal punto di vista costo/prestazioni aumentare di un fattore 5 la velocità della CPU? Approfondimento: costo/prestazioni
10 Analisi delle alternative F/SUott Speeup globale = = 1.67 Incremento di costo = 2323 * * 5 = 2.33 Costo del resto del computer Costo della CPU Incremento (nullo) di costo Incremento di costo 1-F L’incremento globale del costo (2.33) è superiore all’incremento delle prestazioni (1.67). La modifica non migliora pertanto il rapporto costo-prestazioni