You need to enable JavaScript to run this app.
导航
队列任务资源配额抢占策略说明
最近更新时间:2024.04.16 15:12:50首次发布时间:2023.09.25 16:09:31

本文主要介绍队列内的任务对于资源配额的抢占策略。

说明

该功能目前处于 公测 阶段。

设置任务资源分配抢占策略相关操作,请参见 队列

队列内任务资源配额抢占策略

下文以队列queue-a举例,介绍队列内任务的资源配额抢占策略。

queue-a任务抢占策略 > 队列内抢占策略优先级抢占queue-a不属于任何一个队列组,或者queue-a所在队列组中其他队列均无空余资源可以被queue-a借用时,queue-a中的任务只能在queue-a队列内部进行资源配额抢占:

  1. queue-a队列中运行Job-1Job-2Job-3三个任务,其优先级分别是 P0、P0、P2(优先级 P0>P1>P2),此时队列新接受了一个Job-4任务,且优先级为 P1。示意图如下所示。
    alt
  2. queue-a队列的剩余资源不足以支撑Job-4任务的调度执行,且queue-a中存在比Job-4低优先级的任务Job-3,所以在 优先级抢占 策略下Job-3将中断执行释放资源。示意图如下所示。
    alt
  3. queue-a队列中的资源配额被释放出来后,释放出来的资源,被用于Job-4任务的调度执行,而Job-3任务会重新在队列中排队等待资源。示意图如下所示。
    alt

队列组内任务资源配额抢占策略

下文以队列queue-aqueue-b,属于同一个队列组queue-group-1举例,介绍队列组内任务的资源配额抢占策略。

  1. queue-a队列中的资源配额不足以运行本队列内Job-a4任务,但同队列组queue-group-1中的queue-b队列有空余资源配额时,Job-a4任务可以占用该部分资源配额。示意图如下所示。
    alt
  2. queue-b队列新接受一个Job-b3任务,原本queue-b队列本身的资源配额足以支持Job-b3任务的调度,但目前资源配额被queue-a队列中的Job-a4任务占用。示意图如下所示。
    alt
  3. queue-b队列的 任务抢占策略 > 队列组内抢占策略任意抢占,即当前队列自身的资源配额尚未用满的情况下,可以将原本属于自己的资源配额收回(抢占),用于运行自己的任务。因此被queue-a队列中Job-a4任务占用的资源配额会被收回。示意图如下所示。
    alt
  4. queue-b队列中被收回的资源配额,用于运行Job-b3任务。
    alt
  5. queue-a队列中的Job-a4任务会按照队列内抢占策略抢占/等待本队列内资源配额,或等待同队列组内其他队列的空余资源配额。