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

1 comment:

Bill said...

I think there is concern from folks who want to move to a multicore platform but have invested heavily in a development platform (RTOS and tools) that doesn't support SMP. They see the processor roadmaps and they look at where they are currently and they should be concerned.

As you said, the desktop OSs have solved this problem. In fact, Apple has had dual-core processor workstations back in the PowerPC days and had to solve this problem already.