前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nvidia DPU BlueField 软件概述_AI_卸载_降本增效_DPU时代_内核表示模型

Nvidia DPU BlueField 软件概述_AI_卸载_降本增效_DPU时代_内核表示模型

原创
作者头像
ssbandjl
修改2024-02-10 10:43:06
4650
修改2024-02-10 10:43:06
举报
文章被收录于专栏:DPUdaosDPU

Nvidia_BF_DPU简介

随着摩尔定律的减弱,加速计算和人工智能是较经济实惠的方式实现数据中心能源效率所需的工具。 让我们一起跟随和了解 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功能所有权(默认模式)

BF2功能图

注意:

不同的函数功能(Function)具有不同的默认宽限期值,在此期间, 函数可以从单个致命的错误中恢复/处理

mlx5 驱动程序及其相应的软件堆栈必须加载到两台主机(Arm 和主机服务器)上

NVIDIA 提供的软件使用户能够充分利用 NVIDIA® BlueField® DPU 并享受其提供的丰富功能集。使用 BlueField 软件包,用户可以:

  • 在您的开发板上快速轻松地启动初始 Linux 映像
  • 将现有应用程序移植到 BlueField 并为 BlueField 开发新应用程序
  • 修补、配置、重建、更新或以其他方式自定义您的映像
  • 利用开源开发工具,充分利用多样化且充满活力的 Arm 生态系统,调试、分析和调整其开发系统

与 NVIDIA® ConnectX® 互连相结合,BlueField 系列 DPU 设备包含一系列 Arm 内核,具体如下:

  • 适用于 BlueField-2 DPU 的 64 位 Armv8 A72
  • 适用于 BlueField-3 DPU 的 64 位 Armv8 A78

标准 Linux 发行版在 Arm 内核上运行,允许使用常见的开源开发工具。开发人员应该会发现编程环境熟悉且直观,这反过来又使他们能够快速有效地设计、实现和验证其控制平面和数据平面应用程序。

BlueField SW 附带 NVIDIA ® BlueField ® 参考平台。BlueField SW 是一个基于 Ubuntu Server 发行版的参考 Linux 发行版,扩展后包含适用于 Arm 的 MLNX_OFED 堆栈和支持 NVMe-oF 的 Linux 内核。该软件发行版可以无缝运行所有基于客户的 Linux 应用程序。

以下是 BlueField DPU 附带的其他软件元素:

  • 适用于 BlueField 的 Arm 可信固件 (ATF)
  • BlueField 的 UEFI
  • 开发板上发现 OpenBMC for BMC (ASPEED 2500)
  • MLNX_OFED 堆栈
  • Mellanox MFT (迈络思固件工具集)

调试工具

BlueField DPU 包括对 Arm DS5 套件以及 CoreSight™ 调试的硬件支持。因此,各种商用现成 Arm 调试工具应与 BlueField 无缝协作。CoreSight 调试器接口可以通过 RSim 接口(如果使用 DPU,则为 USB 或 PCIe)访问,也可用于使用 OpenOCD 等开源工具进行调试。

BlueField DPU 还支持无处不在的 GDB。

基于 BlueField 的存储设备

BlueField 软件为构建 JBOF(Just a Bunch of Flash)存储系统提供了基础,包括 NVMe-oF 目标软件、PCIe 交换机支持、NVDIMM-N 支持和 NVMe 磁盘热插拔支持。

BlueField SW 允许启用 ConnectX 卸载,例如 RDMA/RoCE、T10 DIF 签名卸载、纠删码卸载、iSER、存储空间直通等。

BF架构

BlueField 架构是两个预先存在的标准现成组件: Arm AArch64 处理器和ConnectX-6 Dx(用于 BlueField-2)、ConnectX-7(用于 BlueField-3)或网络控制器的组合,每个组件都有其拥有丰富的软件生态系统。因此,BlueField 中几乎所有程序员可见的软件接口都来自各个组件的现有标准接口。

Interfaces_on_BlueField-version-1-modificationdate-1702597769530-api-v2.png
Interfaces_on_BlueField-version-1-modificationdate-1702597769530-api-v2.png

Arm 相关接口(包括与启动过程、PCIe 连接和加密操作加速相关的接口)是标准 Linux on Arm 接口。这些接口由 NVIDIA 提供的驱动程序和低级代码启用,作为 BlueField 软件的一部分,该软件已交付并上游到相应的开源项目(例如 Linux)。

ConnectX 网络控制器相关接口(包括用于以太网和 InfiniBand 连接、RDMA 和 RoCE、以及存储和网络操作加速的接口)与支持 ConnectX 独立网络控制器卡的接口相同。这些接口利用 MLNX_OFED 软件堆栈和基于 InfiniBand 动词的接口来支持软件。

系统连接

BlueField DPU 有多个连接(见下图)。用户可以通过不同的控制台、网络连接和 JTAG 连接器连接到系统。

System_Connections-version-1-modificationdate-1702597768883-api-v2.png
System_Connections-version-1-modificationdate-1702597768883-api-v2.png

系统控制台

BlueField DPU 具有多个控制台接口:

  • 串行控制台 0(Arm 内核上的/dev/ttyAMA0 )
    • 需要电缆连接至 DPU 25G 上的 NC-SI 连接器
    • 需要串行电缆连接到 DPU 100G 上的 3 针连接器
    • 连接BF1200平台BMC串口
  • 串行控制台 1(Arm 内核上的/dev/ttyAMA1 ,但仅适用于 BF1200 参考平台)
    • ttyAMA1 是 BF1200 前面板上的控制台连接
  • 虚拟 RSim 控制台(Arm 内核上的/dev/hvc0 )由以下驱动驱动
    • RSim PCIe 驱动程序(不需要电缆,但系统无法处于隔离模式,因为隔离模式会禁用所需的 PCIe 设备)
    • RSim USB 驱动程序(需要 USB 电缆)
    • 无法同时使用 PCIe 和 USB RShim 接口

rshim驱动:

systemctl status rshim

rshim设备:

网络接口

DPU 具有多个网络接口。

  • ConnectX 以太网/InfiniBand 接口
  • RSim 虚拟以太网接口(通过 USB 或 PCIe)虚拟以太网接口对于调试、安装或基本管理非常有用。主机 DPU 服务器上的接口名称取决于主机操作系统。Arm 内核上的接口名称通常为“tmfifo_net0”。虚拟网络接口只能以大约 10MB/s 的速度运行,不应考虑用于生产网络流量。
  • OOB 以太网接口基于 BlueField-2 的平台具有 OOB 1GbE 管理端口。该接口提供与 Arm 内核的 1Gb/s 全双工连接。接口名称通常为“oob_net0”。该接口支持与 Arm 内核的 TCP/IP 网络连接(例如,用于文件传输协议、SSH 和 PXE 启动)。OOB 端口不是 BlueField-2 引导流的路径(即,将 BFB 推送到此端口的任何尝试都将不起作用)。

操作模式

NVIDIA® BlueField® DPU 有多种操作模式:

  • DPU 模式,或嵌入式功能 (ECPF) 所有权,其中嵌入式 Arm 系统控制 NIC 资源和数据路径(默认
  • 零信任模式是 ECPF 所有权的延伸,对主机端有额外的限制
  • 从外部主机的角度来看,DPU 的行为与适配器卡完全相同的NIC 模式

内核表示模型

参考: NVIDIA 文档中心 NVIDIA 网络 网络软件 NVIDIA BlueField DPU BSP v4.5.0 内核表示模型

警告: 该模式仅适用于DPU工作在DPU模式

BlueField® DPU 使用 netdev 表示器来映射每一项主机端物理和虚拟功能。

  1. 作为隧道,将Arm核上运行的虚拟交换机或应用程序的流量传递到主机侧的相关PF或VF。
  2. 作为通道来配置嵌入式开关的规则到相应的代表功能。

这些表示器用作连接到 OVS 或在 Arm 内核上运行的任何其他虚拟交换机的虚拟端口。

当在DPU 模式下运行时,我们看到 DPU 的每个网络端口都有 2 个表示器:一个用于上行链路(P0),另一个用于主机端 PF(pf0hpf, 即使在主机端未探测 PF,也会创建 PF 表示器)。对于在主机端创建的每个 VF,将在 Arm 端创建相应的表示器。代表者的命名约定如下:

  • 上行链路代表:p<port_number>
  • PF 代表:pf<port_number>hpf
  • VF 表示:pf<端口号>vf<功能号>

下图展示了主机端暴露的 PCIe 功能与表示器之间的映射。为了简单起见,显示了单个端口模型(为第二个端口重复)。

Kernel_Representors_Model-version-1-modificationdate-1702597804603-api-v2.png
Kernel_Representors_Model-version-1-modificationdate-1702597804603-api-v2.png

红色箭头演示了通过表示器的数据包流,而绿色箭头演示了将转向规则卸载到嵌入式交换机时的数据包流。有关更多详细信息,请参阅交换机卸载部分。

警告: 主机功能 (PF/VF) 的 MTU 必须小于上行链路和相应 PF/VF 表示器的 MTU。例如,如果主机 PF MTU 设置为 9000,则上行链路和 PF 表示器都必须设置为高于 9000。

典型应用场景(卸载)

物理主机与虚拟功能VF以及DPU网络设备代表间的映射结果如下

RDMA

Arm Linux 系统上预装了完整的 RDMA 堆栈, 嵌入式CPU模式下, 要在主机系统的 PCIe PF 上使用 RoCE,必须在 Arm 系统上启用 OVS 硬件卸载

可扩展功能SF(scalable function)

可扩展功能 (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是实现最佳人工智能网络中的关键器件)

https://resources.nvidia.com/en-us-accelerated-networking-resource-library/next-generation-netw?ncid=so-face-852347-vt45&fbclid=IwAR1ONw41JYU_J1CnJbELrWgAg50rSbAHbrPKZwCmp7P3euKhD0Tal1F0JqQ

NvidiaBF3白皮书(加速AI/安全部署): https://resources.nvidia.com/en-us-accelerated-networking-resource-library/deploy-operate-nvidia-ai-clouds

晓兵(ssbandjl)

博客: https://cloud.tencent.com/developer/user/5060293/articles | https://logread.cn | https://blog.csdn.net/ssbandjl

晓兵技术杂谈(系列)

https://cloud.tencent.com/developer/user/5060293/video

DAOS汇总: https://cloud.tencent.com/developer/article/2344030

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nvidia_BF_DPU简介
  • 术语
  • BF2功能图
    • 调试工具
      • 基于 BlueField 的存储设备
        • BF架构
          • 系统连接
            • 系统控制台
              • 网络接口
              • 操作模式
              • 内核表示模型
              • 典型应用场景(卸载)
                • 物理主机与虚拟功能VF以及DPU网络设备代表间的映射结果如下
                • RDMA
                • 可扩展功能SF(scalable function)
                • 参考
                • 晓兵(ssbandjl)
                  • 晓兵技术杂谈(系列)
                  相关产品与服务
                  GPU 云服务器
                  GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档