- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于节点集计算能力差异的Hadoop自适应任务调度算法.doc
基于节点集计算能力差异的Hadoop自适应任务调度算法 摘要:针对异构集群任务推测式执行算法存在的任务进度比例固定、落后任务被动选取等问题,提出基于快慢节点集计算能力差异的自适应任务调度算法。该算法量化节点集计算能力差异实现分集调度,并通过节点与任务速率的动态反馈及时更新快慢节点集,提高节点集资源利用率与任务并行度。在两节点集中,利用动态调整任务进度比例判别落后任务,主动选择采用替代执行方式为落后任务执行备份任务的快节点,从而提升任务执行效率。与最长近似结束时间(LATE)算法的实验对比结果表明,该算法在短作业集、混合型作业集、出现节点性能下降的混合型作业集执行时间上比LATE算法分别缩短了5.21%、20.51%、23.86%,启用的备份任务数比LATE算法明显减少。所提算法可使任务主动适应节点差异,在减少备份任务的同时有效提高作业整体执行效率。 关键词:Hadoop;计算能力;自适应;任务调度;推测式执行 中图分类号: TP301.6; TP393.027 文献标志码:A 0引言 开源云计算平台Hadoop的任务调度算法用于将计算资源与作业任务合理对应,从而获得最短的作业整体执行时间。传统的先来先出(First In First Out, FIFO)调度算法[1-2]、容量调度算法[3]与公平调度算法[4-5]及其改进主要应用于同构集群环境[6-7]。随着集群应用需求的发展,节点之间的配置差异使得同构调度算法下的前提条件不再稳定,如不能再假设节点性能相同、同类型任务的执行时间相同、任务阶段用时等分等。因此,设计适应异构环境的调度算法尤为必要。 目前,Hadoop平台针对异构集群的推测式执行调度算法通过为进度落后的任务在其他节点上启用备份任务的方式来缩短执行时间,以确保落后任务所属作业的完成时间不受影响。但算法中节点速度、任务进度恒定的假设并不符合实际的异构环境[8-9]。在此基础上,改进的最长近似结束时间(Longest Approximate Time to End,LATE)算法[10]定义了备份任务数、慢节点与慢任务阈值,通过在出现资源空闲的快节点上启用备份任务,有效地缩短了落后任务的执行时间。但仍存在一些问题:1)落后任务判别时,借助分片策略表示任务进度,Map任务与Reduce任务均固定了各阶段的进度比例,这仍然属于同构集群假设。在异构环境中,任务阶段进度有较大差异,固定进度比例影响到慢节点、慢任务阈值的计算,易造成节点与任务参数误判。2)落后任务采用了被动选择的方式,在备份任务启动前需要等待各节点心跳信息的读取与分析、落后任务判别与排序、计算数据移动等一系列操作的完成。其中,Map任务还需要按照失败任务、新任务、备份任务的顺序[11]选取本轮任务。当任务连续到来时,被动的选取方式将使落后任务难以获得加速,影响所属作业的执行进度。3)推测执行中同一数据需要启用多个任务完成的方式,将占用更多的计算资源。若新节点上备份任务的执行时间未小于落后任务在原节点上的剩余时间,则耗费的空间、网络代价将无法获得执行时间上的改善。4)Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)使用冗余存储,同一数据在不同节点上默认保存有3个备份。当任务数据不在本地时,移动数据的代价远高于移动计算。算法中未考虑数据本地性,耗费了网络、存储资源,影响了作业完成时间与资源利用率。 现有的研究主要集中在改进问题4)中的数据本地性与进一步提高并行度上,如文献[12]提出了延迟调度算法以提高数据本地性;文献[13]使用任务进度探测方式区分快慢节点以提高推测执行的效率;文献[14]从总体性能考虑,通过网络与负载状况动态调整数据本地性;文献[15]引入排队论模型,利用单队列多资源池服务窗口的设计提高调度效率;文献[16]采用预取任务输入数据的方式减少作业响应时间。本文针对以上4个问题,在分析节点与任务参数的基础上,提出了基于节点集计算能力差异的自适应调度(Adaptive scheduling based on the Computation Capacity Difference between node sets,ACCD)算法。该算法通过动态区分异构集群中的快慢节点集计算能力差异,以数据本地性为调度要素,优先选择快节点并兼顾负载均衡,以充分利用计算资源、减少落后任务生成。通过动态调整任务进度比例、为落后任务主动查找能缩短作业完成时间的快节点以及启用备份任务替代落后任务的设计,减少落后任务误判和资源耗费。该算法使任务主动适应节点差异,兼顾了快慢节点集间的调度均衡与数据本地性,使异构环境任务调度趋于合理。 2ACCD算法实现 在无运行数据的初始状态,根据资源量初判节点速率;系统运行后,根据已完成任务的历史
文档评论(0)