Testing for Scalability in Four Easy Steps
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