The NAS Parallel Benchmarks: History and Impact
David H. Bailey
http://www.davidhbailey.com
Lawrence Berkeley National Lab (retired) and Univ. of California, Davis
Co-authors: Eric Barszcz (NASA), John T. Barton, David Browning, Russell Carter(Esturion), Leo Dagum (ASSIA), Rod Fatoohi (San Jose State Univ.), Paul Frederickson(MathCube), Thomas Lasinski (LLNL, retired), Robert Schreiber (HP), Horst Simon(LBNL), Venkat Venkatakrishnan (CD-adapco), Sisira Weeratunga (LLNL)

November 11, 2015

1 / 23

Numerical Aerodynamic Simulation (NAS) Center staff photo, circa 1995

2 / 23

Parallel computing, 1991
I Many new parallel systems were offered; users

were excited about potential.
I Each vendor claimed theirs was best, citing one

or two selected applications.
I There were few standard benchmarks or testing

methodologies — mostly Livermore Loops andoriginal Linpack-100.
I Overall, the level of rigor and peer review inthe field was disappointingly low.
I In 1991 DHB published a humorous essay

Twelve Ways to Fool the Masses, poking fun
at some of the abuses (authored by DHB, butwith contributions from the NPB team).
3 / 23Twelve ways to fool the masses (paraphrased)
1. Quote 32-bit performance results, not 64-bit results, but don’t mention this in paper.
2. Present performance figures for an inner kernel, then represent these figures as theperformance of the entire application.
3. Quietly employ assembly code and other low-level language constructs.
4. Scale up the problem size with the number of processors, but omit any mention of this.
5. Quote performance results projected to a full system.
6. Compare your results against scalar, unoptimized code on conventional systems.
7. When run times are compared, compare with an old code on an obsolete system.
8. Base Mflop/s rates on the operation count of the parallel implementation, instead of thebest practical serial algorithm.
9. Quote performance as processor utilization, parallel speedups or Mflop/s per dollar.
10. Mutilate the algorithm used in the parallel implementation to match the architecture.
11. Measure parallel run times on a dedicated system, but measure conventional run times ina busy environment.
12. If all else fails, show pretty pictures and animated videos, and don’t discuss performance.

4 / 23

NY Times (22 Sep 1991): “Measuring How Fast Computers Really Are”
Excerpts:
I “Rival supercomputer and work

station manufacturers are prone tohype, choosing the performance
figures that make their own machines
look best.”
I “It’s like the Wild West.” [quotingDavid J. Kuck of UIUC].
I “It’s not really to the point ofwidespread fraud, but if people aren’t
a little more circumspect, the entire
field could start to get a bad name.”[quoting DHB].
5 / 23

Examples of abuses: Scaling performance results to full-sized system
In some published papers and conference presentations, runs were performed on
smaller systems, then performance rates were linearly scaled to full-sized systems, insome cases without even clearly disclosing this fact.
Example: 8,192-CPU performance results were linearly scaled to 65,536-CPU results,
simply by multiplying by eight.
Typical excuse: “We can’t afford a full-sized system.”

I D. H. Bailey, “Misleading performance reporting in the supercomputing field,” Scientific

Programming, vol. 1., no. 2 (Winter 1992), 41–151.

6 / 23

Using inefficient algorithms on highly parallel systems
In many cases, inefficient algorithms were employed for highly parallel implementations,requiring many more operations, thus producing artificially high speedup figures andMflop/s rates. Examples:
I Some researchers cited parallel PDE performance based on explicit schemes, forproblems where implicit schemes were known to be significantly more efficient.
I One paper cited performance for computing a 3D discrete Fourier transform bydirect evaluation of the defining formula (8n2 operations), rather than by using afast Fourier transform (5n log2 n).
Both examples violate a basic rule of parallel computing, namely to base parallel
implementations and operation counts (when computing Mflop/s or Gflop/s rates) on
the best practical serial algorithm.
Typical excuse: Other algorithms are “more appropriate” for our parallel system.
7 / 23

Abstract versus details in paper
Abstract of published paper: “The current Connection Machine implementation runs
at 300-800 Mflop/s on a full [64K] CM-2, or at the speed of a single processor of a
Cray-2 on 1/4 of a CM-2.”
I Excerpt from text: “This computation requires 568 iterations (taking 272seconds) on a 16K Connection Machine.”
In other words, the computation was run on a 16K system, not on a 64K system;
the figures cited in the abstract were merely multiplied by four.
I Excerpt from text: “In contrast, a Convex C210 requires 909 seconds to compute

this example. Experience indicates that for a wide range of problems, a C210 isabout 1/4 the speed of a single processor Cray-2.”
In other words, the computation mentioned in the abstract was actually run on aConvex system, and a rule-of-thumb scaling factor was used to produce theCray-2 rate.
8 / 23

Performance plot: parallel run times (lower) vs vector (upper)
3.5

3Time (Hours)

2.5

2

1.5

1

0.5

00

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Number of Objects
9 / 23

Data for performance plot
Problem size(x axis)
20
40
80
160
990
9600

Parallel system
run time
8:18
9:11
11:59
15:07
21:32
31:36

Vector system
run time
0:16
0:26
0:57
2:11
19:00
3:11:50*

Details in text of paper:
I In last entry, the 3:11:50 figure is an estimate.
I The vector system code is not optimized.

Note that the parallel system is actually slower than the vector system for all cases,
except for the last (estimated) entry. Also, except for the last entry, all real data in thegraph is in the lower left corner. A log-log plot should have been used instead.
10 / 23

Origins of the NAS Parallel Benchmarks (NPB)I In 1991, a team of 12 researchers at the Numerical Aerodynamic Simulation(NAS) facility (now known as the NASA Advanced Supercomputing facility)
formulated the “NAS Parallel Benchmarks.”
I The original plan was to be a basis for an upcoming supercomputer procurementfor NAS.
I A central goal of the NPB was to test algorithms of importance in computational
aeronautics.
I However, the NPB team recognized from the beginning that the benchmarks
should be designed to have wider usage — hopefully to help clear the hype andconfusion in the field.

I D. H. Bailey, E. Barszcz, J. T. Barton, D. S. Browning, R. L. Carter, L. Dagum, R. A. Fatoohi,

P. O. Frederickson, T. .A. Lasinski, R. S. Schreiber, H. D. Simon, V. Venkatakrishnan and
S. Weeratunga, “The NAS Parallel Benchmarks: Summary and preliminary results,” Proceedingsof Supercomputing 1991, ACM/IEEE Computer Society, 1991, 158–165.
11 / 23

The original NAS Parallel Benchmarks (NPB)I The benchmarks were specified as a set of eight problems, defined in great detailin a technical document — a “paper and pencil design.”
I The problem specifications included details such as the exact formulas to generate

data (even pseudorandom data), what computations were to be timed, andvalidity tests of final results.
I A set of “reference implementations,” targeted to three classes of architectures(vector, message passing, and SIMD) were included.
I Ground rules for submissions were given.
I The NPB originally specified Class A and Class B problem sizes; later Class C, Dand E were added.
I Vendors and others were invited to submit results.

12 / 23

The eight original NPB
1. EP: An “embarrassingly parallel” problem, which evaluates an integral by meansof pseudorandom trials.
2. MG: A simplified multigrid calculation.
3. CG: Uses a conjugate gradient method to compute the smallest eigenvalue of alarge, sparse, symmetric positive definite matrix.
4. FT: Solves a 3-D partial differential equation system using FFTs.
5. IS: A large integer sort, typical of particle method codes.
6. LU: Solves a regular-sparse block lower-upper triangular system, typical of implicit
computational fluid dynamics (CFD) calculations.
7. SP: Solves multiple systems of non-diagonally dominant, scalar pentadiagonalsystems, typical of another class of implicit CFD.
8. BT: Solves multiple block tridiagonal systems, again typical of some implicit CFD
calculations.
13 / 23

Some ground rules for NPB submissions
I All floating-point operations must be 64-bit.
I Code must be standard-conforming Fortran or C.
I Any language extension, compiler directive or library routine must be supported by

the vendor for all users.
I Results must satisfy the tests provided for each benchmark.
I Allowable extensions, compiler directives and library routines:

1. Constructs that specify allocation, communication or organization of data.
2. Constructs that rearrange data.
3. Constructs that synchronize actions between nodes.
4. Constructs that perform array reduction operations.
5. Constructs to perform a handful of well-known functions (e.g., matrix-matrix
multiplication, FFTs, etc.).
6. Constructs that perform high-speed I/O.

14 / 23

Early results from vendors
I Cray (Cray XMP, YMP and T3D/E).
I IBM RS/6000 parallel systems.
I Intel Touchstone.
I Thinking Machines CM2 and CM5.

Vendors continued to regularly submit results, and several supercomputer centers
continued to specify the NPB for procurements, for several years.

15 / 23

What happened to the NPB?
I In 1997, NASA decided to cut back its research and development effort inhigh-performance computing.
I At or about this time, many of the NPB team left NASA Ames.
I Some development and support continued at NASA and at LBNL.

Current status:
I The NPB continues to be supported by researchers at NASA Ames ResearchCenter.
I Several new benchmarks have been added to the suite.
I For details, contact Haoqiang Jin: haoqiang.jin@nasa.gov.

16 / 23

New benchmarks added to the NPB
Multi-zone versions of BT, SP and LU, designed to exploit multiple levels ofparallelism in applications:
I BT-MZ: Uneven-size zones within a problem class, with an increasing number ofzones as problem class grows.
I SP-MZ: Even-size zones within a problem class, with an increasing number ofzones as problem class grows.
I LU-MZ: Even-size zones within a problem class, with a fixed number of zones for

all problem classes.
Benchmarks for unstructured computation, parallel I/O, and data movement:
I UA: Unstructured Adaptive mesh, dynamic and irregular memory access.
I BT-IO: Test of different parallel I/O techniques.
I DC: Data Cube for data-intensive applications.
I DT: Data Traffic for data-intensive applications.
17 / 23

The NPB legacy: Computer science research
The NPB continue to be utilized and cited in computer science research:
I 3191 citations, according to Google Scholar (as of 4 November 2015).
I Studies include analyses of architectures, compilers, data movement, network

design, programming languages and tools.

18 / 23

NPB reincarnated: The Berkeley “Motifs” and “TORCH” benchmarks
I In 2004, researchers at U.C. Berkeley devised a new set of performancebenchmarks, known as the “Seven Motifs,” later expanded to 13.
I In 2010, researchers at LBNL and U.C. Berkeley further developed these into the“TORCH” benchmarks.
I These benchmarks followed the NPB “pencil and paper” design, with problems

defined in a technical document, accompanied with reference implementations.
References:I K. Asanovic, R. Bodik, B. Catanzaro, J. Gebis, P. Husbands, K. Keutzer, D. Patterson,W. Plishker, J. Shalf, S. Williams and K. Yelick, “The landscape of parallel computing research:
A view from Berkeley,” Tech. Rep. UCB/EECS-2006-183, University of California, Berkeley, Dec.
2006, http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.pdf.
I E. Strohmaier, S. Williams, A. Kaiser, K. Madduri, K. Ibrahim, D. H. Bailey, J. W. Demmel, “Akernel testbed for parallel architecture, language, and performance research,” Proceedings of theInternational Conference of Numerical Analysis and Applied Mathematics (ICNAAM), June 2010.
19 / 23

Reproducibility crises in biomedicine, psychology, economics, finance, autos
I In 2011, Bayer researchers reported that they wereable to reproduce only 17 of 67 pharma studies.
I In 2012, Amgen researchers reported that they wereable to reproduce only 6 of 53 cancer studies.
I In August 2015, the Reproduciblity Project inVirginia reported that they were able to reproduce
only 39 of 100 psychology studies.
I In September 2015, the U.S. Federal Reserve wasable to reproduce only 29 of 67 economics studies.
I In 2015 “backtest overfitting” emerged as a major

Reproducibility Project staff
Credit: NY Times

problem in computational finance.
In March 2014, researchers at West Virginia Univ. reported that they were unable toreproduce Volkswagen’s claimed emission figures. This has now exploded into a majorinternational scandal. Is HPC next?
20 / 23

2015: New ways to fool the masses in HPC
I Cite performance rates for a run with only one processor core active in a shared-memory multi-core node, producing artificially inflated performance (since there is
no shared memory interference) and wasting resources (since most cores are idle).
I

Example: Cite performance on “1024 cores,” even though the code was run on 1024
multicore nodes, one core per node, with 15 out of 16 cores idle on each node.

I Claim that since one is using a graphics processing unit (GPU) system, the mostefficient algorithms must be discarded in favor of “more appropriate” algorithms(recall the experience with parallel algorithms).
I Run the test code many times, but only include the best performance rate in thepaper (recall the experience of recent pharmaceutical trials).
I Employ special hardware, operating system or compiler settings that are notappropriate for real-world production usage (recall the recent Volkswagen scandal).

21 / 23

Recent case study: A GPU electronic structure code
A recent paper reported a GPU implementation of an electronic structure calculation,with a speedup over 600X. It was an interesting study, with solid results. However:I GPU code utilized three GPUs, compared with only one core of a quad-core CPU.
I GPU calculations were in single precision, while CPU calculations were in double.
I CPU code employed a well-known computational chemistry library, which has

good functionality but not state-of-the-art performance.
I GPU code completely changed the memory structure for better locality, butsimilar changes were not made to CPU code.
I In a separate study, researchers comparing the above GPU code to an efficient

CPU code found speedups ranging up to 4.1, with an average of 2.2.
Conclusion: While this was a valuable study, it arguably hyped the GPU advantage.
Do all of us (once again!) need to be more careful in stating our results, particularly inabstracts and conclusions?
22 / 2324 years of the NPB: What have we learned?
High-quality benchmarks are essential for real progress in HPC:I Eliminating hype and confusion.
I Aiding intelligent system procurements.
I Providing a common platform for computer science research.
However:I A good benchmark suite requires sustained organizational support.
I Benchmarks must be regularly upgraded in problem sizes, expanded to encompass
new applications, and possibly even restructured when architectures aresufficiently changed.
Thanks! (on behalf of the entire NPB team)This talk is available at:
http://www.davidhbailey.com/dhbtalks/dhb-npb-sc15.pdf
23 / 23