腾讯云大模型训推平台TI-ONE 资源管理与调度

TI-ONE 平台提供了多种算力资源管理与调度功能,包括灵活的调度策略(支持优先级排队与抢占)、高可用热备保障、精细化配额管理以及资源共享等。这些功能可有效提升算力资源的利用率、保障关键任务优先级以及系统稳定性,确保业务高效连续运行。

相关产品
腾讯云大模型训推平台TI-ONE 产品页,含版本规格、价格与购买入口。

下文将分别介绍如何配置和使用“调度策略”、“热备资源组”、“算力配额管理”、“资源出借”等功能。

二、整体说明

TI-ONE 资源组在调度训练任务和在线服务时,支持“排队策略”及“优先级调度策略”。

·排队策略:当资源不足时,默认排队策略是按照任务/服务提交时间的先后顺序先进先出。用户也可以在资源组配置遍历策略,优先调度队列中满足资源要求的任务/服务。详情请参见 排队与抢占策略配置。

·优先级调度策略:支持根据标签设置任务/服务的优先级(P0 最高 – P9 最低)。优先级抢占策略默认配置为高优先级任务/服务可以抢占低优先级任务,你也可以根据实际的情况按功能模块配置优先级抢占策略,具体配置方法请参见 排队与抢占策略配置。

·备注:通过标签设置任务优先级的功能仅支持“任务式建模”及“在线服务”模块。

注意:说明:

三、排队与抢占策略配置

资源组的初始策略语句如下所示:

{ "Version": "1.0", "ResourceRule": { "DefaultPriority": 0, "DefaultQueue": 0, "Preempted": 1 }, "TaskRules": []}

四、参数说明

·DefaultPriority:默认优先级,优先级为0 – 9,P0最高,默认值为0。

·DefaultQueue:默认排队策略,可选值0、1、2,默认值为0,仅支持“任务式建模”及“在线服务”模块。

·0代表严格先进先出:不管当前空闲多少资源,在等待队列中取到最早提交的任务,如果资源足够则调度执行,如果不够则等待。

·1表示在优先级范围内的遍历策略,也就是说同一优先级的任务可以不严格按照任务提交时间按顺序出队,可以看资源空闲情况插队。

·2表示全部队列的遍历策略,也就是说整个排队队列都按照遍历策略,只要资源满足,就出队。

·Preempted:默认优先级抢占策略,可选值0和1,默认值为1。

·0表示队列中的高优任务不会抢占已经在运行中的低优任务。

·1表示队列中的高优任务会抢占已经在运行中的低优任务。

五、按模块配置抢占

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

{ "Version": "1.0", "ResourceRule": { "DefaultPriority": 0, "DefaultQueue": 0, "Preempted": 1, "PreemptedRule": { "TrainingTask": 1, "ServiceGroup": 0 } }, "TaskRules": []}

七、策略语法示例

在资源组维度,支持配置 调度策略 的描述文件。其中,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. 登录 标签控制台,进入标签列表。

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

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

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

九、热备资源管理

注意:说明:

注意:该功能属于公测阶段,如有测试需求请联系产品经理开启白名单。

TI-ONE 资源组支持开启“热备资源组”功能,当 CVM 机器出现异常导致任务/服务无法正常运行时,平台会将“热备资源组”中的可用节点移动至异常节点所在的资源组,保障任务/服务快速恢复。如下:

十、配置热备资源组

1. 在新建资源组弹窗内,开启按钮将资源组配置为“热备资源组”。创建完成后,热备资源组将以高亮标签的形式显示在资源组列表中。

2. 在热备资源组内添加节点,添加流程与普通资源组完全一致。添加后的热备节点同样支持资源组内的其余功能,包括支持健康检测、文件预加载、添加/释放/移动/续费等。

注意:热备资源组中机器需自行购买,请你谨慎评估。

十一、热备逻辑说明

1. 热备资源不可被调度

热备资源组内的节点作为热备资源,默认不可调度(无法为训练/推理等模块提供算力资源)。因此,在任务式建模/开发机/在线服务等模块创建任务/服务时,选择资源组下拉列表中将不会显示“热备资源组”。

2. 替换热备资源的触发时机

当 CVM 机器存在维修任务,或节点变更为“异常”状态(如 GPU 掉卡等故障)且异常状态持续1min,导致节点彻底不可用时,平台会使用热备资源替换故障机器。

3. 替换热备资源的具体操作

在替换故障机器时,平台从热备资源组中找出与异常节点的实例规格完全一致的CVM机器,并移动到出现异常节点的资源组中。同时,修复后的故障机器(被维修成功并恢复可用状态),将自动迁回热备资源组。

十二、算力配额管理

注意:说明:

注意:该功能属于公测阶段,如有测试需求请联系产品经理开启白名单。

TI-ONE 资源组支持开启“用户配额管理”功能,配置指定用户在资源组内的可用资源上限(Quota)。下文将主要介绍如何配置算力配额,并基于配额限制用量。

十三、配置配额

1. 在资源组详情页面中,开启“用户配额管理”功能。开启后支持配置“默认配额”及“自定义配额”。

2. 默认配额:表示每个使用当前资源组的用户,默认可用的 GPU/CPU/内存资源上限(Quota)。未设置自定义配额的用户将使用默认配额。

3. 自定义配额:表示指定用户在使用当前资源组创建任务/服务时,最大可用的 GPU/CPU/内存资源上限(Quota)。支持通过下拉选项添加腾讯云子账号或用户组,并为其分配最大可用的 GPU 卡数/CPU核数/内存。

注意:说明:

注意:最多支持添加50个自定义配额。

4. 默认配额与自定义配额的关系:假设用户 A/B/C 可访问资源组,其中添加用户 A/C 并配置自定义配额。则 A/C 可用资源上限不超过自定义配额的限制,B 不超过默认配额的限制。

5. “用户组”类型的自定义配额,表示组内每一个用户都按该配额生效,而非组内所有用户共用一个配额。举例:假设某一用户组内包括用户 A/B/C,并为该用户组配置了自定义配额为“32核128GB-8卡”;则A/B/C每个用户的可用资源上限都为“32核128GB-8卡”。

十四、配额的校验逻辑

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。”

·等待前序任务运行完成并释放资源后,即可用于调度在线服务。

3. 同一用户存在多个配额时的生效逻辑

由于用户组类型的存在,会出现某一用户同时存在多个配额的情况。此时实际生效的逻辑是取“各参数的最大值”。举例:

·假设为“用户A”添加了自定义配额“16核32GB-2卡”;此外,用户A属于某一用户组,同时为该用户组添加的配额为“32核64GB-1卡”。

·最终用户 A 在创建任务或服务时,最大可申请的资源上限为“32核64GB-2卡”。

十五、资源出借

注意:说明:

注意:该功能属于公测阶段,如有测试需求请联系产品经理开启白名单。

资源出借是 TI-ONE 平台提供的跨资源组调度能力,旨在提升平台整体资源利用率。通过该功能,当某一资源组的可用资源不足时,平台会将任务或服务调度至其他开启了"资源出借"功能的资源组上,从而充分利用平台内的闲置资源。

资源出借功能仅适用于“在线服务”及“任务式建模”模块。在使用该功能前,请了解以下核心概念:

概念 定义
出借 某一资源组开启"资源出借"功能后,其余资源组在资源不足时,可将开启了"跨资源组调度"功能的任务/服务调度至该资源组上运行
回收 当出借方资源组自身资源不足,且有等待调度的任务/服务时,根据其配置的"回收策略"决定是否回收及如何回收已出借的资源
回收策略 出借方资源组在资源紧张时,对已出借资源的处理方式,包括"强制回收"和"统一调度"两种策略
跨资源组调度 任务或服务级别的配置开关,开启后允许该任务/服务在原始资源组资源不足时,被调度至其他开启了资源出借的资源组

十七、配置资源出借

1. 进入目标资源组的详情页,在“调度及配额管理”区域下开启“资源出借”按钮。

2. 配置出借参数:

·出借范围:选择允许出借的业务模块,包括:在线服务、任务式建模。

·回收策略:选择资源紧张时的处理方式,包括"强制回收"和"统一调度"两种策略,详见 回收策略说明。

3. 单击保存完成配置。

十八、启用跨资源组调度

1. 创建一个推理服务或训练任务,选择原始资源组。

2. 提交任务后,在任务/服务列表页,找到目标对象,并开启跨资源组调度开关。平台将按以下逻辑进行调度:

·优先调度至任务所属的原始资源组;

·当原始资源组资源不足时,自动尝试调度至其他开启了"资源出借"功能的资源组。

十九、回收策略说明

当出借方资源组自身资源不足,且有任务/服务开始排队等待调度时,平台将根据已配置的回收策略进行处理。

20、强制回收

1. 策略说明:当出借方资源组资源紧张时,立即强制回收已出借给其他资源组的资源,优先保障本资源组任务的运行。

2. 触发条件:

·本资源组有等待调度的任务或服务,且剩余可用资源无法满足调度需求。

·本资源组有资源正在出借给其他组的任务使用。

3. 执行流程:

步骤 操作 说明
1 资源检查 检查本资源组所有出借给他组的资源,找出所有使用本资源组资源的出借任务。
2 回收资源 按照出借资源的占用量升序(占用资源较少的先回收),依次中止这些任务,直到可以满足待调度任务的资源要求。
3 重新调度 等待被中止的任务释放资源,然后开始运行本资源组的待调度任务。

21、统一调度

1. 策略说明:当出借方资源组资源紧张时,将本资源组任务与出借任务按照本资源组的调度策略,统一进行调度,不回收出借任务占用的资源。

2. 触发条件:与强制回收相同。

3. 执行流程:

步骤 操作 说明
1 资源检查 获取资源组上所有待调度的任务列表,包括本资源组的任务/服务及其他资源组借用的任务/服务。
2 统一调度 按当前资源组配置的调度策略进行统一调度。

4. 调度逻辑说明:

·出借任务将继承其在原始资源组的优先级,参与本资源组的调度。

·若本资源组配置了优先级抢占策略,则按优先级进行抢占调度;若本资源组配置了排队策略,则按优先级进行排队等待。

22、策略对比

对比维度 强制回收 统一调度
资源优先级 本资源组任务优先 按调度策略统一处理
出借任务处理 立即中止 参与统一调度
适用场景 资源需严格保障的核心业务 资源可灵活调配的弹性业务
任务稳定性 出借任务可能被频繁中止 出借任务相对稳定
赞 (0)
上一篇 4天前
下一篇 4天前