Applicare la legge di Amdahl per migliorare le prestazioni del sistema: Calcoli e studi di casi
L’applicazione della legge di Amdahl contribuisce a valutare i potenziali miglioramenti delle prestazioni del sistema nell’ottimizzazione di componenti specifici, fornendo un modo per stimare la massima velocità possibile grazie al miglioramento di parte di un sistema, considerando la percentuale di tempo utilizzata.
Comprendere la legge di Amdahl
La legge di Amdahl afferma che la velocità complessiva di un sistema è limitata dalla parte del sistema che non può essere migliorata.
Speedup = 1 / ((1 - P) + (P / S)]]
Dove:
- P[] = percentuale del tempo di esecuzione influenzato dal miglioramento
- S = velocità della parte migliorata
Calcolo dei miglioramenti del sistema
Per stimare l'impatto di un aggiornamento, identificare la parte del sistema che verrà migliorata e determinare il suo contributo attuale al tempo di esecuzione totale.
Ad esempio, se un'attività spende il 40% del suo tempo su un componente che può essere sped up da un fattore di 4, la velocità massima è calcolata come:
Speedup = 1 / ((1 - 0.4) + (0.4 / 4)) = 1 / (0.6 + 0.1) = 1 / 0.7 ≈ 1.43
Case study: Lavorazione multi-core
In un sistema in cui il 70% del tempo di lavorazione può essere parallelizzato, aggiornando il componente parallelo per eseguire 8 volte più velocemente si traduce in una velocità massima di:
Speedup = 1 / ((1 - 0.7) + (0.7 / 8) = 1 / (0.3 + 0.0875) ≈ 3.2
Ciò dimostra la diminuzione dei ritorni come la parte non-parallelizzabile limita i guadagni di prestazioni generali.