We examine the average running times of Batcher's bitonic merge and Batcher's odd-even merge when they are used as parallel merging algorithms. It has been shown previously that the running time of odd-even merge can be upper bounded bya function of the maximal rnak difference for elements in the two input sequence.s Here we give an almost matching lower bound for odd-even merge as well as a similar upper bound for bitonic merge. From this follows that the average running time of odd-even merge is sita(n/p)(1+log(1+p sup 2)))(O((n/p)(1+log(1+p sup 2))), resp.) where n is the size ofthe input and p is the number of processors. Using these results we then show that the average runnign times ofodd-even merge sort and bitonic merge sort are O((n/p)(log n+(log(1+p sup 2)) sup 2), that is, the two algorithms are optimal on the aerage if n greater than or equal to P sup 2/2 square root of (log p).
展开▼
机译:当它们用作并行合并算法时,我们检查了Batcher的双音合并和Batcher的奇偶合并的平均运行时间。前面已经证明,奇偶合并的运行时间可以由两个输入序列中元素的最大rnak差的函数来上限。在这里,我们给出了奇偶合并的几乎匹配的下界以及双调合并的上限类似。由此可见,奇偶合并的平均运行时间为sita(n / p)(1 + log(1 + p sup 2 / n)))(O((n / p)(1 + log(1+ p sup 2 / n))),分别是),其中n是输入的大小,p是处理器的数量。然后使用这些结果表明奇偶合并排序和双子合并排序的平均运行时间为O((n / p)(log n +(log(1 + p sup 2 / n))sup 2),即,如果n大于或等于(log p)的P sup 2/2平方根,则这两种算法在时间上是最佳的。
展开▼