3 ms·
Many computing problems can't be parallelised and in almost all there are dependencies and synchronisation issues that mean a single double speed CPU is almost
by josephlord 14y ago
Many computing problems can't be parallelised and in almost all there are dependencies and synchronisation issues that mean a single double speed CPU is almost always better than two normal ones. Exception might be that when a buggy programme gets locked in a tight loop it will only be able to take half the resources.
To use another car analogy. Counting clock speed is like counting the cars max RPM instead of actually measuring the performance. And then they have totalled the max RPM figures as if they have have 90,000RPM engine.
- alexchamberlain 14y agoConversely, there are many problems, most notably in the low-level mathematics, which can be parallelised. Matrix multiplication for example...
- josephlord 14y agoYes there are infinitely* many problems that can be parallelised but even in the best case they will only equal the single processor at double the speed. http://home.wlu.edu/~whaleyt/classes/parallel/topics/amdahl.html http://home.wlu.edu/~whaleyt/classes/parallel/topics/amdahl.... I should have referenced Amdahl's law in the previous post but didn't want to misspell it and bother to look it up. *Infinite numbers exist of both parallel and serial computing requirements. Practically there will almost always be additional cost in parallel implementation even if the extra is insignificant such as higher start up cost and coordination for shutdown.
- mclarkk 14y agoAmdahl's Law did throw a damp cloth over the fire of enthusiasm about parallel computing...for a while. But then we got Gustafson's Law: http://en.wikipedia.org/wiki/Gustafson%27s_Law http://en.wikipedia.org/wiki/Gustafson%27s_Law Gustafson and Barsis pointed out that Amdahl assumed a fixed input size. If instead you grow the problem size along with the number of processors, the speedup from parallelism grows indefinitely. Of course, like Amdahl, they assume perfect load balancing and don't factor in communication overhead. But parallel still beats the pants off of serial if we want to keep solving larger and larger problems.