So we know that 75% of the code is parallelizable. We have a six-core machine. Let's assume perfect speedup: 0.75 / 6 = 0.125, then we add the inherently serial portion and get 0.25 + 0.125 = 0.375. It's impossible to get 5x speedup, since that would require doing this in 0.2 units of time. Also, now that I did this out it occurs to me that with 25% of the operations being inherently serial there's no way we can get 5x speedup since that would require doing the entire thing in 20% of the time.

ekr

Why does it seem like our boss in this class never has any idea what he's talking about?

rbcarlso

This is a trick question, both are in the wrong. The boss is in the wrong because of Amdahl's Law, and your friend is in the wrong because shouting obscenities at an employer or employee is not appropriate workplace behavior.

apoms

The only case where it would be possible that this goal could be achieved is if by adding cores our entire working set now fits in cache thus resulting in a superlinear speedup.

So we know that 75% of the code is parallelizable. We have a six-core machine. Let's assume perfect speedup: 0.75 / 6 = 0.125, then we add the inherently serial portion and get 0.25 + 0.125 = 0.375. It's impossible to get 5x speedup, since that would require doing this in 0.2 units of time. Also, now that I did this out it occurs to me that with 25% of the operations being inherently serial there's no way we can get 5x speedup since that would require doing the entire thing in 20% of the time.

Why does it seem like our boss in this class never has any idea what he's talking about?

This is a trick question, both are in the wrong. The boss is in the wrong because of Amdahl's Law, and your friend is in the wrong because shouting obscenities at an employer or employee is not appropriate workplace behavior.

The only case where it would be possible that this goal could be achieved is if by adding cores our entire working set now fits in cache thus resulting in a superlinear speedup.