Soft-RoCE部署及通信测试

news/2024/11/8 18:30:19/

Soft-RoCE部署及通信测试

Soft-RoCE是一种基于软件的RoCE(RDMA over Converged Ethernet)实现。RoCE是一种在以太网上实现RDMA(Remote Direct Memory Access)的技术,它允许数据在网络中直接传输,而无需CPU的干预,从而提高了数据传输的效率和性能。传统的RoCE实现需要专用的网络适配器和交换机,而Soft-RoCE则允许使用普通的以太网适配器和交换机来实现RDMA。Soft-RoCE通常通过内核模块的形式提供,可以在Linux系统上使用。


环境

操作系统:

Windows10+Ubuntu20.04*2(虚拟机)

软件:

VmWare Workstation 16 Pro 16.2.4

虚拟机*2

ubuntu-20.04.3-desktop-amd64

测试步骤

部署RDMA软件栈

确认内核是否支持RXE

cat /boot/config-$(uname -r) | grep RXE

在这里插入图片描述

如果CONFIG_RDMA_RXE的值为y或者m,表示当前的操作系统可以使用RXE。

安装用户态动态链接库

sudo apt-get install libibverbs1 ibverbs-utils librdmacm1 libibumad3 ibverbs-providers rdma-core
dpkg -L libibverbs1   //查看包内容

在这里插入图片描述

安装完成后查看ibv_devices

在这里插入图片描述

安装其他工具

  1. iproute2
sudo apt-get install iproute2

iproute2是用来替代net-tools软件包的,是一组开源的网络工具集合,比如用更强大ip命令替换了以前常用的ifconfig。我们需要其中的rdma工具来对RXE进行配置。一般的操作系统都已经包含了,安装也很简单:

  1. perftest
sudo apt-get install perftest

克隆虚拟机

注意:需要选择完整克隆

配置网络模式

两台虚拟机均选择NET模式(N):用于共享主机的IP地址

在这里插入图片描述

查看两台虚拟机IP地址

在这里插入图片描述

在这里插入图片描述

查看Windows主机虚拟网卡IP地址:

在这里插入图片描述

这里需要注意如果没在同一网段的话需要更改虚拟机网阔模式为自定义,自定义i选择虚拟网卡

查看两台虚拟机与Windows主机网络连通性

在这里插入图片描述

在这里插入图片描述

配置RXE网卡

加载内核驱动,modprobe会自动加载其他驱动。

sudo modprobe rdma_rxe

用户态配置

sudo rdma link add rxe0 type rxe netdev ens33

注意这里的rxe_0是RDMA的设备名,可任意取名,ens33为虚拟机的网络设备名,可在 配置网络格式 步骤查看,每个虚拟机可能存在差异

使用ibv_devices查看设备列表

在这里插入图片描述

查看虚拟RDMA设备简略信息

ibv_devinfo -d <网卡名称>

在这里插入图片描述

注意:步骤配置RXE网卡,两台虚拟机都需要完成。

其他相关命令

删除RDMA内核模块

sudo rdma link delete <rxe name>

其中rxe name为ibv_devices显示的rxe设备名称

查看RDMA连接状态

rdma link show

更改MTU包大小

sudo ifconfig <网卡名称> mtu <MTU包大小>

显示所有RDMA网口的所有信息

ibv_devinfo -v

查看链路类型

ibstat

查看网络中infiniband设备

ibnodes

验证端到端 RDMA 通讯是否在用户空间应用程序中正常工作

server

ibping -S -C mlx4_0 -P 1

client

ibping -c 10000 -f -C mlx4_0 -P 1 -L 49

rping

rping是RDMA的一个示例程序,属于RDMA连接管理库librdmacm。可用于测试两个RDMA节点间的连通性。

rping是一个工具,包含在 librdmacm-utils中,并发送 RDMA 流量。rping与所有 RDMA 驱动的协议(InfiniBand、RoCE 和 iWARP)相关。

server

eddy@eddy:~$ rping -s -v -P
server ping data: rdma-ping-0: ABCDEFGHIJKLMNOP
server ping data: rdma-ping-1: BCDEFGHIJKLMNOPQ
server ping data: rdma-ping-2: CDEFGHIJKLMNOPQR
server ping data: rdma-ping-3: DEFGHIJKLMNOPQRS
server ping data: rdma-ping-4: EFGHIJKLMNOPQRST
server ping data: rdma-ping-5: FGHIJKLMNOPQRSTU
server ping data: rdma-ping-6: GHIJKLMNOPQRSTUV
server ping data: rdma-ping-7: HIJKLMNOPQRSTUVW
server ping data: rdma-ping-8: IJKLMNOPQRSTUVWX
server ping data: rdma-ping-9: JKLMNOPQRSTUVWXY
eddy@eddy:~$ 

client

eddy@eddy:~$ rping -c -a 192.168.159.131 -C 10 -v -S 30
ping data: rdma-ping-0: ABCDEFGHIJKLMNOP
ping data: rdma-ping-1: BCDEFGHIJKLMNOPQ
ping data: rdma-ping-2: CDEFGHIJKLMNOPQR
ping data: rdma-ping-3: DEFGHIJKLMNOPQRS
ping data: rdma-ping-4: EFGHIJKLMNOPQRST
ping data: rdma-ping-5: FGHIJKLMNOPQRSTU
ping data: rdma-ping-6: GHIJKLMNOPQRSTUV
ping data: rdma-ping-7: HIJKLMNOPQRSTUVW
ping data: rdma-ping-8: IJKLMNOPQRSTUVWX
ping data: rdma-ping-9: JKLMNOPQRSTUVWXY
eddy@eddy:~$ 

🎇
🥐
👷‍♂️


参考资料

【RDMA】RDMA通信测试工具|perftest_bandaoyu的博客-CSDN博客_rdma测试

【RDMA】RDMA通信测试工具|perftest_bandaoyu的博客-CSDN博客_rdma测试

RDMA Soft-RoCE实验操作

15. RDMA之RoCE & Soft-RoCE - 知乎 (zhihu.com)

Soft-ROCE的简单实验

配置 InfiniBand 和 RDMA 网络 Red Hat Enterprise Linux 8 | Red Hat Customer Portal

SoftRoCE实践

Understanding InfiniBand Software Commands - Sun Datacenter InfiniBand Switch 648 Topic Set (oracle.com) Infiniband软件命令及解析。

Ubuntu Manpage: rdma-link - rdma link configuration rdma-link - rdma 链接配置。

How To Enable, Verify and Troubleshoot RDMA (force.com)

Soft-RoCE | Runsisi’s Blog

SoftRoCE实践_迷之印记的博客-CSDN博客_soft-rdma perftest

RDMA,InfiniBand_郑泽林的博客-CSDN博客

RDMA] RDMA 初步使用操作 - 知乎 (zhihu.com) ibping测试RDMA


http://www.ppmy.cn/news/56356.html

相关文章

【JavaEE进阶】——第四节.Spring更简单的实现Bean对象的存取(利用注解储存和注入Bean对象)

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;JavaEE进阶 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01; 文章目录 前…

【2023程序员必看】前端行业分析

“前端已死&#xff1f;”|“情绪焦虑&#xff1f;” 最近经常在知乎、脉脉等平台上看到有人在渲染前端就业危机&#xff0c;甚至使用“前端已死”的字眼&#xff0c;颇有“语不惊人死不休”的意味。 “前端已死”更多的是一种焦虑情绪的表达。现阶段的市场行情确实不太好&am…

R语言方差分析

R中的方差分析 介绍用于比较独立组的不同类型的方差分析&#xff0c;包括&#xff1a; 单因素方差分析&#xff1a;独立样本 t 检验的扩展&#xff0c;用于在存在两个以上组的情况下比较均值。这是方差分析检验的最简单情况&#xff0c;其中数据仅根据一个分组变量&#xff0…

2023年值得关注的20大网络安全趋势

随着围绕所有企业的数字革命&#xff0c;无论大小&#xff0c;企业、组织甚至政府都依赖计算机化系统来管理他们的日常活动&#xff0c;从而使网络安全成为保护数据免受各种在线攻击或任何未经授权访问的主要目标。 随着数据泄露、勒索软件和黑客攻击的新闻成为常态&#xff0…

什么是Java中的反射机制?

Java中的反射机制是一种能够在运行时动态地获取类的信息并操作类或对象的能力。Java中的每个对象都有一个getClass()方法&#xff0c;该方法可以返回该对象所属的类的Class对象。反射机制通过这个Class对象可以获取类的属性、方法、构造函数等信息&#xff0c;然后可以在运行时…

为什么项目要用SpringBoot ,如何理解SpringBoot中的“约定优/大于配置”

为什么开发项目要采用SpringBoot &#xff1f;&#xff08;SpringBoot 的优点&#xff09; 快速开发&#xff1a;Spring Boot提供了许多自动配置的功能&#xff0c;可以快速地搭建一个完整的Web应用。 简化配置&#xff1a;Spring Boot采用约定优于配置的方式&#xff0c;让开…

读SQL进阶教程笔记14_SQL编程要点

1. 消灭NULL 1.1. NULL惹人讨厌的原因 1.1.1. 进行SQL编码时&#xff0c;必须考虑违反人类直觉的三值逻辑 1.1.2. 指定IS NULL、IS NOT NULL的时候&#xff0c;不会用到索引&#xff0c;SQL语句执行起来性能低下 1.1.2.1. 1 NULL NULL2- NULL NULL3 &#xff0a; NULL …

深度学习卷积神经网络学习小结

————————————————————————————————————————————— 学习小结&#xff1a; 1&#xff09;深度学习综述&#xff1b;&#xff08;2&#xff09;对卷积神经网络&#xff08;CNN&#xff09;的认识&#xff1b;&#xff08;3&#xff0…