云容器引擎 CCE-调度算法:组调度

时间:2024-11-12 19:00:41

组调度

将一组Pod看做一个整体进行资源分配。观察Job下的Pod已调度数量是否满足了最小运行数量,当Job的最小运行数量得到满足时,为Job下的所有Pod执行调度动作,否则,不执行。

参数名

取值范围

默认值

是否允许修改

作用范围

gang

true/false

true

允许

CCE Standard/ CCE Turbo

Gang调度策略是volcano-scheduler的核心调度算法之一,它满足了调度过程中的“All or nothing”的调度需求,避免Pod的任意调度导致集群资源的浪费。具体算法是,观察Job下的Pod已调度数量是否满足了最小运行数量,当Job的最小运行数量得到满足时,为Job下的所有Pod执行调度动作,否则,不执行。

配置建议:

基于容器组概念的Gang调度算法十分适合需要多进程协作的场景。AI场景往往包含复杂的流程,Data Ingestion、Data Analysts、Data Splitting、Trainer、Serving、Logging等,需要一组容器进行协同工作,就很适合基于容器组的Gang调度策略。MPI计算框架下的多线程并行计算通信场景,由于需要主从进程协同工作,也非常适合使用Gang调度策略。容器组下的容器高度相关也可能存在资源争抢,整体调度分配,能够有效解决死锁。

在集群资源不足的场景下,gang的调度策略对于集群资源的利用率的提升是非常明显的。

support.huaweicloud.com/ref-cce/category_11.html