随着摩尔定律的减弱,加速计算和人工智能是较经济实惠的方式实现数据中心能源效率所需的工具。 让我们一起跟随和了解 NVIDIA Grace CPU、NVIDIA L4 GPU 和 NVIDIA BlueField DPU 如何推动数据中心迈向更高效的未来。
NVIDIA® BlueField® DPU 软件基于 BlueField BSP(主板支持包)构建,其中包括操作系统和 DOCA 框架。BlueField BSP 包括引导加载程序以及加载和设置软件组件的其他必需组件。BSP 将官方 BlueField 操作系统(Ubuntu 参考 Linux 发行版)加载到 DPU。DOCA 是用于开发应用程序和基础设施服务的软件框架和 SDK。DOCA 包括运行时库;Arm 的 DOCA 运行时堆栈支持各种存储、网络和安全加速。因此,客户可以在 BlueField 软件环境中无缝运行任何基于 Linux 的应用程序
每年出货的 3000 万台数据中心服务器中,有三分之一用于运行软件定义的数据中心堆栈。企业需要发展其网络基础设施,以支持现代数据中心工作负载导致的呈指数级增长的数据处理量
NVIDIA BlueField 网络平台可加速数据中心基础设施工作负载,将传统计算环境转变为从云到边缘的高效、高性能、安全和可持续的数据中心
NVIDIA 的加速系统配备 BlueField-3 DPU,为生成型 AI 应用提供最佳基础设施。 将 BlueField DPU 整合到每个系统中使组织能够安全地部署和运营 NVIDIA AI 云数据中心。 这种集成不仅加速了生成式人工智能(AIGC)解决方案的开发和部署,还缩短了产品上线时间,提供了清晰的产品化途径。 BlueField-3 DPU 配备了一系列基本功能,包括加速 VPC 网络、最先进的零信任安全性、可组合存储解决方案和弹性 GPU 计算。 这些集成功能共同支持创建安全、大容量、多租户的人工智能云数据中心(AI智算/云计算数据中心)
BFB: BlueField 引导程序
ECPF: 嵌入式CPU模式, embedded CPU function ownership, 嵌入式CPU功能所有权(默认模式)
注意:
不同的函数功能(Function)具有不同的默认宽限期值,在此期间, 函数可以从单个致命的错误中恢复/处理
mlx5 驱动程序及其相应的软件堆栈必须加载到两台主机(Arm 和主机服务器)上
NVIDIA 提供的软件使用户能够充分利用 NVIDIA® BlueField® DPU 并享受其提供的丰富功能集。使用 BlueField 软件包,用户可以:
与 NVIDIA® ConnectX® 互连相结合,BlueField 系列 DPU 设备包含一系列 Arm 内核,具体如下:
标准 Linux 发行版在 Arm 内核上运行,允许使用常见的开源开发工具。开发人员应该会发现编程环境熟悉且直观,这反过来又使他们能够快速有效地设计、实现和验证其控制平面和数据平面应用程序。
BlueField SW 附带 NVIDIA ® BlueField ® 参考平台。BlueField SW 是一个基于 Ubuntu Server 发行版的参考 Linux 发行版,扩展后包含适用于 Arm 的 MLNX_OFED 堆栈和支持 NVMe-oF 的 Linux 内核。该软件发行版可以无缝运行所有基于客户的 Linux 应用程序。
以下是 BlueField DPU 附带的其他软件元素:
BlueField DPU 包括对 Arm DS5 套件以及 CoreSight™ 调试的硬件支持。因此,各种商用现成 Arm 调试工具应与 BlueField 无缝协作。CoreSight 调试器接口可以通过 RSim 接口(如果使用 DPU,则为 USB 或 PCIe)访问,也可用于使用 OpenOCD 等开源工具进行调试。
BlueField DPU 还支持无处不在的 GDB。
BlueField 软件为构建 JBOF(Just a Bunch of Flash)存储系统提供了基础,包括 NVMe-oF 目标软件、PCIe 交换机支持、NVDIMM-N 支持和 NVMe 磁盘热插拔支持。
BlueField SW 允许启用 ConnectX 卸载,例如 RDMA/RoCE、T10 DIF 签名卸载、纠删码卸载、iSER、存储空间直通等。
BlueField 架构是两个预先存在的标准现成组件: Arm AArch64 处理器和ConnectX-6 Dx(用于 BlueField-2)、ConnectX-7(用于 BlueField-3)或网络控制器的组合,每个组件都有其拥有丰富的软件生态系统。因此,BlueField 中几乎所有程序员可见的软件接口都来自各个组件的现有标准接口。
Arm 相关接口(包括与启动过程、PCIe 连接和加密操作加速相关的接口)是标准 Linux on Arm 接口。这些接口由 NVIDIA 提供的驱动程序和低级代码启用,作为 BlueField 软件的一部分,该软件已交付并上游到相应的开源项目(例如 Linux)。
ConnectX 网络控制器相关接口(包括用于以太网和 InfiniBand 连接、RDMA 和 RoCE、以及存储和网络操作加速的接口)与支持 ConnectX 独立网络控制器卡的接口相同。这些接口利用 MLNX_OFED 软件堆栈和基于 InfiniBand 动词的接口来支持软件。
BlueField DPU 有多个连接(见下图)。用户可以通过不同的控制台、网络连接和 JTAG 连接器连接到系统。
BlueField DPU 具有多个控制台接口:
rshim驱动:
systemctl status rshim
rshim设备:
DPU 具有多个网络接口。
NVIDIA® BlueField® DPU 有多种操作模式:
参考: NVIDIA 文档中心 NVIDIA 网络 网络软件 NVIDIA BlueField DPU BSP v4.5.0 内核表示模型
警告: 该模式仅适用于DPU工作在DPU模式下
BlueField® DPU 使用 netdev 表示器来映射每一项主机端物理和虚拟功能。
这些表示器用作连接到 OVS 或在 Arm 内核上运行的任何其他虚拟交换机的虚拟端口。
当在DPU 模式下运行时,我们看到 DPU 的每个网络端口都有 2 个表示器:一个用于上行链路(P0),另一个用于主机端 PF(pf0hpf, 即使在主机端未探测 PF,也会创建 PF 表示器)。对于在主机端创建的每个 VF,将在 Arm 端创建相应的表示器。代表者的命名约定如下:
下图展示了主机端暴露的 PCIe 功能与表示器之间的映射。为了简单起见,显示了单个端口模型(为第二个端口重复)。
红色箭头演示了通过表示器的数据包流,而绿色箭头演示了将转向规则卸载到嵌入式交换机时的数据包流。有关更多详细信息,请参阅交换机卸载部分。
警告: 主机功能 (PF/VF) 的 MTU 必须小于上行链路和相应 PF/VF 表示器的 MTU。例如,如果主机 PF MTU 设置为 9000,则上行链路和 PF 表示器都必须设置为高于 9000。
Arm Linux 系统上预装了完整的 RDMA 堆栈, 嵌入式CPU模式下, 要在主机系统的 PCIe PF 上使用 RoCE,必须在 Arm 系统上启用 OVS 硬件卸载
可扩展功能 (SF) 是一种轻量级功能, 基于PCIe父功能。mlx5 SF有自己的功能能力和自己的资源。这意味着 SF 拥有自己的专用队列(txq、rxq、cq、eq),这些队列既不共享也不从父 PCIe 功能中窃取(stolen)
使用 SF 不需要系统 BIOS 的特殊支持。SF 与 PCIe SR-IOV 虚拟功能共存。SF 不需要启用 PCIe SR-IOV
DPU软件概述: https://docs.nvidia.com/networking/display/bluefielddpuosv450/bluefield+software+overview
DOCA文档: https://docs.nvidia.com/networking/dpu-doca/index.html#dpu-os
安装DPU操作系统: https://docs.nvidia.com/networking/display/bluefielddpuosv450/deploying+bluefield+software+using+bfb+from+host
BF驱动列表: https://docs.nvidia.com/networking/display/bluefielddpuosv450/installing+popular+linux+distributions+on+bluefield
主机端的配置参考(带有DPU的主机): https://docs.nvidia.com/networking/display/bluefielddpuosv450/host-side+interface+configuration
DPU操作模式: https://docs.nvidia.com/networking/display/bluefielddpuosv450/modes+of+operation
在 NVIDIA BlueField-2 DPU 上使用 OpenShift 进行 OVN/OVS 卸载: https://access.redhat.com/articles/6804281#masthead
DPU演化: https://zhuanlan.zhihu.com/p/402706136
史上最全DPU厂商大盘点(完整版)https://cloud.tencent.com/developer/article/2055768
使用 NVIDIA BlueField DPU 和 DPDK 开发应用程序: https://developer.nvidia.com/blog/developing-applications-with-nvidia-bluefield-dpu-and-dpdk/
DPU简介(历史): https://blog.csdn.net/gongtxy/article/details/128740434
Nvidia网络解决方案: https://www.nvidia.com/en-us/networking/
NVIDIA BlueField-3 SuperNIC白皮书(现代人工智能工作负载在数据中心规模上运行,在很大程度上依赖于GPU服务器之间的快速高效连接, BF3是实现最佳人工智能网络中的关键器件)
NvidiaBF3白皮书(加速AI/安全部署): https://resources.nvidia.com/en-us-accelerated-networking-resource-library/deploy-operate-nvidia-ai-clouds
博客: https://cloud.tencent.com/developer/user/5060293/articles | https://logread.cn | https://blog.csdn.net/ssbandjl
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。