skip to main content
10.1145/2907294.2907300acmconferencesArticle/Chapter ViewAbstractPublication PageshpdcConference Proceedingsconference-collections
research-article

SDS-Sort: Scalable Dynamic Skew-aware Parallel Sorting

Published: 31 May 2016 Publication History

Abstract

Parallel sorting is an essential algorithm in large-scale data analytics using distributed memory systems. As the number of processes increases, existing parallel sorting algorithms could become inefficient because of the unbalanced workload. A common cause of load imbalance is the skewness of data, which is common in application data sets from physics, biology, earth and planetary sciences. In this work, we introduce a new scalable dynamic skew-aware parallel sorting algorithm, named SDS-Sort. It uses a skew-aware partition method to guarantee a tighter upper bound on the workload of each process. To improve load balance among parallel processes, existing algorithms usually add extra variables to the sorting key, which increase the time needed to complete the sorting operation. SDS-Sort allows a user to select any sorting key without sacrificing performance. SDS-Sort also provides optimizations, including adaptive local merging, overlapping of data exchange and data processing, and dynamic selection of data processing algorithms for different hardware configurations and for partially ordered data. SDS-Sort uses local-sampling based partitioning to further reduce its overhead. We tested SDS-Sort extensively on Edison, a Cray XC30 supercomputer. Timing measurements show that SDS-Sort can scale to 130K CPU cores and deliver a sorting throughput of 117TB/min. In tests with real application data from large science projects, SDS-Sort outperforms HykSort, a state-of-art parallel sorting algorithm, by 3.4X.

References

[1]
A. Almgren, J. Bell, M. Lijewski, Z. Lukic, and E. Van Andel. Nyx: A Massively Parallel AMR Code for Computational Cosmology. Astrophys. J., 765:39, 2013.
[2]
N. Amato, R. Iyer, S. Sundaresan, and Y. Wu. A comparison of parallel sorting algorithms on different architectures. Technical report, TX, USA, 1998.
[3]
O. Astrachan. Bubble sort: An archaeological algorithmic analysis. SIGCSE Bull., 35(1):1--5, Jan. 2003.
[4]
G. Bilardi and A. Nicolau. Adaptive bitonic sorting: An optimal parallel algorithm for shared memory machines. Technical report, Ithaca, NY, USA, 1986.
[5]
J. S. Bloom, J. W. Richards, P. E. Nugent, R. M. Quimby, M. M. Kasliwal, D. L. Starr, D. Poznanski, E. O. Ofek, S. B. Cenko, N. R. Butler, S. R. Kulkarni, A. Gal-Yam, and N. Law. Automating discovery and classification of transients and variable stars in the synoptic survey era. Publications of the Astronomical Society of the Pacific, 124(921):pp. 1175--1196, 2012.
[6]
L. K. Bob Alverson, Edwin Froese and D. Roweth. Cray XC (R) Series Network. Technical report, Cray Inc., 2012.
[7]
P. G. Brown. Overview of SciDB: Large Scale Array Storage, Processing and Analysis. In ACM SIGMOD, pages 963--968, 2010.
[8]
A. Chan, P. Balaji, W. Gropp, and R. Thakur. Communication analysis of parallel 3d fft for at cartesian meshes on large blue gene systems. In Proceedings of the 15th International Conference on High Performance Computing, HiPC'08, pages 350--364, Berlin, Heidelberg, 2008. Springer-Verlag.
[9]
B. Chandramouli and J. Goldstein. Patience is a virtue: Revisiting merge and sort on modern processors. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, SIGMOD '14, pages 731--742, New York, NY, USA, 2014. ACM.
[10]
M. Clement and M. Quinn. Overlapping computations, communications and i/o in parallel sorting. Journal of Parallel and Distributed Computing, 28(2):162--172, 1995.
[11]
R. Cole. Parallel merge sort. SIAM J. Comput., 17(4):770--785, Aug. 1988.
[12]
B. Dong, S. Byna, and K. Wu. Expediting scientific data analysis with reorganization of data. In Cluster Computing (CLUSTER), 2013 IEEE International Conference on, pages 1--8, Sept. 2013.
[13]
A. Ebert. Ntosort. Technical report, April, 2013.
[14]
C. Faloutsos, Y. Matias, and A. Silberschatz. Modeling skewed distribution using multifractals and the 80-20 law. In VLDB'96, Proceedings of 22th International Conference on Very Large Data Bases, September 3-6, 1996, Mumbai (Bombay), India, pages 307--317, 1996.
[15]
W. D. Frazer and A. C. McKellar. Samplesort: A sampling approach to minimal storage tree sorting. J. ACM, 17(3):496--507, July 1970.
[16]
W. Gropp, R. Thakur, and E. Lusk. Using MPI-2: Advanced Features of the Message Passing Interface. MIT Press, Cambridge, MA, USA, 2nd edition, 1999.
[17]
M. Howison, E. W. Bethel, and H. Childs. Mpi-hybrid parallelism for volume rendering on large, multi-core systems. In Proceedings of the 10th Eurographics Conference on Parallel Graphics and Visualization, EG PGV'10, pages 1--10, Aire-la-Ville, Switzerland, Switzerland, 2010. Eurographics Association.
[18]
C. Kim, J. Park, N. Satish, H. Lee, P. Dubey, and J. Chhugani. Cloudramsort: Fast and efficient large-scale distributed ram sort on shared-nothing cluster. In SIGMOD'12, pages 841--850, New York, NY, USA, 2012. ACM.
[19]
X. Li, P. Lu, J. Schae er, J. Shillington, P. S. Wong, and H. Shi. On the versatility of parallel sorting by regular sampling. Parallel Comput., 19(10):1079--1103, Oct. 1993.
[20]
M. E. J. Newman. Power laws, pareto distributions and zipf#226; A-Zs law. Contemporary Physics, 2005.
[21]
M. M. A. Patwary, S. Byna, N. R. Satish, N. Sundaram, Z. Lukić, V. Roytershteyn, M. J. Anderson, Y. Yao, Prabhat, and P. Dubey. Bd-cats: Big data clustering at trillion particle scale. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC '15, pages 6:1--6:12, New York, NY, USA, 2015. ACM.
[22]
A. Rasmussen, G. Porter, M. Conley, H. V. Madhyastha, R. N. Mysore, A. Pucher, and A. Vahdat. Tritonsort: A balanced and energy-efficient large-scale sorting system. ACM Trans. Comput. Syst., 31(1):3:1--3:28, Feb. 2013.
[23]
R. Sedgewick. Implementing quicksort programs. Commun. ACM, 21(10):847--857, Oct. 1978.
[24]
E. Solomonik and L. Kale. Highly scalable parallel sorting. In Parallel Distributed Processing (IPDPS), 2010 IEEE International Symposium on, pages 1--12, April 2010.
[25]
V. Springel. The cosmological simulation code GADGET-2. Technical report, 2005.
[26]
M. H. Stanley, S. V. Buldyrev, S. Havlin, R. N. Mantegna, M. A. Salinger, and H. E. Stanley. Zipf plots and the size distribution of rms. Economics Letters, 49(4):453--457, 1995.
[27]
B. Stroustrup. The C++ Programming Language. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 3rd edition, 2000.
[28]
H. Sundar, D. Malhotra, and G. Biros. Hyksort: A new variant of hypercube quicksort on distributed memory architectures. In Proceedings of the 27th International ACM Conference on International Conference on Supercomputing, ICS '13, pages 293--302, New York, NY, USA, 2013. ACM.
[29]
H. Sundar, D. Malhotra, and K. W. Schulz. Algorithms for high-throughput disk-to-disk sorting. In Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, SC '13, pages 93:1--93:10, New York, NY, USA, 2013. ACM.
[30]
K. Thearling and S. Smith. An improved supercomputer sorting benchmark. In Supercomputing '92, pages 14--19, Los Alamitos, CA, USA, 1992. IEEE Computer Society Press

Cited By

View all
  • (2024)CARP: Range Query-Optimized Indexing for Streaming DataProceedings of the International Conference for High Performance Computing, Networking, Storage, and Analysis10.1109/SC41406.2024.00093(1-19)Online publication date: 17-Nov-2024
  • (2024)Data-centric workloads with MPI_SortJournal of Parallel and Distributed Computing10.1016/j.jpdc.2023.104833(104833)Online publication date: Jan-2024
  • (2023)KV-CSD: A Hardware-Accelerated Key-Value Store for Data-Intensive Applications2023 IEEE International Conference on Cluster Computing (CLUSTER)10.1109/CLUSTER52292.2023.00019(132-144)Online publication date: 31-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
HPDC '16: Proceedings of the 25th ACM International Symposium on High-Performance Parallel and Distributed Computing
May 2016
302 pages
ISBN:9781450343145
DOI:10.1145/2907294
© 2016 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of the United States government. As such, the United States Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 May 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. parallel sorting
  2. scalable sorting
  3. skew-aware sorting

Qualifiers

  • Research-article

Funding Sources

  • DOE Office of Science, Advanced Scientific Computing Research

Conference

HPDC'16
Sponsor:

Acceptance Rates

HPDC '16 Paper Acceptance Rate 20 of 129 submissions, 16%;
Overall Acceptance Rate 166 of 966 submissions, 17%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)1
Reflects downloads up to 01 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)CARP: Range Query-Optimized Indexing for Streaming DataProceedings of the International Conference for High Performance Computing, Networking, Storage, and Analysis10.1109/SC41406.2024.00093(1-19)Online publication date: 17-Nov-2024
  • (2024)Data-centric workloads with MPI_SortJournal of Parallel and Distributed Computing10.1016/j.jpdc.2023.104833(104833)Online publication date: Jan-2024
  • (2023)KV-CSD: A Hardware-Accelerated Key-Value Store for Data-Intensive Applications2023 IEEE International Conference on Cluster Computing (CLUSTER)10.1109/CLUSTER52292.2023.00019(132-144)Online publication date: 31-Oct-2023
  • (2022)MASTIFFProceedings of the 36th ACM International Conference on Supercomputing10.1145/3524059.3532365(1-13)Online publication date: 28-Jun-2022
  • (2022)LOTUSProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508402(219-233)Online publication date: 2-Apr-2022
  • (2022)SAPCo Sort: Optimizing Degree-Ordering for Power-Law Graphs2022 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS55109.2022.00015(138-140)Online publication date: May-2022
  • (2020)Streaming Data Reorganization at Scale with DeltaFS Indexed Massive DirectoriesACM Transactions on Storage10.1145/341558116:4(1-31)Online publication date: 24-Sep-2020
  • (2019)Skew-Aware Collective Communication for MapReduce ShufflingIEICE Transactions on Information and Systems10.1587/transinf.2019PAP0019E102.D:12(2389-2399)Online publication date: 1-Dec-2019
  • (undefined)Data-Centric Workloads with MPI_SortSSRN Electronic Journal10.2139/ssrn.4142065

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media