In simple terms, a program has 15% running on a sequential portion and 85% is its parallel portion.
How could I figure out the maximum speedup with an infinite amount of processors?
And also, how could I figure out, let's say, how many processors are needed to speed up the program to 80% of its maximum speed?
Using Amdahl's laws. I've tried looking around the internet, google, etc. Haven't found anything that could help me out with this simple problem!
Best How To :
Logically, if you assume infinite processors will speed up the 85% infinitely, that is the run time for that portion is going to be near zero, what you are left with is the 15%. Thus the maximum speedup is ~6.6 times.
How many cpus to speed up to 80% of maximum? Assuming that means you want execution time of 15%/80%=18.75%. Since 15% is needed for the sequential part, the 3.75% must be covering the 85% parallelized. Thus you need 85/3.75 ~23 cpus.