Ubuntu18.04 SoftRoCE安装教程

SoftRoCE安装教程


文章目录

  • SoftRoCE安装教程
  • 前言
  • 一、安装环境
  • 二、配置RXE网卡
    • perftest 带宽测试:
      • 1. write写测试
      • 2. send发送测试
    • perftest延迟测试:
      • 测试#rping命令
      • 测试ibv_rc_pingpong命令


前言

目标:创建两台Ubuntu18.04虚拟机,安装SoftRoCE环境,一台作为Server,一台作为Client,模拟RDMA通信环境,熟悉RDMA的通信方式。


一、安装环境

  1. 安装相关包:
    (1)sudo apt-get install libibverbs1 ibverbs-utils librdmacm1 libibumad3 ibverbs-providers rdma-core——各个包的含义:
    Ubuntu18.04 SoftRoCE安装教程_第1张图片

    查看软件包里都包括哪些内容,那么可以使用dpkg命令查看包内容,比如:
    dpkg -L libibverbs1
    (2)sudo apt-get install iproute2 ——iproute2是用来替代net-tools软件包的,是一组开源的网络工具集合,比如用更强大ip命令替换了以前常用的ifconfig。我们需要其中的rdma工具来对RXE进行配置。一般的操作系统都已经包含了,安装也很简单。
    (3)sudo apt-get install perftest ——perftest是一个基于Verbs接口开发的开源RDMA性能测试工具,可以对支持RDMA技术的节点进行带宽和时延测试。相比于rdma-core自带的示例程序 ,功能更加强大,当然也更复杂。

  2. 检查rdma-rxe相关配置:
    (1)modprobe rdma_rxe #加载内核驱动
    (2) rxe_cfg status
    (3) rxe_cfg start
    Ubuntu18.04 SoftRoCE安装教程_第2张图片

  3. 加入虚拟网卡ens33
    rxe_cfg add ens33

  4. 查看添加的设备信息
    (1) ibv_devices #设备名称rxe0
    (2) ibv_devinfo #设备的详细信息
    Ubuntu18.04 SoftRoCE安装教程_第3张图片


下一步就是:将整个虚拟机再克隆一个作为Client
Ubuntu18.04 SoftRoCE安装教程_第4张图片
克隆完成以后,查看两台虚拟机以及window11主机的IP地址:
win11:192.168.108.1
softroce_server: 192.168.108.134
softroce_client: 192.168.108.135

二、配置RXE网卡

昨天已经配好了,今天再打开又没了?没搞清楚是什么原因,重新add了网卡
Ubuntu18.04 SoftRoCE安装教程_第5张图片


插曲:由于clone完之后,没有修改主机名,所有两个虚拟机都显示的是server
解决办法:在client虚拟机中,将sudo /etc/hostname的内容编辑修改为softroce_client,然后重启就可以了。(限于18.04之前的版本)


重启之后之前添加的虚拟网卡又又又没了???
重新配置之后,参考网上的教程跟着跑了一下实例(原文链接:https://blog.csdn.net/automanliang/article/details/124033813)

perftest 带宽测试:

1. write写测试

ib_write_bw是用来测试write操作的带宽的程序(infiniband_write_bandwidth)
server输入:
ib_write_bw -a -d rxe0 --report_gbits

client输入:
ib_write_bw -a -d rxe0 --report_gbits 192.168.108.134
其中ip地址为server端ip,结果如下:

Ubuntu18.04 SoftRoCE安装教程_第6张图片
Ubuntu18.04 SoftRoCE安装教程_第7张图片
注意:由于这条命令里有个-a,也就是把各种包长都测一遍。由于是soft-roce所以涉及到大量的数据拷贝,测到后面大包时候很慢了就直接ctrl+c。perftest也提供针对指定包长的测试,可以自行搜索。

2. send发送测试

ib_send_bw是用来测试SEND操作的带宽的程序(infiniband_send_bandwidth)
server输入:
ib_send_bw -d rxe0

client输入:
ib_send_bw -d rxe0 192.168.108.134
其中ip地址为server端ip,结果如下:
Ubuntu18.04 SoftRoCE安装教程_第8张图片
Ubuntu18.04 SoftRoCE安装教程_第9张图片

perftest延迟测试:

server输入:
ib_write_lat -a -d rxe0 --report_gbits

client输入:
ib_write_lat -a -d rxe0 --report_gbits 192.168.245.129
其中ip地址为server端ip
结果如下:

Ubuntu18.04 SoftRoCE安装教程_第10张图片
Ubuntu18.04 SoftRoCE安装教程_第11张图片

测试#rping命令

server:
rping -s -a [server-ip] -v -C 10
client:
rping -c -a [server-ip] -v -C 10

测试结果图:
Ubuntu18.04 SoftRoCE安装教程_第12张图片
Ubuntu18.04 SoftRoCE安装教程_第13张图片

测试ibv_rc_pingpong命令

server:
ibv_rc_pingpong -g 2 -d rxe0
client:
ibv_rc_pingpong -g 2 -d rxe1 [server-ip]

测试结果图:
在这里插入图片描述
在这里插入图片描述
注意:-g是设置网口的GID值,客户端和服务端的GID的类型要统一;-d是设置具体的RDMA设备,该值可由sudo rxe_cfg status得出。


附参考链接:

  1. https://zhuanlan.zhihu.com/p/361740115
  2. https://blog.csdn.net/automanliang/article/details/124033813

你可能感兴趣的:(ubuntu,linux)