circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

August 2006, Issue 193

Turning the Core-ner



Parallax is poised to bring multicore to the masses with its Propeller microcontroller. It looks like a mild-mannered microcontroller, but wait until you see what’s under the hood.


by Tom Cantrell
Start Prop Job Cog in the Machine Hubba-Hubba Spin Control It's a Cog's Life Propeller Heads Wanted Sources and PDF

From: PACT 2006 Publicity
To: tom.cantrell@circuitcellar.com

Subject: PACT ’06: Abstract Submission Deadline EXTENDED by 48 Hours

PACT’2006 CALL FOR PAPERS http://www.cs.virginia.edu/~pact2006/

International Conference on Parallel Architectures and Compilation Techniques. Seattle, Washington,September 16–20, 2006

Due to an unforeseeable hardware failure, the site hosting the PACT 2006 submissions was down for most of the day on Monday, March 27…

You’ve all heard the old saying that those who forget the past are doomed to repeat it. Well, in the case of computer architecture, it can be said that those who remember the past are doomed to repeat it too.

As I pondered my pile of punch cards some 30 years ago, little did I realize that the computer I was (ab)using, a mighty IBM 360/91, was a veritable architectural roadmap of things to come. Pipelining and cache—natch. Virtual memory—check. Superscalar—got it. Branch prediction and speculative execution—ditto.

Don’t get me wrong. The fact that the old-timey room full of big iron has been shrunk to a tiny chip is a wondrous thing. Not to mention the fact that today’s bargain-basement PC has more MIPS, megahertz, and megabytes than anyone dreamt possible back in the mainframe days.

Having incorporated all the historic architectural features, the silicon CPU performance improvements in recent years have mainly been driven by implementation (e.g., faster clock and more cache). Indeed, there are arguments that bloated designs (e.g., Itanium) have overshot the sweet spot on the architectural price/performance curve. The evermore expensive and power-consuming architectural tweaks seem to return little in terms of real-world (i.e., existing application program) speedup.

As with the big-iron mainframes of yore, today’s big-silicon mainframes-on-chip are running out of gas. What to do?

Where better to find the answer than at the first annual Multicore Expo? The premise is simple enough: Why not just use a bunch of simple and efficient processors rather than rely on ever-bloatier brainiacs?

The problem is that that’s a simple premise that’s been around a long, long time. I suspect there are few computer architects who, when pondering the single-CPU folly ahead, haven’t hoped for a multicore miracle. Yogi Berra might say, “It’s so simple that nobody’s done it.”

It’s time for a change. On the computing front (e.g., PCs and video games), you’re already seeing architects (Intel, AMD, Sony, IBM, and Sun) stick their toes in with multithread and multicore chips. The challenge here is getting the multicore chips to work well with traditional software applications and tools. 

On the embedded front, there are more futuristic approaches that combine tens, hundreds, and perhaps even thousands of processors on a single chip. Here we find a lot of novel tool concepts as designers try to reconcile evolutionary migration with revolutionary aspirations.

There’s a reason everyone stuck with the old single-core well past its prime. As baroque as the latest single-core CPU architectures are, multicore ups the complexity ante considerably. Traditionally, all you had to worry about was choosing from different architectures. Well, now you still have all the different architectures, but you also get to fret over numerous ways (e.g., bus, network, and pipeline) to connect them. Then there are the various intercore communication protocols to choose from (e.g., shared memory, message passing, and distributed objects). Finally, throw in all the new tools and languages that attempt to lay bare the pesky parallelism that’s so hard to find.

Try to juggle all the options and you’ll soon discover this multicore stuff can be pretty complicated. As I chatted with one of the Expo exhibitors at the reception, I joked, “beer and multicore don’t go together,” to which my burnt-out booth buddy replied, “Oh, beer helps—a lot.” Look at the bright side: if it were easy, none of us would have jobs right?

Like most computer stuff, multicore isn’t really a new idea. Just as that old 360/91 foreshadowed the brainiac microprocessors to come, the roots of multicore can be found in the boutique parallel-processing architectures (one example is described in James W. Moore’s “The HEP Parallel Processor”) that came to fruition during the Cold War (and many of which went down along with the Berlin Wall). These niche machines’ big-iron footprints and price tags appear quaint in retrospect, but that shouldn’t hide the fact that their designers had the courage to challenge the status quo of conventional computer design.

The difference between now and then? Moore’s law means that multicore no longer requires a roomful of hardware and a number of significant digits have been slashed from the price tag. That’s good news because another difference is that the single-core brainiac approach has run out of gas. Multicore is no longer an option; it’s the only way out.