1 Introduzione Sistema di calcolo Valutazione dell’impatto delle varie modifiche sulle prestazioni globali del sistema Modifiche all’architettura
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 Progettare e ottimizzazione Ottimizzare l’attività più comune porta a miglioramente globali più significativi La progettazione “quantitativa” dei calcolatori Progetto quantitativo non ottimizzare indistintamente ma sulla base dell’uso effettivo delle varie risorse selezionare le sottounità cui destinare le risorse, spesso a discapito di altre Spesso l’attività più comune è anche quella più semplice da ottimizzare
4 Domanda Supponiamo di disporre di alcune modalità ottimizzate di funzionamento del sistema I limiti alle aspettative Esiste un limite al miglioramento delle prestazioni globali? Si, ed è legato alla frazione del tempo nella quale le modalità ottimizzate possono venire realmente impiegate Risposta
5 Lo speedup ci indica quanto più velocemente un lavoro verrà svolto usando la macchina con o senza una ottimizzazione Speedup (accelerazione) Prestazione per l’intero lavoro usando (quando possibile) l’ottimizzazione Prestazione per l’intero lavoro senza usare l’ottimizzazione Speedup = Oppure riferendoci ai tempi di esecuzione Tempo di esecuzione per l’intero lavoro usando (quando possibile) l’ottimizzazione Tempo di esecuzione per l’intero lavoro senza usare l’ottimizzazione Speedup =
6 Legge di Amdhal: formulazione analitica Attività AAttività B Tempo totale di esecuzione (T) F*T(1-F)*T Un sistema svolge per esempio due attività, A e B, che occupano diverse frazioni del tempo di esecuzione: F e (1-F) E’ disponibile un modo di funzionamento ottimizzato per l’attività A, caratterizzato da speedup ott Il tempo necessario per completare A viene a ridursi, senza influenzare l’attività B Attività AAttività B Riduzione del tempo di calcolo Tempo di calcolo invariato
7 Legge di Amdhal: formulazione analitica Attività AAttività B Tempo totale di esecuzione vecchio (Tv) F * Tv(1-F) * Tv Attività AAttività B Tempo totale di esecuzione nuovo (Tn) (1-F) TvF* Tv /speedup ott A livello globale, lo speedup diviene Speedup glob =Tv/Tn = 1 Il nuovo tempo di esecuzione Tn sarà sempre la somma dei contributi delle attività A e B Tn = F * Tv /speedupott + (1-F) Tv (1-F)+(F/ speedupott)
8 Osservazioni I guadagni maggiori si ottengo ottimizzando le modalità di funzionamento che occupano la maggior parte del tempo di esecuzione Esiste un limite massimo al miglioramento ottenibile Se lo Speedup ott diviene elevatissimo, al massimo posso rendere trascurabile solo il contributo di una delle attività
9 Osservazioni Attività AAttività B Tempo totale di esecuzione Tv F*Tv(1-F)*Tv Attività B Tempo di calcolo invariato Tn=(1-F)*Tv (1-F)+(F/ speedup ott ) max Speedup glob =Tv/Tn = 1 (1-F) 1 Limite teorico allo speedup ottenibile
10 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
11 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%
12 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
13 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
14 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
15 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%
16 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
17 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