Showing posts with label Multi-core. Show all posts
Showing posts with label Multi-core. Show all posts

Tuesday, March 25, 2008

Do American developers fear parallelism?

Is skill in parallel programming a cultural phenomenon? Do most real-world computing problems parallelize easily? For a heated discussion on these and other pressing multi-core issues, visit Slashdot and check out "More Interest In Parallel Programming Outside the US?"

The thread started today in reaction to a blog post from Intel's James Reinders, who claims that developers in the U.S. and Europe are falling behind when it comes to embracing parallelism. He also states that programmers with <15 years' experience show significantly more interest in parallelism than programmers with >15 years' experience. Fighting words!

If you're an American developer, you don't have to take this lying down. You can still register for the Multicore Expo, which goes from April 1 to April 3, and prove to the world that you embrace your inner parallelism. Lots of multi-core hardware/software vendors will be there, including Intel, QNX, Freescale, Sun, and Texas Instruments. (I work for QNX, so, yes, this is a shameless plug. :-)

Monday, February 25, 2008

Can multi-core chips deliver superlinear speedups?

Moving your code to a multi-core processor can yield a real performance boost, though the speedup is typically less than linear. For instance, moving a parallelizable algorithm from a single-core processor to a quad-core processor might give you a 3.95x performance increase, but not 4x. And it certainly couldn’t give you more than 4x.

Or could it? In a recent edition of Dr. Dobb’s, Microsoft’s Herb Sutter argues that developers can, in some circumstances, use “P cores to do work more than P times faster.” Read the article here.

Monday, January 28, 2008

What multi-core crisis?

Quick: How big is a fox terrier? If you’re like most people, you probably have no idea. Yet, for almost a century, science textbooks stated that Hyracotherium, an extinct relative of the horse, was the size of one.

Why would textbooks keep repeating this comparison, when nine out of ten people wouldn’t know a fox terrier if it bit them? For that matter, why would a science book even use such a comparison, when inches or centimeters would be more, well, scientific?

The explanation is simple: The people who wrote the textbooks didn’t know how big Hyracotherium really was. They simply regurgitated what they had read in previous textbooks. Worse, the comparison is inherently flawed, since some research (MacFadden, 1986) suggests that Hyracotherium weighed in at 55 pounds — almost three times the weight of a healthy fox terrier.

Stephen Jay Gould revealed this sorry tale of science education in his 1988 article, “The Case of the Creeping Fox Terrier Clone.” It’s a classic story of how a handy phrase can encourage flabby thinking and obscure the truth. Incredibly, a number of sources continue to clone the erroneous comparison. One source makes a vain attempt to evade the issue by replacing "fox terrier" with "terrier" — a term that refers to a large variety of breeds ranging from 5 to 100 pounds.

Which brings me to a new phrase that has been cloning itself in the blogosphere: “The multi-core crisis.” If you look here, you’ll find several recent blog posts that warn of this impending catastrophe.

But here’s the thing. Most of these posts provide a balanced perspective on the multi-core issue. They don’t claim that the sky is falling. Rather, they say that system performance is going to hit a plateau unless software developers start designing more parallelism into their applications.

Why, then, do they call it a crisis? Alexander Wolfe nailed it when he said that bloggers are using the phrase because it “makes the problem much more accessible.” Nothing like a bit of drama to spark interest.

Nonetheless, the phrase obscures the truth. QNX, for example, has customers in the networking, industrial, and medical markets who have already made a successful transition to multi-core, and they did it without having to totally rethink or rewrite their software. The transition to multi-core on the desktop has been equally lacking in catastrophe. Case in point: I just read a review of an 8-core Apple Mac Pro in which three video-production applications took advantage of the system’s 8 cores, right out of the box.

Doesn’t sound like a crisis to me.

Are there challenges in moving to multi-core? Of course. Will some software developers find the transition harder than others? No doubt. But is there a true crisis looming? Only if we keep calling it that.

Tags: Multi-core