Channels ▼

Gastón Hillar

Dr. Dobb's Bloggers

Measuring Parallelism: How Much Power Are You Wasting?

May 04, 2009

Management professionals love metrics. However, they don't like the idea to optimize applications that are currently running. Thus, what about showing them some metrics about the power that they are wasting using a free tool?Paradigm shifts are difficult. Revolutions are complex. The parallelism age is here and many developers are anxious to begin learning and working with new programming models in order to exploit modern multicore microprocessors. However, it is indeed difficult to convince managers that new things need to be done.

There is a simple yet powerful free tool developed by Intel that allows you to measure the level of concurrency found in any application during a certain period of time. This tool is Intel Concurrency Checker 2.1. It provides very interesting metrics related to the parallelism capabilities used by any application (any executable or binary), taking into account the features offered by the underlying hardware. It considers both the physical cores and the logical cores, taking into account Hyper-Threading technology when available.

This means that you can run this application telling it the executable or binary to test and it will show you some parallelism metrics. These metrics will tell you whether the application is using concurrent code and the average degree of parallelism. You don't need to install the application, it is a simple executable that you can download, run and measure.

However, if you use a non-English Windows XP version, you'll have some problems. The application has a bug and it will not run in non-English Windows XP versions, because it cannot find many hard-coded English names. If you use Windows Vista, you won't have problems, no matter the default language. This bug applies to non-English Windows XP.

The tool is available in Windows and Linux and it is updated with the most modern microprocessors. The documentation for this powerful application was not very easy to understand. Hence, I took the time to create and upload a simple five-minute how-to video that shows Intel Concurrency Checker 2.1 in action, measuring a parallelized application. You can watch it here, from Intel Software Network or here from

If your application is already parallelized, the tool will tell you the degree of parallelism achieved. You can also use it to compare between many optimized versions.

If your application isn't parallelized, it will tell you the quantity of power that it is wasting according to the underlying hardware. Excellent to convince your managers to jump into the parallelism age.

You can use the results of this excellent tool to convince your managers that you need to optimize some code to take advantage of the new multicore microprocessors. It is very easy to use and watching the aforementioned video, you will learn the required steps to measure parallelism in a few minutes.

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.