Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

A new deterministic parallel sorting algorithm with an experimental evaluation

Published: 01 September 1998 Publication History

Abstract

We introduce a new deterministic parallel sorting algorithm for distributed memory machines based on the regular sampling approach. The algorithm uses only two rounds of regular all-to-all personalized communication in a scheme that yields very good load balancing with virtually no overhead. Moreover, unlike previous variations, our algorithm efficiently handles the presence of duplicate values without the overhead of tagging each element with a unique identifier. This algorithm was implemented in SPLIT-C and run on a variety of platforms, including the Thinking Machines CM-5, the IBM SP-2-WN, and the Cray Research T3D. We ran our code using widely different benchmarks to examine the dependence of our algorithm on the input distribution. Our experimental results illustrate the efficiency and scalability of our algorithm across different platforms. In fact, the performance compares closely to that of our random sample sort algorithm, which seems to outperform all similar algorithms known to the authors on these platforms. Together, their performance is nearly invariant over the set of input distributions, unlike previous efficient algorithms. However, unlike our randomized sorting algorithm, the performance and memory requirements of our regular sorting algorithm can be deterministically guaranteed.

Supplementary Material

TAR File (p4-helman.tar)
The software suite accompanying the article; this is a small Unix tar file, which includes the source code, a Makefile, and the test files used in the article.
PS File (vol3nbr4.ps)
TAR File (vol3nbr4.tex.tar)

References

[1]
ALEXANDROV, A., IONESCU, M., SCHAUSER, K., AND SCHEIMAN, C. LogGP: Incorporating Long Messages into the LogP Model - One step closer towards a realistic model for parallel computation. Proc. 7th Annual ACM Symposium on Parallel Algorithms and Architectures (Santa Barbara, 1995), pp. 95-105.
[2]
ARPACI, R., CULLER, D., KRISHNAMURTHY, A., STEINBERG, S., AND YELICK, K. Empirical Evaluation of the CRAY-T3D: A Compiler Perspective. Proc. 22nd Annual International Symposium on Computer Architecture (Santa Margherita Ligure, Italy, 1995), pp. 320-331.
[3]
BADER, D. A., HELMAN, D. R., AND JÁJÁ, J. Practical Parallel Algorithms for Personalized Communication and Integer Sorting. ACM Journal of Experimental Algorithmics 1, 3 (1996), 42 pp. http://www.jea.acm.org/1996/BaderPersonalized/.
[4]
BADER, D. A. AND JÁJÁ, J. Practical Parallel Algorithms for Dynamic Data Redistribution, Median Finding, and Selection. Technical Report CS-TR-3494 and UMIACS-TR-95-74 (1995), UMIACS and Electrical Engineering, University of Maryland, College Park, MD. also in Proc. 10th International Parallel Processing Symposium (Honolulu, 1996), pp. 292- 301.
[5]
BADER, D. A. AND JÁJÁ, J. Parallel Algorithms for Image Histogramming and Connected Components with an Experimental Study. Journal of Parallel and Distributed Computing 35, 2 (1996), pp. 173-190.
[6]
BALA, V., BRUCK, J., CYPHER, R., ELUSTONDO, P., HO, A., HO, C.-T., KIPNIS, S., AND SNIR, M. CCL: A Portable and Tunable Collective Communication Library for Scalable Parallel Computers. IEEE Transactions on Parallel and Distributed Systems 6 (1996), pp. 154-164.
[7]
BLELLOCH, G., LEISERSON, C., MAGGS, B., PLAXTON, C., SMITH, S., AND ZAGHA, M. A Comparison of Sorting Algorithms for the Connection Machine CM-2. Proc. ACM Symposium on Parallel Algorithms and Architectures (1991), pp. 3-16. To appear in the Communications of the ACM.
[8]
CARLSON, W. AND DRAPER, J. AC for the T3D. Technical Report SRC-TR-95-141 (1995), Supercomputing Research Center, Bowie, MD.
[9]
Cray Research, Inc. SHMEM Technical Note for C. Cray Research, Inc. Revision 2.3, 1994.
[10]
CULLER, D., DUSSEAU, A., GOLDSTEIN, S., KRISHNAMURTHY, A., LUMETTA, S., VON EICKEN, T., AND YELICK, K. Parallel Programming in Split-C. Proc. Supercomputing '93 (Portland, 1993), pp. 262-273.
[11]
CULLER, D., KARP, R., PATTERSON, D., SAHAY, A., SCHAUSER, K., SANTOS, E., SUBRAMONIAN, R., AND VON EICKEN, T. LogP: Towards a Realistic Model of Parallel Computation. Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (1993).
[12]
GERBESSIOTIS, A. Data for Regular Sorting. Personal Communication, 1996.
[13]
GERBESSIOTIS, A. AND SINIOLAKIS, C. Deterministic Sorting and Randomized Median Finding on the BSP Model. Proc. 8th Annual ACM Symposium on Parallel Algorithms and Architectures (Padua, Italy, 1996), pp. 223-232.
[14]
HELMAN, D. R., BADER, D. A., AND JÁJÁ, J. A Randomized Parallel Sorting Algorithm With an Experimental Study. Technical Report CS-TR-3669 and UMIACS-TR-96-53 (1996), UMIACS and Electrical Engineering, University of Maryland, College Park, MD. To appear in the Journal of Parallel and Distributed Computing.
[15]
LI, X., LU, P., SCHAEFFER, J., SHILLINGTON, J., WONG, P., AND SHI, H. On the Versatility of Parallel Sorting by Regular Sampling. Parallel Computing 19, 1993, pp. 1079-1103.
[16]
MESSAGE PASSING INTERFACE FORUM. MPI: A Message-Passing Interface Standard. Technical report (1994), University of Tennessee, Knoxville, TN. Version 1.1.
[17]
SHI, H. AND SCHAEFFER, J. Parallel Sorting by Regular Sampling. Journal of Parallel and Distributed Computing 14, 1992, pp. 361-372.
[18]
VALIANT, L. A Bridging Model for Parallel Computation. Communications of the ACM 33, 8 (1990), pp. 103-111.

Cited By

View all
  • (2023)Parallel Suffix Sorting for Large String AnalyticsParallel Processing and Applied Mathematics10.1007/978-3-031-30442-2_6(71-82)Online publication date: 28-Apr-2023
  • (2020)DASH: Distributed Data Structures and Parallel Algorithms in a Global Address SpaceSoftware for Exascale Computing - SPPEXA 2016-201910.1007/978-3-030-47956-5_6(103-142)Online publication date: 31-Jul-2020
  • (2019)Histogram Sort with SamplingThe 31st ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3323165.3323184(201-212)Online publication date: 17-Jun-2019
  • Show More Cited By

Index Terms

  1. A new deterministic parallel sorting algorithm with an experimental evaluation

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Journal of Experimental Algorithmics
    ACM Journal of Experimental Algorithmics  Volume 3, Issue
    1998
    203 pages
    ISSN:1084-6654
    EISSN:1084-6654
    DOI:10.1145/297096
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 September 1998
    Published in JEA Volume 3

    Author Tags

    1. generalized sorting
    2. integer sorting
    3. parallel algorithms
    4. parallel performance
    5. sorting by regular sampling

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)154
    • Downloads (Last 6 weeks)17
    Reflects downloads up to 18 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Parallel Suffix Sorting for Large String AnalyticsParallel Processing and Applied Mathematics10.1007/978-3-031-30442-2_6(71-82)Online publication date: 28-Apr-2023
    • (2020)DASH: Distributed Data Structures and Parallel Algorithms in a Global Address SpaceSoftware for Exascale Computing - SPPEXA 2016-201910.1007/978-3-030-47956-5_6(103-142)Online publication date: 31-Jul-2020
    • (2019)Histogram Sort with SamplingThe 31st ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3323165.3323184(201-212)Online publication date: 17-Jun-2019
    • (2019)Engineering a Distributed Histogram Sort2019 IEEE International Conference on Cluster Computing (CLUSTER)10.1109/CLUSTER.2019.8891005(1-11)Online publication date: Sep-2019
    • (2014)Parallel classification and feature selection in microarray data using SPRINTConcurrency and Computation: Practice & Experience10.1002/cpe.292826:4(854-865)Online publication date: 25-Mar-2014
    • (2013)Comparison based sorting for systems with multiple GPUsProceedings of the 6th Workshop on General Purpose Processor Using Graphics Processing Units10.1145/2458523.2458524(1-11)Online publication date: 16-Mar-2013
    • (2012)SGLInternational Journal of High Performance Computing and Networking10.1504/IJHPCN.2012.0463717:2(139-151)Online publication date: 1-Apr-2012
    • (2011)A Partitioning Algorithm for Parallel Sorting on Distributed Memory SystemsProceedings of the 2011 IEEE International Conference on High Performance Computing and Communications10.1109/HPCC.2011.59(402-411)Online publication date: 2-Sep-2011
    • (2009)Parallel short sequence assembly of transcriptomesBMC Bioinformatics10.1186/1471-2105-10-S1-S1410:S1Online publication date: 30-Jan-2009
    • (2009)A Partition-Merge Based Cache-Conscious Parallel Sorting Algorithm for CMP with Shared CacheProceedings of the 2009 International Conference on Parallel Processing10.1109/ICPP.2009.26(396-403)Online publication date: 22-Sep-2009
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Full Access

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media