Catching x86 between Rocks and Cells

Sun's "rock" technologies seem likely to have an odd consequence: extending the life of single core, single threaded, x86 technologies including both Windows and Linux.

IBM's cell is a grid on a chip - and offers both the performance potential and the programming complexities you'd expect from a typical Altivec equipped PPC grid reduced from rack scale to 45 nanometers.

The cell hardware really is insanely great: it works, it runs Linux, you can gang up as many of the things as you want, and the second generation removes the earlier limitations on fast floating point precision. The bottom line is simple: if IBM can make a decision and get the software out the door, it's a world beater.

Sadly, however, IBM can't seem to make a decision - many of its customers are 360 class people - and they're apparently still having more than a little trouble getting the software past about 40% computational efficiency - and that's with ideal applications.

Sun's Rock is pretty cool hardware too - a machine with the potential to side step the scaling issues that have traditionally limited SMP system expansion. As I understand it, the Rock hardware is sufficiently backward compatible that existing Solaris binaries for SPARC work - but the big potential gains won't be realized without significant kernel, library, and application simplification.

Rock has recently been delayed until mid to late 2009 - mainly, I'm told, because Sun can't keep up with T1/T2 demand, the APL line is selling well, and there are lots of good reasons for wanting to bundle the new hardware with matching OS and application upgrades that simply aren't ready yet. (I've also been told that production capacity at TI is limited and some people at Sun simply won't consider contracting manufacturing to IBM - but I have no independent reports on which to assess the credibility of the claim.)

But what about Wintel and x86? If Linux continues to evolve as everyone's preferred solution for grid computing and IBM shifts much of the focus there to PPC and Cell - while Sun rocks the SMP world with highly scalable solutions built on Solaris, then where does all that leave Windows and x86?

As technology these are nowhere now - and I read Intel's road map as promising only to continue using its manufacturing muscle to produce re-invented renditions of AMD technologies at smaller scales to achieve higher cycle speeds at lower power usage than AMD can. Microsoft, meanwhile, is distracted by acquisitions, hostage to Windows, and internally unable to escape the limitations of its own x86 programming investment.

Personally I think Microsoft will eventually bite the bullet, release Office for Xenon, and start down the path to PPC with OpenBSD as the obvious replacement technology for its own network OS efforts.

That guess, however, is driven from technical, not marketing, considerations - and if you know about the law of unexpected consequences you won't be surprised to discover that Sun's Rock technologies have the potential for just such an unexpected consequence for x86.

Specifically, Rock's transactional memory has to potential to eliminate most of the complexities associated with programming for multi-threaded, concurrent execution, environments - making an 8-way, 256 thread, UltraSPARC SMP machine look, to the programmer, nearly indistinguishable from a single user, single threaded, x86 machine.

If so, the bottom line may be that Rock's transactional memory effectively provides both C and low end x86 with strong end of life kickers - thanklessly extending x86 mass hegemony, and thus the Windows/Linux kernel wars, into another generation and leaving IBM as the sole heir to the complexities of parallel programming.