Amdahl's Law states that the maximal speedup of a computation where the fraction S of the computation must be done sequentially going from a 1 processor system to an N processor system is at most
1 / (S + [(1 - S) / N])
Does anyone know of books or notes where the actual analysis of the code, for some non-trivial computation, for determining the fraction S is done ?
There is a very good discussion of Amdahl's law in the Microsoft Patterns and Practices book on Parallel Programming with .NET.
Doing a detailed analysis of the code is going to be quite difficult - as every situation is unique.
However, it should be something that can be easily approximated, provided you have the mechanisms to determine the amount of concurrency. By changing the usable concurrency and profiling, you should be able to estimate S
by solving the equation in reverse.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With