GPU 加速计算在云计算、企业计算和边缘计算领域的日益普及,越来越依赖于强健而强大的网络基础设施。 NVIDIA ConnectX SmartNICs 和 NVIDIA BlueField DPU 提供了高吞吐量、低延迟的连接,使 GPU 资源能够跨节点群扩展。为了满足对云本地 AI 工作负载的需求, NVIDIA 提供了 GPU 运营商,旨在简化 Kubernetes 上的横向扩展 GPU 部署和管理。
今天, NVIDIA 宣布了 NVIDIA 网络运营商的 1.0 版本。作为 NVIDIA GPU 运算符 的一个模拟,网络运营商通过自动化网络部署和配置的各个方面简化了 Kubernetes 的扩展网络设计,否则就需要手工操作。它在具有 NVIDIA 网络接口的任何集群节点上加载所需的驱动程序、库、设备插件和 CNI 。
与 GPU 运营商配合,网络运营商启用了 GPU 直接 RDMA ,这是一项关键技术,可将云本地 AI 工作负载加速几个数量级。该技术在 NVIDIA GPU 之间提供了高效的零拷贝数据传输,同时利用了 SmartNICs 和 DPU 中的硬件引擎。图 1 显示了两个 GPU 节点之间的 GPU 直接 RDMA 技术。节点 1 上的 GPU 通过网络直接与节点 2 上的 GPU 通信,绕过 CPU 设备。
图 1 。 GPU 两个 GPU 节点之间的直接 RDMA 技术
NGC 网络运营商现在可在 NGC 和 NVIDIA 上使用 Kubernetes 自定义资源 ( CRD )和 操作员框架 来提供实现加速联网所需的主机软件。这篇文章讨论了网络运营商内部的内容,包括它的特性和功能。
易于部署和操作的 Kubernetes 网络
网络运营商致力于使 Kubernetes 网络变得简单和轻松。它是 Apache2 。 0 许可下的一个开源软件项目。 1.0 版本针对运行在裸机服务器基础设施和 Linux 虚拟化环境中的 Kubernetes 进行了验证。以下是 1.0 版的主要功能:
在裸机 Kubernetes 环境中自动部署主机软件组件,以实现以下功能:
macvlan 辅助网络
SR-IOV 二次网络(分配给 pod 的 VF )
主机设备辅助网络(分配给 pod 的 PF )
GPU 直接 RoCE (使用 NVIDIA GPU 运算符)
在嵌套的 Kubernetes 环境(在 Linux VMs 中运行的 Kubernetes Pods )中自动部署主机软件组件,以创建以下内容:
SR-IOV 二级网络(分配给 VM 的 VF 的#个,并通过不同的 POD )
主机设备辅助网络(分配给 Pod 的 PF )
GPU 直接 RoCE (使用 NVIDIA GPU 运算符)
平台支持:
Kubernetes v1 。 17 或更高版本
容器运行时: Containerd
裸机主机操作系统/ Linux 来宾操作系统: Ubuntu 20 。 04
Linux KVM 虚拟化
舵图安装
虽然启用了 GPU 的节点是一个主要用例,但是网络运营商对于启用独立于 NVIDIA GPU 的加速 Kubernetes 网络环境也很有用。一些示例包括设置 SR-IOV 网络和 DPDK 以加速电信 NFV 应用程序、建立 RDMA 连接以快速访问 NVMe 存储等等。
NVIDIA 网络运营商内部
网络运营商被设计成一个 Kubernetes 运营商,它利用多个定制资源为一个节点添加加速的网络功能。 1 。 0 版本支持多种网络模型,可适应各种 Kubernetes 网络环境和不同的应用程序需求。如今,网络运营商只为二级网络配置 RoCE 。这意味着主吊舱网络保持不变。将来的工作可能会允许为主网络配置 RoCE 。
以下各节介绍网络运营商打包和使用的不同组件。
节点功能发现
节点功能发现 ( NFD )是一个 Kubernetes 插件,用于检测硬件特性和系统配置。网络运营商使用 NFD 来检测安装了 NVIDIA SmartNICs 和 GPU 的节点,并将它们标记为这样的节点。基于这些标签,网络运营商安排适当的软件资源。
CNI 木耳
Multus CNI 是 Kubernetes 的容器网络接口( CNI )插件,支持将多个网络接口连接到 pod 。通常在库伯内特斯,每个吊舱只有一个网络接口。使用 Multus ,您可以创建具有多个接口的多宿主 Pod 。 Multus 充当一个 meta-plugin ,一个可以调用多个其他 CNI 插件的 CNI 插件。 NVIDIA 网络运营商安装 Multus ,将用于高速 GPU – GPU 通信的二级网络添加到集装箱吊舱中。
NVIDIA OFED 驱动器
NVIDIA OpenFabrics 企业分销( OFED ) 网络库和驱动程序由 节点标签 网络团队打包和测试。 NVIDIA OFED 通过 Infiniband 和以太网互连支持 远程直接内存访问 ( RDMA )。网络运营商使用 NVIDIA 将预编译的 NVIDIA OFED 驱动程序容器部署到每个 Kubernetes 主机上。容器在启动或停止时加载和卸载 NVIDIA OFED 驱动程序。
NVIDIA 对等内存驱动程序
NVIDIA 对等内存驱动程序 是一个客户端,它与网络驱动程序交互,以在 GPU 和主机内存之间提供 RDMA 。网络运营商在同时具有 ConnectX 适配器和 NVIDIA GPU 的节点上安装 NVIDIA 对等内存驱动程序。当容器启动和停止时,此驱动程序也会自动加载和卸载。
RDMA 共享设备插件
Kubernetes 设备插件框架 向 Kubernetes 节点上运行的 Kubelet 代理播发系统硬件资源。网络运营商部署 RDMA 共享设备插件 向 Kubelet 播发 RDMA 资源,并向节点上运行的 pod 公开 RDMA 设备。它允许吊舱执行 RDMA 操作。节点上运行的所有 pod 共享对相同 RDMA 设备文件的访问。
容器网络 CNI 插件
Macvlan CNI 公司 和 主机设备 CNI 是在 CNI 项目下托管的通用容器网络插件。 macvlan CNI 创建一个新的 MAC 地址,并将所有通信转发到容器。主机设备 CNI 将已经存在的设备移动到容器中。网络运营商使用这些 CNI 插件创建 macvlan 网络,并将 NIC 物理功能分别分配给容器或虚拟机。
SR-IOV 设备插件和 CNI
SR-IOV 是一种在虚拟机或容器吊舱与 NIC 硬件之间提供直接接口的技术。它绕过了主机 CPU 和操作系统,从 I / O 任务中释放出昂贵的 CPU 资源,并大大加快了连接速度。 SR-IOV 设备插件 和 CNI 插件 启用 Kubernetes 节点上可用的 SR-IOV 虚拟功能( VF )。这两者都是网络运营商创建 SR-IOV VF 并将其分配给处理 GPU -to- GPU 通信的二级网络所必需的。
SR-IOV 操作员
SR-IOV 操作符旨在帮助用户在集群中提供和配置 SR-IOV 设备插件和 SR-IOV CNI 插件。网络运营商使用 SR-IOV 操作员 在 Kubernetes 集群中部署和管理 SR-IOV 。
Whereabouts CNI
Whereabouts CNI 是一个 IP 地址管理( IPAM ) CNI 插件,可以在 Kubernetes 集群中分配 IP 地址。网络运营商使用此 CNI 为承载 GPU -to- GPU 通信的二级网络分配 IP 地址。
更好的结合: NVIDIA 加速计算和网络
图 2 显示了网络运营商如何与 GPU 运营商协同工作来部署和管理主机网络软件。
图 2 。网络运营商与 NVIDIA GPU 运营商一起安装,以在 EGX 堆栈上自动化 GPU 直接 RDMA 配置
以下部分描述了支持的网络模型和相应的主机软件组件。
RoCE 共享模式
共享模式意味着在节点上的多个容器 pod 之间共享单个 IB 设备的方法。此网络模型针对需要高性能网络的企业和边缘环境进行了优化,无需多租户。网络运营商安装以下软件组件:
Multus CNI
RoCE 共享模式设备插件
Macvlan CNI
Whereabouts IPAM CNI
网络运营商还在 GPU 节点上安装 NVIDIA OFED 驱动程序和 NVIDIA 对等内存。
SR-IOV 、 RoCE 和 DPDK 网络
如前所述, SR-IOV 是一种提供对 NIC 硬件的直接访问的加速技术。此网络模型针对运行在裸机上的多租户 Kubernetes 环境进行了优化。网络运营商安装以下软件组件:
Multus CNI
SR-IOV 设备插件
SR-IOV CN
Whereabouts IPAM CNI
网络运营商还在 GPU 节点上安装 NVIDIA OFED 驱动程序和 NVIDIA 对等内存。
NIC PF 直通
这种网络模式适合要求极高的应用。网络运营商可以将 NIC 物理功能分配给 Pod ,以便 Pod 充分利用它。网络运营商安装以下主机软件组件:
Multus CNI
SR-IOV 设备插件
主机开发 CNI
Whereabouts IPAM CNI
网络运营商还在 GPU 节点上安装 NVIDIA OFED 驱动程序和 NVIDIA 对等内存。
为横向扩展 GPU 集群优化 Kubernetes 网络
NVIDIA GPU 和网络运营商都是 NVIDIA EGX 企业平台的一部分,该平台允许 GPU 加速计算与传统企业应用程序在同一 IT 基础设施上协同工作。总而言之,运营商使 NVIDIA GPU 成为库伯内特斯的一等公民。现在发布用于生产环境,网络运营商简化了 Kubernetes 网络,带来了必要的简单性和可扩展性级别,以便在企业中实现扩展培训和边缘推断。
关于作者
Itay Ozery 是 NVIDIA 网络产品营销总监。他为 Mellanox 的云网络解决方案推动战略性产品营销和产品管理计划。 Itay 在网络安全领域领导了大规模的业务和项目,并与数据中心和电信服务提供商在 IT 系统和网络工程领域担任过多个职位。
审核编辑:郭婷
-
运营商
+关注
关注
4文章
2398浏览量
44454 -
NVIDIA
+关注
关注
14文章
4990浏览量
103119 -
gpu
+关注
关注
28文章
4742浏览量
128972
发布评论请先 登录
相关推荐
评论