Supercomputer/Legge di Amdahl

Wikibooks, manuali e libri di testo liberi.
Indice del libro
L'aumento di velocità di un programma che usa più processori nell'informatica parallela è limitato dalla frazione sequenziale del programma. Per esempio, se metà del programma è sequenziale, l'aumento massimo teorico di velocità che si ottiene usando un sistema distribuito sarebbe 2 (1/(0.5+(1-0.5)/N)) quando N è grandissimo

La legge di Amdahl, che ha preso il nome del progettista di computer Gene Amdahl, viene usata per trovare il miglioramento atteso massimo in un sistema informatico quando vengono migliorate solo alcune parti del sistema. Viene usata spesso nell'informatica parallela per predirre l'aumento massimo teorico di velocità che si ottiene usando più processori.

La legge di Amdahl può essere interpretata in modo più tecnico, ma in parole povere significa che è l'algoritmo a decidere l'aumento di velocità, non il numero di processori. Prima o poi si raggiunge un punto in cui non si può parallelizzare ulteriormente l'algoritmo.

La legge di Amdahl è una dimostrazione della legge dei rendimenti calanti: anche se si potesse aumentare la velocità di una parte di un computer di cento o più volte, se tale parte influisce solamente sul 12% dell'elaborazione complessiva, al massimo l'accelerazione può essere è di un fattore .

Più tecnicamente, la legge riguarda l'aumento di velocità ottenibile da un miglioramento a un calcolo che influisce per una proporzione P di quel calcolo, dove il miglioramento riduce il tempo di calcolo di un fattore S. (Per esempio, se un miglioramento può velocizzare il 30% del calcolo, P sarà 0.3; se il miglioramento raddoppia la velocità della porzione modificata, S sarà 2.) La legge di Amdahl afferma che l'aumento di velocità complessivo prodotto dal miglioramento sarà

Quindi al crescere del numero di processori che lavorano in parallelo l'incremento di prestazioni diventa sempre minore dato che la componente non parallelizzabile dei programmi diventa sempre più significativa nei tempi di calcolo totali.