Vai al contenuto

Calcolatore della legge di Amdahl

Stima accelerazione parallela ideale, efficienza e tempo di esecuzione per un carico di lavoro fisso.

Dati di ingresso

Elaborazione nel browser.

0–100%

1–1,000,000

Tempo di esecuzione positivo per lo stesso carico di lavoro fisso.

Risultato

Inserisci i valori e calcola per visualizzare il risultato.

Come usare la legge di Amdahl

Inserisci la percentuale del tempo originale su un solo processore che può essere suddivisa tra più processori. Poi inserisci il numero di processori o lavoratori e un tempo iniziale positivo. L'unità di tempo è solo un'etichetta: usa la stessa unità nell'interpretare il risultato previsto.

Questo strumento modella una quantità fissa di lavoro. Non misura le prestazioni del computer, non esamina codice e non determina la frazione parallela. Stimala tramite profilazione o una scomposizione motivata del carico di lavoro.

  1. Inserisci la parte parallelizzabile da 0% a 100%.
  2. Inserisci un numero intero di processori, almeno uno.
  3. Inserisci il tempo iniziale con un processore e scegli secondi, minuti o ore.
  4. Calcola accelerazione ideale, efficienza, tempo previsto, tempo risparmiato, quota seriale e limite asintotico.

Formula e interpretazione

Per una frazione parallela P e N processori, il tempo relativo è (1 − P) + P/N. L'accelerazione è 1 diviso per quel tempo relativo. L'efficienza è l'accelerazione divisa per N. Il tempo previsto è il tempo iniziale moltiplicato per il tempo relativo.

La frazione seriale 1 − P limita il risultato. Quando N tende a infinito, l'accelerazione ideale tende a 1/(1 − P). Quando P è esattamente 100%, questo limite semplificato è illimitato, ma le macchine reali hanno comunque costi aggiuntivi e risorse finite.

Esempi svolti

90% parallelo su otto processori

Il tempo relativo è 0.10 + 0.90/8 = 0.2125. L'accelerazione è circa 4.71× e l'efficienza circa 58.82%. Un tempo iniziale di 100 secondi diventa 21.25 secondi, con un risparmio di 78.75 secondi.

50% parallelo su quattro processori

Il tempo relativo è 0.50 + 0.50/4 = 0.625. L'accelerazione è 1.6× e l'efficienza 40%. Il limite con infiniti processori è solo 2×.

Perché aumentare i processori dà benefici decrescenti

Aggiungere processori riduce solo P/N, non la parte seriale. Quando il termine parallelo diventa piccolo rispetto a quello seriale, ogni processore aggiuntivo cambia pochissimo il tempo totale. Perciò l'efficienza di solito diminuisce aumentando i processori in questo modello ideale a lavoro fisso.

Usa il risultato come aiuto alla scelta: confronta numeri plausibili di processori e valuta se il tempo previsto inferiore giustifica le risorse aggiunte. È una stima teorica di limite superiore, non una promessa di prestazioni misurate.

Ipotesi e limiti

  • La dimensione del carico e la frazione parallela restano fisse.
  • Il lavoro parallelo si divide perfettamente e i processori hanno prestazioni uguali.
  • Comunicazione, sincronizzazione, pianificazione, larghezza di banda della memoria, effetti della cache, avvio, contesa e squilibrio del carico sono considerati nulli.
  • Il riferimento rappresenta lo stesso lavoro e la stessa implementazione.
  • Il tempo reale può essere maggiore e persino peggiorare quando predominano i costi aggiuntivi.

Domande frequenti

La percentuale parallela è l'utilizzo della CPU?

No. È la quota del tempo originale che può essere accelerata in parallelo.

Perché otto processori non danno un'accelerazione di 8×?

Il lavoro seriale rimane e nemmeno questo modello ideale può dividerlo.

Che cosa significa efficienza?

Accelerazione divisa per il numero di processori, mostrata come percentuale della scalabilità lineare ideale.

Il modello include costi aggiuntivi?

No. La nota specifica intenzionalmente che i costi aggiuntivi sono esclusi.

Quando devo misurare le prestazioni?

Sempre prima di una decisione importante su capacità o hardware; usa questo modello per definire le aspettative.