更新时间:2026-07-21 GMT+08:00
分享

优先级和调度策略

使用专属资源池训练作业时,支持在创建训练作业时设置任务优先级,也支持作业在长时间处于“等待中”的状态时调整优先级。如通过调整作业优先级可以减少作业的排队时长。

什么是训练作业优先级

在用户运行训练作业过程中,需要对训练作业做优先级划分。例如部分低优先级任务用于测试或简单的非关键实验,当存在高优先级作业时,高优先级作业能够比低优先级作业更快进入调度队列。

在资源使用高峰期,用户可以通过提高或降低训练作业的优先级,来动态调节作业的执行顺序,保障关键业务的及时运行。请参考如何修改训练作业优先级

如需了解训练作业调度策略,请参考训练作业调度策略

约束限制

  • 仅使用专属资源池训练时才支持设置训练作业优先级。公共资源池不支持设置训练作业优先级。
  • 作业优先级可以设置的取值为数字1-3,数字越大,优先级越高,默认优先级为“1”,最高优先级为“3”。当选择“3”优先级时,还需要配置用户权限才可以生效,权限配置参考本章节内容给子账号配置"设置作业调度最高优先级"权限
  • 只有训练作业长时间在专属资源池的排队列表中导致的“等待中”状态才支持修改作业优先级,如果是其他原因导致的长时间等待则不支持修改作业优先级。

如何设置训练作业优先级

参照模型训练:资源配置,在创建训练作业页面可以勾选“提高作业调度优先级”。优先级可以设置数字1-3,数字越大,优先级越高,默认优先级为“1”,最高优先级为“3”

如何修改训练作业优先级

  1. 登录ModelArts管理控制台
  2. 在左侧导航栏中,选择模型开发与训练 > 模型训练,进入“训练作业”列表。
  3. 在训练作业列表页面,选择“状态”“等待中”的训练作业。
  4. 单击训练作业名称,进入详情页面。
  5. “作业优先级”单击,在弹窗中修改优先级后单击“确定”

给子账号配置"设置作业调度最高优先级"权限

默认用户权限可选择优先级“1”“2”,配置了"设置作业为高优先级"权限的用户可选择优先级1~3。当选择优先级为“3”时还需要为用户配置“modelarts:trainJob:setHighPriority”权限,才能生效。

  1. 使用主用户账号登录华为云管理控制台,单击右上角用户名,在下拉框中选择“统一身份认证”,进入统一身份认证(IAM)服务。
  2. 在统一身份认证服务页面的左侧导航选择权限管理 > 权限,单击右上角的“创建自定义策略”按如下要求设置完成后单击“确定”
    • “策略名称”:设置自定义策略名称,例如:允许用户设置训练作业最高优先级。
    • “策略配置方式”:选择可视化视图。
    • “策略内容”:允许,云服务中搜索ModelArts服务并选中,操作列中搜索关键词“modelarts:trainJob:setHighPriority”并选中,所有资源选择默认值。
      图1 创建自定义策略

  3. 在统一身份认证服务页面的左侧导航选择“用户组”,在用户组页面查找待授权的用户组名称,在右侧的操作列单击“授权”,勾选步骤2创建的自定义策略,单击“下一步”,选择授权范围方案,单击“确定”

    此时,该用户组下的所有用户均有权限设置训练作业优先级1~3。

    如果没有用户组,也可以创建一个新的用户组,并通过“用户组管理”功能添加用户,并配置授权。如果指定的子用户没有在用户组中,也可以通过“用户组管理”功能增加用户。

训练作业调度策略

模型训练作业调度采用优先级排序FIFO (First In First Out)顺序出队的策略。每轮调度开始时,待调度作业按优先级(降序)和创建时间(升序)排列,形成调度队列;随后从队首逐个尝试出队,队首任务资源不足时本轮调度结束,不跳过队首调度后续任务。

  • 优先级定义

    训练作业支持1、2、3三个优先级等级,数字越大优先级越高。优先级在创建作业时指定,运行期间可动态调整。如需修改优先级,请参考如何修改训练作业优先级

  • 调度流程
    1. 获取:获取当前队列所有待调度作业。
    2. 排序:优先级降序 → 创建时间升序。
    3. 出队:从队首取作业尝试调度。

    ├── 资源满足 → 出队运行,本轮调度结束。

    └── 资源不足 → 本轮调度结束,等待下轮。

    1. 下一轮调度重新按照步骤1开始执行。
  • 典型场景
    • 场景一:优先级决定调度顺序

      队列中存在任务A(优先级3,9:00创建)、任务B(优先级2,8:30创建)、任务C(优先级3,9:30创建)。

      排序结果:A → C → B。任务B虽创建最早,但优先级低于A和C,需等待高优先级任务调度完成。

    • 场景二:FIFO不跳过队首。

      队列中存在任务A(8卡,优先级3)和任务B(2卡,优先级2),当前空闲2卡。

      任务A排在队首但资源不足,任务B虽有足够资源,但FIFO策略不允许跳过队首,两个任务均排队等待,直到空闲资源满足任务A。

    • 场景三:优先级动态调整。

      任务A(优先级1)排在任务B(优先级2)之后。管理员将任务A优先级提升至3后,排序实时更新,任务A移至队首优先调度。

相关文档