High-performance sorting on networks of workstations

We report the performance of NOW-Sort, a collection of sorting implementations on a Network of Workstations (NOW). We find that parallel sorting on a NOW is competitive to sorting on the large-scale SMPs that have traditionally held the performance records. On a 64-node cluster, we sort 6.0 GB in just under one minute, while a 32-node cluster finishes the Datamation benchmark in 2.41 seconds. Our implementations can be applied to a variety of disk, memory, and processor configurations; we highlight salient issues for tuning each component of the system. We evaluate the use of commodity operating systems and hardware for parallel sorting. We find existing OS primitives for memory management and file access adequate. Due to aggregate communication and disk bandwidth requirements, the bottleneck of our system is the workstation I/O bus.

[1]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

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

[3]  Michael Stonebraker,et al.  The Case for Shared Nothing , 1985, HPTS.

[4]  Kevin Wilkinson,et al.  Sorting Large Files on a Backend Multiprocessor , 1988, IEEE Trans. Computers.

[5]  The Tandem Performance Group,et al.  A benchmark of NonStop SQL on the debit credit transaction , 1988, SIGMOD '88.

[6]  Goetz Graefe Parallel external sorting in volcano , 1989 .

[7]  Bjørn Arild W. Baugstø,et al.  Sorting Large Data Files on POOMA , 1990, CONPAR.

[8]  Donovan A. Schneider,et al.  The Gamma Database Machine Project , 1990, IEEE Trans. Knowl. Data Eng..

[9]  Jim Gray,et al.  FastSort: a distributed single-input single-output external sort , 1990, SIGMOD '90.

[10]  Patrick Valduriez,et al.  Prototyping Bubba, A Highly Parallel Database System , 1990, IEEE Trans. Knowl. Data Eng..

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

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

[13]  David J. DeWitt,et al.  Parallel sorting on a shared-nothing architecture using probabilistic splitting , 1991, [1991] Proceedings of the First International Conference on Parallel and Distributed Information Systems.

[14]  D. Culler,et al.  Active Messages: A Mechanism for Integrated Communication and Computation , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[15]  S. Kleiman,et al.  Symmetric multiprocessing in Solaris 2.0 , 1992, Digest of Papers COMPCON Spring 1992.

[16]  Seth Copen Goldstein,et al.  Active Messages: A Mechanism for Integrated Communication and Computation , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[17]  T. von Eicken,et al.  Parallel programming in Split-C , 1993, Supercomputing '93.

[18]  Craig Stanfill,et al.  A practical external sort for shared disk MPPs , 1993, Supercomputing '93. Proceedings.

[19]  K. Thearling,et al.  A practical external sort for shared disk MPP's , 1993, Supercomputing '93.

[20]  Andrea C. Arpaci-Dusseau,et al.  Parallel programming in Split-C , 1993, Supercomputing '93. Proceedings.

[21]  James R. Larus,et al.  Cooperative shared memory: software and hardware for scalable multiprocessors , 1993, TOCS.

[22]  David B. Lomet,et al.  AlphaSort: a RISC machine sort , 1994, SIGMOD '94.

[23]  David E. Culler,et al.  A case for NOW (networks of workstation) , 1995, PODC '95.

[24]  Andrea C. Arpaci-Dusseau,et al.  The interaction of parallel and sequential workloads on a network of workstations , 1995, SIGMETRICS '95/PERFORMANCE '95.

[25]  Richard P. Martin,et al.  LogP Performance Assessment of Fast Network Interfaces , 1995 .

[26]  Charles L. Seitz,et al.  Myrinet: A Gigabit-per-Second Local Area Network , 1995, IEEE Micro.

[27]  Chaitanya K. Baru,et al.  An overview of DB2 parallel edition , 1995, SIGMOD '95.

[28]  Robert H. Gerber Informix online XPS , 1995, SIGMOD '95.

[29]  Honesty C. Young,et al.  The parameterized Round-Robin partitioned algorithm for parallel external sort , 1995, Proceedings of 9th International Parallel Processing Symposium.

[30]  David E. Culler,et al.  A case for NOW (networks of workstation) , 1995, PODC '95.

[31]  Thorsten von Eicken,et al.  U-Net: a user-level network interface for parallel and distributed computing , 1995, SOSP.

[32]  Wei Hu,et al.  Scalability in the XFS File System , 1996, USENIX Annual Technical Conference.

[33]  Ramesh C. Agarwal,et al.  A super scalar sort algorithm for RISC processors , 1996, SIGMOD '96.

[34]  Per-Åke Larson,et al.  A memory-adaptive sort (MASORT) for database systems , 1996, CASCON.

[35]  Andrea C. Arpaci-Dusseau,et al.  Fast Parallel Sorting Under LogP: Experience with the CM-5 , 1996, IEEE Trans. Parallel Distributed Syst..

[36]  Richard P. Martin,et al.  Assessing Fast Network Interfaces , 1996, IEEE Micro.

[37]  E. Felten,et al.  Virtual memory mapped network interface for the SHRIMP multicomputer , 1998, ISCA '98.