Friday, August 31, 2007

Tilera vs. Godzilla

Tilera Corporation’s hot new Tile64 multicore processor is a beautiful piece of engineering. It sports integrated memory and I/O controllers and Tilera’s revolutionary Imesh(TM) on-chip network that provides for super fast inter-core communication. Each core is a processor that can support a full operating system if so desired. One could conceivably have multiple instances of Windows running on some of the cores and Linux on the others. Tilera suggests having a symmetric multiprocessing version of Linux running on all the cores and connecting them all into a powerful single-chip cluster.

It’s all very impressive on the surface but, lurking right below, is a formidable monster threatening to stomp on Tilera’s pretty little baby and mercilessly crush it out of existence. It’s an evil, relentless and heartless beast that does not take no for an answer. Here are some excerpts from a recent article in EETimes:

Tilera's chief technologist, Anant Agarwal, a longtime multicore researcher at MIT, admits his company's tools are no panacea for the formidable computer science problems that underlie programming massively parallel architectures. "There is no silver bullet in multicore programming," he said.
Success for these massively parallel processors "comes down to how effective the software tools are," said Linley Gwennap, principal of consulting firm The Linley Group (Mountain View, Calif.).
"You can slap dozens or even hundreds of cores on a die. Interconnecting them is a bit difficult, but the real problem is developing a way software can use all these processors," said Gwennap. "It's hard to find any automated software that uses more than a handful of processors."

So what’s a Tilera to do? Agarwal has no answer. He’s a hardware man more than anything. He knows his Imesh and his interconnects down to the core but parallel programming is not really his forte. But who can blame the professor? Nobody else seems to know the answer either. He’s probably hoping that the monster will just fade away so he can go back to tweaking his mesh and adjusting his tiles. Somehow, I doubt it. This multicore-chomping, Imesh-hating Godzilla is out to flatten the entire parallel processing landscape into oblivion, gobbling up hundreds of millions of dollars of VC money in the process. Ahaha... And he already has a taste for silicon. Another multicore startup, Beaverton, Oregon’s Ambric, seemed to have the right idea:

"We think you need to define the right software programming model first and then develop the circuits that support it--and that's just what we did," said Mike Butts, an Ambric fellow and vice president of architecture who presented the Hot Chips paper last year.

Yes indeed! I have always maintained that the right software model must come first. You don’t even think about designing a new multicore architecture unless you have a software model in place. That's just asking for trouble. Hooray for Butts! Finally, we have a hero to the rescue. His name is Butts, he found a silver bullet and he's about to kick some ass and take some names.

Unfortunately, “a year later, the company has yet to announce any users”. Uh Oh! What happened? Well, apparently, Ambric’s choice of a programming model (a mixture of sequential Java and a few custom libraries) is no match for the Godzilla meister. Their Kestrel chips are like so many potato chips that disintegrate under the intense core-melting heat of his fierce breath. He's mad as hell and the VC gents can only run for cover. "Ahahaha…" He just laughs at the Javas, Erlangs, Haskells, concurrent Cs, Sisals and other similarly flimsy projectiles that are thrown at him by throngs of hapless engineers and confounded PhDs. "The fools!", he mumbles to himself, "the pitiless fools! When will they learn?" And a-chomping he goes.

Next: COSA, Erlang, the Beast and the Hardware Makers

1 comment:

snakenerd said...


-- Fred