更新时间:2024-09-04 GMT+08:00
分享

调度概述

CCE支持不同类型的资源调度及任务调度等,可提升应用的性能和集群整体资源的利用率。本文介绍CPU资源调度、GPU/NPU异构资源调度、Volcano调度的主要功能。

CPU调度

CCE提供CPU管理策略为应用分配完整的CPU物理核,提升应用性能,减少应用的调度延迟。

功能

描述

参考文档

CPU管理策略

当节点上运行了很多 CPU 密集的 Pod 时,工作负载可能会迁移到不同的 CPU 核。许多应用对这种迁移不敏感,因此无需任何干预即可正常工作。有些应用对CPU敏感,对于CPU敏感型应用,您可以利用Kubernetes中提供的CPU管理策略为应用分配独占核,提升应用性能,减少应用的调度延迟。

CPU管理策略

增强型CPU管理策略

增强型CPU管理策略(enhanced-static),是在兼容静态绑核CPU管理策略的基础上,新增一种符合某些资源特征的Burstable Pod(CPU的Request和Limit值都是正整数)优先使用某些CPU的能力,以减少应用在多个CPU间频繁切换带来的影响。

增强型CPU管理策略

GPU调度

CCE为集群中的GPU异构资源提供调度能力,支持在容器中使用GPU显卡。

功能

描述

参考文档

Kubernetes默认GPU调度

Kubernetes默认GPU调度可以指定Pod申请GPU的数量,支持申请设置为小于1的数量,实现多个Pod共享使用GPU。

使用Kubernetes默认GPU调度

GPU虚拟化

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

GPU虚拟化

NPU调度

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

功能

描述

参考文档

NPU调度

NPU调度可以指定Pod申请NPU的数量,为工作负载提供NPU资源。

NPU调度

Volcano调度

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

功能

描述

参考文档

使用Volcano调度工作负载

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

使用Volcano调度工作负载

资源利用率优化调度

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

资源利用率优化调度

业务优先级保障调度

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

业务优先级保障调度

AI任务性能增强调度

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

AI任务性能增强调度

NUMA亲和性调度

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

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

NUMA亲和性调度

云原生混部

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

功能

描述

参考文档

动态资源超卖

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

动态资源超卖

CPU Burst弹性限流

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

CPU Burst弹性限流

出口网络带宽保障

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

出口网络带宽保障

相关文档