The decades-long growth in computer performance will come to a screeching halt without huge changes in software and revolutionary new microchips. That's the stark warning in a new report from the US National Research Council titled The Future of Computing Performance: Game over or next level? It's bad news on many levels for a trillion-dollar industry that has become an engine of economic growth.
Microprocessors improved in speed by a factor of 10,000 during the 1980s and 1990s. But two obstacles could mean computing power hitting a wall in the next decade.
As transistors have become ever smaller and more tightly packed, the speed at which microchips are clocked has levelled off, reaching around 3 gigahertz in 2005. That's because such fast chips generate too much heat to be used in smartphones and personal computers.
The plateau in clock speed threatens to end the trend we call Moore's law – the doubling of the number of transistors on a chip every couple of years.
Multicore not enough
So manufacturers have been fabricating two-, four- or eight-microprocessor cores on a single chip to get around this hurdle. But the report warns that Moore's law is still in trouble: the power efficiency of present transistors cannot be improved much more, and performance "will become limited by power consumption within a decade". Getting round that will require a yet-to-be-invented transistor architecture.
What's more, multicore chips gain their speed advantage by divvying up tasks among their processors. In order for this to work efficiently, software has to be designed to execute multiple tasks in parallel, rather than serially – one after another.
Parallel path forward
That sounds promising. "Parallel computing offers a clear path forward" to sustaining growth in computer speed, says Samuel Fuller, the chairman of the panel behind the report and chief technology officer at Analog Devices in Norwood, Massachusetts.
Some scientific computing works well in parallel, such as simulations of climate and nuclear explosions. Even Google has developed a set of parallel-programming tools, called MapReduce, to process the huge masses of data collected by its web-crawler software, which indexes the internet.
But the report warns that converting the vast majority of software, written for serial execution, to work efficiently in parallel mode will be "exceedingly difficult in general". It will require new software-engineering processes and tools, and programmers will need retraining to use them.
It won't be easy. Parallel computing is not a new idea, and "the low-hanging fruit has already been picked", says Ray Ellis, an IBM computer specialist in Austin, Texas, and not a member of the panel, who worked on parallel processing at Cray Research, the predecessor of the supercomputer company Cray. He says the easiest routines to parallelise, including graphics tasks, "were done 30 years ago".