Yarn的任务推测执行机制

Yarn的任务推测执行机制用于解决因硬件老化和软件bug导致的慢速任务问题。当发现任务进度远低于平均速度时,系统会启动备份任务同时运行。执行推测任务的前提包括每个Task仅有一个备份,已完成任务进度不少于5%,且推测执行参数开启。但负载倾斜严重或特殊任务(如数据库写入)不适用。推测执行算法通过比较任务预计完成时间和备份任务推测完成时间来决定是否启动备份任务,以减少整体作业处理时间。然而,此机制可能会增加资源消耗,需谨慎使用。
摘要由CSDN通过智能技术生成

任务的推测执行

一个作业由若干个map任务·和reduce任务组成,因为硬件的老化和软件bug等因素,会导致某些任务运行缓慢。
当发现拖后腿的任务时,比如某个任务的运行速度远慢于平均速度;就位拖后腿的任务启动一个备份任务,同时运行。谁先运行完就采用谁的结果。

执行推测任务的前提条件

1每个Task只能有一个备份任务

2当前job已完成的Task进度不少于5%

3开启推测执行参数。(mapred-site.xml默认是开启的)

不能使用推测执行机制的条件限制

1任务间存在严重的负载倾斜(比如一个任务量10g;一个任务量1g)

2一些特殊任务(比如向数据库中写数据)

推测执行算法原理

假设某一时刻,任务T的执行进度为progress,则可通过一定的算法推测出任务的最终完成时刻estimateEndTime。如果此时为该任务启动一个备份任务,则可推断出它可能的完成时刻estimateEndTime*。

estimateRunTime =(currentTimestamp - taskStartTime)/ progress

推测运行时间(60s)=( 当前时刻(6)- 任务启动时刻(0))/ 任务运行比例(10%)
.
.
.

e

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值