Difference between revisions of "NAS-IS Benchmark"

From Mesham
Jump to navigationJump to search
(Performance Results)
(Download)
Line 28: Line 28:
  
 
== Download ==
 
== Download ==
 +
 +
You can download the entire code package [http://www.mesham.com/downloads/npb.tar.gz here]

Revision as of 14:24, 12 January 2010

Overview

NASA's Parallel Benchmarks (NPBs) are a common, convenient way of evaluating performance of different classes of machine. By using the official NASA implementation it is possible to evaluate Mesham against that of existing languages. To date the evaluation has been done against NASA's C-MPI code, which is the most common, and arguable most efficient, language choice in parallel computing.

There are numerous benchmarks in the NPB suite, to date we have implemented benchmark IS (Integer Sort), which will sort numbers, in parallel, using a modified version of the bucket sort algorithm. This benchmark has five classes associated with it - class S with 65,000 numbers, class W with 1,000,000 numbers, class A with 8,000,000 numbers, class B with 33,000,000 numbers and lastly class C with 340,000,000 numbers. We have performed evaluation using class B and C, which involves sorting the greatest amount of numbers and hence the largest challenge, although all classes are supported by the benchmark code.

The benchmark has been tuned for performance, this does mean that some of the more low level primitive communication types have been used and hence is not as easily readable as many of the other examples. Having said that, it has not taken long to write and is easy modifiable if required.

Performance Results

Performance tests were done using a super computer cluster, testing the Mesham code against existing NASA C-MPI parallel code, both of which have been tuned for performance.

NASA's Parallel Benchmark IS class C
NASA's Parallel Benchmark IS class B
NASA's Parallel Benchmark IS Total Million Operations per Second
NASA's Parallel Benchmark IS Million Operations per Second per Process


Source Code

The source code is more extensive than other examples, with combination files for each class of experiment. It is therefore not included on this page but you can download it.

Notes

Be aware, this version of the code requires at least version 0.5 of Mesham and version 0.2 of the runtime library. The benchmark will not work with the version 0.41(b) release which is also on the website.

Download

You can download the entire code package here