All afternoon I've been slogging through IBM's 25-page paper on their newly released Octopiler, and now things are clearer to me. See, Cell's greatest strength is that there's a lot of hardware on that chip. And Cell's greatest weakness is that there's a lot of hardware on that chip. So Cell has immense performance potential, but if you want to make it programable by mere mortals then you need a compiler that can ingest code written in a high-level language and produce optimized binaries that fit not just a programming model or a microarchitecture, but an entire multiprocessor system. This isn't just a tall order, or even a doctoral dissertation. It's a generation's worth of doctoral research. Meanwhile, the PS3 is due out in 2006.
Octopiler is intended to become just such a compiler�one that can 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. I say 'intended to become,' because judging from the paper the guys at IBM are still in the early stages of taming this many-headed beast. This is by no means meant to disparage all the IBM researchers who have done yeoman's work in their practically single-handed attempts to move the entire field of computer science forward by a quantum leap. No, the Octopiler paper is full of innovative ideas to be fleshed out at a further date, results that are 'promising,' avenues to be explored, and overarching approaches that seem likely to bear fruit eventually. But meanwhile, the PS3 is still due out in 2006