The Power of Collision: Randomized Parallel Algorithms for Chaining and Integer Sorting

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.

[1]  Uzi Vishkin,et al.  Converting high probability into nearly-constant time—with applications to parallel hashing , 1991, STOC '91.

[2]  Larry Rudolph,et al.  Counting and Packing in Parallel , 1986, ICPP.

[3]  Leslie G. Valiant,et al.  Fast probabilistic algorithms for hamiltonian circuits and matchings , 1977, STOC '77.

[4]  Wojciech Rytter,et al.  Efficient parallel algorithms , 1988 .

[5]  Sanguthevar Rajasekaran,et al.  Optimal and Sublogarithmic Time Randomized Parallel Sorting Algorithms , 1989, SIAM J. Comput..

[6]  Krzysztof Diks,et al.  Improved Deterministic Parallel Integer Sorting , 1991, Inf. Comput..

[7]  Krzysztof Diks,et al.  New Simulations between CRCW PRAMs , 1989, FCT.

[8]  Torben Hagerup,et al.  Towards Optimal Parallel Bucket Sorting , 1987, Inf. Comput..

[9]  Torben Hagerup Constant-Time Parallel Integer Sorting (Extended Abstract) , 1991, STOC 1991.

[10]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[11]  Uzi Vishkin,et al.  Implementation of Simultaneous Memory Address Access in Models That Forbid It , 1983, J. Algorithms.

[12]  Richard Cole,et al.  Faster Optimal Parallel Prefix Sums and List Ranking , 1989, Inf. Comput..

[13]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[14]  Prabhakar Ragde,et al.  Incomparability in parallel computation , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[15]  Torben Hagerup,et al.  Parallel Retrieval of Scattered Information , 1989, ICALP.

[16]  Larry Rudolph,et al.  Subset Selection in Parallel , 1985, ICPP.

[17]  Feller William,et al.  An Introduction To Probability Theory And Its Applications , 1950 .

[18]  David G. Kirkpatrick,et al.  Upper Bounds for Sorting Integers on Random Access Machines , 1984, Theor. Comput. Sci..

[19]  Donald E. Knuth,et al.  Sorting and Searching , 1973 .

[20]  P. Ragde The parallel simplicity of compaction and chaining , 1990 .

[21]  Peter van Emde Boas,et al.  Preserving Order in a Forest in Less Than Logarithmic Time and Linear Space , 1977, Inf. Process. Lett..

[22]  Yossi Matias,et al.  Fast hashing on a PRAM—designing by expectation , 1991, SODA '91.

[23]  Krzysztof Diks,et al.  Efficient Simulations Between Concurrent-Read Concurrent-Write PRAM Models , 1988, MFCS.

[24]  Uzi Vishkin,et al.  Recursive *-tree parallel data-structure , 1989, 30th Annual Symposium on Foundations of Computer Science.

[25]  Johan Håstad,et al.  Optimal bounds for decision problems on the CRCW PRAM , 1987, STOC.

[26]  Michael L. Fredman,et al.  BLASTING through the information theoretic barrier with FUSION TREES , 1990, STOC '90.

[27]  Friedhelm Meyer auf der Heide,et al.  Dynamic perfect hashing: upper and lower bounds , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[28]  Uzi Vishkin,et al.  On Parallel Hashing and Integer Sorting (Extended Summary) , 1990, ICALP.

[29]  Faith Ellen,et al.  Relations between concurrent-write models of parallel computation , 1984, PODC '84.

[30]  János Komlós,et al.  Storing a sparse table with O(1) worst case access time , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).