Quantitative performance analysis of the SPEC OMPM2001 benchmarks

The state of modern computer systems has evolved to allow easy access to multiprocessor systems by supporting multiple processors on a single physical package. As the multiprocessor hardware evolves, new ways of programming it are also developed. Some inventions may merely be adopting and standardizing the older paradigms. One such evolving standard for programming shared-memory parallel computers is the OpenMP API. The Standard Performance Evaluation Corporation (SPEC) has created a suite of parallel programs called SPEC OMP to compare and evaluate modern shared-memory multiprocessor systems using the OpenMP standard. We have studied these benchmarks in detail to understand their performance on a modern architecture. In this paper, we present detailed measurements of the benchmarks. We organize, summarize, and display our measurements using a Quantitative Model. We present a detailed discussion and derivation of the model. Also, we discuss the important loops in the SPEC OMPM2001 benchmarks and the reasons for less than ideal speedup on our platform.

[1]  Geoffrey C. Fox,et al.  The Perfect Club Benchmarks: Effective Performance Evaluation of Supercomputers , 1989, Int. J. High Perform. Comput. Appl..

[2]  Michael L. Scott,et al.  Algorithms for scalable synchronization on shared-memory multiprocessors , 1991, TOCS.

[3]  Openmp: a Proposed Industry Standard Api for Shared Memory Programming , 2022 .

[4]  Anoop Gupta,et al.  The SPLASH-2 programs: characterization and methodological considerations , 1995, ISCA.

[5]  James R. Goodman,et al.  Efficient Synchronization: Let Them Eat QOLB , 1997, International Symposium on Computer Architecture.

[6]  Rudolf Eigenmann,et al.  Where Does the Speedup Go: Quantitative Modeling of Performance Losses in Shared-Memory Programs , 2000, Parallel Process. Lett..

[7]  Rohit Chandra,et al.  Parallel programming in openMP , 2000 .

[8]  Hsien-Hsin S. Lee,et al.  A Hierarchical Approach to Modeling and Improving the Performance of Scientific Applications on the KSR1 , 1994, 1994 International Conference on Parallel Processing Vol. 3.

[9]  Helen D. Karatza Book Review: An Owner's Manual for High Performance Computing (A review of Techniques for Optimizing Applications: High Performance Computing by Rajat P. Garg and Ilya Sharapov) , 2002, IEEE Distributed Syst. Online.

[10]  Rudolf Eigenmann,et al.  SPEComp: A New Benchmark Suite for Measuring Parallel Computer Performance , 2001, WOMPAT.

[11]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[12]  Rajat P. Garg,et al.  Techniques for Optimizing Applications: High Performance Computing , 2001 .

[13]  Report,et al.  Public International Benchmarks for Parallel Computers , 1993 .

[14]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[15]  Sarita V. Adve,et al.  An evaluation of memory consistency models for shared-memory systems with ILP processors , 1996, ASPLOS VII.

[16]  Charles L. Lawson,et al.  Basic Linear Algebra Subprograms for Fortran Usage , 1979, TOMS.

[17]  Rudolf Eigenmann,et al.  Performance characteristics of the SPEC OMP2001 benchmarks , 2001, CARN.