The Age of Parallelism
I’m still reading The Singularity Is Near: When Humans Transcend Biology by Ray Kurzweil. In it, Ray discusses at length the exponential progress in computational power of computers. He talks about the limitation of ever faster processor speeds because voltage rises as a square of the increase in clock speed. When power consumption is a concern (for cooling, for space, for ecological concerns, for heat dissipation), then the drive towards more computational power must be met through other methods. The two alternative methods to increased processing power are more efficient work (i.e. getting more computationally done with each clock cycle), and increased parallel processing.
I think the dual-core processors from Intel and AMD are just the leading edge of this. As a grad student studying computer science way back in 1994, it seemed to me that while dual processors may have some usability advantages (i.e. your PC doesn’t ground to halt just because your virus scan is running), application developers have little incentive to write parallel processing code when they have just two processors available. That’s because they can gain more by focusing on creating efficient single-process code than they can by having two processors available but running into the overhead associated with parallel processing and programming.
But that picture changes when you have four or more processors available. Then the speed to be gained from parallel processing vastly exceeds that which can be gained merely from writing efficient single processing code. So if we look to the future of PC processors, we should expect most gains in performance to come from additional cores rather than from increased clock speed. That means that if processors continue on a curve of doubling performance at least every two years, and we assume only modest increases in clock speed and efficiency of work, we should see quad core processors by sometime in 2008 or 2009, and eight core processors by sometime in 20010 or 2011. That will truly be the age of parallelism.