Professional Documents
Culture Documents
Cray-1
CDC 1604
Origin 2000
RS/6000 SP
Overview
Definition of Benchmark Introduction to Benchmark Suites SPEChpc96 Suite Livermore Loops The Linpack Benchmark The Top 8 Supercomputers HPC Challenge Benchmark Cray 1-A vs. IBM Cluster 1600 inside the IBM Cluster 1600 Conclusion
Benchmark
def.
A measurement or standard that serves as a point of reference by which process performance is measured. Benchmarking is a structured approach for identifying the best practices from industry and government, and comparing and adapting them to the organization's operations. Such an approach is aimed at identifying more efficient and effective processes for achieving intended results, and suggesting ambitious goals for program output, product/service quality, and process improvement.
www.ichnet.org
Supercomputer Benchmarking
The number and type of benchmark suites used to study supercomputer performance has varied widely over the years. In early studies, an ad hoc collection of programs was typically used to measure the performance of a given system relative to a known performance benchmark. Eventually, this practice evolved into groups of programs explicitly designed as supercomputer benchmark suites. The most widely used benchmarks for performance on supercomputing clusters are: the SPEChpc96 suite; the Livermore Loops; and for scientific machines, the Linpack Kernels.
Some general examples of individual computer benchmarks: Dhrystone - Integer benchmark for UNIX systems Whetstone - Floating point benchmark for minicomputers I/O benchmarks MIPS Synthetic benchmarks Kernel benchmarks SPECint / SPECfp Summarizing
SPEChpc96 Suite
In 1995, the Standard Performance Evaluation Corp. (SPEC) announced the release of SPEChpc96, the first standard benchmark suite specifically designed for measuring high-performance computing. SPEChpc96 was developed by SPEC's High Performance Group (HPG), which includes several leading high-performance computer vendors, systems integrators, and major universities and research institutes.
SPEChpc96 allows users and vendors of high-end computers to make objective performance comparisons across different hardware platforms.
Specific scientific and industrial applications are represented within the SPEChpc96 benchamrk suite. The first two SPEChpc96 benchmarks are: SPECseis96, a seismic processing application SPECchem96, a computational chemistry application Since SPECseis96 and SPECchem96 can be run in both serial and parallel modes, the SPEChpc96 suite can be used for general performance comparisons over a broad range of high-performance computing systems. This list includes multiprocessor systems, workstation clusters, distributed memory parallel systems, and traditional vector and vector parallel supercomputers.
Since these benchmarks are both compute-intensive and data-intensive, the above metrics are used to reflect the performance of the entire system. This includes the processors, memory access, I/O bandwidth, interconnect topology, etc. For example, the SPECseis96_XL requires processing of 100GB of data.
Livermore Loops
Livermore Loops is a set of kernels consisting of loops from real Fortran programs. Introduced in 1970, this supercomputer benchmark was initially comprised of 14 kernels of numerically intensive applications written in Fortran. The number of kernels was increased to 24 in the 1980's. Performance measurements are taken in units of Millions of Floating Point Operations Per Second or MFLOPS. The program also evaluates the results for computational accuracy. A main aim of the Livermore design was to avoid producing single number performance comparisons. The 24 kernels can be executed three times each at a range of do-loop spans to produce short, medium and long vector performance measurements. In this mode, if overall averages are quoted, the geometric mean may be interpreted as a characteristic rate of computation for the suite. However, it is more realistic to retain the range of statistics in terms of geometric, harmonic and arithmetic means, minimum and maximum.
Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel Kernel
1: an excerpt from a hydrodynamic code. 2: an excerpt from an Incomplete Cholesky-Conjugate Gradient code. 3: the standard Inner Product function of linear algebra. 4: an excerpt from a Banded Linear Equations routine. 5: an excerpt from a Tridiagonal Elimination routine. 6: an example of a general linear recurrence equation. 7: an Equation of State fragment. 8: an excerpt of an Alternating Direction, Implicit Integration code. 9: an Integrate Predictor code. 10: a Difference Predictor code. 11: a First Sum. 12: a First Difference. 13: an excerpt from a 2-D Particle-in-Cell code. 14: an excerpt of a 1-D Particle-in-Cell code. 15: a sample of how casually FORTRAN can be written. 16: a search loop from a Monte Carlo code. 17: an example of an implicit conditional computation. 18: an excerpt from a 2-D Explicit Hydrodynamic code. 19: a general Linear Recurrence Equation. 20: an excerpt from a Discrete Ordinate Transport program. 21: a matrix X matrix product calculation. 22: a Planckian Distribution procedure. 23: an excerpt from 2-D Implicit Hydrodynamics. 24: finds the location of the first minimum in X.
******************************************** THE LIVERMORE FORTRAN KERNELS: * SUMMARY * ******************************************** Computer : CRAY-YMP C90 (240 MHz) System : UNICOS 7.C, loaded Compiler : CFT77 5.0.1.17 Date : 92.02.18 Testor : Charles Grassl, CRI MFLOPS RANGE: REPORT ALL RANGE STATISTICS: Mean DO Span = 167 Code Samples = 72 Maximum Rate = 826.0859 Mega-Flops/Sec. Average Rate = 190.5636 Mega-Flops/Sec. GEOMETRIC MEAN = 86.2649 Mega-Flops/Sec. Median Q2 = 83.5138 Mega-Flops/Sec. Harmonic Mean = 40.7302 Mega-Flops/Sec. Minimum Rate = 6.7925 Mega-Flops/Sec.
Mean Precision = 11.07 Decimal Digits <<<<<<<<<<<<<<<<<<<<<<<<<<<*>>>>>>>>>>>>>>>>>>>>>>>>>>> < BOTTOM-LINE: 72 SAMPLES LFK TEST RESULTS SUMMARY. > < USE RANGE STATISTICS ABOVE FOR OFFICIAL QUOTATIONS. > <<<<<<<<<<<<<<<<<<<<<<<<<<<*>>>>>>>>>>>>>>>>>>>>>>>>>>>
Measured Gflop/s: Peak rate of execution in billions of floating point operations per second. Size of Problem: The matrix size at which the measured performance was observed. Size of Perf: The size of problem needed to achieve the measured peak performance. Theoretical Peak Gflop/s: The theoretical peak performance for the computer.
Conclusion
Benchmarking refers to a measurement standard that serves as a point of reference by which process performance is measured
Three of the more popular suites for benchmarking supercomputers are the SPEChpc96 suite, the Livermore Loops, and for scientific machines, the Linpack Kernels
The performance ratios, for important HPC features, between supercomputers of the past and those used today, is vastly different
As the High Performance Computing industry grows, the benchmarks used upon supercomputers must also grow in order to provide a yard stick by which these systems can be measured