Work-Time Optimal k-Merge Algorithms on the PRAM

For 2/spl les/k/spl les/n, the k-merge problem is to merge a collection of ksorted sequences of total length n into a new sorted sequence. The k-merge problem is fundamental as it provides a common generalization of both merging and sorting. The main contribution of this work is to give simple and intuitive work-time optimal algorithms for the k-merge problem on three PRAM models, thus settling the status of the k-merge problem. We first prove that /spl Omega/(n log k) work is required to solve the k-merge problem on the PRAM models. We then show that the EREW-PRAM and both the CREW-PRAM and the CRCW require /spl Omega/(log n) time and /spl Omega/(log log n+log k) time, respectively, provided that the amount of work is bounded by O(n log k). Our first k-merge algorithm runs in /spl Theta/(log n) time and performs /spl Theta/(n log k) work on the EREW-PRAM. Finally, we design a work-time optimal CREW-PRAM k-merge algorithm that runs in /spl Theta/(log log n+log k) time and performs /spl Theta/(n log k) work. This latter algorithm is also work-time optimal on the CREW-PRAM model. Our algorithms completely settle the status of the k-merge problem on the three main PRAM models.

[1]  David J. DeWitt,et al.  A taxonomy of parallel sorting , 1984, CSUR.

[2]  Selim G. Akl Parallel computation: models and methods , 1997 .

[3]  Rajeev Raman,et al.  Fast deterministic approximate and exact parallel sorting , 1993, SPAA '93.

[4]  Marc Snir,et al.  On Parallel Searching , 2011, SIAM J. Comput..

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

[6]  Selim G. Akl,et al.  Optimal Parallel Merging and Sorting Without Memory Conflicts , 1987, IEEE Transactions on Computers.

[7]  Uzi Vishkin,et al.  Finding the maximum, merging and sorting in a parallel computation model , 1981, CONPAR.

[8]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[9]  T H Merrett,et al.  Relational Information Systems , 1983 .

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

[11]  Stephan Olariu,et al.  A Novel Deterministic Sampling Scheme with Applications to Broadcast-Efficient Sorting on the Reconfigurable Mesh , 1986, J. Parallel Distributed Comput..

[12]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .

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

[14]  Stephan Olariu,et al.  An efficient parallel algorithm for multiselection , 1991, Parallel Comput..

[15]  Zhaofang Wen Multiway Merging in Parallel , 1996, IEEE Trans. Parallel Distributed Syst..

[16]  Eliezer Dekel,et al.  Parallel External Merging , 1989, J. Parallel Distributed Comput..

[17]  Yossi Azar,et al.  Tight Comparison Bounds on the Complexity of Parallel Sorting , 2018, SIAM J. Comput..

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

[19]  Alfred V. Aho,et al.  Data Structures and Algorithms , 1983 .

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

[21]  Patrick Valduriez,et al.  Join and Semijoin Algorithms for a Multiprocessor Database Machine , 1984, TODS.

[22]  Peter J. Varman,et al.  Merging Multiple Lists on Hierarchical-Memory Multiprocessors , 1991, J. Parallel Distributed Comput..

[23]  M. J. Quinn,et al.  Parallel computing (2nd ed.): theory and practice , 1994 .

[24]  Richard Cole,et al.  Approximate Parallel Scheduling. Part I: The Basic Technique with Applications to Optimal Parallel List Ranking in Logarithmic Time , 1988, SIAM J. Comput..

[25]  Torben Hagerup,et al.  Optimal Merging and Sorting on the Erew Pram , 1989, Inf. Process. Lett..

[26]  Stephan Olariu,et al.  Reconstructing a Binary Tree from its Traversals in Doubly , 1995, J. Parallel Distributed Comput..

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

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

[29]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[30]  Wei Chen,et al.  Parallel Algorithms for Partitioning Sorted Sets and Related Problems , 1996, ESA.