IBM's Cell chip will struggle to woo server customers looking to turbo charge certain applications because the part has a fundamental design flaw, according to AMD fellow and acceleration chief Chuck Moore.
Sure, sure. Cell is a multimedia throughput dynamo and its SPEs (Synergistic Processing Elements) are just lovely. "But something happened on the way to the ranch," Moore said, speaking this week to a group of Stanford students. "You have to get going first on the PowerPC chip (inside Cell), and the PowerPC core is too weak to act as the central controller."
Moore presented the Stanford students with a possible vision for the future of computing where general purpose processors will function as a type of gateway, handling older code on their own and then funneling new types of software off to specialized silicon. Not surprisingly, Moore sees AMD's Opteron processor as the perfect general purpose chip and the GPUs produced by the ATI clan - rather than Cell chips - as the preferred accelerators for the specialized jobs.
The plan of attack presented by Moore will sound familiar to those of you following current trends in software and hardware development. The rise of multi-core processors has forced coders to adopt parallel programming methods that spread software well across chips with numerous engines. In addition, researchers and companies on the cutting edge of high performance computing are looking at a variety of accelerators, including GPUs and FPGAs to speed up certain libraries and applications.
Like others, Moore argued that we'll soon run into a major software issue, as too few applications will be able to deal with many-cored chips. Things look okay with two, four and even eight core chips, but we're in real trouble after that.
Some of the main issues will arise with the operating system, which handles a lot of the scheduling jobs.
"If you think about it, the OS has a scheduler in it, and it schedules to multiple cores," Moore said. "So, the OS kind of has a serial component to it. . . At some point, the OS starts to get in the way, and the OS actually becomes the bottleneck."
Accelerators present problems as well, since they're a notorious programming pain for developers more acquainted with things like the x86 instruction set. The Cell chip from IBM, Toshiba and Sony receives a ton of grief for being programming beast - a fact also highlighted by Moore.
Plenty of people argue that GPUs are just as much of a pain, but Moore sees the graphics chip route as a realistic answer to dealing with tomorrow's software.
His "throughput machine" would include a number of Opteron chips up front to handle existing software and to crunch through single-threaded code. Then, you combine the Opterons with "a large number of small, power-efficient, domain optimized compute offload engines."
On top of all this, you need a better memory system and a better programming model that lives well above the operating system.
"The reason I am working on this right now is that I honestly do believe that new and emerging applications are defining and operating on much larger scale and more abstract data types.
"The way this would look is a traditional host would offload work to these dense compute accelerators. You would go through APIs, or libraries or domain specific libraries in some cases to avoid the heroic programming. You would use a concurrent runtime environment to ease some of the scheduling and resource management issues.
"And out of that what starts to happen - and this is an interesting result - is that today the industry is sort of locked on ISA compatibility. You are either x86 compatible or you are not. But I think this line of thought leads to API and platform level compatibility, which is a really nice result for the entire industry.
"Maybe it is not such a nice result for AMD because we happen to have a very successful franchise with x86. But I think this is just absolutely inevitable. I don't think we can fight it, so we are embracing it."
Overall, Moore argued that these heterogeneous machines with x86 and GPU processors will make more sense moving forward than the so-called many-cored chips that the likes of Sun and Intel are pursuing where software is spread across tens or even hundreds of similar cores. Of course, there are tons of software questions that need answers before we can fulfill Moore's vision.
You can catch Moore's speech here. ®