| Tuckman-Model :👈 | 👉:PM-Interview-Questions |
Amdahl's Law |
Amdahl's law is a principle in computer science that predicts the theoretical maximum speedup of a system when only part of it is optimized. It is widely used in parallel computing to illustrate that the overall performance gain is limited by the portion of a program that cannot be parallelized. The law was formulated by computer architect Gene Amdahl in 1967. It highlights that even with a massive increase in processing resources, the sequential, non-parallelizable part of a program will eventually become a bottleneck, capping the maximum achievable speedup.
The formula for Amdahl's law calculates the speedup ($S$) based on the fraction of the program that can be enhanced ($P$) and the number of parallel units ($N$) used.
$$S=\frac{1}{(1-P)+\frac{P}{N}}$$Where:
Imagine a program where 75% of the code can be parallelized, and you want to run it on a system with four processors.
In this case, the theoretical speedup is limited to approximately 2.28 times, even though you have four processors. The 25% of the program that must run sequentially creates a performance bottleneck.
While Amdahl's law provides a crucial insight into parallel processing, it has several important limitations:
| Tuckman-Model :👈 | 👉:PM-Interview-Questions |