Saw-Teeth-Merge:an Algorithm for Parallel K-Way Merging Using Ranges Shuffling

来源 :复旦大学 | 被引量 : 0次 | 上传用户:tianxu36966688
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
归并有序表或数列是计算机科学领域的一类重要的问题。归并在排序中是非常重要的一步,它在很多应用中有着举足轻重的地位。此外,归并在其它不同的应用程序中都是最基本的一部分,如寻找合适的间隔段落,优化粒子模拟,管理数据群集环境,数据库,全球情报系统,在两到三个范围和信息检索中找到最大值等。  该研究工作的目的是弥补并行原地归并算法研究的缺乏。原地合并算法使用频繁,而关于并行原地归并算法的文献却非常有限。我们可以把这一研究缺口归因于网络在计算节点中占据支配地位,而原地归并算法此时却不适用。网络的原地归并算法就是把数据传输限制成小的信息组块,从而引起更长的处理时间和更多的通信开销。  对比原地算法和异地算法,普通计算机如个人电脑,其扩充内存使得异地算法占据了优势地位。新并行架构的出现,凭借其有限的、不可扩展的、快速共享的内存激发了发展新一代并行原地基本算法的需要,从而节省几乎50%的内存。这类算法的应用可以使上述快速储存架构能处理更多更大的问题。  本文,我们做出了两个主要贡献:新颖的并行k排列和完美的洗牌合并算法。第一个贡献是Saw-Teeth-Sh uffle,所提出的这个算法将完美的洗牌合并看做是一种对称分裂任务。因此,它将k排列洗牌任务看作是比赛双树洗牌任务。在有t个分区而且每个分区有k个排列时,Saw-Teeth-Shuffle的时间复杂度是O(n×log(n)),空间复杂度是O(1)。  实验结果表明,当洗牌元素少于190时,Saw-Teeth-Shuffle算法位置变动小,因此执行时间短。这是本文工作的一个贡献。而且,它是文献中第一个运用对称分裂来代替循环领导方法来解决洗牌元素的输入。  所提出的并行多路归并名字是Saw-Teeth-Merge。这个名字源于把多路归并看做把线性函数转化成Saw-Teeth-Merge。Saw-Teeth-Merge有一个排列洗牌的新用途。穷尽现有知识,归并排序的序列可以通过文献中少数几种方法被消减成简化元素洗牌。其算法取代了广为人知的块重排步骤创造了首次在归并排序段方面排列洗牌的用法。  对于执行时间的分析,我们评估并证实了我们提出的Saw-Teeth-Merge算法是迄今为止文献中最快的并行多路原地归并算法。Saw-Teeth-Merge中k段就地合并的总时间复杂度是O(log(k)×n+k×log(n/k)),且能提高到O(log(k)×(n/t)+k×log(n/k)),空间复杂度是O(t×k)。  我们证明了所提出的Saw-Teeth-Merge算法是至今为止最快的平行排列就地合并算法。它在小型数据集1上比高斯算法快307倍,比双调算法快2倍;在大型数据集2比双调算法快8.3倍,且没有大小限制。
其他文献
MDA是国际对象管理组织(OMG)为应对业务和技术的快速变化提出的一种开放、中立的系统开发方法和一组建模语言标准的集合。MDA以模型作为系统开发活动的主要制品,将一个应用或
传统的网络设备大多采用基于GPP或ASIC的嵌入式处理器。随着网络流量的迅速增长和网络业务的多样化,它们在性能或灵活性上已难以满足应用需要。为此,一种并行可编程的网络处理
模型驱动体系结构是对象管理组织针对软件产业所面临的压力提出来的一种新的解决途径。MDA的关键之处是,模型在软件开发中扮演了非常重要的角色。整个软件开发过程是由对软件
随着科技的进步,互联网已逐渐演变为一个巨大的分布式资源库,要想从中精准快速地获取目标信息是非常困难的,近年来为提高网络资源查询的效率,研究者们构建了一些结构化知识库
网络环境下服务种类和数量繁多,为了满足用户个性化需求,需要准确全面地发现符合用户需要的所有服务;当单个服务不能满足用户需求时,还需要选择出合适的服务组合成满足用户需要
随着互联网技术的迅速发展和计算机的广泛应用,P2P技术变得越来越流行,已成为国际计算机网络技术研究领域的热点技术之一。Napster、Gnutella、BitTorrent、Skype、腾讯QQ等
随着军队信息化建设的深入发展,军网的安全性越来越受到较大的关注。本文通过对军网和互联网、地方专网的研究比较,详细分析了军网可能存在的一些不安全因素,并在此基础上进一步
“定位”,从广义上说,就是确定物体在某个特定环境中相对于其他参照物的位置的过程。近年来,随着传感器技术、计算机技术的进步,定位问题越来越成为了一个研究的热点问题。各种定
随着网络和其它信息技术的广泛应用,网络系统的安全变得至关重要。入侵检测系统是保护网络系统安全的关键技术和重要手段,是网络安全领域的研究热点。发展到现在,对入侵检测
With the rapid development of Internet, various network business have put forward higher and higher requirement to QOS, which result in the presentation of Diff