非对称数据率网络下无阻塞连接算法.docVIP

非对称数据率网络下无阻塞连接算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
非对称数据率网络下无阻塞连接算法

非对称数据率网络下无阻塞连接算法   摘 要: 基于稳定网的数据流连接算法已有很多研究成果,但在实际应用中,还需要处理不同速率网络下的查询连接,这使得目前流行的基于稳定数据流且内存分配固定环境下的连接算法难以适用。介绍了一种在非对称数据率网络下的无阻塞排序归并连接算法SMA。SMA算法的连接运算分为两阶段:join during run creation和join during merge,第一阶段可用于网络无阻塞情况下通过内存刷新策略来生成头批连接结果,第二阶段用于数据源受阻时借助外存驻留数据继续生成查询连接结果,从而保证了连接结果产生的无阻塞性。试验证明,SMA对等值和空间连接效率很高。 关键词: 数据流; 无阻塞连接; 内存刷新; 排序归并 中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2013)07-11-02 0 引言 当前像Internet和Web等广域网下的关系查询处理成为热点问题,此类问题可以应用到交互式系统[1,2],无线传感器,网格,监视[3,4]和数据流[5,6]。连接运算Join一直都是查询优化的重点研究对象,分布式Join查询研究更具挑战性,因为数据来自不同网络部分的远程数据流,网络速度的不对称性和网络拥塞都可能引起数据流连接结果的不可预测、迟缓或突然暴发式增长,以致可能导致产生结果的阻塞现象。传统的连接运算不适合在这种可能出现拥塞状态的网络下进行流水查询[5,6],而且传统连接算法主要用于对整个连接结果进行优化处理,但是许多情况下希望能尽快得到一部分结果值,这些初始结果对于在线聚合,交互式的虚拟视频等环境下来判断决定连接操作是否应该继续还是放弃具有很重要的影响。 当前流行的尽可能快产生连接结果的无阻塞算法能够在一个或所有数据流都出现阻塞时持续流水线查询处理,基于Web环境下的无阻塞算法也有不同运算符的研究,但大多只能应用到等值连接上,而很难应用到非等值连接运算上,如HMJ[5]算法。 传统排序归并算法通常因为需要全排所有数据后才能进行合并而被认为是阻塞算法,PMJ提出了通过内存刷新策略产生无阻塞的排序连接算法,可以应用各种不同的连接算符,如:等值连接和空间连接等。但是此算法是基于稳定网络下的数据流查询处理,对于拥塞网络不能直接应用。 本文提出一种能在拥塞网络中高效处理包括等值和空间运算的连接算法即非对称数据率网络下的无阻塞连接算法SMA。SMA具有PMJ[2]处理非等值运算的功能,同时吸收了HMJ能通过外存驻留数据的连接查询继续产生结果的特点,是一种在大规模覆盖网下通用无阻塞的基于改进排序归并的连接算法。 1 SMA SMA分成两个阶段的连接子算法:join during run creation和join during merge,第一阶段可用于在无阻塞情况下内存中的第一批数据的生成,第二阶段用于在所有数据源受阻时根据外存驻留数据继续进行查询连接处理,从而保证了连接结果产生的无阻塞性。为解决数据率的不对称问题,SMA采用自然控制内存偏斜方法来达到高效利用内存的目的。 在阶段1中,SMA根据数据率的不同设置两个数据源R和S。内存Memory为R和S分配的比例值为α,即|MR|:|MS|=α,其中|MR|(|MS|)表示内存分配给R(S)的空间大小。两个子集采用类似快速排序算法进行内部排序,产生的结果直接传递给下一个操作。同时为每一个内存记录项加上连接时间戳jointime,当内存装满时,按R或S所占各自内存的比例值β将最小jointime的数据集导到外存,形成外存新数据块,并为每个外存数据项加上块号,为阶段2的外部连接做下一阶段中避免产生重复结论的准备。SMA继续接受数据流并将之排序连接直到数据接受结束,最后将memory的数据与外存中数据块合并连接,保证数据结果的完全产生。 当数据源发生拥塞时,内存中数据全部排序连接完后,系统进入阶段2,SMA不断合并阶段1导出的数据块形成更长的数据块,同时将同号数据块内的数据进行连接以持续产生结果。 2 试验 试验建立在Intel PentiumIV CPU2.9GHz,512MBRAM运行在Linux2.4.4,SMA,HMJ和XJoin使用GNUC++编写实现。内存/外存的页大小为1024 bytes。设内存可容纳100个页,数据流有200000个元组,每次冲洗到外存的元组数为内存大小的5%。数据流的特性描述如下。 ⑴ 网络稳定性:为模拟不稳定网,元组到达的间隔时间的分布域为[10-3,0.03]s,服从齐夫分布,倾向于10-3s。 ⑵ 数据源:分为空间和等值连接数据源。前者采用tiger[7]的德国全境内的公共效用网(utilitynetwor

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档