# 调度概述
CCE支持多种资源与任务调度策略，有助于提升应用性能和集群整体资源利用率。本文将重点介绍CPU资源调度、GPU/NPU异构资源调度以及Volcano调度的主要功能。
#### CPU调度
CCE提供CPU管理策略，可为应用分配完整的物理CPU核，从而提升性能并降低调度延迟。
| 功能        | 描述                                                                                                 | 参考文档                                                                             |
|:---|:---|:---|
| CPU管理策略    | 当节点上运行大量CPU密集型Pod时，工作负载可能会在不同的CPU核之间迁移。对于CPU敏感型应用，可通过Kubernetes提供的CPU管理策略为其分配独占物理核，从而提升性能并降低调度延迟。 | [CPU管理策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0351.html)     |
| 增强型CPU管理策略 | 在传统的CPU管理策略基础上，该策略新增Burstable Pod（要求CPU的Request和Limit值都是正整数）的智能调度能力，允许这类Pod优先使用特定CPU，而非完全独占。       | [增强型CPU管理策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0552.html) |
   
#### GPU调度
CCE为集群中的GPU异构资源提供调度能力，从而实现资源的精细化分配与高效利用，满足不同类型工作负载对GPU算力的差异化需求，提升整体集群的调度效率与业务运行性能。
| 功能                   | 描述                                                                                                                                                                                                                                                                                                                            | 参考文档                                                                                  |
|:---|:---|:---|
| Kubernetes默认GPU调度 | 该调度模式可以指定Pod申请的GPU显卡数量，支持申请设置为小于1的数量，实现多个Pod共享使用GPU。                                                                                                                                                                                                                                                                         | [使用Kubernetes默认GPU调度](https://support.huaweicloud.com/usermanual-cce/cce_10_0345.html) |
| GPU虚拟化            | GPU虚拟化能够动态对GPU设备显存与算力进行划分，单个GPU卡最多虚拟化成20个GPU虚拟设备。相对于静态分配来说，虚拟化的方案更加灵活，最大程度保证业务稳定的前提下，可以完全由用户自己定义使用的GPU量，提高GPU利用率。                                                                                                                                                                                                             | [GPU虚拟化](https://support.huaweicloud.com/usermanual-cce/cce_10_0643.html)             |
| GPU监控            | GPU指标可分为[CCE提供的GPU监控指标](https://support.huaweicloud.com/usermanual-cce/cce_10_0955.html#cce_10_0955__section111659452468)和[DCGM提供的GPU监控指标](https://support.huaweicloud.com/usermanual-cce/cce_10_0955.html#cce_10_0955__section1828120225159)。通过Prometheus和Grafana，可以实现这些GPU指标的全面监测，从而优化计算性能，快速定位故障，合理调度资源，进而提升GPU利用率并降低运维成本。 | [GPU监控](https://support.huaweicloud.com/usermanual-cce/cce_10_1016.html)            |
| GPU弹性伸缩          | CCE支持通过GPU指标配置工作负载和节点弹性伸缩策略，从而实现资源的动态调度与优化，提高计算效率，保障业务稳定运行，并有效降低运维成本。                                                                                                                                                                                                                                                       | [GPU弹性伸缩](https://support.huaweicloud.com/usermanual-cce/cce_10_1017.html)            |
| GPU故障处理          | 当GPU资源出现故障时，CCE集群会及时上报事件，并根据事件信息提供单GPU故障隔离功能，确保其他正常GPU继续提供服务，最大限度降低业务影响。                                                                                                                                                                                                                                                    | [GPU故障处理](https://support.huaweicloud.com/usermanual-cce/cce_10_0779.html)         |
   
#### NPU调度
CCE为集群中的NPU异构资源提供调度能力，从而实现对推理和图像识别等工作的高效处理。
| 功能          | 描述                                                                                                                                                                                                                              | 参考文档                                                                                   |
|:---|:---|:---|
| NPU整卡调度       | 该调度模式可以根据Pod申请的NPU数量，为工作负载提供NPU资源。                                                                                                                                                                                            | [NPU整卡调度](https://support.huaweicloud.com/usermanual-cce/cce_10_0346.html)              |
| NPU拓扑感知调度 | 该调度模式指结合昇腾AI处理器和节点间的拓扑结构灵活匹配调度策略，其能够有效减少计算资源碎片和网络拥塞，最大化提升NPU算力利用率。                                                                                                                                                             | [NPU拓扑感知调度](https://support.huaweicloud.com/usermanual-cce/cce_10_0995.html)          |
| NPU静态虚拟化    | 指将通过资源虚拟化的方式将物理机中配置的NPU（昇腾AI产品）切分为多个虚拟NPU（vNPU），并挂载至容器中使用，以实现对硬件资源的灵活切分与动态管理。                                                                                                                                                | [NPU静态虚拟化](https://support.huaweicloud.com/usermanual-cce/cce_10_1008.html)  |
| NPU动态虚拟化  | 是面向华为昇腾（Ascend）硬件生态设计的算力虚拟化与弹性管理系统，可在Kubernetes集群中实现物理NPU的细粒度切分、多Pod共享与强隔离调度。                                                                                                                                                | [NPU动态虚拟化](https://support.huaweicloud.com/usermanual-cce/cce_10_11113.html)        |
| NPU监控       | 当集群中包含NPU节点时，监控NPU指标可以帮助用户识别性能瓶颈、优化资源利用率、快速定位异常，从而提升系统的整体稳定性和效率。在CCE Standard和Turbo集群中，您可以使用[npu-exporter](https://gitee.com/ascend/ascend-npu-exporter)组件将dcmi/hccn tool采集的NPU指标数据上传至云原生监控系统，实现NPU资源的实时监控与告警，从而提升系统的可靠性和性能。 | [NPU监控](https://support.huaweicloud.com/usermanual-cce/cce_10_1018.html)           |
   
#### Volcano调度
Volcano是一个基于Kubernetes的批处理平台，提供了机器学习、深度学习、生物信息学、基因组学及其他大数据应用所需要而Kubernetes当前缺失的一系列特性，提供了高性能任务调度引擎、高性能异构芯片管理、高性能任务运行管理等通用计算能力。
| 功能             | 描述                                                                                                                                                                                                                                                              | 参考文档                                                                               |
|:---|:---|:---|
| 使用Volcano调度工作负载 | 一般情况下，Kubernetes在调度工作负载时会使用自带的默认调度器，若需要使用Volcano调度器的能力，您可以为工作负载指定调度器。                                                                                                                                                                                            | [使用Volcano调度工作负载](https://support.huaweicloud.com/usermanual-cce/cce_10_0722.html) |
| 资源利用率优化调度       | 针对计算资源进行优化的调度策略，可以有效减少各节点资源碎片，最大化地提高计算资源的利用率。                                                                                                                                                                                                                   | [资源利用率优化调度](https://support.huaweicloud.com/usermanual-cce/cce_10_0768.html)       |
| 业务优先级保障调度      | 根据业务的重要性和优先级，设置自定义的策略对业务占用的资源进行调度，确保关键业务的资源优先级得到保障。                                                                                                                                                                                                                | [业务优先级保障调度](https://support.huaweicloud.com/usermanual-cce/cce_10_0774.html)       |
| AI任务性能增强调度     | 根据AI任务的工作性质、资源的使用情况，设置对应的调度策略，可以增强集群业务的吞吐量，提高业务运行性能。                                                                                                                                                                                                             | [AI任务性能增强调度](https://support.huaweicloud.com/usermanual-cce/cce_10_0776.html)      |
| 异构资源网络拓扑感知调度  | 基于HyperNode模型感知GPU/NPU与网络拓扑，降低通信时延，提升分布式训练与推理性能。                                                                                                                                                                                                                | [异构资源网络拓扑感知调度](https://support.huaweicloud.com/usermanual-cce/cce_10_1125.html)   |
| 任务队列调度        | 通过[队列资源管理机制](https://volcano.sh/zh-hans/docs/keyfeatures/queueresourcemanagement/)，动态分配集群资源，确保高优先级任务优先执行，同时优化资源利用率和作业吞吐量。                                                                                                                                       | [任务队列调度](https://support.huaweicloud.com/usermanual-cce/cce_10_0990.html)         |
| NUMA亲和性调度     | Volcano可解决调度程序NUMA拓扑感知的限制，实现以下目标： - 避免将Pod调度到NUMA拓扑不匹配的节点。  - 将Pod调度到NUMA拓扑的最佳节点。                    | [NUMA亲和性调度](https://support.huaweicloud.com/usermanual-cce/cce_10_0425.html)       |
| 应用扩缩容优先级策略   | 通过应用扩缩容优先级策略，可以精确控制Pod在不同类型节点上的扩容与缩容顺序，从而实现资源管理的最优化。                                                                                                                                                                                                             | [应用扩缩容优先级策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0746.html)    |
| 应用紧凑型缩容策略   | Volcano调度器会依据设定的紧凑型缩容策略，对由Deployment（也间接包括[ReplicaSet](https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/replicaset/)）及其他指定工作负载类型管理的Pod进行评分。Pod所在节点的NPU占用率越低，其得分也越低。缩容时，控制器优先移除得分较低的Pod，若存在多个得分相同的Pod，则随机驱逐相应数量的Pod。这样有助于提高后续调度的成功率和整体NPU资源的使用效率。 | [应用紧凑型缩容功能](https://support.huaweicloud.com/usermanual-cce/cce_10_1024.html)      |
   
#### 云原生混部
云原生混部解决方案围绕Volcano和Kubernetes生态，帮助用户提升资源利用率，实现降本增效。
| 功能              | 描述                                                                                                                                                                                                                             | 参考文档                                                                              |
|:---|:---|:---|
| 动态资源超卖         | 根据在线作业和离线作业类型，通过Volcano调度将集群中申请而未使用的资源（即申请量与使用量的差值）利用起来，实现资源超卖和混合部署，提升集群资源利用率。                                                                                                                                                | [动态资源超卖](https://support.huaweicloud.com/usermanual-cce/cce_10_0384.html)        |
| 基于Pod实例画像的资源超卖 | 提供一种超卖算法，能够持续采集节点上Pod的CPU和内存利用率，统计资源使用的概率分布，并在一定置信度下评估节点资源占用。算法综合考虑资源使用的整体水平及波动，能够计算出稳定的超卖量，从而减少资源竞争，避免业务波动引起的Pod频繁驱逐。 相比直接基于节点实时CPU和内存利用率的算法，该算法能有效减少超卖量波动，提升对突发资源尖峰的覆盖能力，从而在保障业务性能相对稳定的同时实现资源超卖。 | [基于Pod实例画像的资源超卖](https://support.huaweicloud.com/usermanual-cce/cce_10_0942.html) |
| CPU Burst弹性限流   | 提供一种可以短暂突破CPU Limit值的弹性限流机制，以降低业务长尾响应时间，可以有效提升时延敏感型业务的服务质量。                                                                                                                                                                  | [CPU Burst弹性限流](https://support.huaweicloud.com/usermanual-cce/cce_10_0700.html)  |
| 出口网络带宽保障         | 平衡在线业务与离线业务对出口网络带宽的使用，保证在线业务有足够的网络带宽。                                                                                                                                                                                        | [出口网络带宽保障](https://support.huaweicloud.com/usermanual-cce/cce_10_0701.html)        |
   
#### 云容器的编排与调度
<video controls="controls" preload="none" id="object18405917101715" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/video/cce/OrchestrationAndScheduling.mp4" title="云容器的编排与调度" poster="https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002400568673.jpg" height="340.0000" width="600.0000"></video>
