The power of collision: Randomized parallel algorithms for chaining and integer sorting

  • Rajeev Raman
Parallel Algorithms
Part of the Lecture Notes in Computer Science book series (LNCS, volume 472)


We address the problem of sorting n integers each in the range {0, ..., m - 1} in parallel on the PRAM model of computation. We present a randomized algorithm that runs with very high probability in time O(lg n/lg lg n + lg lg m) with a processor-time product of O(n lg lg m) and O(n) space on the CRCW (Collision) PRAM [7]. The main features of this algorithm is that it matches the run-time and processor requirements of the algorithms in the existing literature [2, 10], while it assumes a weaker model of computation and uses a linear amount of space. The techniques used extend to improved randomized algorithms for the problem of chaining [11, 15], which is the following: given an array x1, ..., x n , such that m of the locations contain non-zero elements, to chain together all the non-zero elements into a linked list. We give randomized algorithms that run in O(1) time using n processors, whenever m is not too close to n. A byproduct of our research is the weakening of the model of computation required by some other sorting algorithms.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    D. Angluin and L. Valiant. Fast probabilistic algorithms for Hamiltonian circuits and matchings. Journal of Computer and System Science, 18, 1979.Google Scholar
  2. [2]
    P. Bhatt, K. Diks, T. Hagerup, V. Prasad, T. Razdik, and S. Saxena. Improved deterministic parallel integer sorting. Technical Report TR 15/89, Fachbereich Informatik, Universitat des Saarlandes, November 1989.Google Scholar
  3. [3]
    B. Chlebus, K. Diks, T. Hagerup, and T. Radzik. New simulations between CRCW PRAMs. In Fundamentals of Computation Theory, 1989.Google Scholar
  4. [4]
    R. Cole. Parallel merge sort. In Proc. 27th IEEE FOCS, 1986.Google Scholar
  5. [5]
    R. Cole and U. Vishkin. Faster optimal parallel prefix sums and list ranking. Information and Control, 81:334–352, 1989.Google Scholar
  6. [6]
    M. Dietzfelbinger, A. Karlin, K. Mehlhorn, F. Meyer auf der Heide, H. Rohnhert, and R. Tarjan. Dynamic perfect hashing: upper and lower bounds. In Proc. 29th IEEE FOCS, pages 524–531, 1988.Google Scholar
  7. [7]
    F. Fich, P. Radge, and A. Wigderson. Relations among concurrent write models of parallel computation. SIAM Journal of Computing, 17, 1988.Google Scholar
  8. [8]
    F. Fich, P. Ragde, and A. Wigderson. Relations between concurrent-write models of parallel computation. In Proc. 3rd. Annual ACM PODC, pages 179–189, 1984.Google Scholar
  9. [9]
    M. Fredman, J. Komlós, and E. Szemerédi. Storing a sparse table with O(91) worst case access time. Journal of the ACM, 31(3):538–544, 1984.Google Scholar
  10. [10]
    T. Hagerup. Towards optimal parallel integer sorting. Information and Computation, 75:39–51, 1987.Google Scholar
  11. [11]
    T. Hagerup and M. Nowak. Parallel retreival of scattered information. In Proc. 16th Annual ICALP, 1989.Google Scholar
  12. [12]
    D. Kirkpatrick and S. Reisch. Upper bounds for sorting intgers on a random access machine. Theoretical Computer Science, 28:263–276, 1984.Google Scholar
  13. [13]
    D. E. Knuth. The Art of Computer Programming, Vol. 3: Sorting and Searching. Addison-Wesley, 1973.Google Scholar
  14. [14]
    Y. Matias and U. Vishkin. On parallel hashing and integer sorting. Technical Report CS-TR-2935, University of Maryland, January 1990. To appear, ICALP '90.Google Scholar
  15. [15]
    P. Ragde. The parallel simplicity of compaction and chaining. In Proceedings 17th Annual ICALP, 1990. To appear.Google Scholar
  16. [16]
    S. Rajasekaran and J. Reif. Optimal and sublogarithmic time randomized parallel sorting algorithms. SIAM Journal of Computing, 18(3):594–607, 1989.Google Scholar
  17. [17]
    P. van Emde Boas, R. Kaas, E. Ziljstra. Design and implementation of an efficient priority queue. Math. Sys. Theory, 10:99–127, 1977.Google Scholar
  18. [18]
    U. Vishkin. Implementation of simultaneous memory address access in models that forbid Journal of Algorithms, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Rajeev Raman
    • 1
  1. 1.Computer Science DepartmentUniversity of RochesterRochester

Personalised recommendations