Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Parallel

Mo' Multicore


The last time I outfoxed a Rubik's Cube...oh, now that I think about it, I've never outfoxed a Rubik's Cube. Ice cubes I can handle; Rubik's Cubes, forget it. But then I'm not quite as smart as Northeastern University's Gene Cooperman and Dan Kunkle who solved a Rubik's Cube in just 26 moves. We should be impressed. Of course, they did have access to the Teragrid (www.teragrid.org) and its more than 250 teraflops of computing capability and 30 petabytes of online and archival data storage. All this let them do simulations at a rate of 100,000,000 times per second.

One Teragrid participant is the Pittsburgh Supercomputing Center (www.psu.edu), whose contribution is a Cray XT3 nicknamed "BigBen" that's built around a highly scalable multicore architecture (based on AMD Opteron processors, in this case). Hmmmm, maybe I really should pony up for more RAM and a multicore system after all.

You may recall that last month in this space, I rambled on about multicore processors. But I'm not the only one who thinks that the opportunities that they offer are significant. Herb Sutter obviously does, as evident by his new column "Effective Concurrency," which kicks off this month (page 56).

Sun Microsystems apparently thinks multicore processors are the cat's pajamas, too. A highlight in its Sun Studio 12 is the "auto-parallelization" compiler feature : As code is compiled, sections of it are analyzed as good or bad candidates for running in parallel on separate cores, then shunted to where they can be most efficient.

Other areas of Sun Studio 12 are also multicore aware. The debugger and a new thread analyzer tool analyzes your application's runtime characteristics and help detect potential deadlocks. This information is sent to a graphical front-end, where highlighted areas are related to specific source code. The idea is that features like these make it easier to develop, analyze, debug, and tune multithreaded, parallel applications.

Not to be outdone, Intel made its own software-related announcement in support of multicore. The most recent versions of the Intel C++ Compiler Professional Edition and the Intel Fortran Compiler Professional Edition, for instance, automatically accelerate application performance on multicore processors via multiple threads. For example, applications containing 3D graphics or video are automatically accelerated through vectors via Streaming SIMD Extensions (SSE), including SSE 4 instructions. Combining vectors and threads and integrating them with a technology known as "loop transformation" supposedly generates greater performance on multicore processors without code rewrites. Intel goes on to say that the combined capabilities also provide benefits that extend beyond multicore optimizations by assisting developers in locating vulnerabilities that would otherwise go undetected, such as uninitialized variables and possible buffer overruns.

You don't believe Sun or Intel (okay, I don't blame you for not believing me) about this multicore/parallelism/concurrency thing? Would you believe, well, Microsoft?

According to Ty Carlson, Microsoft's Director of Technical Strategy, future versions of Windows will have to be "fundamentally different" if they are to take advantage of multicore architectures. "You're going to see in excess of 8, 16, 64, and beyond processors on your client computer," said Carlson at the Future in Review Conference (www.futureinreview.com), adding that Vista was "designed to run on one, two, maybe four processors."

Still not convinced? (Okay, you're forcing me to haul out the heavy iron here.) Would you believe—Google?

That's right. The company that used to be everyone's favorite search engine vendor has dipped its toe in the multicore waters by acquiring PeakStream, a maker of tools designed to ease programming multicore processors. (To get a feel for what PeakStream does, listen to the DDJ interview with PeakStream's Matthew Papakipos at www.ddj.com/dept/64bit/196601074, where he discusses the challenges developers face in keeping pace with multicore and other emerging processor architectures.)

At the very least, I'd venture that all those servers inside those massive Google data centers (www.ddj.com/dept/opensource/191601618) will probably be multicore real soon now—if they aren't already.

What's the plan? Rubik's Cube in 20 moves or less is my guess.

Jonathan Erickson

Editor-in-Chief

[email protected]


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.