更新时间:2025-08-27 GMT+08:00
分享

调度概述

CCE支持多种资源与任务调度策略,有助于提升应用性能和集群整体资源利用率。本文将重点介绍CPU资源调度、GPU/NPU异构资源调度以及Volcano调度的主要功能。

CPU调度

CCE提供CPU管理策略,可为应用分配完整的物理CPU核,从而提升性能并降低调度延迟。

功能

描述

参考文档

CPU管理策略

当节点上运行大量CPU密集型Pod时,工作负载可能会在不同的CPU核之间迁移。对于CPU敏感型应用,可通过Kubernetes提供的CPU管理策略为其分配独占物理核,从而提升性能并降低调度延迟。

CPU管理策略

增强型CPU管理策略

在传统的CPU管理策略基础上,该策略新增Burstable Pod(要求CPU的Request和Limit值都是正整数)的智能调度能力,允许这类Pod优先使用特定CPU,而非完全独占。

增强型CPU管理策略

GPU调度

CCE为集群中的GPU异构资源提供调度能力,从而实现资源的精细化分配与高效利用,满足不同类型工作负载对GPU算力的差异化需求,提升整体集群的调度效率与业务运行性能。

功能

描述

参考文档

Kubernetes默认GPU调度

该调度模式可以指定Pod申请的GPU显卡数量,支持申请设置为小于1的数量,实现多个Pod共享使用GPU。

使用Kubernetes默认GPU调度

GPU虚拟化

GPU虚拟化能够动态对GPU设备显存与算力进行划分,单个GPU卡最多虚拟化成20个GPU虚拟设备。相对于静态分配来说,虚拟化的方案更加灵活,最大程度保证业务稳定的前提下,可以完全由用户自己定义使用的GPU量,提高GPU利用率。

GPU虚拟化

GPU监控

GPU指标可分为CCE提供的GPU监控指标DCGM提供的GPU监控指标。通过Prometheus和Grafana,可以实现这些GPU指标的全面监测,从而优化计算性能,快速定位故障,合理调度资源,进而提升GPU利用率并降低运维成本。

GPU监控

GPU弹性伸缩

CCE支持通过GPU指标配置工作负载和节点弹性伸缩策略,从而实现资源的动态调度与优化,提高计算效率,保障业务稳定运行,并有效降低运维成本。

GPU弹性伸缩

GPU故障处理

当GPU资源出现故障时,CCE集群会及时上报事件,并根据事件信息提供单GPU故障隔离功能,确保其他正常GPU继续提供服务,最大限度降低业务影响。

GPU故障处理

NPU调度

CCE为集群中的NPU异构资源提供调度能力,从而实现对推理和图像识别等工作的高效处理。

功能

描述

参考文档

NPU芯级独占调度

该调度模式可以根据Pod申请的NPU数量,为工作负载提供NPU资源。

NPU芯级独占调度

NPU拓扑感知调度

该调度模式指结合昇腾AI处理器和节点间的拓扑结构灵活匹配调度策略,其能够有效减少计算资源碎片和网络拥塞,最大化提升NPU算力利用率。

NPU拓扑感知调度

NPU虚拟化

NPU虚拟化指将通过资源虚拟化的方式将物理机中配置的NPU(昇腾AI产品)切分为多个虚拟NPU(vNPU),并挂载至容器中使用,以实现对硬件资源的灵活切分与动态管理。

NPU虚拟化

NPU监控

当集群中包含NPU节点时,监控NPU指标可以帮助用户识别性能瓶颈、优化资源利用率、快速定位异常,从而提升系统的整体稳定性和效率。在CCE Standard和Turbo集群中,您可以使用npu-exporter组件将dcmi/hccn tool采集的NPU指标数据上传至云原生监控系统,实现NPU资源的实时监控与告警,从而提升系统的可靠性和性能。

NPU监控

Volcano调度

Volcano是一个基于Kubernetes的批处理平台,提供了机器学习、深度学习、生物信息学、基因组学及其他大数据应用所需要而Kubernetes当前缺失的一系列特性,提供了高性能任务调度引擎、高性能异构芯片管理、高性能任务运行管理等通用计算能力。

功能

描述

参考文档

使用Volcano调度工作负载

一般情况下,Kubernetes在调度工作负载时会使用自带的默认调度器,若需要使用Volcano调度器的能力,您可以为工作负载指定调度器。

使用Volcano调度工作负载

资源利用率优化调度

针对计算资源进行优化的调度策略,可以有效减少各节点资源碎片,最大化地提高计算资源的利用率。

资源利用率优化调度

业务优先级保障调度

根据业务的重要性和优先级,设置自定义的策略对业务占用的资源进行调度,确保关键业务的资源优先级得到保障。

业务优先级保障调度

AI任务性能增强调度

根据AI任务的工作性质、资源的使用情况,设置对应的调度策略,可以增强集群业务的吞吐量,提高业务运行性能。

AI任务性能增强调度

任务队列调度

通过队列资源管理机制,动态分配集群资源,确保高优先级任务优先执行,同时优化资源利用率和作业吞吐量。

任务队列调度

NUMA亲和性调度

Volcano可解决调度程序NUMA拓扑感知的限制,实现以下目标:

  • 避免将Pod调度到NUMA拓扑不匹配的节点。
  • 将Pod调度到NUMA拓扑的最佳节点。

NUMA亲和性调度

应用扩缩容优先级策略

通过应用扩缩容优先级策略,可以精确控制Pod在不同类型节点上的扩容与缩容顺序,从而实现资源管理的最优化。

应用扩缩容优先级策略

云原生混部

云原生混部解决方案围绕Volcano和Kubernetes生态,帮助用户提升资源利用率,实现降本增效。

功能

描述

参考文档

动态资源超卖

根据在线作业和离线作业类型,通过Volcano调度将集群中申请而未使用的资源(即申请量与使用量的差值)利用起来,实现资源超卖和混合部署,提升集群资源利用率。

动态资源超卖

基于Pod实例画像的资源超卖

提供一种超卖算法,能够持续采集节点上Pod的CPU和内存利用率,统计资源使用的概率分布,并在一定置信度下评估节点资源占用。算法综合考虑资源使用的整体水平及波动,能够计算出稳定的超卖量,从而减少资源竞争,避免业务波动引起的Pod频繁驱逐。

相比直接基于节点实时CPU和内存利用率的算法,该算法能有效减少超卖量波动,提升对突发资源尖峰的覆盖能力,从而在保障业务性能相对稳定的同时实现资源超卖。

基于Pod实例画像的资源超卖

CPU Burst弹性限流

提供一种可以短暂突破CPU Limit值的弹性限流机制,以降低业务长尾响应时间,可以有效提升时延敏感型业务的服务质量。

CPU Burst弹性限流

出口网络带宽保障

平衡在线业务与离线业务对出口网络带宽的使用,保证在线业务有足够的网络带宽。

出口网络带宽保障

云容器的编排与调度

相关文档