Microsoft and Intel have put their money where their fear is. The two companies have shelled out $10m each to the University of California, Berkeley and the University of Illinois to fund research around advanced software programming techniques for PCs and mobile devices.
The grants mark a significant effort on the part of Intel and Microsoft to develop software that can run well across processors with many cores. Both companies need such software to make their future products more attractive, since few PC and mobile applications today can take advantage of the horsepower presented by an oncoming onslaught of chips that have 32-, 64- and even 128-cores. In trying to fix this issue now, the researchers and vendors argue they'll eventually be able to provide people with a new class of sophisticated programs.
"I think (the companies) get some credit here for seeing they won't solve these problems by themselves," famed Berkeley computer scientist Dave Patterson told us. "It is one thing to tell the National Science Foundation that it should be funding this work. It's another thing to fund it yourselves - although you can think of it as enlightened self-interest."
To date, most PC applications have benefited from ever faster processors. Companies such as Microsoft could release new applications and expect that the software would run better as companies such as Intel and AMD issued improved microprocessors.
Due to a variety of issues, however, processor makers have been forced to advance their products by adding multiple processor cores to each chip rather than simply increasing the speed of the processors. As a result, software makers now need to write far more intricate code which can divvy up tasks across all of the processor cores instead of pumping linear jobs through one core. The complexity of writing such software will only increase in the coming years as developers must deal not with the four-core chips of today but with tens of cores per chip.
This so-called multi-threaded code is quite common in the server realm, but now companies along with computer scientists want to bring flashier programming techniques to the desktop and mobile markets. As a result, people may gain access to machines that can crank through tough jobs such as handling speech, video and 3-D objects with relative ease.
Microsoft, in particular, has been viewed as a laggard in the race toward multi-threaded applications. When told by Intel of the shift toward multi-core chips, Bill Gates remarked, "We can't write software to keep up with that." Gates then urged Intel to continue producing faster processors as it had always done. "No, Bill, it's not going to work that way," Intel vice president Pat Gelsinger responded.
Now it would seem that Microsoft realizes the severity of the software issues ahead, which must please Intel since it relies on improved software to create demand for its latest and greatest processors. To its credit, Intel has been funding a variety of programs around multi-threaded software and has issued some developer tools.