Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Work-Time Optimal k-Merge Algorithms on the PRAM

Published: 01 March 1998 Publication History
  • Get Citation Alerts
  • Abstract

    For 2 k n, the k-merge problem is to merge a collection of k sorted 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 (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 (log n) time and (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 (log n) time and performs (n log k) work on the EREW-PRAM. Finally, we design a work-time optimal CREW-PRAM k-merge algorithm that runs in (log log n + log k) time and performs (n log k) work. This latter algorithm is also work-time optimal on the CRCW-PRAM model. Our algorithms completely settle the status of the k-merge problem on the three main PRAM models.

    References

    [1]
    A. Aho J.E. Hopcroft and J. Ullman, Data Structures and Algorithms. Reading, Mass.: Addison-Wesley, 1984.
    [2]
    S.G. Akl, Parallel Computation, Models and Methods. Englewood Cliffs, N.J.: Prentice Hall, 1997.
    [3]
    S.G. Akl and N. Santoro, "Optimal Parallel Merging and Sorting Without Memory Conflicts," IEEE Trans. Computers, vol. 36, pp. 1,267-1,369, 1987.
    [4]
    Y. Azar and U. Vishkin, "Tight Comparison Bounds on the Complexity of Parallel Sorting," SIAM J. Computing, vol. 16, pp. 458-464, 1987.
    [5]
    D. Bitton D.J. Dewitt D.K. Hsiao and J. Menon, "A Taxonomy of Parallel Sorting," ACM Computing Surveys, vol. 16, pp. 287-318, 1984.
    [6]
    A. Borodin and J.E. Hopcroft, "Routing, Merging and Sorting on Parallel Models of Computation," J. Computer and System Sciences, vol. 30, pp. 130-145, 1985.
    [7]
    R.P. Brent, "The Parallel Evaluation of General Arithmetic Expressions," J. ACM, vol. 21, pp. 201-208, 1974.
    [8]
    D.Z. Chen W. Chen K. Wada and K. Kawaguchi, "Parallel Algorithms for Partitioning Sorted Sets and Related Problems," Proc. Fourth European Symp. Algorithms, ESA '96 (LNCS 1136), pp. 234-235, 1996.
    [9]
    R. Cole, "An Optimally Efficient Selection Algorithm," Information Processing Letters, vol. 26, pp. 295-299, 1988.
    [10]
    R. Cole, "Parallel Merge Sort," SIAM J. Computing, vol. 17, pp. 770-785, 1988.
    [11]
    R. Cole and U. Vishkin, "Approximate Parallel Scheduling. Part 1: The Basic Technique with Applications to Optimal Parallel List Ranking in Logarithmic Time," SIAM J. Computing, vol. 18, pp. 128-142, 1988.
    [12]
    E. Dekel and I. Ozsvath, "Parallel External Sorting," J. Parallel and Distributed Computing, vol. 6, pp. 623-635, 1989.
    [13]
    J.Y. Fu and F.C. Lin, "Optimal Parallel External Merging Under Hardware Contstraints," Proc. Int'l Conf. Parallel Processing, vol. III, pp. 70-74, St. Charles, Ill., Aug. 1991.
    [14]
    T. Hagerup and R. Raman, "Fast Deterministic Approximate and Exact Parallel Sorting," Proc. ACM Symp. Parallel Algorithms and Architectures, pp. 346-355, 1993.
    [15]
    T. Hagerup and C. Rüb, "Optimal Merging and Sorting on the EREW PRAM," Information Processing Letters, vol. 33, pp. 181-185, 1989.
    [16]
    J. JáJá, An Introduction to Parallel Algorithms. Reading, Mass.: Addison-Wesley, 1991.
    [17]
    R.M. Karp and V. Ramachandran, "Parallel Algorithms for Shared-Memory Machines," Handbook of Theoretical Computer Science, Vol. A, J. van Leeuwen, ed., pp. 869-941. Cambridge, Mass.: MIT Press, 1990.
    [18]
    D.E. Knuth, The Art of Computer Programming, Vol. 1, Fundamental Algorithms, second ed. Reading, Mass.: Addison-Wesley, 1973.
    [19]
    C. Kruskal, "Searching, Merging, and Sorting in Parallel Computation," IEEE Trans. Computers, vol. 32, pp. 942-946, 1983.
    [20]
    R.E. Ladner and M.F. Fisher, "Parallel Prefix Computation," J. ACM, vol. 27, pp. 831-838, 1980.
    [21]
    F.T. Leighton, Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. San Mateo, Calif.: Morgan Kaufmann, 1992.
    [22]
    T.H. Merrett, Relational Information Systems. Reston, Va., 1984.
    [23]
    S. Olariu C.M. Overstreet and Z. Wen, "Reconstructing Binary Trees in Doubly Logarithmic CREW Time," J. Parallel and Distributed Computing, vol. 27, pp. 100-105, 1995.
    [24]
    S. Olariu and J. Schwing, "A New Deterministic Sampling Scheme with Applications to Broadcast-Efficient Sorting on the Reconfigurable Mesh," J. Parallel and Distributed Computing, vol. 32, pp. 215-222, 1996.
    [25]
    S. Olariu and Z. Wen, "An Efficient Parallel Algorithm for Multiselection," Parallel Computing, vol. 17, pp. 689-693, 1991.
    [26]
    M.J. Quinn, Parallel Computing: Theory and Practice. New York: McGraw-Hill, 1994.
    [27]
    M. Snir, "On Parallel Searching," SIAM J. Computing, vol. 14, pp. 688-708, 1985.
    [28]
    Y. Shiloach and U. Vishkin, "Finding the Maximum, Merging and Sorting in Parallel Computation," J. Algorithms, vol. 2, pp. 88-102, 1981.
    [29]
    P. Valduriez and G. Gardarin, "Join and Semijoin Algorithms for Multiprocessors Database Machines," ACM Trans. Database Systems, vol. 9, pp. 133-161, 1984.
    [30]
    L. G. Valiant, "Parallelism in Comparison Problems," SIAM J. Computing, vol. 4, pp. 348-355, 1975.
    [31]
    P.J. Varman S.D. Scheufler B.R. Iyer and G.R. Ricard, "Merging Multiple Lists on Hierarchical-Memory Multiprocessors," J. Parallel and Distributed Computing, vol. 12, pp. 171-177, 1991.
    [32]
    Z. Wen, "Multi-Way Merging in Parallel," IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 1, pp. 11-17, Jan. 1996.

    Cited By

    View all
    • (2019)A Work Efficient Parallel Algorithm for Exact Euclidean Distance TransformIEEE Transactions on Image Processing10.1109/TIP.2019.291674128:11(5322-5335)Online publication date: 21-Aug-2019

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image IEEE Transactions on Parallel and Distributed Systems
    IEEE Transactions on Parallel and Distributed Systems  Volume 9, Issue 3
    March 1998
    95 pages

    Publisher

    IEEE Press

    Publication History

    Published: 01 March 1998

    Author Tags

    1. Merging
    2. databases
    3. information retrieval
    4. parallel algorithms
    5. query processing.
    6. sorting
    7. work-time optimal algorithms

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)A Work Efficient Parallel Algorithm for Exact Euclidean Distance TransformIEEE Transactions on Image Processing10.1109/TIP.2019.291674128:11(5322-5335)Online publication date: 21-Aug-2019

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media