Channels ▼

Stephen Blair-chappell

Dr. Dobb's Bloggers

Testing for Scalability in Four Easy Steps

June 09, 2010

The other day I wrote a parallel program that worked very well on my 2-core laptop. The question is how well would it scale? When I run the same program on a 4- or 8-core machine will it go proportionally faster?

Not many of us have 8- or 16-core machine sitting under their desk, so testing programs for scalability sounds out of the reach of most of us. Intel has come to the rescue by making available for public use a multicore lab which is accessed through the Intel Parallel Universe Portal.

In a nutshell to test a programs scalability all that has to be done is login onto the portal, upload your executable as a zip file, fill in the command-line options and wait for the results to be available. The jobs you submit are queued, so time taken to get the results will depend on how busy the portal is when I did my tests I had to wait about 40 minutes for the results. There are more details in this FAQ

By using Intel Parallel Portal one can easily see how well a program scales.. In my case, after making some changes to the code - mainly to do with increasing the level of granularity of my threaded code then I reran the tests and did a comparison of the two runs, showing that my changes had a positive impact on the scalability..  Submitting the applications were really easy, and I liked the way the results were presented.



Here's a log \screenshots of the steps I did to get the results.

1. Registering for the first time

First of all for go  to the  Intel Parallel Universe Portal  

Press the start here button

You will then be asked to submit some contact details, type in a few letters and accept the terms of reference.

2. Subscription request acceptance

After a short pause, your subscription request will be confirmed and an email sent to you.

3. The Subscription Confirmation email

The confirmation email has the link where you can submit your first application. You can then click on the link to start using the service.

4. Submitting an application for Analysis

STEP1 - Preparing the application for upload

To test an application the portal requires a single zip file that contains the application exe and any supporting file.


STEP2 - Giving the command-line parameters

In the second step you supply the command-line parameters for the application. If  you don't need any command line options just leave the Arguments box blank.


STEP3 - Uploading the application

By pressing the Submit button, the application zip file  is uploaded.



STEP4 - Confirmation of when job will run

The portal will confirm that the job has been accepted and gives an estimate on when the job will be run. The application will be listed as IN PROGRESS. You can't submit a second application while you have one in progress.


5. Viewing the Results

When the application has been run, the web page will be updated so that the status says DONE. You will also be sent a confirmation email.




The Confirmation Email

6. The Summary Report

The report appears on the screen giving a set of graphs showing elapsed time, average concurrency, performance improvement and throughput scalability.


In my case the test for core 1 did not run, I wasn't sure of the reason why.


7. Downloading the results file

You can download the results by clicking on the "Download Intel Parallel Amplifier report " at the top of the report.


The reports are delivered in a zip file. When it is extracted there are separate folders for each run that was performed.



8. Comparing results

If you upload and run  more than one application you can ask the Parallel Universe portal to compare the results of them






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.