智算AI平台介绍:Volcano的Queue

上一篇提到,Volcano涉及了三个重要的功能--Queue,Podgroup, VCjob;

今天主要介绍的的Queue

Queue属于资源级别的对象,可声明资源配额,多个namespace共享。一般一个算法部门对应一个volcano queue

Queue是容纳一组podgroup的队列,podgroup里面都是pod。

Queue 用于管理和优先级排序任务。

这有助于更好地控制资源分配和调度优先级,确保高优先级的任务可以优先获取资源。

首先看一下,创建Queue的yaml:

apiVersion: scheduling.volcano.sh/v1beta1
kind: Queue
metadata:
  annotations:
    resourceGroupID: 7753d0e6-77b0-46e9-ba8b-5a9253ec7010
  creationTimestamp: "2024-03-30T10:46:58Z"
  generation: 1
  
  name: 298332a6-d69e-4342-8e04-21923cce1a1b
  resourceVersion: "2670973"
  uid: 90c9535c-fe6e-4f8c-929f-b0ca1e2b2d4c
spec:
  capability:
    cpu: "1"
    memory: 1Gi
    nvidia.com/gpu: "1"
  guarantee: {}
  reclaimable: true
  weight: 1
status:
  reservation: {}
  state: Open

字段解释:

1.weight

weight表示该queue在集群资源划分中所占的相对比重,

该queue应得资源总量为 (weight/total-weight) * total-resource。

其中, total-weight表示所有的queue的weight总和,

total-resource表示集群的资源总量。

weight是一个软约束,取值范围为[1, 2^31-1]

weight的软约束是指weight决定的queue应得资源的份额并不是不能超出使用的。当其他queue的资源未充分利用时,需要超出使用资源的queue可临时多占。但其 他queue后续若有任务下发需要用到这部分资源,将驱逐该queue多占资源的任务以达到weight规定的份额(前提是queue的reclaimable为true)。这种设计可以 保证集群资源的最大化利用。

2.capability

capability表示该queue内所有podgroup使用资源量之和的上限,它是一个硬约束

3.reclaimable

reclaimable表示该queue在资源使用量超过该queue所应得的资源份额时,是否允许其他queue回收该queue使用超额的资源,默认值为true

平台的队列功能就对应的是以下4种状态

1.Open

该queue当前处于可用状态,可接收新的podgroup

2.Closed

该queue当前处于不可用状态,不可接收新的podgroup

3.Closing

该Queue正在转化为不可用状态,不可接收新的podgroup

4.Unknown

该queue当前处于不可知状态,可能是网络或其他原因导致queue的状态暂时无法感知

说明事项

default queue

volcano启动后,会默认创建名为default的queue,weight为1。后续下发的job,若未指定queue,默认属于default queue

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值