Gustafson’s Law Calculator
The speedup a parallel program achieves when the problem size grows with the processors — Gustafson’s law — alongside Amdahl’s fixed-size bound, and the serial fraction that would explain a measured result.
Amdahl asks how much faster a fixed job runs on N processors and is limited by the serial part; Gustafson asks how much more work N processors do in the same time, and finds the limit far less severe: S = N − (1 − p)(N − 1), where p is the parallel share of the run on the big machine.
How the gustafson’s law calculator works
Amdahl asks how much faster a fixed job runs on N processors and is limited by the serial part; Gustafson asks how much more work N processors do in the same time, and finds the limit far less severe: S = N − (1 − p)(N − 1), where p is the parallel share of the run on the big machine. With 5% serial work, 100 processors give a scaled speedup of 95 under Gustafson but only 17 under Amdahl. Both are right — they answer different questions.
Formula: Gustafson: S = N − (1 − p)(N − 1); Amdahl: S = 1 ÷ ((1 − p) + p ÷ N)
Worked examples
| Inputs | Scaled speedup (Gustafson) | Note |
|---|---|---|
| 95% parallel on 100 processors | 95.05 | Gustafson 95.05, Amdahl 16.8 |
| 99% parallel on 1,000 | 990.01 | 990 vs 91 |
| Half serial on 8 | 4.5 | 4.5 vs 1.78 |
FAQFrequently asked questions
Which law should I use?
Amdahl if the problem stays the same size and you want it done faster; Gustafson if you would use a bigger machine to run a bigger problem in the same time — weather models, simulations, most scientific computing. Benchmarks quote both as strong and weak scaling.
Why do the two disagree so much?
They define the parallel fraction differently: Amdahl measures it on the single-processor run, Gustafson on the parallel run, where the serial part is a smaller share of a longer total. Convert one to the other and they agree.
What limits Gustafson scaling in practice?
Communication and synchronisation that grow with N, memory and I/O contention, and load imbalance. The law is an upper bound; measured weak-scaling efficiency of 70–90% at thousands of cores is considered very good.
How do I measure the parallel fraction?
Time the run on 1 and on N processors: for Amdahl, p = (1 − 1/S) ÷ (1 − 1/N); for Gustafson, p = (S − 1) ÷ (N − 1). Profilers can also attribute time to serial sections directly.
Where these figures come from
- IEC 80000-13 — Information science and technology (quantities and units) — the decimal (kB, MB) versus binary (KiB, MiB) prefixes used throughout
- RFC 4632 — Classless Inter-domain Routing (CIDR) — the address-plan arithmetic behind the subnet calculator
- RFC 1918 — Address Allocation for Private Internets — the private ranges the subnet calculator recognises
- NIST SP 800-63B — Digital Identity Guidelines, Authentication — length over composition rules; the basis of the password guidance here
- NIST SP 800-57 Part 1 — Recommendation for Key Management — key-strength comparisons used by the key-space calculator
- Australian Cyber Security Centre — Essential Eight — national guidance on passphrases and system hardening
Last checked: September 2026. Units follow the SI decimal convention (IEC 80000-13 defines the binary alternatives); network and security figures cite the defining standard.