异构计算集群概述

阿里云容器服务ACK支持对各种异构计算资源进行统一调度和运维管理,能够显著提高异构计算集群资源的使用效率。本文介绍阿里云容器服务ACK支持的异构计算集群。

背景信息

随着5G、人工智能、HPC( High Performance Computing)、边缘计算等业务的兴起,人们对算力的性能要求达到了一个新的高度,以CPU为代表的通用计算越来越不能满足这些业务的算力需求。因此,人们逐渐将注意力转移到以领域专有架构DSA(Domain Specific Architecture)为代表的异构计算上,各种异构计算设备(GPU、FPGA等)在这些业务领域承担着重要的角色。

如何大规模管理这些异构计算资源成为一个比较棘手的问题。为了解决这个问题,阿里云容器服务提供一站式管理异构计算资源方案,实现对异构计算资源的统一调度和运维管理。

异构计算集群介绍

阿里云容器服务ACK支持对GPU、FPGA、ASIC和RDMA异构资源进行统一调度和运维管理,提高集群资源的使用效率。容器服务ACK支持的异构计算集群及具体功能如下。

异构资源

功能描述

GPU

阿里云容器服务ACK支持创建带有T4、P100、V100等市场主流GPU卡的集群。更多信息,请参见创建GPU集群创建专有GPU集群

  • 支持以GPU卡为单位申请集群GPU资源。

  • 支持自动扩缩容集群GPU节点。更多信息,请参见基于GPU指标实现弹性伸缩

  • 支持GPU共享调度和算力隔离功能。阿里云自研的GPU共享调度将多个模型推理应用运行在同一个GPU上,能够显著降低成本。通过阿里云自研cGPU方案,在无需修改应用容器的前提下,提供GPU显存和算力的隔离能力,提高应用的稳定性。支持的GPU设备分配策略如下,更多信息,请参见共享GPU调度概述通过共享GPU调度实现算力分配

    • 单Pod单GPU卡共享和隔离:常用于模型推理场景。

    • 单Pod多GPU卡共享和隔离:常用于分布式模型训练代码的开发。

    • 按GPU卡的Binpack和Spread分配策略:Binpack分配策略指多个Pod会优先共享使用同一GPU卡,适用于需要提升GPU卡利用率的场景;Spread分配策略指多个Pod会尽量分散使用不同GPU卡,适用于GPU高可用场景。

  • 支持GPU拓扑感知调度功能:通过Node节点获取异构计算资源的拓扑结构,调度器端基于节点的拓扑信息,完成调度决策,为NVLINK、PCIe Switch、QPI和RDMA NIC提供最佳的调度选择,实现最优的运行性能。更多信息,请参见GPU拓扑感知调度概述

  • 支持GPU资源的全方位监控:提供节点和应用视角的监控指标,设备(软硬件)异常自动检测和告警,支持独占GPU和共享GPU场景。更多信息,请参见使用Kubernetes事件中心监控GPU异常使用阿里云Prometheus监控集群GPU资源

FPGA

阿里云容器服务ACK支持创建带有FPGA设备的集群。更多信息,请参见创建FPGA集群

  • 支持以单个FPGA为单位申请资源。

  • 支持利用阿里云Kubernetes的FPGA节点标签进行调度。更多信息,请参见调度负载至FPGA节点

ASIC

阿里云容器服务ACK支持创建带有NETINT ASIC设备的集群,支持以单张NETINT ASIC卡为单位申请集群资源。更多信息,请参见创建ASIC集群

RDMA

容器服务ACK支持创建带有RDMA设备的集群。更多信息,请参见eRDMA

  • 支持通过Arena提交使用RDMA设备的分布式深度学习训练任务。

  • 支持对网络带宽有高要求的任务,如分布式深度学习训练任务等。