The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Communications of the ACM
A taxonomy of parallel sorting
ACM Computing Surveys (CSUR)
A Benchmark Parallel Sort for Shared Memory Multiprocessors
IEEE Transactions on Computers
Scans as Primitive Parallel Operations
IEEE Transactions on Computers
Constant-time parallel integer sorting
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fast parallel sorting algorithms
Communications of the ACM
A new class of two stage parallel sorting schemes
ACM '82 Proceedings of the ACM '82 conference
Divide-and-Conquer for Parallel Processing
IEEE Transactions on Computers
IEEE Transactions on Computers
Searching, Merging, and Sorting in Parallel Computation
IEEE Transactions on Computers
Understanding throughput-oriented architectures
Communications of the ACM
Hi-index | 48.26 |
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⌈log2(2m + 1)⌉ + ⌊3m/p⌋ + [m/p][log2(n/m)] steps. If n = 2&bgr;m (&bgr; an integer), the algorithm requires at most 2[log2(m + 1)] + [m/p](2 + &bgr;) 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[log2(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)/2p)log2m steps in the general case and km/p + ((k + 1)/2)(m/p)log2m in the special case where n = km.