Encyclopedia of Parallel Computing

2011 Edition
| Editors: David Padua

Sorting

  • Laxmikant V. Kalé
  • Edgar Solomonik
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-09766-4_503

Definition

Parallel sorting is a process that given n keys distributed over p processors (numbered 0 through p − 1), migrates the keys so that all keys on processor k, for \(k \in [0,p - 2]\)

This is a preview of subscription content, log in to check access.

Bibliography

  1. 1.
    Kumar V, Grama A, Gupta A, Karypis G (1994) Introduction to parallel computing: design and analysis of algorithms. Benjamin-Cummings, Redwood City, CAzbMATHGoogle Scholar
  2. 2.
    Sanders P, Hansch T (1997) Efficient massively parallel quicksort. In: IRREGULAR ’97: Proceedings of the 4th International Symposium on Solving Irregularly Structured Problems in Parallel, pp 13–24. Springer-Verlag, London, UKGoogle Scholar
  3. 3.
    Batcher K (1968) Sorting networks and their application. Proc. SICC, AFIPS 32:307–314Google Scholar
  4. 4.
    Bilardi G, Nicolau A (1986) Adaptive bitonic sorting: an optimal parallel algorithm for shared memory machines. Technical report, Ithaca, NYGoogle Scholar
  5. 5.
    Thompson CD, Kung HT (1977) Sorting on a mesh-connected parallel computer. Commun ACM 20(4):263–271zbMATHMathSciNetGoogle Scholar
  6. 6.
    Blelloch G et al. (1991) A comparison of sorting algorithms for the Connection Machine CM-2. In: Proceedings of the Symposium on Parallel Algorithms and Architectures, July 1991Google Scholar
  7. 7.
    Govindaraju N, Gray J, Kumar R, Manocha D (2006) Gputerasort: high performance graphics co-processor sorting for large database management. In: SIGMOD ’06: Proceedings of the 2006 ACM SIGMOD international conference on Management of data, pp 325–336. ACM, New YorkGoogle Scholar
  8. 8.
    Greb A, Zachmann G (2006) Gpu-abisort: optimal parallel sorting on stream architectures. In: Parallel and Distributed Processing Symposium, 2006. IPDPS 2006, 20th International, pp 45–54, April 2006Google Scholar
  9. 9.
    Satish N, Harris M, Garland M (2009) Designing efficient sorting algorithms for manycore gpus. Parallel and Distributed Processing Symposium, International, Rome, pp 1–10Google Scholar
  10. 10.
    LaMarca A, Ladner RE (1997) The influence of caches on the performance of sorting. In: SODA ’97: Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms, pp 370–379. Society for Industrial and Applied Mathematics, Philadelphia, PAGoogle Scholar
  11. 11.
    Thearling K, Smith S (1992) An improved supercomputer sorting benchmark. In: Proceedings of the Supercomputing, November 1992.Google Scholar
  12. 12.
    Huang JS, Chow YC (1983) Parallel sorting and data partitioning by sampling. In: Proceedings of the Seventh International Computer Software and Applications Conference, November 1983Google Scholar
  13. 13.
    Shi H, Schaeffer J (1992) Parallel sorting by regular sampling. J Parallel Distrib Comput 14:361–372zbMATHGoogle Scholar
  14. 14.
    Li X, Lu P, Schaeffer J, Shillington J, Wong PS, Shi H (1993) On the versatility of parallel sorting by regular sampling. Parallel Comput 19(10):1079–1103zbMATHMathSciNetGoogle Scholar
  15. 15.
    Helman DR, Bader DA, JáJá J (1998) A randomized parallel sorting algorithm with an experimental study. J Parallel Distrib Comput 52(1):1–23zbMATHGoogle Scholar
  16. 16.
    Kale LV, Krishnan S (1993) A comparison based parallel sorting algorithm. In: Proceedings of the 22nd International Conference on Parallel Processing, pp 196–200, St. Charles, IL, August 1993Google Scholar
  17. 17.
    Solomonik E, Kale LV (2010) Highly scalable parallel sorting. In: Proceedings of the 24th IEEE International Parallel and Distributed Processing Symposium (IPDPS). Urbana, IL, April 2010Google Scholar
  18. 18.
    Ajtai M, Komlós J, Szemerédi E (1983) Sorting in c log n parallel steps. Combinatorica 3(1):1–19zbMATHMathSciNetGoogle Scholar
  19. 19.
    Leighton T (1984) Tight bounds on the complexity of parallel sorting. In: STOC ’84: Proceedings of the sixteenth annual ACM symposium on Theory of computing, pp 71–80. ACM, New YorkGoogle Scholar
  20. 20.
    Cole R (1986) Parallel merge sort. In: SFCS ’86: Proceedings of the 27th Annual Symposium on Foundations of Computer Science, pp 511–516. IEEE Computer Society, Washington, DCGoogle Scholar
  21. 21.
    Bilardi G, Preparata FP (1986) Area-time lower-bound techniques with applications to sorting. Algorithmica 1(1):65–91zbMATHMathSciNetGoogle Scholar
  22. 22.
    Francis RS, Mathieson ID (1988) A benchmark parallel sort for shared memory multiprocessors. Comput IEEE Trans 37(12):1619–1626zbMATHGoogle Scholar
  23. 23.
    Blelloch GE, Gibbons PB, Simhadri HV (2009) Brief announcement: low depth cache-oblivious sorting. In: SPAA ’09: Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures, pp 121–123. ACM, New YorkGoogle Scholar
  24. 24.
    Vitter JS (2001) External memory algorithms and data structures: dealing with massive data. ACM Comput Surv 33(2):209–271Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Laxmikant V. Kalé
    • 1
  • Edgar Solomonik
    • 1
  1. 1.Department of Computer ScienceUniversity of Illinois at Urbana-ChampaignUrbanaUSA