Improved Deterministic Parallel Integer Sorting

Abstract We consider the problem of deterministic sorting of integers on a parallel RAM (PRAM). The best previous result ( T. Hagerup, 1987 , Inform. and Comput.75, 39–51) states that n integers of size polynomial in n can be sorted in time O(log n) on a Priority CRCW PRAM with O( n log log n log n ) processors. We prove that n integers drawn from a set {0, …, m−1} can be sorted on an Arbitrary CRCW PRAM in time O( log n log log n + log log m) with a time-processor product of O(n log log m). In particular, if m = n(log n)O(1), the time and number of processors used are O( log n log log n ) and O( n( log log n) 2 log n ) , respectively. This improves the previous result in several respects: The new algorithm is faster, it works on a weaker PRAM model, and it is closer to optimality for input numbers of superpolynomial size. If log log m = O( log n log log n ) , the new algorithm is optimally fast, for any polynomial number of processors, and if log log m = (1 + Ω(1)) log log n and log log m = 0 ( log n ), it has optimal speedup relative to the fastest known sequential algorithm. The space needed is O(nme), for arbitrary but fixed e > 0. The sorting algorithm derives its speed from a fast solution to a special list ranking problem of possible independent interest, the monotonic list ranking problem. In monotonic list ranking, each list element has an associated key, and the keys are known to increase monotonically along the list. We show that monotonic list ranking problems of size n can be solved optimally in time O( log n log log n ) . We also discuss and attempt to solve some of the problems arising in the precise description and implementation of parallel recursive algorithms. As part of this effort, we introduce a new PRAM variant, the allocated PRAM.

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

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

[3]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

[4]  Richard Cole,et al.  Approximate and exact parallel scheduling with applications to list, tree and graph problems , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[5]  Sanjeev Saxena,et al.  On Parallel Sorting and Addition with Concurrent Writes , 1988, FSTTCS.

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

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

[8]  Torben Hagerup Optimal Parallel Algorithms on Planar Graphs , 1990, Inf. Comput..

[9]  Rajeev Raman,et al.  The Power of Collision: Randomized Parallel Algorithms for Chaining and Integer Sorting , 1990, FSTTCS.

[10]  D. Eppstein,et al.  Parallel Algorithmic Techniques for Combinatorial Computation , 1988 .

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

[12]  Richard Cole,et al.  Deterministic Coin Tossing with Applications to Optimal Parallel List Ranking , 2018, Inf. Control..

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

[14]  Gary L. Miller,et al.  Deterministic Parallel List Ranking , 1988, AWOC.

[15]  Paul G. Spirakis,et al.  Optimal Parallel Randomized Algorithms for Addition Sparse Addition and Identification , 1988, Inf. Comput..

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

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

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

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

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