• DocumentCode
    3000887
  • Title

    Merge Path - Parallel Merging Made Simple

  • Author

    Odeh, Saher ; Green, Oded ; Mwassi, Zahi ; Shmueli, Oz ; Birk, Yitzhak

  • Author_Institution
    Electr. Eng. Dept., Technion - Israel Inst. of Technol., Haifa, Israel
  • fYear
    2012
  • fDate
    21-25 May 2012
  • Firstpage
    1611
  • Lastpage
    1618
  • Abstract
    Merging two sorted arrays is a prominent building block for sorting and other functions. Its efficient parallelization requires balancing the load among compute cores, minimizing the extra work brought about by parallelization, and minimizing inter-thread synchronization requirements. Efficient use of memory is also important. We present a novel approach to partitioning the two sorted arrays into pairs of contiguous sequences of elements, one from each array, such that 1) each pair comprises any desired total number of elements, and 2) the elements of each pair form a contiguous sequence in the final merged sorted array. While the resulting partition and the computational complexity are similar to those of certain previous algorithms, our approach is different, extremely intuitive, and offers interesting insights. Based on this, we present a synchronization-free, cache-efficient merging (and sorting) algorithm. While we use CREW PRAM as the basis, our algorithm is easily adaptable to additional architectures. In fact, our approach is even relevant to sequential cache-efficient sorting. The algorithms and performance results are presented, along with important cache-related insights.
  • Keywords
    cache storage; computational complexity; concurrency theory; merging; parallel processing; resource allocation; sorting; CREW PRAM; building block; cache-efficient merging algorithm; cache-related insights; computational complexity; compute cores; contiguous sequences; interthread synchronization requirements; load balancing; merge path; parallel merging; parallelization; sequential cache-efficient sorting; sorted arrays; sorting algorithm; synchronization-free algorithm; Algorithm design and analysis; Arrays; Complexity theory; Corporate acquisitions; Memory management; Merging; Program processors; Parallel processors; Parallelism and concurrency; Sorting and searching;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012 IEEE 26th International
  • Conference_Location
    Shanghai
  • Print_ISBN
    978-1-4673-0974-5
  • Type

    conf

  • DOI
    10.1109/IPDPSW.2012.202
  • Filename
    6270834