Wednesday, March 01, 2006

The Cell Processor and Octopiler

I am going to talk about an area in which I consider myself pretty much an idiot - computer programming (my wife says I shouldn't call myself an idiot and she's really smart so maybe there's something to it). I have written C (anyone remember Borland Turbo C?), 68000 assembler, and Clipper programs but that's the extent of it (and clearly also a long time ago) so don't exepect great depth and insight.

I'll tell you why the Cell is significant after I first tell you what it is. The Cell processor is made up of one 64-bit Power Architecture core and 8 additional CPU cores called Synergistic Processor Units or SPUs. The SPUs are built to handle computationally intensive applications like video or signal processing, and cryptography among others. Here's what the chip looks like:

IBM designed it in partnership with Sony and Toshiba. The Cell's first application will be to power the heart of Sony's new gaming console, the PS3, which is due out sometime later this year (consensus says autumn for the US and a little earlier for Japan). This is a totally unique design. Among the major CPU manufacturers, including SUN, makers of the SPARC-series processors, Intel makers of the Pentium-series CPUs, and AMD, most recently makers of the Opteron processor, IBM was the first to deliver a dual-core chip in the Power series. Now they have delivered the first 9-core processor with the Cell. It is initially positioned to drive multi-media products like HDTVs, the upcoming consumer media hubs which will stream everything, and of course the PS3. It is totally unique - did I mention that? The chip clocks in at 4GHz - whoops, that's faster than Intel has been able to deliver - and 256 Gigaflops, a ten-times speed improvement over today's PC.

So what exactly does all this horsepower translate into? In an interview with lead PS3 game developer Lyndon Homewood of Volatile Games who is already working with the PS3 developer's kit, he describes their experiences and how the Cell will practically deliver on its promises:

"The graphics capabilities of PS3 will, I think, be slightly above the absolutely top-end graphics cards on the PC, but you've got much more processing power in the box so you're going to see a lot more physics, a lot more generated geometry. With water ripples, for example - they're pretty much algorithms, you have a flat plane of triangles and you run some sort of mathematical algorithm over it to generate a surface rippling effect - well, you will have the processing power to do these sorts of generated geometry effects On PS3. You could actually put one chip aside just to do that..."

As an article in ArsTechnica explains, the Octopiler is a compiler that is slated to "take in a sequential program that's written to a unified memory model, and output binaries that make efficient use of the massive, heterogeneous system-on-a-chip that is the Cell Broadband Engine". Sounds complicated. It is. It is difficult to write programs that take advantage of multi-processor computers. It is still more difficult to write a program that uses such a processor efficiently without leaving chunks of it either idle or underutilized. There are only two ways to produce such code. The first is to get your hands on a really talented programmer but these are in extremely limited supply and so is not very practical. The second is to write a compiler that will optimize the code for you. The better the compiler, in theory, the less talented the developer required to code for the CPU. In practice this is something that remains to be seen. In the months following the PS3's launch we can expect to see a raft of articles examining how developers have used the Cell and if it is living up to its promise. I am certain the first Cell applications will fall short, which definitely includes games and potentially includes the PS3 itself. I do think, however, that with time the Cell will deliver. There is so little innovation in personal computer components today. IBM, Sony, and Toshiba took a huge risk in delivering such a novel design for a CPU. I admire them for it and hope sincerely they are as successful as they deserve to be.

No comments: