Merging with parallel processors
- 1 October 1975
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 18 (10) , 588-591
- https://doi.org/10.1145/361020.361216
Abstract
Consider two linearly ordered sets A, B , | A | = m , | B | = n, m ≤ n , and p, p ≤ m , parallel processors working synchronously. The paper presents an algorithm for merging A and B with the p parallel processors, which requires at most 2⌈log 2 (2 m + 1)⌉ + ⌊3 m / p ⌋ + [ m / p ][log 2 ( n / m )] steps. If n = 2 β m ( β an integer), the algorithm requires at most 2[log 2 ( m + 1)] + [ m / p ](2 + β ) steps. In the case where m and n are of the same order of magnitude, i.e. n = km with k being a constant, the algorithm requires 2[log 2 ( m + 1)] + [ m / p ](3 + k ) steps. These performances compare very favorably with the previous best parallel merging algorithm, Batcher's algorithm, which requires n / p + (( m + n )/2 p )log 2 m steps in the general case and km / p + (( k + 1)/2)( m / p )log 2 m in the special case where n = km .Keywords
This publication has 4 references indexed in Scilit:
- Parallelism in tape-sortingCommunications of the ACM, 1974
- Optimal algorithms for parallel polynomial evaluationJournal of Computer and System Sciences, 1973
- A Simple Algorithm for Merging Two Disjoint Linearly Ordered SetsSIAM Journal on Computing, 1972
- A Survey of Parallelism in Numerical AnalysisSIAM Review, 1971