首页> 外文期刊>IEEE Transactions on Parallel and Distributed Systems >Lazy-Merge: A Novel Implementation for Indexed Parallel $K$ -Way In-Place Merging
【24h】

Lazy-Merge: A Novel Implementation for Indexed Parallel $K$ -Way In-Place Merging

机译:惰性合并:索引并行 $ K $ -方式就地合并

获取原文
获取原文并翻译 | 示例

摘要

Merging sorted segments is a core topic of fundamental computer science that has many different applications, such as $n$ -body simulation. In this research, we propose Lazy-Merge, a novel implementation of sequential in-place $k$ -way merging algorithms, that can be utilized in their parallel counterparts. The implementation divides the $k$ -way merging problem into $t$ ordered and independent smaller $k$ -way merging tasks (partitions), but each merging task includes a set of scattered ranges to be merged by an existing merging algorithm. The final merged list includes ranges with ordered elements, but the ranges themselves are not ordered. Lazy-Merge utilizes a novel usage of indexes to access the entire set of merged elements in order. Its merging time complexity is $O(klog (n/k)+merge(n/p))$ , where $k$ , $n$ , and $p$ are the number of segments, the list size and the number of processors (partitions), respectively. Here, $merge(n/p)$ represents the time needed to merge $n/p$ elements by the used in-place merging algorithm. The time complexity of accessing an element in the merged list is $Oleft(log kright)$ , that time can be constant if $k$ processors are used. The results of the proposed work are compared with those of bitonic merge and the best time-space optimal algorithms on number of moves and execution time. In comparison with the existing algorithms, significant speedup and reasonable reduction factor for number of moves have been achieved.
机译:合并排序的段是基础计算机科学的核心主题,它具有许多不同的应用程序,例如$ n $ -body模拟。在这项研究中,我们提出了Lazy-Merge,这是一种顺序就地$ k $方式合并算法的新颖实现,可以在其并行对应项中使用。该实现将$ k $ -way合并问题分为$ t $有序和独立的较小$ k $ -way合并任务(分区),但是每个合并任务都包含一组分散的范围,这些范围将由现有合并算法合并。最终的合并列表包括带顺序元素的范围,但范围本身不是顺序的。惰性合并利用索引的新颖用法来按顺序访问整个合并的元素集。它的合并时间复杂度为$ O(klog(n / k)+ merge(n / p))$,其中$ k $,$ n $和$ p $是段数,列表大小和处理器(分区)。这里,$ merge(n / p)$表示通过使用的就地合并算法合并$ n / p $个元素所需的时间。访问合并列表中元素的时间复杂度是$ Oleft(log kright)$,如果使用$ k $处理器,则时间可以是恒定的。将拟议工作的结果与双音合并的结果以及最佳时空最佳算法的移动次数和执行时间进行了比较。与现有算法相比,已经实现了明显的加速和合理的运动次数减少因子。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号