优先级和调度策略
使用专属资源池训练作业时,支持在创建训练作业时设置任务优先级,也支持作业在长时间处于“等待中”的状态时调整优先级。如通过调整作业优先级可以减少作业的排队时长。
什么是训练作业优先级
在用户运行训练作业过程中,需要对训练作业做优先级划分。例如部分低优先级任务用于测试或简单的非关键实验,当存在高优先级作业时,高优先级作业能够比低优先级作业更快进入调度队列。
在资源使用高峰期,用户可以通过提高或降低训练作业的优先级,来动态调节作业的执行顺序,保障关键业务的及时运行。请参考如何修改训练作业优先级。
如需了解训练作业调度策略,请参考训练作业调度策略。
约束限制
- 仅使用专属资源池训练时才支持设置训练作业优先级。公共资源池不支持设置训练作业优先级。
- 作业优先级可以设置的取值为数字1-3,数字越大,优先级越高,默认优先级为“1”,最高优先级为“3”。当选择“3”优先级时,还需要配置用户权限才可以生效,权限配置参考本章节内容给子账号配置"设置作业调度最高优先级"权限。
- 只有训练作业长时间在专属资源池的排队列表中导致的“等待中”状态才支持修改作业优先级,如果是其他原因导致的长时间等待则不支持修改作业优先级。
如何设置训练作业优先级
参照模型训练:资源配置,在创建训练作业页面可以勾选“提高作业调度优先级”。优先级可以设置数字1-3,数字越大,优先级越高,默认优先级为“1”,最高优先级为“3”。
如何修改训练作业优先级
- 方法一:通过ModelArts管理控制台修改对应训练作业的优先级。
- 登录ModelArts管理控制台。
- 在左侧导航栏中,选择,进入“训练作业”列表。
- 在训练作业列表页面,选择“状态”为“等待中”的训练作业。
- 单击训练作业名称,进入详情页面。
- 在“作业优先级”单击
,在弹窗中修改优先级后单击“确定”。
- 方法二:通过API修改作业的优先级。
调用更新训练作业API接口,修改作业优先级。具体可参考更新训练作业。
给子账号配置"设置作业调度最高优先级"权限
默认用户权限可选择优先级“1”和“2”,配置了"设置作业为高优先级"权限的用户可选择优先级1~3。当选择优先级为“3”时还需要为用户配置“modelarts:trainJob:setHighPriority”权限,才能生效。
- 使用主用户账号登录华为云管理控制台,单击右上角用户名,在下拉框中选择“统一身份认证”,进入统一身份认证(IAM)服务。
- 在统一身份认证服务页面的左侧导航选择,单击右上角的“创建自定义策略”按如下要求设置完成后单击“确定”。
- “策略名称”:设置自定义策略名称,例如:允许用户设置训练作业最高优先级。
- “策略配置方式”:选择可视化视图。
- “策略内容”:允许,云服务中搜索ModelArts服务并选中,操作列中搜索关键词“modelarts:trainJob:setHighPriority”并选中,所有资源选择默认值。 图1 创建自定义策略
- 在统一身份认证服务页面的左侧导航选择“用户组”,在用户组页面查找待授权的用户组名称,在右侧的操作列单击“授权”,勾选步骤2创建的自定义策略,单击“下一步”,选择授权范围方案,单击“确定”。
此时,该用户组下的所有用户均有权限设置训练作业优先级1~3。
如果没有用户组,也可以创建一个新的用户组,并通过“用户组管理”功能添加用户,并配置授权。如果指定的子用户没有在用户组中,也可以通过“用户组管理”功能增加用户。
训练作业调度策略
ModelArts调度器支持四种作业排队调度策略,适用于不同的资源管理和业务场景。策略在资源池级别配置,影响该资源池内所有作业的调度顺序和行为。
- FIFO(先入先出)。
策略说明:作业按优先级和创建时间排序,从队首开始依次调度,当作业申请的资源被其他作业锁定时,该作业不调度。当某个作业因资源不足调度失败时,对当前作业申请资源进行加锁,继续尝试下一个作业。
适用场景:
- 资源紧张、优先级严格的场景,确保高优先级作业优先获得资源,低优先级作业不会"插队"占用本应属于前方作业的资源。
- 独占型资源池:资源池容量有限,希望作业严格按顺序排队。
图2 FIFO调度策略
- 遍历调度。
策略说明:作业按优先级和创建时间排序,依次调度。当某个作业因资源不足调度失败时,跳过该作业,继续尝试调度后续作业,直到遍历完整个队列。
适用场景:
- 资源碎片化场景:队列中作业资源需求差异较大,前方大作业失败不应阻塞后方小作业。
- 资源利用率优先:希望尽可能多地调度作业,最大化资源利用率。
图3 遍历调度策略
- 阶梯轮询调度。
策略说明:在FIFO基础上引入超时机制:作业调度失败后,在超时时间内对资源加锁,阻塞后续作业(行为同FIFO)。超时后不再对资源加锁,自动放行后续作业,扩大可调度范围,避免前方作业长期占用队列导致资源闲置。
适用场景:
- 兼顾顺序和利用率:既希望保持一定的排队顺序,又不想因前方作业长期等待导致资源浪费。
- 资源弹性释放场景:前方作业等待的资源可能在短时间内释放(如其他作业完成),超时前保持等待;超时后允许后方作业先使用。

- 分级调度。
策略说明:按作业优先级(数字越大,优先级越高)划分为两个层级,每个层级独立调度,优先级为1和2的作业使用遍历调度策略,优先级为3的作业使用阶梯轮询调度策略。优先级为3的作业全部调度完成后,才会调度优先级1和2的作业。
适用场景:
- 多租户/多业务场景:不同业务线有不同优先级,需确保高优先级业务优先获得资源。
- 混合调度需求:不同优先级层级需要不同的调度行为(如高优先级严格排队、低优先级允许插队)。