当前位置: 首页>>hadoop 1.0>> 阅读正文

Hadoop中Speculative Task调度策略

Category: hadoop 1.0 View: 13,426 Author: Dong
,

  • 评论 (5)
  • 引用通告 (4)
发表评论 发起引用

  • 1楼matrix-reload 回复

    Post: 2012-03-23 11:05

    非常不错。

    [回复]

  • 2楼Tmac 回复

    Post: 2012-04-11 09:40

    请教一下,推测任务调度是在JobInProgress.java和TaskInProgress.java中的代码吧,和公平调度与计算能力调度那种可插拔模块的调度器是不同的吧?他们区别是什么呢?

    [回复]

    Dong 回复:

    推测任务是所有调度器均需要考虑的情况,就跟task locality一样, 一般将这样的调度机制(所有调度器均需要考虑的机制)放到公共接口中,而不是调度器中,这样,所有调度器不必独立考虑这种情况,通过调用相关接口即可实现。公平调度与计算能力调度两种调度器自己本身不必考虑推测任务和task locality等问题,这样可以专注于实现自己独特的任务调度机制。

    [回复]

    Tmac 回复:

    哦哦,明白了,请问你有没有写过locality方面的文章,分享一下吧,嘿嘿,比较喜欢你的文章,我想多了解一些locality方面的知识的。

    [回复]

    Dong 回复:

    暂时没有,有时间会写,哈哈。

    [回复]

    Tmac 回复:

    嘿嘿,期待你写一篇locality的文章哈,加油,谢谢你!!!

    [回复]

  • 3楼smithaptz 回复

    Post: 2012-04-22 08:55

    一直想不通,task被分到slot上的时间不是会有所不同,较早分配到slot的task进度照理说不是会比较快,而较晚拿到slot的task启不是经常被启动speculative task?
    另外若使用fair scheduler还会有speculative execution吗? 那task被分配到slot上的时间差距又会比fifo大,启动specultive task会变得更加频繁?

    谢谢!!

    [回复]

    Dong 回复:

    是否启动speculative task不是由task进度(progress)决定的,而是单位时间内task进度,即:progress/delta_time, 类似于物理学上“速度”,虽然有的task启动晚,progress落后,但是单位时间内progress不一定落后, 如果是同构机器,应该是一样的,或者相差不大。

    [回复]

    smithaptz 回复:

    “Improving MapReduce Performance in Heterogeneous Environments” 这篇论文说

    “To select speculative tasks, Hadoop monitors task progress using a progress score between 0 and 1. For a map, the progress score is the fraction of input data read. For a reduce task, the execution is divided into three phases(copy, sort and reduce), each of which accounts for 1/3 of the score.

    Hadoop looks at the average progress score of each category of tasks (maps and reduces) to define a threshold for speculative execution: When a task’s progress score is less than the average for its category minus 0.2, and the task has run for at least one minute, it is marked as a straggler.”

    还是不太明白,这里看起来更像是整体进度而不是进展速度
    谢谢!

    [回复]

    Dong 回复:

    是的,这里的 ”progress score“,就是我说的单位时间内task进度,即:progress/delta_time,你看一下这个score的定义

    [回复]

  • 4楼mrzhou 回复

    Post: 2012-11-27 13:44

    AdaptiveScheduler 好像和其他调度器 不是一样的
    fair scheduler JobQueueTaskScheduler 等调度器 好像调度的是作业 job
    而 AdaptiveScheduler 调度的是任务 task

    我理解的没有问题吧

    [回复]

  • 5楼小白 回复

    Post: 2014-09-24 12:48

    请问推测任务是重新调度执行后,任务是从头开始重新执行。还是根据落后任务执行的进度在新的节点上继续之前的进度执行。

    [回复]

发表评论