DPU和DOCA入门学习以及安装教程(SDK安装+手动安装)

DPU和DOCA入门学习以及安装教程(SDK安装+手动安装)


DPU是啥

​ DPU实现软件定义、硬件加速的数据中心基础设施(可理解为高性能处理器),极具灵活性、拓展性、可编程性、又高效

目的:释放CPU性能,使其用于计算应用执行更有意义的工作

传统:CPU(虚拟机+容器+基础设施管理)+网卡

DPU:将基础设施管理卸载到DPU上,CPU更好服务于虚拟机、容器的应用(也就是将应用层与控制平面隔离开)


CPU为什么需要卸载

**问题:**随着现代数据中心的发展,网络工作负载的增加,CPU用于网络流量引导和基础设施管理等的开销越来越大,真正提供给用户服务的内核只占其总内核的一点(可以理解为:256G的手机内存往往有几十个G的内存用于系统固件,而当系统固件占比越来越高时这手机就会显得很鸡肋,比如买的256G手机只有64G能用,CPU也是如此)

**解决:**CPU需要将一些占用内核资源多的工作负载卸载到其他的单元处理器,以将更多资源服务于应用层服务于用户

(例如:将图形图像类运算、深度学习等交给GPU、复杂类运算,基础设施管理类交给DPU)

DPU最直接的作用是作为CPU的卸载引擎,接管网络虚拟化、硬件资源池化等基础设施层服务


DPU架构

三个主要元件:

  • 软件可编程的多核CPU
  • 高性能网络接口:解析、处理网络数据,并在网络中有效地传输数据
  • 一组丰富的灵活、可编程的加速引擎:将网络和存储功能从 CPU 卸载到 DPU

在这里插入图片描述

上图所示,可分为三部分:控制平面、数据平面、I/O子系统


卸载方式

  1. 从“以计算为中心”到“以数据为中心”:
    1. 以计算为中心:所有数据需先送到CPU,且应用、通信、存储等计算都需要独占CPU资源,会导致CPU处理时延较高
    2. 以数据为中心:数据转发通道直接通过DPU送至GPU和虚拟机CPU,无需CPU进行转发,性能上有近10倍的提升
  2. 基础设施任务卸载:
    1. DPU运行存储、网络、管理等相关的基础设施功能
    2. CPU运行客户的软件(应用)
  3. 硬件加速:
    1. 卸载某些应用并为其配备专用的加速硬件,使其相较于在CPU上运行能够有更快的速度、更高的性能

卸载功能

  • 网络功能卸载
    • 虚拟化网络硬件卸载:网络接口硬件卸载 + 虚拟交换网络硬件卸载
    • RDMA卸载:网卡和应用直接直接数据读写 + 将 RDMA 协议(如 ROCEv2)卸载到硬件中
  • 存储功能卸载
    • 存储接口的卸载
    • 存储网络协议栈加速
  • 安全功能卸载

DOCA:(片上数据中心基础设施系统架构)

是一个支持DPU的抽象层,简化了API调用

  • 可以使用底层的 DOCA Driver API 来进行开发
  • 借助于上层的 DOCA Lib SDK 进行编程

与本项目相关的特性:

节省CPU最明显最容易的方式:将DOCA应用运行在DPU上

DOCA基于主机的网络(HBN):在DPU上实现路由

将一些交换机上的功能放到DPU上实现,更好实现Overlay

在这里插入图片描述
在这里插入图片描述


使用步骤:

  1. 将DPU插入系统的PCle插槽中,并连接辅助电源
  2. 在主机侧安装DOCA和BlueField软件(包括驱动、工具和使用程序)
  3. 进行DPU的安装,利用系统镜像进行安装(镜像包含了所有必要的DOCA软件和驱动)、软件升级
  4. 执行固件升级并按需重置

RSHIM接口用于启动和安装DPU最重要的组件之一

安装流程如下:

一、SDK管理器安装

在这里插入图片描述

在这里插入图片描述

安装文件下载至主机后,打开终端,找到安装文件,使用操作系统的手动包安装程序

在这里插入图片描述

从CLI(命令行)启动SDK管理器应用程序

sdkmanager

接着,

在这里插入图片描述

在这里插入图片描述

使用SDK管理器安装流程进行预设

在这里插入图片描述

在这里插入图片描述

如果下载文件夹及目标硬件镜像文件夹不存在,系统会提示创建

在这里插入图片描述

接下来会涉及一些权限要求,所以要输入sudo密码

在这里插入图片描述

安装现在首先在主机上开始,可能需要等待几分钟…

在这里插入图片描述

在主机安装完成后,需要输入默认Ubuntu用户的密码

在这里插入图片描述

安装完成后弹出对话框,其中默认IP如下,无需修改

在这里插入图片描述

输入默认Ubuntu用户密码后install即可

在这里插入图片描述

安装完成后,单击完成和退出关闭SDK管理器即可

在这里插入图片描述

退出后,在终端查看IP可以看到一个RSHIM的 tmfifo_net0 的接口

在这里插入图片描述

我们可以通过192.168.100.2(应该就是刚刚的那个默认IP)来打开SSH连接,以登录到DPU( 用Ubuntu默认用户名来登录,不是主机当前用户名 )

在这里插入图片描述

如下图,DPU已登录成功,可以查看其版本信息:

在这里插入图片描述

然后教程里莫名其妙加了以下两步操作,不知道干啥的,我再看看

在这里插入图片描述


二、手动安装(没有联网…等情况可以使用手动安装)

首先需要从开发者专区下载几个文件暂存与主机上(至少需要:BlueField BFB 镜像 和 DOCA综合功能安装包),可以在DOCA开发者专区文档中找到,点我直接冲!

在这里插入图片描述
第一步是安装DOCA综合功能安装包,以下为Ubuntu主机的安装命令,其他主机(CentOS等)可能操作方式不同,可以在文档里查找解答,安装后记得用apt update 进行更新

在这里插入图片描述

接着使用包管理器来安装DOCA软件开发套件、DOCA运行时和DOCA工具,以下为Ubuntu,而CentOS使用yum命令

apt install doca-sdk doca-runtime doca-tools

安装后,若你拥有的是VPI BlueField 型号,并期望运行在以太网上,可以选择将DPU转为以太网模式,如果是仅支持以太网的DPU可以跳过此步

想要检查运行状态,可以通过mst start命令启动MST工具,然后运行mst status 命令来获取设备名称,如果有多个设备信息,则参考此处的PCI索引,并对照lspci | grep Mellanox 命令搜索Mellanox结果

在这里插入图片描述
在这里插入图片描述

现在借助 Mellanox 配置工具,可以检查是否需要更改 BlueField 为以太网模式(此命令在安装指南中),以下的示例中,系统未显示该选项,可以得知该示例主机采用的是DPU仅支持以太网模式,无需做任何更改

在这里插入图片描述

DOCA综合功能安装包负责将所有DOCA软件安装至正确的位置,也包括了RSHIM,所以在安装后也要查看IP找 tmfifo_net0

在这里插入图片描述

如果希望通过这个 tmfifo_net0 接口从主机访问DPU,则需要一个IP地址,需要将静态IP地址永久添加到 tmfifo_net0 接口,需要将京塔配置添加到 Ubuntu 的net plan 中,若是一次性使用可以使用该命令ip addr add 192.168.100.1/24 dev tmfifo net0将IP添加到接口上

在这里插入图片描述

至此,主机侧配置已经完成 ------------

接下来对 BlueField DPU 进行镜像,首先建议为默认用户名ubuntu创建一个密码,因为密码检查将通过比较密码的哈希密码来进行,所以我们需要使用 openssl 生成密码的哈希密码,并将其设置安装期间的密码(OpenSSL提供交互式让我们输入密码,并输出一个对应的哈希密码)

在这里插入图片描述

复制该哈希密码,并创建一个文件,把该哈希密码作为一个变量进行保存,使用文本编辑器来创建文件(以下示例是 nano ,应该也可以是vim),第二张图是标准的bash变量赋值语法
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

接着使用 bfb-install 脚本对 BlueField DPU 进行镜像,首先要用一些参数来调整脚本:首先是--rshim 然后再利用DPU的RSHIM接口名称,在几乎所有安装单个DPU的案例中,该字符串均为 rshim0 ,下一个参数是 --bfb ,这是我们提供的下载并暂存于此服务器的BFB文件路径,最后一个是--config,它将指向 bf.dfg 文件,该文件包括用于设置ubuntu密码的变量。(系统镜像流程需要几分钟来完成…)

在这里插入图片描述

等待的时候可以连接到RSHIM控制台来更仔细查看进程

在这里插入图片描述
在这里插入图片描述

等一会,变成

在这里插入图片描述
在这里插入图片描述

到此,镜像完成,简单使用RSHIM控制台连接即可登录,但是我们使用SSH主机通过 tmfifo_net0 RSHIM 网络设备来登录至 DPU(默认的用户名为ubuntu,密码是通过OpenSSL生成的存储在配置文件中的哈希密码)

在这里插入图片描述
在这里插入图片描述

ok,登录成功!

最后一步,检查固件升级:(如果你确定执行固件升级,要确保在任何固件发生更新后执行额外步骤来完成固件重置,需要的去找一个DOCA软件开发套件开发者专区文档的固件升级部分)

在这里插入图片描述

终于结束啦!!!

可以启动已包括的示例应用程序(如,URL过滤示例应用程序)来确定是否正确安装和配置了系统来运行DOCA应用程序

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

打卡!下班!!!


其他方向想记一下的

在这里插入图片描述

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
"DPU编程入门PDF"是一份介绍数据处理器(DPU)编程基础的电子书。这本书的目的是帮助读者快速了解和掌握DPU的编程概念和技巧。 首先,DPU是一种专用硬件设备,用于高效地处理大量的数据。它可以在各种领域中使用,如人工智能、大数据分析、图像处理等。 这本编程入门的PDF文件首先对DPU进行了详细的介绍,包括其基本原理和结构。它解释了DPU是如何与主机系统进行通信和协作的,以及如何利用DPU进行高效的数据处理。这对于初学者来说是非常重要的基础知识。 接下来,书中介绍了如何使用编程语言来编写DPU程序。它详细讲解了DPU编程的语法、数据类型和常用的编程概念。读者可以学习如何使用DPU提供的指令和函数来操作数据,以及如何进行条件判断和循环控制。 此外,这本书还提供了一些实例和案例研究,以帮助读者理解和应用DPU编程。这些案例研究涵盖了不同领域的应用,如图像识别、语音识别和数据分析等。通过阅读这些案例,读者可以了解如何使用DPU解决实际问题,并获得一定的实践经验。 最后,这本编程入门的PDF文件还包含了一些练习题和答案,以帮助读者进一步巩固所学知识。它可以让读者通过实际操作来提高他们的编程技能,并检验他们对DPU编程的理解程度。 总的来说,这本"DPU编程入门PDF"是一份很好的学习资源,对于初学者来说,它提供了一个循序渐进的学习过程,帮助他们快速入门并掌握DPU的编程。读者可以通过下载这本PDF文件,自主学习,并跟随其中的实例和练习,提升他们的编程技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

K_Haki

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值