计费样例2:单作业资源调度计费示例
本示例展示单个作业在不同资源调度情况下的计费场景。
单个作业由多个Pod组成,每个Pod独立调度,可被调度到预留资源池或弹性资源。系统优先将Pod调度到预留资源池,当预留资源池剩余可用容量不足以承载更多Pod时,剩余Pod自动调度到弹性资源(混合调度);也可能出现Pod全部调度到弹性资源,预留资源池完全未被使用的情况。
计费场景
用户A在AI DataLake购买了64vCPU的预留资源池(采用包年/包月计费模式)。
- 预留资源池单价150元/vCPU/月,采用包年/包月计费模式,购买周期内无论资源是否使用均持续计费;如不再使用需进行退订。
预估购买预留资源池费用为:64vCPU×150元/vCPU/月×1个月=9600元
- 弹性资源单价0.3元/vCPU/小时
配置端点A,信息如下:
| 端点 | 绑定资源池 | 资源使用模式 |
|---|---|---|
| 端点A | 资源池1 | 混合模式 |
用户B在端点A上提交一个作业,该作业需要96vCPU,作业运行需要拉起12个Pod,每个Pod需要8vCPU。
| 端点 | 作业 | 所需资源 | Pod数量 | 单Pod资源 |
|---|---|---|---|---|
| 端点A | 作业 | 96vCPU | 12个 | 8vCPU/Pod |
资源调度与计费
此案例中的单价仅为示例,用于展示计算方法,且计算出的费用为估算值。单价的变动和实际场景中计算出来的费用可能会有偏差。请以华为云官网发布的数据为准。
假设作业运行时长为4小时。预留资源采用包年/包月计费,购买周期内无论是否使用均固定收费;弹性资源按实际运行时长计费。实际调度存在以下两种情况:
情况一:混合调度
系统优先将Pod调度到预留资源池,剩余Pod调度到弹性资源,两部分独立计费。
| 调度类型 | Pod数量 | 占用资源 | 调度逻辑 | 计费类型 | 费用计算 |
|---|---|---|---|---|---|
| 预留资源 | 8个Pod | 64vCPU | 预留资源池共64vCPU,优先调度8个Pod(8vCPU×8=64vCPU)到预留资源池 | 包年/包月 | 预留资源池费用:9600元 |
| 弹性资源 | 4个Pod | 32vCPU | 预留资源已用完,剩余4个Pod(8vCPU×4=32vCPU)调度到弹性资源 | 按需计费 | 弹性资源费用=32vCPU×0.3元/vCPU/小时×4小时=38.4元 |
| 合计 | 12个Pod | 96vCPU | - | - | 预留资源池费用+弹性资源费用=9600元+38.4元=9638.4元 |
在此情况下,若实际运行中出现调度至预留资源池的Pod提前退出(例如运行1分钟后即结束),预留资源池将转为空闲状态,但包年/包月费用仍持续计费;弹性资源则按实际运行时长计费。
情况二:Pod全部运行在弹性资源上
作业的Pod全部运行在弹性资源上,预留资源池完全空闲。
| 调度类型 | Pod数量 | 占用资源 | 调度逻辑 | 计费类型 | 费用计算 |
|---|---|---|---|---|---|
| 预留资源 | 0 | 0 | 预留资源池64vCPU完全空闲但持续计费 | 包年/包月 | 预留资源池费用:9600元 |
| 弹性资源 | 12个Pod | 96vCPU | 12个Pod(8vCPU×12)全部调度到弹性资源,预留资源池未被使用 | 按需计费 | 弹性资源费用=96vCPU×0.3元/vCPU/小时×4小时=115.2元 |
| 合计 | 12个Pod | 96vCPU | - | - | 预留资源池费用+弹性资源费用=9600元+115.2元=9715.2元 |
该情况下,预留资源池虽完全未被使用,但因包年/包月为预付费模式,购买周期内无论是否使用均收费;弹性资源则按12个Pod的实际运行时长按需计费。预留资源池与弹性资源两项费用叠加,即为该作业场景的总费用。