用户
 找回密码
 立即注册
发表于 2023-1-31 18:18:01
3270
Q1:在黑客松比赛过程中,发现两台Server通过直连DPU相互ping时,首包时延很长的特点。这显著不同于普通网卡(ARP应答即可),推测与DPU片载的Open vSwitch有关,后来在实验室中重复,现象也相同。那么在ping的首包过程中,经历了哪些过程?
A:简单讲就是跟踪数据流的第一个数据包和后续连续的数据包,第一个数据包会被OVS检查流表是否有此数据流的规则,如果没有就会添加规则,并转发数据包到目的地,并将流表卸载到eSwitch,后续的数据包就不会经过 OVS,而是被eSwitch直接按流表转发。详情可去b站搜索视频:“在 BlueField DPU 上实现OVS DPDK”。

Q2:NVIDIA Bluefield -2最多支持多少个roce v2 QP并发呢?
BlueField-2 芯片集成了 ConnectX-6 Dx ,理论上支持任意数量的QP没有限制,活跃QP信息会缓存在芯片内部cache中.

Q3:在DPU上开启了应用识别,之后在Host用Tcpreplay做重放,但结果发现Bluefield无法完成,抓包发现只有udp包,具体原因是什么呢?
A:可能是未在 DPU 和 Host 都启用应用识别,识别结果会记录在一个.csv文件中;也可能是链路发现还没有完成,没有应用的网络包通过DPU。

Q4:如何获得这以下两项技术的支持?
技术1:connect x6-dx roce programmable congestion control;
技术2:snap on bf-2。
A:目前都不是免费的,如果已经买了DPU可以找相应的销售对接技术支持。

Q5:运行过程中出现了相关参数:
doca_application_recognition -a 0000:03:00.0,class=regex -a
auxiliary:mlx5_core.sf.4,sft_en=1 -a auxiliary:mlx5_core.sf.5,sft_en=1 --
[application_flags]
其中sft_en 这个参数是什么意思呢?
A:SF 是 Scalable Function,SFT是 Scalable Function Timer,sft_en就是启用timer的开关。详情可见以下链接:https://docs.nvidia.com/doca/sdk/url-filter/index.html


Q6:请问大家知道Bluefield 2使用Gen3x16接口和Gen4x16接口速度有差异吗,影响大不大?
A:  pcie Gen3是 8GT/s,PCIe Gen4是16GT/s,也就是PCIe Gen4 x 4相当于PCIe3 x 8的带宽,16对16的话就是差一倍带宽;PCIe Gen3可以折算支持100Gb/s,但不能支持200Gb/s,如果网络吞吐量大,Gen4/Gen5肯定是最佳选择。

Q7:请问一下,如果宿主机和DPU上的arm同时向远端发出流量,会占用同一部分PCIE带宽吗?
A: 不会占用
Q8:请问一下bluefield3 dpu上datapath 加速器中的16核256线程和16个arm核指的是同一个东西吗?Bluefield2上有这个数据路径加速器吗?那这个加速器是什么类型的特殊处理器啊?asic吗?还是np?
A:不是同一个东西,Bluefield2上没有这个数据路径加速器,加速器类型:RISCV
Q9:编程时外来的数据包转发给arm核还是转发给主机是e switch决定的还是pcie switch决定的?
A:应为 Application Recognition 还是基于 Regex Engine 的,这个识别规则会遵循 Regex 的规则方式,建议在 DOCA SDK 文档中参考 RXP compiler https://docs.nvidia.com/doca/sdk/rxp-compiler/index.html,以及 PCRE pattern specificationhttp://regexkit.sourceforge.net/ ... re/pcrepattern.html
还可以看一下这个视频,可以比较直观的看到 OVS的卸载过程
https://www.bilibili.com/video/BV1fF411M7xy/?spm_id_from=333.999.0.0,卸载的逻辑就是根据eSwitch的规则表,eSwitch查表,如果是数据流的第一个数据包,就要先发给 Arm确定转发规则,后续的数据流的数据包就按照规则表里的规则转发。

Q10:想在 DPU 的 Soc 里执行 DMA 操作,doca_pci_bdf 应该选择什么?
A:可以参看 https://docs.nvidia.com/doca/sdk/dma-programming-guide/index.htmlhttps://docs.nvidia.com/doca/sdk/dma-samples/index.html。不是从 PCIe 硬件设备来选择的,是通过 DOCA API来构建 DMA 操作,支持本地和远程存储的数据复制。

Q11:请问主机上的DOCA应该怎么卸载?
A:升级内核以后一般需要重装ofed,DOCA是装在DPU上的。主机上装ofed即可。

Q12:在尝试跑DOCA的示例"URL-Filter"这个项目的时候,编译这些示例项目时,一直都遇到一个编译错误,应如何解决?
A:可以在export之后ldconfig,之后ldconfig -p |grep argp。

Q13:NVIDIA BlueField 显示的product name 是 SOC 是1代还是2代?
A:建议您从型号上来判断,一代的是MBF1开头,二代是MBF2开头

Q14:NVIDIA DPU中国黑客松竞赛的训练营可以旁听吗?
A:训练营是开放的,所有感兴趣的小伙伴都可以报名参加。

Q15:NVIDIA BlueField-2 DPU压缩和解压缩功能指的是什么呢?
A:指的是数据块的压缩和解压缩,类似gzip。另外,就是DPU芯片里集成了压缩和解压缩的处理器,可以高速处理。

Q16:CX6上使用mlnxqos正常,但用NVIDIA Bluefield-2DPU时命令不生效,请问原因?
A:BlueField DPU需要按照 DPU方式安装软件,和ConnectX并不完全一样,DPU需要在ARM上安装操作系统。

Q17:现在DPU支持P4了吗?
A:在发布的 DOCA 1.3 的 DOCA Service 中显示支持 P4 Runtime。

Q18:NVIDIA DOCA目前开源了吗?
A:    DOCA分为两块,如 DOCA Driver中的 DPDK和SPDK本身就是开源软件,而DOCA 库 API 是Open License,随着成为 OPI创始成员,后续会有更多贡献在 OPI项目中,您可以关注Github上的OPI。

Q19:如图所示,流量会匹配所有规则然后转发到规则对应的队列;还是流量会先对应队列,然后只匹配队列对应的规则?
数据包流量进来会经过多个pipe,形成pipeline,在Flow Pipe里可以是Match,Monitor,Modify和Forward。
Q20:运行中entry和queue的对应关系是怎样的?
A:    Queue是一一对应硬件内核的,要多内核处理,就是把不同 Entry 创建在不同的Queue 逻辑里

Q21:  DPU和GPU结合使用的话,编译的toolchain是怎样的?
进入BF-X mode 之后,GPU对CPU host 不可见,具体可见下图
Q22:运行ipmitool 这个命令对硬件有要求吗?
具体运行程序如下:sudo ipmitool power cycle
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
A:您的 DPU 卡上不带 BMC。具体可参考:

Q23:BlueField-X的是融合卡,卡上有一颗GPU和一颗DPU.具体怎么用这两个芯片呢?
A:以用在一些边缘场景,比如5G加速和分布式

Q24:融合卡上的GPU是被卡上的ArmCPU接管吗?
A:有两种模式,标准模式,GPU和DPU分开运作,一种BF- X,主机不可见GPU

Q25: NVIDIA BlueField-2 DPU与普通网卡的主要区别?
A:NVIDIA BlueField-2 DPU支持运行用于x86主机的应用程序、支持独立的Shell环境、支持运行不同的操作模式。

Q26: NVIDIA BlueField-2 DPU中RXP的应用场景有哪些?
A:包括入侵检测和预防、有状态防火墙、负载均衡、深度数据包检测DPI、应用程序识别、存储搜索等。

Q27: NVIDIA BlueField-3 DPU的突破有哪些?
A:NVIDIA BlueField-3 DPU是用于数据中心网络、存储和安全的400Gbps处理器,包括400GB连接、可编程计算、零信任安全、可组合存储等突破。

Q28:NVIDIA BlueField-2 DPU里面是ARM+cx6吗?
A:NVIDIA BlueField-2 DPU集成了ARM CPU和Connectx-6 DX网卡,以及其他硬件加速器。

Q29: Ovs offload跟test pmd的原理是相同的吗?
A: Ovs kernel通过tc卸载流,ovs dpdk通过rte flow卸载流.

Q30:运行中能offload多少条flow?下发flow速率可以参考ovs flow下发的速率吗?
A:使用software steering的流插入速度是每秒几十万条,使用hardware steering的插入速度可以到每秒上百万条;通过rte flow下发流比ovs dpdk下发快很多,因为ovs dpdk在插入流时需要做流验证(revalidation),在卸载时要将ovs数据流转换成rte flow流。


Q31:DPU除了数据中心的应用场景,还有哪些应用场景呢?
A:从部署的角度,主要是应用在云计算、核心数据中心和边缘计算

Q32:在DOCA目录下的application中,都使用的是rte_eth_rx_burst来接收包,但是下图所示的循环里的log却从来没有输出过,请问是什么原因?

A:运行的时候要设定日志等级,如果日志等级开满,可换成printf再做尝试。
关联Q:是否由于offload的问题?(现在走的是doca的cx offload,需把offload关了才能进dpdk的rx和tx)
A:由于打的并非dns流量,所以会出现上述问题。
关联Q:请问只有dns流量会上cpu处理,其他的流量直接就在cx上hardware处理掉了吗?
A:是的,可以在宿主机上ping一个域名做尝试。您没有用RegEx来识别DNS 流量,发送的数据包被当作非DNS数据包处理了。
关联Q:请问是rte_rx在什么情况下会收到包?如果在dns_filter里只有dns包能收到的话,DOCA_FLOW_FWD_RSS这个fwd类型就是用来送包上arm的dpdk的吗?
A:可参考:2.15. Logging Management
Define functions for internal and external logging management
To add DOCA internal logging compile with "-D DOCA_LOGGING_ALLOW_DLOG"
及Will generate debug log for development purposes. To show the logs define DOCA_LOGGING_ALLOW_DLOG in the compilation variables. This will not effect performance if compiled without DOCA_LOGGING_ALLOW_DLOG, as it will be removed by the compiler.
需要先打开允许Debug Log,然后编译才会输入 Log,否则编译时会去除 Debug Log的输出。可参考这个 API 的说明:

Q33:请问是所有包都会被rte_eth_rx_burst收到吗?手头并没有dpu如何解决?
A:rte_eth_rx_burst 是在 DPDK 中针对以太网设备接收队列中输入数据包的。
另外,手头没有 DPU,可以注册DOCA早期开发者计划,然后申请卓越中心提供的本地免费开发环境使用机时。

Q34:请问物理上DDR是多少(主频3200MHz,位宽64bit)?实际能跑到的可用DRR占比是否有超过50%?
A:DDR4跑到满频率,单通道 32GB/s左右。

Q35:把dpdk的生成包的代码copy过来,但是在allocate packet时会segmentaion fault,请问这和DOCA之前可能隐式的生成过mempool有关吗?
A:该问题应是在分配池子的时候用了和DOCA隐式分配一样的池子名,可尝试修改池子名。

Q36:之前正常使用100g qsfp28 dac连的bf2和intel的交换机,而把intel交换机换成了华为ce6800系列交换机,dac不能用了,请问这种情况应该如何解决?
A:换华为交换机的兼容线即可,如果有老版本的固件,刷完了也可能会解决这个问题。
Q37:所有流量都必须通过DPA吗?
A:不是必须的,缺省都不必通过。
Q38:请问有 Bluefield3的产品文档吗?这个产品需要什么样的pcie插槽?
A:BlueField-3 DPU 中文产品手册如下:
pcie插槽可参考文档:
Q39:请问 NVIDIA BlueField SNAP and virtio-blk SNAP Documentation该文档如何获得?
A:SNAP 需要单独购买许可。

Q40:Bluefield-2配备什么型号的服务器?未来Bluefield-3又会用什么型号?  
A:在服务器型号上没有特定的推荐,可根据需求和预算来选,选定特定型号的 BlueField
DPU 后,要看它的硬件安装要求。如果想选择 NVIDIA OEM 合作伙伴出品的服务器,可以看戴尔、联想、浪潮的品牌服务器。

Q41:   DOCA里FLOW_FWD_RSS用的默认哈希字段是什么?怎么设置hash字段呢?

Q42:DPU没有使用,却一直高温报警,请问是什么问题?
A:可以尝试拆开机器检测温度,检查是否真的过热,有可能是因为后台程序被占用。

Q43:是否有一个stepbystep的操作指南,能把OpenStack的计算节点的网络ovs卸载和存储卸载测试环境搭出来呢?
A:如果您是NVIDIA DPU的客户或合作伙伴,您需要联系您对应的NVIDIA销售和系统架构工程师以获得帮助

Q44:按照以下教程,想安装一下doca1.5.1,结果mst 启动不了了, 请问是什么情况?
A:这是由于旧版本卸载不完全导致的。

Q45:请问什么软件可以测cps吗?

Q46:请问DOCA 什么时候出python版本?

Q47:在BlueField2中运行flow sample下的flow aging例子时,报错了cannot create hws action since hws is not supported。请问应该怎么查看有关hws的支持呢?

Q48:目前Host端BF2的驱动始终无法加载,仅能通过OOB访问ARM系统,想问下这个问题如何解决呢?
问题详情:按照https://docs.nvidia.com/doca/sdk/installation-guide-for-linux/index.html#upgrading-firmware
指示的步骤做完 Upgrading Firmware后,DPU ARM端Driver is the owner是“not supported”,重启Host端后,发现mlx5_core模块探测设备的时候出了问题。
A:Host,sudo lspci |grep -i Blue,可以看到DPU卡的话,验证一下rshim是否active,再查看一下 DPU运行模式,运行模式要DPU mode,然后检查rshim的IP是否和DPU在一个网段
关联Q:如何确定DPU运行模式呢?
A:在您看的SDK 文档右上角搜索 DPU mode,有一个 DPU Operation Mode的文档。
Q49:Host下使用ibv_devinfo 没有发现可用设备,请问这是应该让BF2 DPU用到Host端的mlx5_core 内核模块吗?(现在Host端加载mlx5_core模块时会报一些错误)

A:您的DPU不支持 InfiniBand 网络,ibv_devinfo 是显示 InfiniBand 连接设备的,可能是因为这个原因不显示设备信息。
关联Q:请问在DPU里的ARM是可以看到RoCE设备的,但在HOST端就什么都看不到,这是什么情况呢?
A:可参考文档:https://docs.nvidia.com/networking/display/RDMAAwareProgrammingv17看看 Device Operation 部分是否有帮助。
关联Q:ibv_get_device_list 这个Verb没有返回任何设备,请问如何解决?
A:ibv_devinfo 是 DOCA 命令,按照命令解释,它应该是针对 InfiniBand 的。可参考RDMA 和 RoCE 相关的文档:https://docs.nvidia.com/doca/sdk/ucx-programming-guide/index.html
Q50:请问Netronome/芯启源的Agilio系列有无恢复出厂设置的方式?




使用道具 举报 回复
发新帖
您需要登录后才可以回帖 登录 | 立即注册