Infiniband 网络性能测试

文章详细展示了如何使用ib_send_bw和ib_send_lat工具进行Infiniband网络的带宽和延时测试,以及如何通过调整系统设置,如启用connected模式、优化CPU亲和性和使用MLNX_OFED工具来提升网络性能。
摘要由CSDN通过智能技术生成

1、带宽测试

在server端执行

[ibtests]# ib_send_bw -a -c UD -d mlx4_0 -i 1
------------------------------------------------------------------
                    Send BW Test
Connection type : UD
Inline data is used up to 1 bytes message
  local address:  LID 0x0b, QPN 0x28004c, PSN 0xfaa100
  remote address: LID 0x02, QPN 0x70004b, PSN 0xc14da8
Mtu : 2048
------------------------------------------------------------------
 #bytes #iterations    BW peak[MB/sec]    BW average[MB/sec]
------------------------------------------------------------------

在client端执行

[ibtests]# ib_send_bw -a -c UD -d mlx4_0 -i 1 10.10.11.8
------------------------------------------------------------------
                    Send BW Test
Connection type : UD
Inline data is used up to 1 bytes message
  local address:  LID 0x02, QPN 0x70004b, PSN 0xc14da8
  remote address: LID 0x0b, QPN 0x28004c, PSN 0xfaa100
Mtu : 2048
------------------------------------------------------------------
 #bytes #iterations    BW peak[MB/sec]    BW average[MB/sec]
      2        1000               7.51                  7.21
      4        1000              15.29                 14.19
      8        1000              30.66                 30.45
     16        1000              60.33                 59.95
     32        1000             119.53                113.20
     64        1000             233.75                233.16
    128        1000             414.95                413.64
    256        1000             794.90                698.20
    512        1000            1600.46                774.67
   1024        1000            2011.81                804.29
   2048        1000            2923.29               2919.91
------------------------------------------------------------------

2、延时测试

在server端执行

[ibtests]# ib_send_lat -a -c UD -d mlx4_0 -i 1
------------------------------------------------------------------
                    Send Latency Test
Inline data is used up to 400 bytes message
Connection type : UD
   local address: LID 0x0b QPN 0x2c004c PSN 0xa1be86
  remote address: LID 0x02 QPN 0x74004b PSN 0x6ea837
------------------------------------------------------------------
 #bytes #iterations    t_min[usec]    t_max[usec]  t_typical[usec]
      2        1000           1.41           4.45             1.43
      4        1000           1.41           3.84             1.43
      8        1000           1.41           2.75             1.43
     16        1000           1.41           3.01             1.42
     32        1000           1.49           3.92             1.50
     64        1000           1.55           3.96             1.57
    128        1000           1.70           2.58             1.71
    256        1000           2.41           5.73             2.45
    512        1000           2.82           4.07             2.90
   1024        1000           3.28           4.95             3.31
   2048        1000           4.11          11.74             4.14
------------------------------------------------------------------

  

在client端执行

[ibtests]# ib_send_lat -a -c UD -d mlx4_0 -i 2 10.10.11.8
------------------------------------------------------------------
                    Send Latency Test
Inline data is used up to 400 bytes message
Connection type : UD
   local address: LID 0x02 QPN 0x74004b PSN 0x6ea837
  remote address: LID 0x0b QPN 0x2c004c PSN 0xa1be86
------------------------------------------------------------------
 #bytes #iterations    t_min[usec]    t_max[usec]  t_typical[usec]
      2        1000           1.41           9.97             1.43
      4        1000           1.38           5.31             1.43
      8        1000           1.41           2.78             1.43
     16        1000           1.40           4.01             1.42
     32        1000           1.49           3.67             1.50
     64        1000           1.55           5.20             1.56
    128        1000           1.69           3.13             1.71
    256        1000           2.40           5.72             2.45
    512        1000           2.83           4.13             2.90
   1024        1000           3.28           4.95             3.31
   2048        1000           4.11          11.68             4.14
------------------------------------------------------------------

2、其他测试工具

#qperf
#server端执行
[root@server ~]# qperf
​
#client端执行
[root@client ~]# qperf 172.26.2.41 ud_lat ud_bw rc_rdma_read_bw rc_rdma_write_bw uc_rdma_write_bw tcp_bw tcp_lat udp_bw udp_lat
ud_lat:
    latency  =  4.41 us
ud_bw:
    send_bw  =  2.63 GB/sec
    recv_bw  =  2.63 GB/sec
rc_rdma_read_bw:
    bw  =  3.31 GB/sec
rc_rdma_write_bw:
    bw  =  3.41 GB/sec
uc_rdma_write_bw:
    send_bw  =   3.4 GB/sec
    recv_bw  =  3.36 GB/sec
tcp_bw:
    bw  =  2.11 GB/sec
tcp_lat:
    latency  =  8.56 us
udp_bw:
    send_bw  =  2.84 GB/sec
    recv_bw  =   699 MB/sec
udp_lat:
    latency  =  8.03 us
​
#iperf3
#server端执行
[root@server ~]# iperf3 -s -p 10081  
​
#client端执行
[tpsa@client ~]$ iperf3 -c 172.26.2.41 -t 300 -p 10081

  

3、网络调优

#启用connected模式(默认是datagram模式,datagram模式下网络延时更低,connected模式下网络带宽更高),接口带宽提高一倍左右
echo connected > /sys/class/net/ib0/mode
or
sed -i 's/SET_IPOIB_CM=.*/SET_IPOIB_CM=yes' /etc/infiniband/openib.conf
/etc/init.d/openibd restart
#系统参数调优(centos7)
systemctl status tuned.service #看看是否启用了tuned服务
tuned-adm profile  network-throughput #优化网络带宽
tuned-adm profile network-latency #优化网络延时
tuned-adm active #查看当前配置
# 停止irqbalance服务
# systemctl stop irqbalance && systemctl disable irqbalance
​
#查看ib接口与哪个cpu相邻
#numa_num=$(cat /sys/class/net/ib0/device/numa_node)
​
#对ib网卡中断做绑核操作
#/usr/sbin/set_irq_affinity_bynode.sh $numa_num ib0
#[root@server ~]$ rpm -qf /usr/sbin/set_irq_affinity_bynode.sh
mlnx-ofa_kernel-3.3-OFED.3.3.1.0.0.1.gf583963.rhel7u2.x86_64
​
#验证绑核
#查看ib0使用的中断号
[root@server ~]# ls /sys/class/net/ib0/device/msi_irqs                                                                                                                   
100  102  104  55  57  59  61  63  65  67  69  71  75  77  79  81  83  85  87  89  91  93  95  97  99
101  103  54   56  58  60  62  64  66  68  70  74  76  78  80  82  84  86  88  90  92  94  96  98
​
#查看某个中断号的smp_affinity值
[root@server ~]# cat /proc/irq/100/smp_affinity
0000,00001000
​
#跟默认值对比
[root@server ~]# cat /proc/irq/default_smp_affinity
#也可以通过mellanox提供的工具自动优化
# mlnx_tune -h
​
Usage: mlnx_tune [options]
​
​
Options:
​
-h, --help show this help message and exit
​
-d, --debug_info dump system debug information without setting a
​
profile
​
-r, --report Report HW/SW status and issues without setting a
​
profile
​
-c, --colored Switch using colored/monochromed status reports. Only
​
applicable with --report
​
-p PROFILE, --profile=PROFILE
​
Set profile and run it. choose from:
​
['HIGH_THROUGHPUT',
​
'IP_FORWARDING_MULTI_STREAM_THROUGHPUT',
​
'IP_FORWARDING_MULTI_STREAM_PACKET_RATE',
​
'IP_FORWARDING_SINGLE_STREAM',
​
'IP_FORWARDING_SINGLE_STREAM_0_LOSS',
​
'IP_FORWARDING_SINGLE_STREAM_SINGLE_PORT',
​
'LOW_LATENCY_VMA']
​
-q, --verbosity print debug information to the screen [default False]
​
-v, --version print tool version and exit [default False]
​
-i INFO_FILE_PATH, --info_file_path=INFO_FILE_PATH
​
info_file path. [default %s]
​
 
​
#显示当前配置状态
​
# mlnx_tune -r 
​
 
​
#开始优化,
​
# mlnx_tune -p HIGH_THROUGHPUT
​
[root@server ~]# rpm -qf `which mlnx_tune`
mlnx-ofa_kernel-3.3-OFED.3.3.1.0.0.1.gf583963.rhel7u2.x86_64

  

3、查看接口信息

[root@gz-cs-gpu-3-8 eden]# ibstat
CA 'mlx4_0'
        CA type: MT26428
        Number of ports: 1
        Firmware version: 2.9.1000
        Hardware version: b0
        Node GUID: 0x0002c9030059ddda
        System image GUID: 0x0002c9030059dddd
        Port 1:
                State: Active
                Physical state: LinkUp
                Rate: 40
                Base lid: 58
                LMC: 0
                SM lid: 1
                Capability mask: 0x02510868
                Port GUID: 0x0002c9030059dddb
                Link layer: InfiniBand
[root@gz-cs-gpu-3-8 eden]# ibstatus
Infiniband device 'mlx4_0' port 1 status:
        default gid:     fe80:0000:0000:0000:0002:c903:0059:dddb
        base lid:        0x3a
        sm lid:          0x1
        state:           4: ACTIVE
        phys state:      5: LinkUp
        rate:            40 Gb/sec (4X QDR)
        link_layer:      InfiniBand
InfiniBand LinkSignal PairsSignaling RateData Rate (Full Duplex)
1X-SDR22.5 Gbps2.0 Gbps
4X-SDR810 Gbps (4 x 2.5 Gbps)8 Gbps (4 x 2 Gbps)
12X-SDR2430 Gbps (12 x 2.5 Gbps)24 Gbps (12 x 2 Gbps)
1X-DDR25 Gbps4.0 Gbps
4X-DDR820 Gbps (4 x 5 Gbps)16 Gbps (4 x 4 Gbps)
12X-DDR2460 Gbps (12 x 5 Gbps)48 Gbps (12 x 4 Gbps)
1X-QDR210 Gbps8.0 Gbps
4X-QDR840 Gbps (4 x 5 Gbps)32 Gbps (4 x 8 Gbps)
12XQDDR241200 Gbps (12 x 5 Gbps)96 Gbps (12 x 8 Gbps)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值