最近更新时间:2026-08-10 14:14:40
队列是星流平台进行资源隔离与调度的基础单位,合理配置有助于提高资源利用率与管理可控性。目前平台支持两种队列类型:
物理队列:队列资源物理隔绝,独享资源组内的某些计算节点资源。
普通队列:与其他队列共用资源组内的计算资源。
普通队列支持开启"借用"功能,以使用资源组中的闲置资源。平台提供闲时任务机制,队列开启借用后,可创建非闲时任务与闲时任务,实现资源的灵活借用与自动回收。
物理队列是一种对节点资源进行物理隔离的队列类型。将节点加入物理队列后,这些节点上的资源将被该队列独占,其他队列无法使用。
向物理队列中创建任务,任务只能调度到加入了该物理队列的节点上。
向其他(普通)队列创建任务,任务无法调度到物理队列的节点上。
当您需要保障重点业务的资源供给、避免与其他业务发生资源抢占时,可使用物理队列对关键业务的节点进行隔离。
加入物理队列的节点无法再调度普通队列的任务。
创建物理队列后,可能会出现普通队列有配额但任务仍排队的情况,请根据实际业务需求合理规划。
普通队列支持开启"借用"功能,以使用资源组中的闲置资源。队列开启借用后,可创建两类任务,实现资源的灵活借用与自动回收:
任务类型 | 能否借用队列外资源 | 能否被其他队列回收 | 适用场景 |
|---|---|---|---|
非闲时任务 | 不能 | 不能 | 高优先级、不可中断的关键任务 |
闲时任务 | 能 | 能(被非闲时任务抢占后自动重新排队) | 低优先级、可接受中断、代码中已配置 checkpoint 的任务 |
使用建议:
闲时任务务必配置 checkpoint — 确保代码中包含定期保存 checkpoint 的逻辑,以便任务被回收重启后可以从断点继续训练。
建议开启任务故障自愈 — 开启后任务因被抢占停止时会自动重新提交排队,无需手动操作。如未开启任务故障自愈,闲时任务被抢占后不会自动提交排队。
关键任务使用非闲时模式 — 不可中断的任务(如耗时长的核心训练、会丢失状态的实验)请使用非闲时模式,确保资源不会被抢占。
利用闲时任务提升集群利用率 — 低优、可中断的实验性任务可使用闲时资源,借用集群闲置算力,提高整体资源利用率。
闲时任务与非闲时任务在资源配额上存在差异:
是否使用闲时资源 | 可申请的最大资源量 |
|---|---|
否 | 不超过队列配额 |
是 | 可超出队列配额,使用资源组中的闲置资源 |
示例:队列配额为 4 卡 GPU,资源组总量为 8 卡:
非闲时任务:最多可申请 4 卡。
闲时任务:最多可申请 8 卡(借用其他队列的闲置资源)。
抢占规则:
非闲时任务之间不能互相回收,高优任务优先调度,但不会杀死低优任务。
闲时任务之间不能互相回收,高优闲时任务优先调度,但不会杀死低优闲时任务。
非闲时任务回收闲时任务:当资源组剩余资源不足时,非闲时任务会回收闲时任务释放资源。
优先回收本队列的闲时任务。
本队列没有闲时任务或回收后资源仍不足时,则回收其他队列的闲时任务。
低优非闲时任务可以回收高优闲时任务。
调度规则:
创建任务时,非闲时任务的调度优先级始终高于闲时任务,即使闲时任务的优先级更高或创建时间更早。
先比较任务类型,非闲时任务优先调度。
类型相同时,优先级高的先调度;优先级也相同时,创建时间早的先调度。
示例:
按调度顺序从上至下排列:
任务 | 类型 | 优先级 | 创建时间 |
|---|---|---|---|
任务 A | 非闲时 | 高 | 10:00 |
任务 B | 非闲时 | 高 | 11:00 |
任务 C | 非闲时 | 低 | 10:00 |
任务 D | 闲时 | 中 | 10:00 |
任务 E | 闲时 | 中 | 11:00 |
任务 F | 闲时 | 低 | 10:00 |
纯净模式
