On the improvement of the in-place merge algorithm parallelization
Berenger Bramas (Inria, ICube, CAMUS), Quentin Bramas (ICube, UNISTRA)

TL;DR
This paper introduces new parallelization techniques for in-place merge algorithms, including median finding, data division strategies, and in-place swapping, resulting in significant speedups for large arrays.
Contribution
The paper proposes novel algorithms and strategies to improve parallel in-place merging, reducing data movement and enhancing speedup efficiency.
Findings
Significant speedup for arrays larger than 1000 elements
Effective in-place swapping with linear shifting algorithm
New median-finding algorithm for partitioning
Abstract
In this paper, we present several improvements in the parallelization of the in-place merge algorithm, which merges two contiguous sorted arrays into one with an O(T) space complexity (where T is the number of threads). The approach divides the two arrays into as many pairs of partitions as there are threads available; such that each thread can later merge a pair of partitions independently of the others. We extend the existing method by proposing a new algorithm to find the median of two partitions. Additionally, we provide a new strategy to divide the input arrays where we minimize the data movement, but at the cost of making this stage sequential. Finally, we provide the so-called linear shifting algorithm that swaps two partitions in-place with contiguous data access. We emphasize that our approach is straightforward to implement and that it can also be used for external (out of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Parallel Computing and Optimization Techniques · Interconnection Networks and Systems
