Calculate Amdahl’s Law speedup, maximum speedup, or processors needed from the parallel portion and number of processors or cores.
Related Calculators
- Call Attempts Per Second Calculator
- RTT Calculator
- Log Base 2 Calculator
- Percent To Ratio Calculator
- All Math and Numbers Calculators
Amdahl’s Law Formula
The following formula is used to calculate the speedup achieved by using parallel processing according to Amdahl’s Law:
Speedup = {1}/({(1 - p) + {p}/{n}})Variables:
- Speedup is the overall speedup achieved by parallel processing
- p is the proportion of the program that can be parallelized (between 0 and 1)
- n is the number of processors used (n ≥ 1)
To calculate the speedup, first compute the denominator (1 − p) + (p / n), then take its reciprocal: Speedup = 1 / ((1 − p) + (p / n)).
What is Amdahl’s Law?
Amdahl’s Law, named after computer architect Gene Amdahl, is a formula used to find the maximum improvement possible by enhancing a particular part of a system. In the context of parallel computing, it is used to predict the theoretical maximum speedup for program processing using multiple processors. The law states that the speedup of a program using a parallel algorithm is limited by the time needed for the sequential fraction of the program. In other words, if a program needs 20 hours to complete in sequential mode (i.e., with one processor) and a particular part of the program which takes one hour to execute cannot be parallelized, while the remaining 19 hours (95%) of execution time can be parallelized, then regardless of how many processors are devoted to a parallelized execution of this program, the minimum execution time cannot be less than that critical one hour. Hence, the speedup is limited by the non-parallelizable section of the process.
How to Calculate Amdahl’s Law?
The following steps outline how to calculate Amdahl’s Law:
- First, determine p, the fraction of total execution time that can be parallelized (0 to 1).
- Next, determine n, the number of processors (n ≥ 1).
- Next, compute the denominator: D = (1 − p) + (p / n).
- Next, compute the overall speedup: S = 1 / D.
- Finally, note that as n becomes very large (ideal scaling), the theoretical maximum speedup approaches Smax = 1 / (1 − p).
Example Problem :
Using the following values, calculate the speedup S (using S = 1 / ((1 − p) + (p / n))).
number of processors used (n) = 4
proportion of the program that can be parallelized (p) = 0.6
