Efficient deterministic parallel algorithms for integer sorting

  • Lin Chen
Computer Architecture, Concurrency, Parallelism, Communication And Networking
Part of the Lecture Notes in Computer Science book series (LNCS, volume 468)


The main result of this paper is several fastest deterministic algorithms including:
  • •an optimal algorithm which sorts n distinct integers in O(log n) time using O(n/log n) processors on EREW PRAM for the case where the integers are in a range linear in n;

  • •an optimal algorithm which sorts n integers in O(log n/log log n) time using O(n log log n/log n) processors on CRCW PRAM for the case where the integers are in a range linear in n and a constant upper bounded number of integers have a constant lower bounded multiplicity.

Moreover, we present a linear time linear space algorithm for sorting polynomially bounded integers. We also show that our algorithms are the fastest possible on the models of computation used since the run time of our algorithms meets the lower bounds. This also gives a proof that those lower bounds are tight.


Algorithm Design and Analysis Lexicographic Order Lower Bound NC Parallel Computation Prefix Sum PRAM Resource Tradeoff Sorting 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    A. V. Aho, J. E. Hopcropt, and J. E. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, Mass., 1974.Google Scholar
  2. [2]
    S. G. Akl. Parallel Sorting Algorithms. Academic Press, Orlando, Florida, 1985.Google Scholar
  3. [3]
    S. G. Akl and N. Santoro. Optimal parallel merging and sorting without memory conflicts. IEEE Transactions on Computers, C-36(11):1367–1369, November 1987.Google Scholar
  4. [4]
    R. J. Anderson and G. L. Miller. Deterministic parallel list ranking. In Proc. 3rd Aegean Worksh. Comput., 1988.Google Scholar
  5. [5]
    M. Atai, J. Komlós, and E. Szemerédi. Sorting in c log n parallel steps. Combinatorica, 3(1):1–19, 1983.Google Scholar
  6. [6]
    P. W. Beame. Limits on the power of concurrent-write parallel machines. In Proc. 18th Ann. ACM Symp. on Theory of Computing, pages 169–176. Association for Computing Machinery, 1986.Google Scholar
  7. [7]
    P. W. Beame and J. Hastad. Optimal bounds for decision problems on the CRCW PRAM. In Proc. 19th Ann. ACM Symp. on Theory of Computing, pages 83–93. Association for Computing Machinery, 1987.Google Scholar
  8. [8]
    G. Bilardi and A. Nicolau. Bitonic sorting with O(n log n) comparisons. In Proc. 12th Annual Conf. on Information Science and Systems. Princeton University, 1986.Google Scholar
  9. [9]
    R. P. Brent. The parallel evaluation of general arithmetic expressions. Journal of the ACM, 21:201–208, 1974.Google Scholar
  10. [10]
    L. Chen. On relativity of complexity of computer algorithms. In R. Janicki and W. W. Koczkodaj, editors, Proc. International Conference on Computing and Information, pages 52–56. Natural Sciences and Engineering Research Council of Canada, May 1989.Google Scholar
  11. [11]
    R. Cole. Parallel merge sort. SIAM Journal on Computing, 17(4):770–785, August 1988.Google Scholar
  12. [12]
    R. Cole and U. Vishkin. Faster optimal parallel prefix sums and list ranking. Information and Computation, 81(3):334–352, June 1989.Google Scholar
  13. [13]
    S. A. Cook, C. Dwork, and R. Reischuk. Upper and lower time bounds for parallel random access machines without simultaneous writes. SIAM Journal on Computing, 15(1):87–97, 1986.Google Scholar
  14. [14]
    D. E. Knuth, The Art of Computer Programming, Vol. 3: Sorting and Searching. Addison-Wesley, Reading, Mass., 1973.Google Scholar
  15. [15]
    C. P. Kruskal, L. Rudolph, and M. Snir. The power of parallel prefix. IEEE Transactions on Computers, C-34:965–968, 1985.Google Scholar
  16. [16]
    R. E. Ladner and M. J. Fischer. Parallel prefix computation. Journal of the ACM, 27:831–838, 1980.Google Scholar
  17. [17]
    T. Leighton. Tight bounds on the complexity of parallel sorting. In Proc. 16th Annual Symposium on Theory of Computing, pages 71–80. Association for Computing Machinery, 1984.Google Scholar
  18. [18]
    M. Li and Y. Yesha. New lower bounds for parallel computation. In Proc. 18th Ann. ACM Symp. on Theory of Computing, pages 177–187. Association for Computing Machinery, 1986.Google Scholar
  19. [19]
    S. Rajasekaran and J. H. Reif. Optimal and sublogarithmic time randomized parallel sorting algorithms. SIAM Journal on Computing, 18(3):594–607, June 1989.Google Scholar
  20. [20]
    J. H. Reif. An optimal parallel algorithm for integer sorting. In Proc. 26th Annual Symposium on Foundations of Computer Science, pages 496–503. IEEE Computer Society, 1985.Google Scholar
  21. [21]
    J. H. Reif and L. G. Valiant. A logarithmic time sort for linear size networks. In Proc. 15th Annual Symposium on Theory of Computing, pages 60–76. Association for Computing Machinery, 1983.Google Scholar
  22. [22]
    Y. Shiloach and U. Vishkin. Finding the maximum, merging, and sorting in a parallel computation model. J. Algorithms, 2:88–102, 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Lin Chen
    • 1
  1. 1.Department of Computer and Information ScienceOhio State UniversityColumbusUSA

Personalised recommendations