网站大量收购独家精品文档,联系QQ:2885784924

基于资源预测MapReduce调度策略研究.docVIP

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

基于资源预测MapReduce调度策略研究   摘要:通过对资源调度策略的深入研究与分析,参考数据库领域的并发控制等技术,提出了基于资源预测的分布式调度策略。其在两级调度策略基础上提供了资源预测、优化冲突解决等新特性,以全方面提升MapReduce作业调度的并发性、动态性和可扩展性。   关键词:MapReduce;作业调度;Hadoop集群;粒度   中图分类号:TP301   文献标识码:A 文章编号:1672-7800(2015)003-0018-03   0 引言   Hadoop的最初几个版本都采用单独的、中央化的调度算法处理每一个作业。集中调度结构清晰、设计简单,能够完成批量作业的调度及资源分配任务。Hadoop也不断改进更新集中调度,现在常用的有先进先出调度、按需调度[1]、计算能力调度[2]和公平调度[3]等策略。集中式调度策略的资源利用率较低,本地性、可利用性和灵活性较差。更为关键的是当集群机器数量足够大(1 000以上)时,全局的作业调度和资源分配方法很容易成为系统瓶颈,这在实际线上系统中被多次证明过。   为解决集中调度问题,出现了两级调度。两级调度器有一个全局的资源管理器,视为第一级调度,与之对应的各计算框架的内部调度器视为第二级调度。两级调度将集群资源(如服务器)划分为互不重叠的区间,每个区间至多允许一种计算框架的调度算法(如FIFO调度、公平调度等)。两级调度允许并行调度任务,因为每个区间互不影响。两级调度器仍保留一个经简化的中央式调度器,但调度策略下放到各个应用程序调度器完成。这种调度器的典型代表是Hadoop YARN[4]和Apache Mesos[5]。   两级调度使用分配插件作出分配决定,这极大提高了灵活性,用户可以根据不同需求加载不同的分配模块。两级调度采用操作系统容器技术隔离资源(CPU、内存等),采用分布式进程方法调度任务,这需要系统足够高效和健壮。为避免资源浪费,两级调度提供过滤机制,允许框架只接收节点列表中的节点或资源剩余量大于某一既定值的节点。整个集群的实时资源使用情况对两级调度的各个框架是透明的,因此两级调度的任务分配不能根据系统资源使用情况实时调整,这存在作业间资源相互干扰的风险。   1 基于资源预测的资源调度策略   1.1 调度策略设计   为了克服双层调度器的缺点,本文提出了全新的分布式动态调度策略,以期解决现存调度策略和新一代两级调度策略中的问题,最大限度地提升资源利用效率并缩短平均作业处理时间。基于资源预测调度SPR(Scheduling based on Prediction of Resource)将双层调度器中的集中式资源调度模块简化成一些持久化的共享数据(状态)和针对这些数据的验证代码,而这里的“共享数据”实际上是整个集群的实时资源使用信息。   针对资源冲突和预测问题,SPR只在元状态中维护应用程序(作业)的优先级,而资源检测、限制、预测等作业分布在各个数据节点进行。其中,为更好地利用资源,增加了资源预测模块,该模块用于预测应用作业的资源占用量,并在允许范围内进行预留。此功能可以帮助系统更好地查看当前资源使用情况,并且根据检测结果作出相应预测与调整,最大限度地提高系统资源利用率。具体设计如图1所示。   1.2 资源预测   在MapReduce中,使用进度分来监控每个任务运行时的进展情况。在Map阶段,其代表了Map任务的输入数据部分;在Reduce阶段,其代表了被Reduce任务处理的中间数据部分。因此,在Map或Reduce阶段的所有任务执行相似的操作,每个任务消耗的资源量与输入数据成正比。换句话说,每个任务消耗的资源量与任务的进度分成正比。根据资源缩放因子的不同,任务完成时间有如下调整:如果资源缩放因子大于1(资源增多),任务完成时间会减少;如果资源缩放因子小于1(资源不足),任务完成时间会增多;如果资源缩放因子等于1,任务完成时间不变。本文提出两种方案作为资源预测机制。   资源预测负责为运行的任务构建可预测的资源使用及分配模型。本文介绍两种方案:第一种方案称为回归,采用统计回归模型为下一轮任务分配预计的资源;第二种方案称为统一,其收集过去一段时间内所有任务的资源使用情况并据此计算任务的平均资源占用情况,将该平均值作为下一轮任务预期的资源分配值。   回归方案确定分配给每个运行时任务的资源数量,并且考虑了典型MapReduce环境中可能遇到的问题,如节点异构、 负载不平衡、网络阻塞、节点宕机等。回归方案包含两个阶段:第一阶段输入给定任务进度分的时间序列,并根据任务生命周期的时间段运行情况输出预期的任务完成时间;第二阶段将给定任务过去多个时间段资源分配状态的时间序列作为输入,输出统计资源模型并产生预计的下一时

文档评论(0)

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

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

1亿VIP精品文档

相关文档