使用闲时资源
更新时间:2026-04-07
用户在百舸中购买的资源以资源队列的形式划分给不同的业务,不同业务的资源队列可能会出现忙闲不均的场景,某些业务的资源队列在特定时间段内可能闲置,而其他业务的资源队列可能因缺少资源而排队,导致整个资源池维度上出现资源浪费。
为了解决上述痛点,百舸提供了分布式训练使用闲时资源的能力,提升资源池的整体利用率,实现原理如下:
- 允许管理员将队列的空闲资源出借给同资源池的其它队列,用于创建训练任务,提升资源池的整体利用率
- 开启闲时资源的任务,使用当前队列或者其他队列的空闲资源,不受本资源队列总量和剩余资源数量的限制
- 当借用的空闲资源需要被原资源队列的任务使用时,闲时计算任务将会被终止,自动归还资源
使用限制
- 仅支持全托管资源池的训练任务
使用步骤
创建任务开启使用闲时资源
在百舸控制台提交分布式训练任务时,在资源配置模块,开启使用闲时资源

说明:
-
由于使用闲时资源的任务能够使用其它队列的空闲资源,所以用户选择将不受本队列资源总量,只要未超过资源池的资源上限即可。仍然受以下限制:
- 使用闲时资源的任务使用的资源型号,不能超出本队列的限制。如本队列GPU仅有A800,则创建使用闲时资源的任务也仅能申请GPU A800资源,
- 如本队列中未分配GPU资源,则创建使用闲时资源的任务时也不能申请 GPU
- 任务调度优先级,本队列内非闲时任务大于闲时任务
- 闲时资源使用模式:任务可以使用本队列的空闲资源,也可以使用其他队列出借的空闲资源(队列已经开启空闲资源出借),也可以同时使用。系统在调度上优先使用本队列的空闲资源。
- 资源回收说明:当借用的空闲资源需要被回收时,优先会回收提交时间最晚的任务占用的资源
配置告警
当闲时资源被回收时,您可配置告警规则,第一时间获取通知。

除了可以通过配置监控的方式,闲时任务的资源被回收的记录,也可以通过任务timeline、任务事件查询
开启自动容错
使用闲时资源的任务,资源回收而导致任务被中断后,平台会尝试重新申请资源启动任务,请确认代码中包含checkpoint机制,确保任务可以顺利续跑。
极端情况下任务会直接失败推出,这里推荐开启自动容错-无条件重试能力进行兜底,详见训练容错。
仅支持pytorchjob

查询闲时任务资源回收情况
任务使用的闲时资源回收后,在任务详情页面的实例状态将被标记为被抢占
除了可以通过配置监控的方式,闲时任务的资源被回收的记录,也可以通过任务timeline、任务事件查询
评价此篇文章
