Mellanox ConnectX-6 Dx 构建ROCE V2网络性能测试

服务器配置

CPU2* AMD EPYC 7302 16-Core Processor
内存32*64GB=2TB DDR4 RECC 3200MT/s
2.5英寸硬盘SSD 7.6T U.2 数据中心2.5 读盘密集型
IB网卡Mellanox Technologies MT2892 Family [ConnectX-6 Dx]
电源电源模块 1U 1200W (1+1)

网络环境

一台H3C S9850-32H连接分别连接100G网卡模块

系统环境

Ubuntu 20.04.6 LTS

安装

两台都安装mellanox的ofed工具

Linux InfiniBand Drivers

ubuntu2004 ofed下载链接:

wget https://content.mellanox.com/ofed/MLNX_OFED-23.07-0.5.1.2/MLNX_OFED_LINUX-23.07-0.5.1.2-ubuntu20.04-x86_64.tgz

tar zxvf MLNX_OFED_LINUX-23.07-0.5.1.2-ubuntu20.04-x86_64.tgz cd MLNX_OFED_LINUX-23.07-0.5.1.2-ubuntu20.04-x86_64/ ./mlnxofedinstall

ubuntu20.04 cuda下载链接:CUDA Toolkit Archive | NVIDIA Developer

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb,

就可以正常识别mlx5_0了。

每台主机开启ECN和PFC,配置如下:

mst start

mst status

show_gids

mlnx_qos -i ens3f0np0 --trust dscp

ethtool -i ens3f0np0

cd /sys/kernel/debug/mlx5/0000\:01\:00.0/cc_params/

echo 48 > np_cnp_dscp cat /sys/kernel/debug/mlx5/0000\:01\:00.0/cc_params/np_cnp_dscp

lldptool -T -i ens3f0np0 -V PFC enabled=5 mlnx_qos -i ens3f0np0

echo 1 > /sys/class/net/ens3f0np0/ecn/roce_np/enable/5

echo 1 > /sys/class/net/ens3f0np0/ecn/roce_rp/enable/5

cat /sys/class/net/ens3f0np0/ecn/roce_np/enable/5

cat /sys/class/net/ens3f0np0/ecn/roce_rp/enable/5

echo 160 > /sys/class/infiniband/mlx5_0/tc/1/traffic_class

cma_roce_tos -d mlx5_0 -t 160

sysctl -w net.ipv4.tcp_ecn=1

apt-get update -y && apt-get install lldpad -y

配置开机脚本,让配置生效,rocev2.sh脚本如下:

#!/bin/bash

for mlx_dev in $(ibdev2netdev |grep -i up| awk '{print $1}')

do
    if_dev=$(ibdev2netdev | grep -i up |grep $mlx_dev | awk '{print $5}')
    echo "------------> Current: ${mlx_dev}:${if_dev}"
    ifconfig "${if_dev}" mtu 9416
    echo 160 > /sys/class/infiniband/${mlx_dev}/tc/1/traffic_class
    cma_roce_tos -d "${mlx_dev}" -t 160
    lldptool -T -i ens3f0np0 -V PFC enabled=5
    echo 48 >/sys/class/net/${if_dev}/ecn/roce_np/cnp_dscp
    echo 1 >/sys/class/net/${if_dev}/ecn/roce_np/enable/5
    echo 1 >/sys/class/net/${if_dev}/ecn/roce_rp/enable/5
    sysctl -w net.ipv4.tcp_ecn=1
done

在crontab -e中配置让脚本开机运行:

@reboot bash /etc/init.d/rocev2.sh

@reboot echo 160 > /sys/class/infiniband/mlx5_0/tc/1/traffic_class && /usr/sbin/cma_roce_tos -d mlx5_0 -t 160

server:

ib_send_bw --report_gbits --run_infinitely --cpu_util -d mlx5_0 -F -q 5

client:

ib_send_bw --report_gbits --run_infinitely --cpu_util -d mlx5_0 -FD2 172.16.10.1 -q 5

服务端和客户端主要测试命令如下:

server: 172.16.10.3

ibv_devinfo

ibv_devices

ib_write_bw -a -d mlx5_0

ib_send_bw -a -c UD -d mlx5_0 -i 1

ib_send_lat -a -c UD -d mlx5_0 -i 1

ib_send_bw --report_gbits --run_infinitely --cpu_util -d mlx5_0 -F -q 5

client: 172.16.10.4

ibv_devinfo

ibv_devices

ib_write_bw -a -F 172.16.10.3 -d mlx5_0 --report_gbits

ib_send_bw -a -c UD -d mlx5_0 -i 1 172.16.10.3

 ib_send_lat -a -c UD -d mlx5_0 -i 1 172.16.10.3

ib_send_bw --report_gbits --run_infinitely --cpu_util -d mlx5_0 -FD2 172.16.10.3 -q 5

sudo cma_roce_mode -d mlx5_0

RoCE v2

如果不是按照如下方式设置:

sudo cma_roce_mode -d mlx5_0 -m 2

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值