Parallel Sorting with Minimal Data

  • Christian Siebert
  • Felix Wolf
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6960)


For reasons of efficiency, parallel methods are normally used to work with as many elements as possible. Contrary to this preferred situation, some applications need the opposite. This paper presents three parallel sorting algorithms suited for the extreme case where every process contributes only a single element. Scalable solutions for this case are needed for the communicator constructor MPI_Comm_split. Compared to previous approaches requiring O(p) memory, we introduce two new parallel sorting algorithms working with a minimum of O(1) memory. One method is simple to implement and achieves a running time of O(p). Our scalable algorithm solves this sorting problem in O(log2p) time.


MPI Scalability Sorting Algorithms Limited memory 


  1. 1.
    Cheng, D.R., Shah, V., Gilert, J.R., Edelman, A.: A Novel Parallel Sorting Algorithm for Contemporary Architectures. Tech. rep., University of California (2007)Google Scholar
  2. 2.
    Cole, R.: Parallel Merge Sort. SIAM Journal on Computing 17, 770–785 (1988)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Frazer, W.D., McKellar, A.C.: Samplesort: A Sampling Approach to Minimal Storage Tree Sorting. Journal of the ACM 17, 496–507 (1970)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Gabriel, E., Fagg, G.E., Bosilca, G., Angskun, T., Dongarra, J., Squyres, J.M., Sahay, V., Kambadur, P., Barrett, B.W., Lumsdaine, A., Castain, R.H., Daniel, D.J., Graham, R.L., Woodall, T.S.: Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 97–104. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Gropp, W., Lusk, E., Doss, N., Skjellum, A.: A High-Performance, Portable Implementation of the Message Passing Interface Standard. Par. Comp. 22, 789 (1996)CrossRefMATHGoogle Scholar
  6. 6.
    Knuth, D.E.: The Art of Computer Programming, Sorting and Searching, 2nd edn., vol. 3. Addison Wesley Longman Publishing, Redwood City (1998)MATHGoogle Scholar
  7. 7.
    Sack, P., Gropp, W.: A Scalable MPI_Comm_split Algorithm for Exascale Computing. In: Keller, R., Gabriel, E., Resch, M., Dongarra, J. (eds.) EuroMPI 2010. LNCS, vol. 6305, pp. 1–10. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Shi, H., Schaeffer, J.: Parallel Sorting by Regular Sampling. Journal of Parallel and Distributed Computing 14, 361–372 (1992)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Christian Siebert
    • 1
    • 2
  • Felix Wolf
    • 1
    • 2
    • 3
  1. 1.German Research School for Simulation SciencesAachenGermany
  2. 2.Computer Science DepartmentRWTH Aachen UniversityAachenGermany
  3. 3.Forschungszentrum Jülich, Jülich Supercomputing CentreJülichGermany

Personalised recommendations