Over the past few years, there's been a shift from serial performance to massive parallelism; pretty much anyone with a pulse has noticed this. The alarm bells went off for me when the
EE Times ran a story on Intel canceling a couple of designs, and going multi-core. I'm anti-parallel, or to be a bit more precise, I'm pro-serial. There's no way to swap increased numbers of processors for increased clock rate. Intel getting out of the clock game said to me that Moore's Law was over, and that pretty soon, technology scaling will halt.
What's wrong with multi-core, you say? Well.... parallel computing companies have failed to go anywhere for the past four decades. Every few years, someone comes along, proclaiming a golden age of parallel computing; everyone gets all excited, and then these prophets quietly slip away in the night, generally with a sack of cash and a few prestigious awards.
The main challenge is
Amdahl's Law -- hence the name of the blog. It's a bit of a simplification, but surprisingly useful. Assume you look at some source code, and can determine that
P percent of the machine instructions you need to execute can be done in parallel. If you have
n processors, then the run time for the parallel section can be sped up by a factor of
n (this is really optimistic, but we'll go with it anyway). The serial part, though,
(1-P), chunks along at the same pace.
Gene Amdahl presented this in a classic talk from 1967. If P=90%, you have 10% serial -- and the speed up over a serial processor is at most 10X, no matter how many processors are available. Getting to 90% is very difficult; Amdahl's back-of-the-envelope guesstimate was that for most applications, you could expect somewhere from 60 to 70% parallel code. There would be applications higher (some very close to 100%), and some lower, but his ballpark seems to be about right.
With all the excitement over multi-core, I feel like I'm sitting on the deck of the Titanic, watching the captain put the engines on full, accelerating towards the iceberg. We've
crashed here dozens of times before, and we're doing exactly the same thing again.
Read up on Amdahl's Law if you have not done so already. You can see a
video of Gene Amdahl talking about the law, as well as a panel discussion -- from November 2007. These next few years are going to be a fun ride.