Infiniband 网络性能测试

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)
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Infiniband技术是一种高速、低延迟、高可靠性的网络技术,用于连接服务器、存储系统和网络设备。Infiniband测试是一种对Infiniband网络进行性能、可靠性和功能测试的过程,旨在保证系统的稳定性和运行效率。 Infiniband网络测试可以分为两个方面。一方面是对网络性能的测试,包括带宽、延迟、吞吐量和丢包率等指标的测试,以及对网络拓扑的测试。这些测试可以通过使用网络测试工具,如Iperf和Flent等来完成。对于Infiniband网络的带宽测试,可以使用Iperf来测试其带宽的可用性,在测试中需要设置数据包大小、窗口大小等参数来调整测试的性能,从而达到最大的带宽值。在Infiniband延迟测试中,可以使用Flent来测试传输时延的值,在测试中需要设置不同的网络拓扑和测试参数来比较不同组件的延迟性能。 另一方面,Infiniband测试也可以包括功能测试和可靠性测试。功能测试通常涉及各种网络协议和数据传输方法的测试,包括RDMA、MPI和TCP等。在测试中需要验证这些协议和方法是否正常工作,并确保它们遵守相应的标准。而可靠性测试通常包括各种网络组件的故障切换测试网络冗余测试和错误恢复测试等。这些测试旨在验证网络在面对不同类型的故障时是否能够正确的切换工作,在出现错误的情况下是否能够快速恢复工作状态。 总之,Infiniband技术为高性能计算、大数据和云计算等领域的发展提供了巨大的支持,而Infiniband测试则是确保这种技术在实际应用中得到高效、可靠地使用的保障。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值