CPU designers debate multi-core future

SAN JOSE, Calif.  Microprocessor engineers agree multi-core designs will be the wave of the future, but they differ widely on how to implement them and surmount the many challenges they pose.

That was the conclusion from an evening panel on the topic at the International Solid State Circuits Conference here Wednesday (Feb 5). The panel gathered senior chip designers from Advanced Micro Devices, IBM, Intel, Renesas, Sun Microsystems and startup Tilera.

Chuck Moore, an AMD senior fellow, made the case for the shift to a new software model based on heterogeneous collections of cores optimized for various tasks. He suggested computers should be more like cellphones, using a variety of specialty cores to run modular software scheduled by a high-level applications programming interface.

"We foresee a move from compatibility based on instruction set architecture to compatibility based on an API," said Moore. "You get an order of magnitude better power efficiency by going to heterogeneous cores. Already Microsoft's DirectX APIs tackle a wide variety of graphics processors, so this is a mature software model," he added.

Atsushi Hasegawa, a senior chief engineer at Renesas, generally agreed. He suggested the cellphone's use of many specialty cores working in concert is a good model for future multi-core designs.

Brad McCredie, a chief microprocessor engineer at IBM, took the middle ground. He suggested computer processors will go through a phase of experimenting with on-chip accelerators such as the IBM Cell. But ultimately the architectures will narrow down to using to a handful of specialty cores placed next to many general-purpose cores.

Anant Agarwal, founder and chief executive of startup Tilera, took the opposing view. He said multi-core chips need to be homogenous collections of general-purpose cores to keep the software model simple. However, he was the most aggressive of any of the panelists in his predictions for the growth in the number of cores per socket over the coming decade.

"I would like to call it a corollary of Moore's Law that the number of cores will double every 18 months," said Agarwal whose company currently ships a 64-core embedded processor.

"The question is not whether this will happen but whether we are ready," he said

Multicore design will deliver a server farm on a chip, shrinking the size of data centers. It could also create desktops that automatically index personal pictures based on facial recognition software, he added.

In Agarwal's view the industry needs to deliver a new software model because today's operating systems which use threads and cache coherency snooping will not scale to such multi-core devices. "SMP Linux will go the way of the dinosaur," said Agarwal.

Other panelists were not as aggressive as Agarwal, generally predicting microprocessors will have fewer cores in the next decade.

For example, Rick Hetherington, chief technologist in Sun's microelectronics group, suggested servers may have only 32-128 cores by 2018. That's ironic given Sun currently leads the industry in shipping more cores per die than its competitors in computer servers.

Hetherington also suggested today's software model will survive through the next decade. "I think we can support 500 to 1,000 threads per core. In fact, that may even happen in the next five or six years," he said.

Sun's multi-core strategy is based in part on handling thread-rich workloads in the rising tide of Web based applications for giants such as Google. The rise of virtualization in server environments could also fuel Sun's strategy.

McCredie of IBM took issue with Sun's view, suggesting today's servers must run a wide variety of applications, including many non-threaded apps.

"Today's data centers run a big pile of goofy apps where many people don't even know where their source code is anymore," he said. "Google is an exception. We still have discussions about single-threaded apps with customers who may run these applications forever," he added.

Shekhar Borkar, director of Intel Corp.'s Microprocessor Technology Lab, said microprocessor cores will get increasingly simple, but software needs to evolve more quickly than in the past to catch up.

"A core will look like a NAND gate in the future. You won't want to mess with it," said Borkar. "As for software, the time to market has been long in the past, but we can't afford to let that be the case in the future," he added.

Dave Ditzel, former CPU architect at Sun and founder of Transmeta, agreed. A member of the audience, Ditzel told the panel he helped design Sun's first 64-bit CPU then waited nearly ten years before commercial 64-bit operating systems became available.

Ditzel borrowed a metaphor from Berkeley computer science professor Dave Patterson to describe the current situation.

"With multi-core it's like we are throwing this Hail Mary pass down the field and now we have to run down there as fast as we can to see if we can catch it," Ditzel said.

1. For the most parallel programming model you can think about the Informational Individual, as the final frontier in the software thinking!!For beginning http://gheorghematei.blogspot.com
2. "A class is a new data type." OK! But in the future we will solve problems without "new data types"!!!!!!!!!!!!!! I'm working to a new programming paradigm in software and ... without classes!!!!
3. The multi-core is not the solution. We are thinking as in the current model of programming. Here is the mistake. For the future we will work on a new software model -- the Informational Individual! The processor will build on a structure and functionality of Informational Individual not a C++ language. Now we are thinking as in 1970. Now the problems are in the kind of thinking in software. Here is the barrier.