# Amdahl's law of processors (infinite processors to test limits of speedup)

My processor noted that an infinite number of processors will allow me to test how much speedup I can achieve.

I am not exactly sure how this applies.

For instance, let's say I have a program that takes $1000$ seconds to execute and is broken into 4 phases(A, B, C, D). If two of the phases are $50%$ parallelizable and the other $2$ are not parallelizable at all, how can I apply the concept that I have infinite available processors to figure out how much maximum speed up I can achieve?

I attached numbers to my example, but a generic one would be just as helpful.

If I am to strictly just apply Amdahl's law, I'd say the answer is just $1/(1-0.5) = 2$ times faster.

• When you say that it's "50 parallelizable", do you mean that two of the phases can be sped up 50 times due to parallelization? Commented Apr 24, 2017 at 16:07

Don't think of it as "you've been given infinity processors." Think of it as "you can have as many processors as you want, but of course after a certain point more professors won't help, so find out how fast you can make it run with the optimum number of processors."

• I have added my attempt at the answer. Am I on the right track? I do understand what you're saying about the optimum # of procs, because at a certain point the serialization for the processes overpowers the gain from parallelization.
– user40759
Commented Apr 24, 2017 at 6:48
• Heh. "... after a certain point, more professors won't help ...". That's always been my experience. Commented Apr 24, 2017 at 12:53