调度及配额管理

最近更新时间:2025-09-22 17:08:12

我的收藏

一、调度策略

1.1、整体说明

TI-ONE 资源组在调度训练任务和在线服务时,支持“排队策略”及“优先级调度策略”。
排队策略:当资源不足时,默认排队策略是按照任务/服务提交时间的先后顺序先进先出。用户也可以在资源组配置遍历策略,优先调度队列中满足资源要求的任务/服务。详情请参见 排队与抢占策略配置
优先级调度策略:支持根据标签设置任务/服务的优先级(P0 最高 - P9 最低)。优先级抢占策略默认配置为高优先级任务/服务可以抢占低优先级任务,您也可以根据实际的情况按功能模块配置优先级抢占策略,具体配置方法请参见 排队与抢占策略配置
备注:通过标签设置任务优先级的功能仅支持“任务式建模”及“在线服务”模块。
说明:
针对 CPU 任务,默认会按照负载均衡的策略均分到资源组不同节点。
针对 GPU 任务,默认会按照最小化碎片的方式,优先调度到同一台节点。
不同卡类型的任务不会互相阻塞,例如 T4 卡的任务不会影响 A100 卡的任务。

1.2、排队与抢占策略配置

资源组的初始策略语句如下所示:
{
"Version": "1.0",
"ResourceRule": {
"DefaultPriority": 0,
"DefaultQueue": 0,
"Preempted": 1
},
"TaskRules": []
}

1.2.1、参数说明

DefaultPriority:默认优先级,优先级为0 - 9,P0最高,默认值为0。
DefaultQueue:默认排队策略,可选值0、1、2,默认值为0,仅支持“任务式建模”及“在线服务”模块。
0代表严格先进先出:不管当前空闲多少资源,在等待队列中取到最早提交的任务,如果资源足够则调度执行,如果不够则等待。
1表示在优先级范围内的遍历策略,也就是说同一优先级的任务可以不严格按照任务提交时间按顺序出队,可以看资源空闲情况插队。
2表示全部队列的遍历策略,也就是说整个排队队列都按照遍历策略,只要资源满足,就出队。
Preempted:默认优先级抢占策略,可选值0和1,默认值为1。
0表示队列中的高优任务不会抢占已经在运行中的低优任务。
1表示队列中的高优任务会抢占已经在运行中的低优任务。

1.2.2、按模块配置抢占

若您需要按照模块配置是否支持抢占的策略,当前支持针对任务式建模和在线服务分别配置抢占与否策略,如下语句所示,您需要新增 PreemptedRule 字段,并且为 TrainingTask(任务式建模)和 ServiceGroup(在线服务)赋值,设置为 1 表示该模块的任务或者服务支持被抢占,设置为 0 表示该模块的任务或服务不支持被抢占。当 PreemptedRulePreempted 同时存在时,以 PreemptedRule 设置的规则为准。
{
"Version": "1.0",
"ResourceRule": {
"DefaultPriority": 0,
"DefaultQueue": 0,
"Preempted": 1,
"PreemptedRule": {
"TrainingTask": 1,
"ServiceGroup": 0
}
},
"TaskRules": []
}

1.3、优先级配置说明

1.3.1、策略语法示例

在资源组维度,支持配置 调度策略 的描述文件。其中,DefaultPriority 表示默认优先级,TaskRules 中可以按照以下示例通过任务标签设置优先级,其中 ValueType 默认为 Tag,后续可能会根据实际需求不断补充 ValueType。
下面是一个示例语句,实现的场景为:该资源组下的任务/服务默认优先级为 P0,如果任务/服务的标签符合任务类型-语音任务,则该任务/服务的优先级为 P1(注意:通过标签设置任务优先级的功能仅支持任务式建模及在线服务)。
注意:
下述策略语句中的#注释部分不符合 JSON 语法,仅做文档展示,粘贴到平台需要清除。
{
"Version":"1.0", // json格式的版本
"ResourceRule":{
// 资源组策略
"DefaultPriority": 0, // 默认优先级,优先级0-9
"DefaultQueue": 1,
"Preempted": 1
},
"TaskRules":[
// 任务调度策略,是规则匹配列表 {
// 每个规则是属性和调度的匹配关系 "AttrRules":[{ "ValueType":"Tag", "Key":"任务类型", "Value":"语音任务" }], "ScheduleRule":{ "Priority": 1 // 设置优先级,优先级0-9 } } ] }

1.3.2、具体操作流程(以任务式建模为例)

1. 登录 标签控制台,进入标签列表。

单击新建标签,输入标签键任务类型,标签值语音任务。

2. 进入 TI-ONE 资源组管理页面,选择具体的资源组,单击编辑,在调度策略一栏输入上述的策略描述语句。






3. 新建训练任务的时候,如果需要当前这个任务的优先级为低优的话,需要在新建任务的时候给这个任务打上标签任务类型 > 语音任务,那么这个任务在调度的时候就是低优任务,会被抢占,自动进入排队队列。




二、热备资源管理

说明:
该功能属于公测阶段,如有测试需求请联系产品经理开启白名单。
TI-ONE 资源组支持开启“热备资源组”功能,当 CVM 机器出现异常导致任务/服务无法正常运行时,平台会将“热备资源组”中的可用节点移动至异常节点所在的资源组,保障任务/服务快速恢复。如下图所示:


2.1、配置热备资源组

1. 在新建资源组弹窗内,开启按钮将资源组配置为“热备资源组”。创建完成后,热备资源组将以高亮标签的形式显示在资源组列表中。
注意:
注意:每个地域下最多仅支持创建一个热备资源组。
由于热备资源默认不可被调度,因此热备资源组无需配置调度策略相关的参数。




2. 在热备资源组内添加节点,添加流程与普通资源组完全一致。添加后的热备节点同样支持资源组内的其余功能,包括支持健康检测、文件预加载、添加/释放/移动/续费等。
注意:
热备资源组中机器需自行购买,请您谨慎评估!

2.2、热备逻辑说明

1. 热备资源不可被调度
热备资源组内的节点作为热备资源,默认不可调度(无法为训练/推理等模块提供算力资源)。因此,在任务式建模/开发机/在线服务等模块创建任务/服务时,选择资源组下拉列表中将不会显示“热备资源组”。
2. 替换热备资源的触发时机
当 CVM 机器存在维修任务,或节点变更为“异常”状态(如 GPU 掉卡等故障)且异常状态持续1min,导致节点彻底不可用时,平台会使用热备资源替换故障机器。
3. 替换热备资源的具体操作
在替换故障机器时,平台从热备资源组中找出与异常节点的实例规格完全一致的CVM机器,显性地移动到出现异常节点的资源组中。同时,修复后的故障机器(被维修成功并恢复可用状态),将自动迁回热备资源组。

三、算力配额管理

说明:
该功能属于公测阶段,如有测试需求请联系产品经理开启白名单。
TI-ONE 资源组支持开启“用户配额管理”功能,配置指定用户在资源组内的可用资源上限(Quota)。下文将主要介绍如何配置算力配额,并基于配额限制用量。

3.1、配置配额

1. 在资源组详情页面中,开启“用户配额管理”功能。开启后支持配置“默认配额”及“自定义配额”。
2. 默认配额:表示每个使用当前资源组的用户,默认可用的GPU/CPU/内存资源上限(Quota)。未设置自定义配额的用户将使用默认配额。
3. 自定义配额:表示指定用户在使用当前资源组创建任务/服务时,最大可用的 GPU/CPU/内存资源上限(Quota)。支持通过下拉选项添加腾讯云子账号,并为其分配最大可用的 GPU 卡数/CPU核数/内存。
备注:最多支持添加50个自定义配额。
4. 举例:假设用户A/B/C可访问资源组,其中添加用户A/C并配置自定义配额。则A/C可用资源上限不超过自定义配额的限制,B不超过默认配额的限制。

3.2、配额的校验逻辑

1. 创建时的校验
在创建任务式建模/开发机/在线服务/模型评测等任务或服务时,校验用户当前申请的资源用量是否满足配额总量限制(Quota)。若满足则正常创建,若不满足则报错拦截。举例:
假设某一资源组中用户A的配额为:CPU-32核、内存-128GB、GPU-8卡;
用户A在创建任务式建模时,申请资源为“16核64GB-2卡T4”可正常提交,但是申请“64核256G-16卡T4”则不可提交,创建时校验报错——“申请资源超过用户在当前资源组的最大配额限制:32核128GB-8卡 GPU。请调整资源后重试,或联系资源组负责人。”
2. 调度时校验
任务或服务提交后,若“当前申请资源”大于“用户配额 - 已用配额(运行中的资源)”,则该任务进入排队队列。目的是可以最大程度地利用资源,避免闲置。举例:
假设某一资源组中用户A的配额为:CPU-32核、内存-128GB、GPU-8卡;
首先,用户A创建了一个训练任务,申请资源为“16核64GB-2卡T4” ,提交后任务正常运行中;(此时剩余可申请资源量为:16核64GB-6卡 GPU)
接下来,用户A再创建一个在线服务,申请资源为“32核128GB-8卡T4”(未超出 Quota 限制),此时可正常提交,但提交后进入排队队列。
服务状态显示为“排队中”,并提示——“申请资源超出当前用户在资源组的剩余可用配额,请停止其他任务/服务,或联系资源组负责人。</n>最大可用:32核128GB-8卡 GPU。”
等待前序任务运行完成并释放资源后,即可用于调度在线服务。