0

一、测试描述... 4

(一)硬件环境... 4

(二)DPDK下零丢包性能测试... 4

二、测试1:国产xSmartNIC-400S-SE单口40GbE带宽智能网卡在基于INTEL CPU的服务器上的单卡双口零丢包测试(1x40GbE)... 5

(一)测试环境... 5

(二)测试配置... 6

(三)测试结果... 7

三、测试2: 国产xSmartNIC-400S-SE单口40GbE带宽智能网卡在FT2500CPU飞腾服务器上的单卡双口在DPDK下零丢包测试(1x40GbE)... 9

(一)测试环境... 9

(二)测试配置... 10

(三)测试结果... 11

四、测试3: 国产xSmartNIC-400S-SE单口40GbE带宽智能网卡在FT2000PLUSCPU宝德服务器上单卡双口在DPDK下零丢包测试(1x40GbE)... 13

(一)测试环境... 13

(二)测试配置... 14

(三)测试结果... 15

五、测试结论... 18

 

关于这个报告

锐文科技的xNIC系列智能网卡是具有自主知识产权,自主研发的国产智能网卡。我们在基于鲲鹏CPU的台式机和服务器平台,基于龙芯CPU的台式机和服务器平台,基于飞腾CPU的台式机和服务器平台,基于海光CPU的台式机和服务器平台基于Intel CPU的台式机和服务器平台,基于AMD CPU的台式机和服务器平台上进行适配,测试验证了相关性能指标。本报告提供了网卡带宽测试结果以及相应的软硬件配置,以便复制相应测试平台。

 

一、测试描述

(一)硬件环境

以下硬件被用于测试环境的搭建:

  1. 锐文 国产xSmartNIC-400S-SE单口40GbE版本
  2. 基于Intel(R) Xeon(R) Gold 5218 CPU 的服务器
  3. 基于飞腾2500 CPU的五舟服务器
  4. 基于飞腾FT2000PLUS CPU的宝德服务器
  5. 思博伦C50

(二)DPDK下零丢包性能测试

  1. DPDK下零丢包性能测试使用testpmd(http://www.dpdk.org/doc/guides/testpmd_app_ug)作为服务器端转发工具及思博伦C50作为收发以太网包测试仪器,测试在不同包长下,最大不丢包性能。
  • 测试时间60秒
  • UDP包

二、测试1:国产xSmartNIC-400S-SE单口40GbE带宽智能网卡在基于INTEL CPU的服务器上的单卡双口零丢包测试(1x40GbE)

(一)测试环境

测试

测试1-锐文科技国产xSmartNIC-400S-SE单卡单口40GbE下零丢包测试

服务器

烽火服务器

CPU

Intel(R) Xeon(R) Gold 5218

系统内存

256GBDDR4@2666MHz

网卡

一个国产xSmartNIC-400S-SE-40G单口QSFP+,PCIe3.0x8

操作系统

Centos 7

内核版本

Linux localhost.localdomain 3.10.0-693.e17.x86_64 #1 SMP Thu Jul 6 19:56:57 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux

GCC版本

4.8.5

DPDK版本

19.11.3

测试配置

1网卡,1口

1每口配置8个队列,共8个队列,8个队列用8个核

2每口配置4个队列,共4个队列,4个队列用4个核

3每口配置1个队列,共1个队列,1个队列用1个核

 

国产xSmartNIC-400S-SE插在服务器的PCIex8卡槽内,思博伦C50网络测试仪单口打40GbE的包,xNIC接收到数据,给testpmd,testpmd再把收到的数据发还给xNIC网卡。思博伦C50网络测试仪测试性能。思博伦测试仪按照RFC2544自动测试,如果有丢包,思博伦自动降低发送数据吞吐量,直到无丢包。测试环境如图1所示。

图1:测试1测试环境

(二)测试配置

BIOS

Version: 3.0

BOOT设置

BOOT_IMAGE=/vmlinuz-3.10.0-693.el7.x86_64 root=/dev/mapper/rhel-root ro crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap biosdevname=0 net.ifnames=0 iommu=pt intel_iommu=on rhgb quiet

命令行

8队列:./build/x86_64/app/testpmd -d ./build/x86_64/lib/librte_pmd_xnic.so -d ./ build/x86_64/lib/librte_mempool_ring.so –cfffff0000 -n4 -w af:00.0 -- -i -nb-cores=9 --rxq=8 –txq=8 --rxd=4096 –txd=4096 –burst=64 –mbuf-size=4224 –total-num-mbufs=262144

4队列:./build/x86_64/app/testpmd -d ./build/x86_64/lib/librte_pmd_xnic.so -d ./ build/x86_64/lib/librte_mempool_ring.so –cff0000 -n4 -w af:00.0 -- -i -nb-cores=5 --rxq=4 –txq=4 --rxd=4096 –txd=4096 –burst=64 –mbuf-size=4224 –total-num-mbufs=262144

1队列:./build/x86_64/app/testpmd -d ./build/x86_64/lib/librte_pmd_xnic.so -d ./ build/x86_64/lib/librte_mempool_ring.so –cff0000 -n4 -w af:00.0 -- -i -nb-cores=2 --rxq=1 –txq=1 --rxd=4096 –txd=4096 –burst=64 –mbuf-size=4224 –total-num-mbufs=262144

其他

优化

 

 

(三)测试结果

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图2:测试1的单卡单口8队列收发零丢包性能

 

图3:测试1的单卡单口4队列收发零丢包性能

 

 

图4:测试1的单卡单口1队列收发零丢包性能

 

三、测试2: 国产xSmartNIC-400S-SE单口40GbE带宽智能网卡在FT2500CPU飞腾服务器上的单卡双口在DPDK下零丢包测试(1x40GbE)

(一)测试环境

测试

测试2-锐文科技国产xSmartNIC-400S-SE单卡单口40GbE下零丢包测试

服务器

飞腾FT2500 CPU五舟服务器

CPU

飞腾FT2500处理器

 

系统内存

512GBDDR4@2666MHz

网卡

一个国产xSmartNIC-400S-SE-40G单口QSFP+,PCIe3.0x8

操作系统

银河麒麟10

内核版本

Linux localhost.localdomain 4.19.90-19.ky10.aarch64 #1 SMP Mon Jul 27 18:43:49 CST 2020 aarch64 aarch64 aarch64 GNU/Linux

GCC版本

7.3.0

DPDK版本

19.11.3

测试配置

1网卡,1口

1每口配置8个队列,共8个队列,8个队列用一个核

2每口配置4个队列,共4个队列,4个队列用一个核

3每口配置1个队列,共1个队列,1个队列用一个核

   国产xSmartNIC-400S-SE插在服务器的PCIex8卡槽内,思博伦C50网络测试仪单口打40GbE的包,xNIC接收到数据,给testpmd,testpmd再把收到的数据发还给xNIC网卡。思博伦C50网络测试仪测试性能。思博伦测试仪按照RFC2544自动测试,如果有丢包,思博伦自动降低发送数据吞吐量,直到无丢包。测试环境如图5所示。

 

图5:测试2测试环境

(二)测试配置

BIOS

Version: 3.2

BOOT设置

BOOT_IMAGE=/vmlinuz-4.19.90-19.ky10.aarch64 

root=/dev/mapper/klas-root ro crashkernel=auto 

rd.lvm.lv=klas/root rd.lvm.lv=klas/swap 

smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 

crashkernel=1024M,high video=efifb:off 

video=VGA-1:640x480-32@60me isolcpus=0-55 nohz_full=0-55 rcu_nocbs=0-55 

命令行

8队列:./build/aarch/app/testpmd -d ./build/ aarch /lib/librte_pmd_xnic.so -d ./ build/ aarch /lib/librte_mempool_ring.so –cfffff -n4 -w 0d:00.0 -- -i -nb-cores=9 --rxq=8 –txq=8 --rxd=4096 –txd=4096 –burst=64 –mbuf-size=4224 –total-num-mbufs=262144

4队列:./build/aarch/app/testpmd -d ./build/ aarch /lib/librte_pmd_xnic.so -d ./ build/ aarch /lib/librte_mempool_ring.so –cfff -n4 -w 0d:00.0 -- -i -nb-cores=5 --rxq=4 –txq=4 --rxd=4096 –txd=4096 –burst=64 –mbuf-size=4224 –total-num-mbufs=262144

1队列:./build/aarch/app/testpmd -d ./build/ aarch /lib/librte_pmd_xnic.so -d ./ build/ aarch /lib/librte_mempool_ring.so –cff -n4 -w 0d:00.0 -- -i -nb-cores=3 --rxq=1 –txq=1 --rxd=4096 –txd=4096 –burst=64 –mbuf-size=4224 –total-num-mbufs=262144

其他优化

 

 

(三)测试结果

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 图6:测试2的单卡单口8队列收发零丢包性能

图7:测试2的的单卡单口4队列收发零丢包性能

 

图8:测试2的的单卡单口1队列收发零丢包性能

四、测试3: 国产xSmartNIC-400S-SE单口40GbE带宽智能网卡在FT2000PLUSCPU宝德服务器上单卡双口在DPDK下零丢包测试(1x40GbE)

(一)测试环境

测试

测试3-锐文科技国产xSmartNIC-400S-SE单卡单口40GbE下零丢包测试

服务器

飞腾FT2000PLUSCPU 宝德服务器

CPU

飞腾FT2000PLUS

系统内存

128GBDDR4@2666MHz

网卡

一个国产xSmartNIC-400S-SE-40G单口QSFP+,PCIe3.0x8

操作系统

Kylin 4.0.2

内核版本

Linux Kylin 4.4.131-20190505.kylin.server-generic #kylin SMP Mon May 6 14:34:13 CST 2019 aarch64 aarch64 aarch64 GNU/Linux

GCC版本

5.4.0

固件版本

345

DPDK版本

19.11.3

测试配置

1网卡,1口

1每口配置8个队列,共8个队列,8个队列用8个核

2每口配置4个队列,共4个队列,4个队列用4个核

3每口配置1个队列,共1个队列,1个队列用一个核

国产xSmartNIC-400S-SE插在服务器的PCIex8卡槽内,思博伦C50网络测试仪单口打40GbE的包,xNIC接收到数据,给testpmd,testpmd再把收到的数据发还给xNIC网卡。思博伦C50网络测试仪测试性能。思博伦测试仪按照RFC2544自动测试,如果有丢包,思博伦自动降低发送数据吞吐量,直到无丢包。测试环境如图9所示。

图9:测试3测试环境

 

(二)测试配置

BIOS

Version:3.0

BOOT设置

uImage-ft2000plus root=UUID=187cb559-b758-41d5-8a09-8b570d9db8dd quiet splash console=tty1 pcie_aspm=off iommu.strtct=0 default_hugepagesz=1GB hugepagesz=1G hugepagesz=80 pci=realloc pci=assign-busses console=ttys0,115200 earlycon=uart8250,mmio32,0x80028001000 rw rootdelay=10 KEYBOARDTYPE=pc KEYTABLE=us

命令行

8队列:./build/aarch/app/testpmd -d ./build/ aarch /lib/librte_pmd_xnic.so -d ./ build/ aarch /lib/librte_mempool_ring.so –cfffff -n4 -w 07:00.0 -- -i -nb-cores=9 --rxq=8 –txq=8 --rxd=4096 –txd=4096 –burst=64 –mbuf-size=4224 –total-num-mbufs=262144

4队列:./build/aarch/app/testpmd -d ./build/ aarch /lib/librte_pmd_xnic.so -d ./ build/ aarch /lib/librte_mempool_ring.so –cfff -n4 -w 07:00.0 -- -i -nb-cores=5 --rxq=4 –txq=4 --rxd=4096 –txd=4096 –burst=64 –mbuf-size=4224 –total-num-mbufs=262144

1队列:./build/aarch/app/testpmd -d ./build/ aarch /lib/librte_pmd_xnic.so -d ./ build/ aarch /lib/librte_mempool_ring.so –cff -n4 -w 07:00.0 -- -i -nb-cores=3 --rxq=1 –txq=1 --rxd=4096 –txd=4096 –burst=64 –mbuf-size=4224 –total-num-mbufs=262144

其他优化

 

 

(三)测试结果

图10:测试3的单卡单口8队列收发零丢包性能

 

图11:测试3的单卡单口4队列收发零丢包性能

 

图12:测试3的单卡单口2队列收发零丢包性能

 

图13:测试3的单卡单口1队列收发零丢包性能

 

五、测试结论

测试中测试了国产xSmartNIC-400S-SE单口40GbE带宽智能网卡在不同服务器上的性能。本报告提供了网卡带宽测试结果以及相应的软硬件配置,以便复制相应测试平台。