Small-Rank Selection in Parallel, with Applications to Heap Construction

We study the parallel complexity of selecting thekth smallest ofnelements on the CRCW PRAM. We show that this problem can be solved inO(log logn+ logk/log logn) time andO(n) operations for all 1?k?n/2, which is superior to existing deterministic bounds whenkis small compared ton. A matching time lower bound is shown for all algorithms that usenor fewer processors to solve this problem. As an application of the selection result, we give an algorithm for permutingnitems in an array into heap order on a CRCW PRAM inO(log logn) time andO(n) operations. By using randomization, the running time of this algorithm can be improved toO(log log logn) with high probability, still performingO(n) operations. No PRAM algorithm witho(logn) run time was previously known for this problem. We also obtain improved algorithms for constructingk-bandwidthheaps andmin-pathheaps.

[1]  Manuel Blum,et al.  Time Bounds for Selection , 1973, J. Comput. Syst. Sci..

[2]  Torben Hagerup,et al.  On a Compaction Theorem of Ragde , 1992, Inf. Process. Lett..

[3]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

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

[5]  Rajeev Raman,et al.  Waste makes haste: tight bounds for loose parallel sorting , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[6]  Yossi Azar,et al.  Parallel selection , 1990, Discret. Appl. Math..

[7]  Noga Alon,et al.  Parallel comparison algorithms for approximation problems , 1991, Comb..

[8]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[9]  Torben Hagerup,et al.  The Log-Star Revolution , 1992, STACS.

[10]  Stephan Olariu,et al.  Optimal Parallel Initialization Algorithms for a Class of Priority Queues , 1991, IEEE Trans. Parallel Distributed Syst..

[11]  Prabhakar Ragde,et al.  Incomparability in parallel computation , 1990, Discret. Appl. Math..

[12]  Richard E. Korf,et al.  Parallel Heap Operations on an EREW PRAM , 1994, J. Parallel Distributed Comput..

[13]  M. Cristina Pinotti,et al.  Some Comments on Building Heaps in Parallel , 1993, Inf. Process. Lett..

[14]  Geppino Pucci,et al.  Parallel Algorithms for Priority Queue Operations , 1995, Theor. Comput. Sci..

[15]  Geppino Pucci,et al.  Parallel Priority Queues , 1991, Inf. Process. Lett..

[16]  Allan Borodin,et al.  Routing, Merging, and Sorting on Parallel Models of Computation , 1985, J. Comput. Syst. Sci..

[17]  Leslie G. Valiant,et al.  Parallelism in Comparison Problems , 1975, SIAM J. Comput..

[18]  Rüdiger Reischuk Probabilistic Parallel Algorithms for Sorting and Selection , 1985, SIAM J. Comput..

[19]  Clyde P. Kruskal,et al.  Searching, Merging, and Sorting in Parallel Computation , 1983, IEEE Transactions on Computers.

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

[21]  Ludek Kucera,et al.  Parallel Computation and Conflicts in Memory Access , 1982, Information Processing Letters.

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

[23]  Uzi Vishkin,et al.  An O(log n) Parallel Connectivity Algorithm , 1982, J. Algorithms.

[24]  John H. Reif,et al.  Synthesis of Parallel Algorithms , 1993 .

[25]  C. M. Khoong Optimal Parallel Construction of Heaps , 1993, Inf. Process. Lett..

[26]  Weixiong Zhang,et al.  Building Heaps in Parallel , 1991, Inf. Process. Lett..

[27]  Richard J. Cole An Optimally Efficient Selection Algorithm , 1988, Inf. Process. Lett..

[28]  Uzi Vishkin,et al.  Finding the Maximum, Merging, and Sorting in a Parallel Computation Model , 1981, J. Algorithms.

[29]  Paul F. Dietz Heap Construction in the Parallel Comparison Tree Model , 1992, SWAT.

[30]  Rajeev Raman,et al.  Approximate and Exact Deterministic Parallel Selection , 1993, MFCS.

[31]  János Komlós,et al.  Optimal Parallel Selection has Complexity O(Log Log n) , 1989, J. Comput. Syst. Sci..

[32]  Faith Ellen,et al.  Relations Between Concurrent-Write Models of Parallel Computation , 1988, SIAM J. Comput..

[33]  Uzi Vishkin,et al.  Towards a theory of nearly constant time parallel algorithms , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[34]  Prabhakar Ragde,et al.  The Parallel Simplicity of Compaction and Chaining , 1990, J. Algorithms.

[35]  Svante Carlsson,et al.  Parallel Complexity of Heaps and Min-Max Heaps , 1992, LATIN.

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