PCIe4.0 槽位全速释放100Gb 双口性能

    技术2022-07-17  107

    本篇文章是和同事一起为某个项目测试,验证在OpenPOWER9的服务器上,PCIe4.0能够全面释放双口100Gb网卡的性能。如有内容有偏差,欢迎私信。

    硬件配置:

    两台OpenPOWER(FP5280G2)服务器,上面有PCIe4.0的槽位。 处理器:POWER9 Sforza 16core * 2 板卡:Mellanox 100G CX516A-CDAT网卡 交换机:Mellanox MSN2700-CS2F 100G交换机 100G线缆:Mellanox 100G 铜缆 100G线缆:Hisense 100G AOC光缆

    软件配置

    软件部件名称操作系统CentOS7 PPC64le ISOiperfiperf-2.0.9网卡驱动MLNX_OFED_LINUX-4.6-1.0.1.1-rhel7.5-ppc64le.tgz

    测试结论

    测试项(100Gb 以太网)网口1速度网口2速度使用Mellanox铜缆直连iperf测试89.2Gb/s88.7Gb/s使用海信AOC线缆直连iperf测试89Gb/s89Gb/s使用海信AOC线缆接入100Gb交换机iperf测试85Gb/s84.2Gb/s

    结论:在PCIe 4.0的槽位上,100Gb双网口单口速度不受限制,全面释放。PCIe3.0槽位上理论带宽可以查看下面的图表,受限于PCIe3.0的带宽。

    不同PCIe标准下的带宽

    PCI Express 版本行代码传输速率×1×4×8×161.08b/10b2.5GT/s250MB/s1GB/s2GB/s4GB/s2.08b/10b5GT/s500MB/s2GB/s4GB/s8GB/s3.0128b/130b8GT/s984.6MB/s3.938GB/s7.877GB/s15.754GB/s4.0128b/130b16GT/s1.969GB/s7.877GB/s15.754GB/s31.508GB/s5.0128b/130b32 or 25GT/s3.9 or 3.08GB/s15.8 or 12.3GB/s31.5 or 24.6GB/s63.0 or 49.2GB/s

    正如上图中的测试结果,实际场景通过100Gb交换机相连,单端口85Gb/s, 双端口170Gb/s。上表中PCIe4.0,x16槽位,带宽31.5GB,即241Gb/s, 全面释放卡的性能。 而上图PCIe标准中,对于PCIe3 x16的是15.7GB/s即120Gb/s, 而实测的通过100Gb交换机的100Gb双口卡就已经达到了170Gb/s左右,PCIe3 成为瓶颈,100Gb卡无法完全发挥性能。

    查看槽位是PCIe4.0的槽位

    #lspci -s 0033:01:00.0 -vvv |grep LnkSt LnkSta: Speed 16GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-

    测试命令和结果截图

    #使用Mellanox铜缆直连iperf测试(第一个口) numactl -N 8 iperf -B 1.1.1.1 -s -p 12345

    #使用Mellanox铜缆直连iperf测试(第二个口),开多个终端同时测试2口 numactl -N 8 iperf -B 2.2.2.1 -s -p 123456

    #使用海信AOC线缆直连iperf测试(第一个口) numactl -N 8 iperf -B 1.1.1.1 -s -p 12345

    #使用海信AOC线缆直连iperf测试(第二个口) numactl -N 8 iperf -B 2.2.2.1 -s -p 123456

    #使用海信AOC线缆接入100G交换机iperf测试(第一个口) numactl -N 8 iperf -B 1.1.1.1 -s -p 12345

    #使用海信AOC线缆接入100G交换机iperf测试(第二个口) numactl -N 8 iperf -B 2.2.2.1 -s -p 123456

    其他说明

    使用iperf命令,而不是iperf3,iperf3不能启多个进程。对于RDMA的协议测试结果也是类似,PCIE4.0槽位上可以全面释放卡的性能。有兴趣可以自测。命令列在下方。

    ib_write_bw -d mlx5_0 --report_gbits -F --run_infinitely ib_write_bw -d mlx5_0 --report_gbits -b -F --run_infinitely 2.2.2.1

    参数设置

    ppc64_cpu --smt=off systemctl disable irqbalance selinux=disabled systemctl disable firewalld cpu_frequency=performance MTU=9000 PCIE maxpayload=512

    链接:

    Power9硬件安装的Centos镜像介质CentOS-7-power9-Minimal-2003.iso https://mirrors.tuna.tsinghua.edu.cn/centos-altarch/7/isos/power9/ PCIe百度百科链接 https://baike.baidu.com/item/pcie

    Processed: 0.008, SQL: 9