Answers to Frequently Asked Questions
About the SPEChpc96 Benchmark Suite
November 10, 1999
Q1: What is SPEChpc96?
A1: SPEChpc96 is a benchmark suite that measures the
performance of high-end computing systems running industrial-style
applications. The SPEChpc line of benchmarks is especially suited for
evaluating the performance of parallel and distributed computer
architectures.
SPEChpc96 represents a commitment to providing benchmarks that measure
sustained performance, instead of the peak performance numbers still used
widely today. The benchmarks within the SPEChpc96 suite represent
real-world industrial applications that run on today's high-performance
systems.
Q2: What organizations were involved in developing
SPEChpc96?
A2: SPEChpc96 was developed by the Standard Performance
Evaluation Corp.'s High-Performance Group (SPEC/HPG), formed in January
1994. Founding partners of SPEC/HPG include SPEC members, former members of
the Perfect Benchmarks effort, and other groups working in the benchmarking
arena. SPEC/HPG's mission has remained the same: to maintain and
endorse a suite of benchmarks that represent real-world, high-performance
computing applications. Current members include: Compaq, Fujitsu America,
IBM, Sun Microsystems, Tsukuba Advanced Computing Center, and current
Associates include: Purdue University, Real World Computing, University of
Illinois, University of Minnesota and University of Tennessee.
Q3: What is the difference between SPEChpc96 and other
benchmarks for high-performance systems?
A3: The most important distinction is that SPEChpc96
includes applications used in industry and research to do real work. These
applications normally run on multiprocessing systems and require the larger
computing resources offered by high-end systems. Only minimal modifications
were made to the applications used in the SPEChpc96 suite. By leaving even
"uninteresting" functions of the application code intact,
SPEChpc96 provides a realistic measure of real-world application
performance. SPEC/HPG's methodology differs from previous benchmarking
efforts, which concentrated only on more numerically intensive algorithms.
A second distinction is that SPEChpc96 targets all high-performance
computer architectures. The applications in the suite are currently in use
on a wide variety of systems, including workstations, clusters, SMPs,
vector systems and MPPs. The programming models used in the SPEChpc96
application codes -- currently message-passing and serial models -- can be
run on all of today's high-performance systems. Other benchmarks tend
to be biased towards either distributed-memory, shared-memory or vector
architectures.
Finally, SPEChpc96 provides more than just peak performance numbers. To
ensure that SPEChpc96 reflects performance for real applications, only a
limited number of optimizations are allowed. This contrasts with benchmarks
that allow a large number of optimizations requiring unrealistic
development efforts to reproduce benchmark results. It also contrasts with
benchmarks that restrict optimizations altogether.
Q4: What applications are included with
SPEChpc96?
A4: The SPEChpc96 suite includes three application areas:
seismic processing (SPECseis96), computational chemistry (SPECchem96), and
climate modeling (SPECclimate):
SPECseis96 contains Seismic, an application developed at Atlantic Richfield
Corp. (ARCO). Seismic is an industrial application that performs time and
depth migrations used to locate gas and oil deposits.
SPECchem96 contains GAMESS (General Atomic and Molecular Electronic
Structure System), an improved version of programs that originated in the
Department of Energy's National Resource for Computations in Chemistry.
Many of the functions found in GAMESS are duplicated in commercial packages
used in the pharmaceutical and chemical industries for drug design and
bonding analysis.
SPECclimate is MM5, the PSU/NCAR limited-area, hydrostatic or
non-hydrostatic, sigma-coordinate model designed to simulate or predict
mesoscale and regional-scale atmospheric circulation. MM5 was developed by
the Pennsylvania State University (Penn State) and the University
Corporation for Atmospheric Research (UCAR).
Q5: Are different-sized datasets available for the two
SPEChpc96 applications?
A5: Yes. Vendors may report SPEChpc96 results based on any
of four predefined problem sizes: small, medium, large or extra large.
Problem sizes depend on the application and the type of analysis the
application performs. For SPECseis96, problem sizes relate directly to the
number and size of seismic traces being processed. For SPECchem96, problem
sizes relate to the complexity of the molecule under analysis. For
SPECclimate the problems represent different weather patterns and more
detailed forecasts thereof. The different problem sizes within SPEChpc96
give the application users more information about machine performance as it
relates to the type of computational work they do.
Q6: What are SPEC/HPG's plans for adding applications to
SPEChpc96?
A6: SPEC/HPG is examining additional applications used in
other areas of computational analysis running on high-performance
computers. Applications under consideration include computational fluid
dynamics (CFD), molecular dynamics, climate, ocean and weather codes.
Q7: Will SPEC/HPG replace applications in conjunction with
changes in industrial software code?
A7: Yes. Applications in the SPEChpc96 suite will be
reviewed on a regular basis, and when newer versions are available, they
will be incorporated into the benchmark suite. If an application falls out
of use within its industrial area, a new, more relevant application will be
adopted to replace it.
Q8: Will SPEChpc96 include more applications written in C or
C++ in the future?
A8: If a suitable application representing relevant
computational work in industry is written in C or C++, it will certainly be
considered. In fact, both applications in SPEChpc96 V1.0 contain components
written in C.
Q9: How do SPEChpc96 benchmarks address different parallel
architectures, such as clusters, vector systems, SMPs and
NUMA?
A9: SPEChpc96 benchmarks can be executed in serial or
parallel mode. Due to the agreed-upon software standards for parallel
systems, the parallel implementations have been based on the
message-passing programming models PVM and MPI, and on the directive-based
OpenMP API. Since high-performance computing systems use different
architectures, the SPEChpc96 run rules allow for some flexibility in
adapting the benchmark application to run in parallel mode. To ensure that
results are relevant to end-users, SPEC/HPG requires that systems running
SPEChpc96 benchmarks adhere to the following rules: - they must provide a
suitable environment for running typical C and Fortran programs:
-
the system vendor must offer its implementation for general use
-
the implementation must be generally available, documented, and supported
by the vendor
Q10: Are SPEChpc96 results comparable for these different
parallel architectures?
A10: Yes. Most consumers of high-performance systems are
interested in running a single important application, or perhaps a small
set of critical applications, on these high-priced machines. The amount of
time it takes to solve a particular computational analysis is often
critical to a high-performance systems user's business. For these
consumers, being able to compare different machines' abilities to
complete a relevant problem of a specific size for their application is
valuable information, regardless of the architectural features of the
system itself.
Q11: Are SPEChpc96 results comparable across workload size? Can
you compare serial results to parallel results?
A11: Varying the problem size, but not the system or
parallelization, demonstrates how the application performs under a greater
workload. The definition of "workload" will be
application-specific and meaningful to users doing that sort of work. With
SPECseis96, for example, larger trace files require more I/O, larger FFTs,
and longer running times. A seismic analyst will be able to use the
benchmark results to understand the ability of a machine to accomplish
mission-critical tasks. Different datasets may also exercise different
functionality of the codes, which must be considered when interpreting
scalability with respect to data size. Comparing serial to parallel results
yields significant information as well: It shows the scalability of the
test system for a specific benchmark code.
Q12: How will SPEC/HPG address the evolution of parallel
programming models?
A12: As standards emerge for parallel programming models,
they will be reflected in the SPEChpc96 benchmarks. In response to the
growing acceptance of SMP architectures, for example, SPEC/HPG is
developing SAS (shared address space) parallel versions of its current
benchmarks.
Q13: Can SPEChpc96 benchmarks be run on a high-end
workstation?
A13: Yes, they can be run on single-processor machines.
The smaller problem sizes are likely to be the most suitable for these
systems.
Q14: Traditionally, SPEC has not allowed any code changes in
its benchmarks. Why are code changes allowed in SPEChpc96 and how did
SPEC/HPG decide what should be allowed?
A14: SPEC/HPG recognizes that customers who will spend
many thousands to millions of dollars on a high-performance computer are
willing to invest additional money to optimize their production codes. In
addition to delivering more return on investment, code changes are required
because there are so many different high-performance architectures; moving
an application from one architecture to another is far more involved than
porting a single CPU code from one workstation to another.
SPEC/HPG realized that since all customers optimize their programs, vendors
should be allowed to perform the same level of optimization as a typical
customer. There are specific rules that vendors must follow in optimizing
codes. These rules were chosen to allow each vendor to show what their
systems are capable of without allowing large application rewrites that
would compromise performance comparisons.
Each vendor's code changes must be fully disclosed to the entire
SPEC/HPG membership and approved before results are published. These
changes must also be included in published reports, so customers know what
changes they would have to make to duplicate results.
Q15: Do SPEChpc96 benchmarks measure speed or
throughput?
A15: Both. SPEChpc96 benchmarks measure the time it takes
to run an application on the system being tested -- that's a test of
speed. The SPEChpc96 metric also normalizes the benchmark's elapsed
time to the number of seconds in a day. So, the benchmarks also measure
throughput, since the metric reports how many benchmarks could be run, back
to back, in a given 24-hour period.
Q16: Does SPEChpc96 make SPECfp95 obsolete? What does it
measure that SPECfp95 does not?
A16: SPEChpc96 results provide information that
supplements SPECfp95 results. Consumers of high-performance computing
systems usually run a particular application or set of applications. It is
important for these consumers to know how applications in their area of
analysis will perform on the systems under consideration. This is the kind
of specific information that SPEChpc96 provides.
Q17: How does SPEChpc96 compare to the NAS parallel benchmarks
or to Parkbench?
A17: The NPB (NAS Parallel Benchmarks) and Parkbench are
kernels or subsets of applications; they are used to compare architectural
implementations of machines. SPEChpc96 benchmarks are complete, real-world
applications used by numerous organizations to solve real problems. These
new benchmarks allow users to determine how well a given system performs
for the entire spectrum of factors needed to solve real-world problems,
including numerical computation, I/O, memory access, and many others.
Q18: Why doesn't SPEC/HPG define a metric such as M/FLOPS
or price/performance?
A18: SPEC/HPG chose to focus on total application
performance for large, industrially relevant applications. Within this
benchmarking environment, a simple metric such as M/FLOPS is inadequate and
misleading. Customers need to understand the expected performance of
systems under consideration for purchase. Real-world performance includes
all of the set-up, computation and post-processing work. Since the pre- and
post-processing phases of applications can be significant factors in total
system performance, SPEC/HPG chose to concentrate on total system
performance.
Q19: Why didn't SPEC/HPG define a baseline
metric?
A19: Since high-performance computer customers are willing
to invest programming time to tune the applications that run on their
systems, a baseline result has little meaning to them. Also, the
architectures employed in the high-performance computing market are far
more diverse than those found in single-CPU workstations. The baseline or
"out-of-the-box" performance of any given application has no
correlation to the actual performance a customer could expect to achieve on
a particular architecture.
Q20: Why is there no reference machine for performance
comparisons?
A20: Reference machines give benchmark users a framework
for judging metrics that would otherwise just be meaningless sets of
numbers. SPEChpc96 uses time as its reference, not the speed of a
particular machine. The metric itself tells how many successive benchmark
runs can be completed in a 24-hour period on the system being tested.
Q21: Why doesn't SPEChpc96 provide a composite or aggregate
performance metric?
A21: Providing a composite or aggregate performance metric
would undermine the purpose of SPEChpc96. SPEChpc96 is designed to inform
users about how industrial-strength applications in their fields of
analysis will perform. These users are particularly interested in how well
their applications will scale as parallelism increases. This is why
SPEChpc96 reporting pages provide metrics for systems with different
numbers of processors running the same application and problem size.
Q22: How can I obtain SPEChpc96?
A22: SPEChpc96 is available on CD-ROM for $1,200;
discounts are available for university and research organizations. For more
information, contact SPEC.
Press contacts:
Bob Cramblitt, Kimberly Rengle
Cramblitt & Company
Telephone: 919-481-4599
cramco@cramco.com