完美负载均衡、最优、稳定的并行归并
分布式、并行与集群计算
2013-11-13 v2
摘要
我们提出了一种简单、工作最优且无同步的解决方案,用于并行稳定归并两个给定的有序数组(分别有 m 和 n 个元素)为一个有序数组(m+n 个元素)。主要贡献是一种新的、简单、快速且直接的算法,该算法对于稳定归并输出序列的任意前缀,确定产生该输出前缀所需的两个输入序列的精确前缀。更精确地说,对于结果中但尚未构造的输出数组中表示输出前缀的任意给定索引(秩),该算法计算两个输入数组中表示所需输入前缀的索引(协秩),而无需归并输入数组。协秩算法的时间复杂度为 O(log min(m,n))。该算法用于设计一种完美负载均衡、稳定的并行归并算法,其中每个处理元素具有完全相同数量的输入元素需要归并。与其他并行归并方法相比,我们的算法简单得多,并且速度可快达两倍。与之前解决协秩问题的算法相比,这里给出的算法是直接的,并且在存在重复元素时保持稳定性,而无需额外的空间或时间开销。当处理元素数量 p 不超过 (m+n)/log min(m,n) 时,并行归并算法具有最优加速比。它易于在共享内存和分布式内存并行系统上实现。
引用
@article{arxiv.1303.4312,
title = {Perfectly load-balanced, optimal, stable, parallel merge},
author = {Christian Siebert and Jesper Larsson Träff},
journal= {arXiv preprint arXiv:1303.4312},
year = {2013}
}