Channels ▼


Patterson Probes Pitfalls Of Multicore Programming

Computer architecture guru and UC Berkeley computer-science professor David Patterson has weighed in with an important article on programming for multicore processors -- aka parallel programming -- in the July issue of IEEE Spectrum.

The piece mines the historical record, recalling Intel CEO Paul Otellini's announcement of an inflection point for the industry in 2004, when processors began to move from single to multiple cores. Patterson also notes the golden age of parallelism, when companies like Thinking Machines, Convex, and nCube attempted to create purpose-build hardware.

Those companies also thought they'd be able to crack the code of parallelism, coming up with techniques which would decompose dusty decks and enable contemporary programmers to do more than simply exploit gross-grain, task-level parallelism. In general, this was not to be.

Yet Patterson sees the ubiquity of high-core-count processors as a renewed opportunity:

But there are reasons for optimism. First off, the whole computer industry is now working on the problem. Also, the shift to parallelism is starting small and growing slowly. Programmers can cut their teeth on dual- and quad-core processors right now, rather than jumping to 128 cores in one fell swoop.

One of the biggest factors, though, is the degree of motivation. In the past, programmers could just wait for transistors to get smaller and faster, allowing microprocessors to become more powerful. So programs would run faster without any new programming effort, which was a big disincentive to anyone tempted to pioneer ways to write parallel code.

Another potential reason for success is the synergy between many-core processing and software as a ­service, or cloud computing as it is often called. . .Expert programmers can take advantage of the task-level parallelism inherent in cloud computing."

My take: It's a wordy piece, but well worth your time. (This is the first issue of Spectrum in a long while where I immediately opened it up and started reading.) However, Patterson's treatise essentially confirms that a magic bullet is unlikely to ever emerge and effective data-level parallelism will remain limited to specific applications.

See complete story, The Trouble With Multicore.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.