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

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 的应用程序

术语

BFB: BlueField 引导程序

BF2功能图

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网络设备代表间的映射结果如下

参考

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

晓兵(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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/422480.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GitHub项目推荐--Spring 教程】【转载】

该项目是一系列小型且直击要害的教程&#xff1a;每个教程都涵盖了 Java 生态系统中一个单一且定义明确的开发领域。 其中一个重点是 Spring Framework - Spring、Spring Boot 和 Spring Security。除了 Spring 之外&#xff0c;这里的模块还涵盖了 Java 的许多方面。 开源地址…

VS2022联合Qt5开发学习9(QT5.12.3鼠标按下、释放、移动事件以及Qt上取标注点)

在研究医学图像可视化的时候&#xff0c;鼠标响应这里一直都有问题。研究了几天VTK的取点&#xff0c;还是会和Qt冲突。所以现在试试Qt的方式取点&#xff0c;看看能不能实现我的功能。 查了很多资料&#xff0c;这篇博文里的实例有部分参考了祥知道-CSDN博客这位博主的博客[Q…

基于Matlab计算栅格数据Hurst指数和未来趋势

​各位同学们好&#xff0c;今天分享的基于Matlab计算栅格数据Hurst指数和未来趋势。如果您需要下载或处理遥感数据等方面的帮助&#xff0c;私信或评论。 一、Hurst指数 Hurst指数是一种用于描述未来短时间内变化趋势可持续性的指标&#xff0c;可以在分析年际变化特征方面提…

《文苑》文学艺术文化期刊投稿邮箱投稿方式

《文苑》杂志是国家新闻出版总署批准的正规期刊&#xff0c;本刊致力于中华优秀传统文化、文化旅游、文学艺术、哲学社会科学等方面的理论和实践研究&#xff0c;集理论性、艺术性、指导性于一体&#xff0c;是广大文化、哲学、社会科学工作者交流科研成果、传递学术思想的重要…

Python Tornado 实现SSE服务端主动推送方案

一、SSE 服务端消息推送 SSE 是 Server-Sent Events 的简称&#xff0c; 是一种服务器端到客户端(浏览器)的单项消息推送。对应的浏览器端实现 Event Source 接口被制定为HTML5 的一部分。相比于 WebSocket&#xff0c;服务器端和客户端工作量都要小很多、简单很多&#xff0c…

【网络安全 -> 防御与保护】专栏文章索引

为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 网络安全——防御与保护 &#xff08;一&#xff09;.信息安全概述

VSCode插件 —— Cody AI (免费AI助手!)

之前介绍过一款 阿里云免费的AI开发工具——通义灵码 TONGYI Lingma 本文再推荐一个可以极大提高开发前端开发效率的工具 —— Cody AI &#xff08;Sourcegraph&#xff09;&#xff0c;同样是免费的&#xff01; 不过&#xff0c;使用Cody AI需要有github 或 Google 、 git…

xshell配置隧道转移规则

钢铁知识库&#xff0c;一个学习python爬虫、数据分析的知识库。人生苦短&#xff0c;快用python。 xshell是什么 通俗点说就是一款强大ssh远程软件&#xff0c;可以方便运维人员对服务器进行管理操作&#xff0c;功能很多朋友们自行探索&#xff0c;今天只聊其中一个功能点那…

CentOs7 安装Mysql(5.7和8.0版本)密码修改跳过 超详细教程

CSDN 成就一亿技术人&#xff01; 今天出一期Centos下安装Mysql&#xff08;详细教程&#xff09;包括数据库密码跳过修改 CSDN 成就一亿技术人&#xff01; 目录 1.获取安装包 2.安装程序 安装下载的rpm包 查看安装包 修改5.7版本&#xff08;重要&#xff09; 安装M…

Vue3+ElementUI 多选框中复选框和名字点击方法效果分离

现在的需求为 比如我点击了Option A &#xff0c;触发点击Option A的方法&#xff0c;并且复选框不会取消勾选&#xff0c;分离的方法。 <el-checkbox-group v-model"mapWork.model_checkArray.value"> <div class"naipTypeDom" v-for"item …

常用芯片学习——HC245芯片

HC245三态输出八路总线收发器 使用说明 这些八路总线收发器专为数据总线之间的异步双向通信而设计。控制功能实现可更大限度地减少外部时序要求。根据方向控制 (DIR) 输入上的逻辑电平&#xff0c;此类器件将数据从 A 总线发送至 B 总线&#xff0c;或者将数据从 B 总线发送至…

UCIE协议介绍--芯粒间互联标准

UCIE协议介绍--芯粒间互联标准 1 背景2 UCIE协议介绍2.1 协议层2.2 适配层2.3 物理层2.4 D2D接口 3 Transmission3.1 SideBand数据包3.2 SideBand包格式3.2.1 MRd/Mwr/CfgRd/CfgWr3.2.2 Completion3.2.3 Message 3.3 FDI接口信号 4 链路训练4.1 PHY LSM状态介绍 1 背景 为什么…