ubuntu18.04上Soft-Roce环境搭建配置及性能测试方法

概述:

我们在进行RDMA软件开发时,通常要用到支持RDMA通信的网卡,比如mellanox cx5等,这些网卡通常比较贵,因此硬件搭建成本较高。在前期开发过程中,可以使用soft-roce的方法进行软件开发。

soft-roce是通过cpu实现了原本在网卡硬件中实现的功能,其好处是使用普通网卡即可实现RDMA软件开发,缺点是其实cpu占用率高,有内存拷贝,性能低。

环境配置方法:

第一步:安装rdma相关组件

sudo apt-get install libibverbs1 ibverbs-utils librdmacm1 libibumad3 ibverbs-providers rdma-core

第二步:安装perftest及iproute2

sudo apt-get install iproute2

sudo apt-get install perftest

第三步:rdma-rxe相关配置

modprobe rdma_rxe

检查rxe状态 

rxe_cfg status 

启动rxe_cfg 

rxe_cfg start 

把虚拟网卡加入,ifconfig查看网卡名,我这里是ens33

rxe_cfg add ens33


 

测试方法,通过perftest对soft roce性能进行测试

如果是虚拟机环境下,可以使用vmware将搭建好的虚拟机环境克隆一份,随后在这两个虚拟机里进行通信测试,也可以克隆多份,进行多打一测试。

克隆完成后,将网络模式设置为如下图所示:

通过ifconfig查看两端ip。通过ibv_devinfo查看两端rdma链路信息。选择一端作为server,一端作为client

server(192.168.245.128,hca_id:rxe0):

client(192.168.245.128,hca_id:rxe0):

perftest 带宽测试:


server输入:

ib_write_bw -a -d rxe0 --report_gbits

client输入:

ib_write_bw -a -d rxe0 --report_gbits 192.168.245.129

其中ip地址为server端ip

由于我这条命令里有个-a,也就是把各种包长都测一遍。由于是soft-roce所以涉及到大量的数据拷贝,测到后面大包时候电脑风扇转的太快,我就停掉了。perftest也提供针对指定包长的测试,可以自行搜索一下。

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

 

 最后大包时候同样停掉了。

总结:

通过soft-roce,开发者可以在普通pc上进行rdma软件开发及测试。


版权声明:本文为automanliang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。