[comp.arch] || execution

mac3n@babbage.acc.virginia.edu (Alex Colvin) (01/30/88)

In article <3084@lll-winken.llnl.gov>, brooks@lll-crg.llnl.gov (Eugene D. Brooks III) writes:
> The basic reason is that the cost of synchronization increases as the number
> of processors is increased, and for a fixed problem size you can actually lose
> to the sync costs as the number of processors goes up.  This leads to the
> "negative speedup" problem, where performance actually goes down as the number
> of processors is cranked up

Synchronization costs should go up as the log of the number of
processors, where available computing power goes up linearly.  For
typical numbers of processors (<=100), though you're operating in the
low end of the scale and the nonlinear glitches dominate. 

You also lose if you synchronize more processors than you can
effectively use.  For example, when you have fixed synchronization
across your whole processor pool.