调度概述
CCE支持多种资源与任务调度策略,有助于提升应用性能和集群整体资源利用率。本文将重点介绍CPU资源调度、GPU异构资源调度以及Volcano调度的主要功能。
CPU调度
CCE提供CPU管理策略,可为应用分配完整的物理CPU核,从而提升性能并降低调度延迟。
|
功能 |
描述 |
参考文档 |
|---|---|---|
|
CPU管理策略 |
当节点上运行大量CPU密集型Pod时,工作负载可能会在不同的CPU核之间迁移。对于CPU敏感型应用,可通过Kubernetes提供的CPU管理策略为其分配独占物理核,从而提升性能并降低调度延迟。 |
|
|
增强型CPU管理策略 |
在传统的CPU管理策略基础上,该策略新增Burstable Pod(要求CPU的Request和Limit值都是正整数)的智能调度能力,允许这类Pod优先使用特定CPU,而非完全独占。 |
GPU调度
CCE为集群中的GPU异构资源提供调度能力,从而实现资源的精细化分配与高效利用,满足不同类型工作负载对GPU算力的差异化需求,提升整体集群的调度效率与业务运行性能。
|
功能 |
描述 |
参考文档 |
|---|---|---|
|
Kubernetes默认GPU调度 |
该调度模式可以指定Pod申请的GPU显卡数量,支持申请设置为小于1的数量,实现多个Pod共享使用GPU。 |
|
|
GPU虚拟化 |
GPU虚拟化能够动态对GPU设备显存与算力进行划分,单个GPU卡最多虚拟化成20个GPU虚拟设备。相对于静态分配来说,虚拟化的方案更加灵活,最大程度保证业务稳定的前提下,可以完全由用户自己定义使用的GPU量,提高GPU利用率。 |
|
|
GPU监控 |
通过Prometheus和Grafana,可以实现这些GPU指标的全面监测,从而优化计算性能,快速定位故障,合理调度资源,进而提升GPU利用率并降低运维成本。 |
|
|
GPU弹性伸缩 |
CCE支持通过GPU指标配置工作负载和节点弹性伸缩策略,从而实现资源的动态调度与优化,提高计算效率,保障业务稳定运行,并有效降低运维成本。 |
Volcano调度
Volcano是一个基于Kubernetes的批处理平台,提供了机器学习、深度学习、生物信息学、基因组学及其他大数据应用所需要而Kubernetes当前缺失的一系列特性,提供了高性能任务调度引擎、高性能异构芯片管理、高性能任务运行管理等通用计算能力。
|
功能 |
描述 |
参考文档 |
|---|---|---|
|
使用Volcano调度工作负载 |
一般情况下,Kubernetes在调度工作负载时会使用自带的默认调度器,若需要使用Volcano调度器的能力,您可以为工作负载指定调度器。 |
|
|
资源利用率优化调度 |
针对计算资源进行优化的调度策略,可以有效减少各节点资源碎片,最大化地提高计算资源的利用率。 |
|
|
业务优先级保障调度 |
根据业务的重要性和优先级,设置自定义的策略对业务占用的资源进行调度,确保关键业务的资源优先级得到保障。 |
|
|
AI任务性能增强调度 |
根据AI任务的工作性质、资源的使用情况,设置对应的调度策略,可以增强集群业务的吞吐量,提高业务运行性能。 |
|
|
NUMA亲和性调度 |
Volcano可解决调度程序NUMA拓扑感知的限制,实现以下目标:
|