调度概述
CCE支持不同类型的资源调度及任务调度等,可提升应用的性能和集群整体资源的利用率。本文介绍CPU资源调度、GPU/NPU异构资源调度、Volcano调度的主要功能。
CPU调度
CCE提供CPU管理策略为应用分配完整的CPU物理核,提升应用性能,减少应用的调度延迟。
功能 |
描述 |
参考文档 |
---|---|---|
CPU管理策略 |
当节点上运行了很多 CPU 密集的 Pod 时,工作负载可能会迁移到不同的 CPU 核。许多应用对这种迁移不敏感,因此无需任何干预即可正常工作。有些应用对CPU敏感,对于CPU敏感型应用,您可以利用Kubernetes中提供的CPU管理策略为应用分配独占核,提升应用性能,减少应用的调度延迟。 |
|
增强型CPU管理策略 |
增强型CPU管理策略(enhanced-static),是在兼容静态绑核CPU管理策略的基础上,新增一种符合某些资源特征的Burstable Pod(CPU的Request和Limit值都是正整数)优先使用某些CPU的能力,以减少应用在多个CPU间频繁切换带来的影响。 |
GPU调度
CCE为集群中的GPU异构资源提供调度能力,支持在容器中使用GPU显卡。
功能 |
描述 |
参考文档 |
---|---|---|
Kubernetes默认GPU调度 |
Kubernetes默认GPU调度可以指定Pod申请GPU的数量,支持申请设置为小于1的数量,实现多个Pod共享使用GPU。 |
|
GPU虚拟化 |
GPU虚拟化能够动态对GPU设备显存与算力进行划分,单个GPU卡最多虚拟化成20个GPU虚拟设备。相对于静态分配来说,虚拟化的方案更加灵活,最大程度保证业务稳定的前提下,可以完全由用户自己定义使用的GPU量,提高GPU利用率。 |
NPU调度
CCE为集群中的NPU异构资源提供调度能力,实现快速高效地处理推理和图像识别等工作。
功能 |
描述 |
参考文档 |
---|---|---|
NPU调度 |
NPU调度可以指定Pod申请NPU的数量,为工作负载提供NPU资源。 |
Volcano调度
Volcano是一个基于Kubernetes的批处理平台,提供了机器学习、深度学习、生物信息学、基因组学及其他大数据应用所需要而Kubernetes当前缺失的一系列特性,提供了高性能任务调度引擎、高性能异构芯片管理、高性能任务运行管理等通用计算能力。
功能 |
描述 |
参考文档 |
---|---|---|
资源利用率优化调度 |
针对计算资源进行优化的调度策略,可以有效减少各节点资源碎片,最大化地提高计算资源的利用率。 |
|
业务优先级保障调度 |
根据业务的重要性和优先级,设置自定义的策略对业务占用的资源进行调度,确保关键业务的资源优先级得到保障。 |
|
AI任务性能增强调度 |
根据AI任务的工作性质、资源的使用情况,设置对应的调度策略,可以增强集群业务的吞吐量,提高业务运行性能。 |
|
NUMA亲和性调度 |
Volcano可解决调度程序NUMA拓扑感知的限制,实现以下目标:
|
云原生混部
云原生混部解决方案围绕Volcano和Kubernetes生态,帮助用户提升资源利用率,实现降本增效。
功能 |
描述 |
参考文档 |
---|---|---|
动态资源超卖 |
根据在线作业和离线作业类型,通过Volcano调度将集群中申请而未使用的资源(即申请量与使用量的差值)利用起来,实现资源超卖和混合部署,提升集群资源利用率。 |
|
CPU Burst弹性限流 |
提供一种可以短暂突破CPU Limit值的弹性限流机制,以降低业务长尾响应时间,可以有效提升时延敏感型业务的服务质量。 |
|
出口网络带宽保障 |
平衡在线业务与离线业务对出口网络带宽的使用,保证在线业务有足够的网络带宽。 |