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!
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.