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:

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.