An Evaluation of Sorting as a Supercomputer Benchmark (preliminary Version)

We propose that sorting be considered an important benchmark for both scientific and commercial applications of supercomputers. The purpose of a supercomputer benchmark is to exercise various system components in an effort to measure important performance characteristics. In the past numerous benchmarks have been defined in an effort to measure the performance issues associated with numeric computing. These benchmarks stressed arithmetic operations (in particular, floating-point arithmetic). In recent years supercomputers manufactures have started to look closer at non-numeric processing tasks, such as databases and information retrieval. Tile ability to operate on large amounts of non-numeric data will be crucial in tile future. This paper discusses the appropriateness of sorting as a benchmark for non-numeric computing tasks. The paper describes previous work in this area and defines a set of architecture independent sorting benchmarks. 1School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213. This research was sponsored in part by the Avionics Laboratory, Wright Research and Development Center, Aeronautical Systems Division (AFSC), U.S. Air Force, Wright-Patterson AFB, Ohio 45433-6543 under Contract F3361590-C-1465, ARPA Order No. 7597 2NASA Ames Research Center, Moffett Field, CA 94035. The author is an employee of Computer Sciences Corp. Work funded by NASA Contract NAS 2-12961. 3Thinking Machines Corporation, 245 First Street, Cambridge, MA 02143. An Evaluation of Sorting as a Supercomputer Benchmark (preliminary version)

[1]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[2]  W. Donald Frazer,et al.  Samplesort: A Sampling Approach to Minimal Storage Tree Sorting , 1970, JACM.

[3]  H. T. Kung,et al.  Sorting on a mesh-connected parallel computer , 1976, STOC '76.

[4]  Donald E. Knuth,et al.  The art of computer programming: V.1.: Fundamental algorithms , 1997 .

[5]  Robert Sedgewick,et al.  Implementing Quicksort programs , 1978, CACM.

[6]  J. S. Huang,et al.  Parallel sorting and data partitioning by sampling , 1983 .

[7]  Lennart Johnsson,et al.  Combining Parallel and Sequential Sorting on a Boolean n–cube , 1984 .

[8]  S. Lakshmivarahan,et al.  Parallel Sorting Algorithms , 1984, Adv. Comput..

[9]  Michael Stonebraker,et al.  A measure of transaction processing power , 1985 .

[10]  Frank Thomson Leighton,et al.  Tight Bounds on the Complexity of Parallel Sorting , 1984, IEEE Transactions on Computers.

[11]  David H. Bailey,et al.  The NAS kernel benchmark program , 1985 .

[12]  F. H. Mcmahon,et al.  The Livermore Fortran Kernels: A Computer Test of the Numerical Performance Range , 1986 .

[13]  Leslie G. Valiant,et al.  A logarithmic time sort for linear size networks , 1982, STOC.

[14]  Wolfgang Rönsch,et al.  Timing results of some internal sorting algorithms on vector computers , 1987, Parallel Comput..

[15]  Jack J. Dongarra,et al.  The LINPACK Benchmark: An Explanation , 1988, ICS.

[16]  Rhys S. Francis,et al.  A Benchmark Parallel Sort for Shared Memory Multiprocessors , 1988, IEEE Trans. Computers.

[17]  Paolo Carnevali Timing results of some internal sorting algorithms on the IBM 3090 , 1988, Parallel Comput..

[18]  S. R. Seidel,et al.  Binsorting on hypercubes with d-port communication , 1989, C3P.

[19]  Jacek Moscinski,et al.  Timing results of some internal sorting algorithms on the ETA 10-P , 1989, Parallel Comput..

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

[21]  Michael J. Quinn Analysis and benchmarking of two parallel sorting algorithms: Hyperquicksort and quickmerge , 1989, BIT Comput. Sci. Sect..

[22]  Guy E. Blelloch,et al.  Vector Models for Data-Parallel Computing , 1990 .

[23]  Giovanni Manzini Radix Sort on the Hypercube , 1991, Inf. Process. Lett..

[24]  Guy E. Blelloch,et al.  A comparison of sorting algorithms for the connection machine CM-2 , 1991, SPAA '91.

[25]  Guy E. Blelloch,et al.  Radix sort for vector multiprocessors , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[26]  E T. Leighton,et al.  Introduction to parallel algorithms and architectures , 1991 .

[27]  M. Baber An Implementation of the Radix Sorting Algorithm on the Touchstone Delta Prototype , 1991, The Sixth Distributed Memory Computing Conference, 1991. Proceedings.

[28]  Thomas Stricker Supporting the hypercube programming model on mesh architectures: (a fast sorter for iWarp tori) , 1992, SPAA '92.

[29]  John H. Reif,et al.  Implementations of randomized sorting on large parallel machines , 1992, SPAA '92.

[30]  Stephen J. Smith,et al.  An improved supercomputer sorting benchmark , 1992, Proceedings Supercomputing '92.

[31]  Leonardo Dagum Parallel Integer Sorting with Medium and Fine-Scale Parallelism , 1993, Int. J. High Speed Comput..

[32]  C. Greg Plaxton,et al.  Deterministic sorting in nearly logarithmic time on the hypercube and related computers , 1990, Symposium on the Theory of Computing.