可编程网卡芯片在滴滴云网络的应用实践 (3)

Hairpin 性能问题
在高并发情况下,mellanox 网卡芯片性能会下降约40%,最终确认是网卡驱动hairpin问题。目前mellanox 确认该问题并给出修复方式。

流表数目限制
通过删除流表上限修复该问题:https://github.com/openvswitch/ovs/commit/df5c293642cc07013e796e588eb7aead917e20a1

MAC 地址对VxLAN的影响
物理主机源MAC地址变更后vxlan 报文依旧使用原来MAC地址,这样会导致收不到响应报文:
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=6707f74be8621ae067d2cf1c4485900e2742c20f

多次修改报文不生效问题
多次使用TC Flower pedit 修改报文,offload 不生效问题, 最终确认是内核驱动问题:
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=218d05ce326f9e1b40a56085431fa1068b43d5d9

配置vf rate、mac不当导致内核crash
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=6e77c413e8e73d0f36b5358b601389d75ec4451c

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/? id=24319258660a84dd77f4be026a55b10a12524919

3.6 性能数据

以实现的vRouter 弹性公网网关为例(基础网络10Gpbs):

pps(64B) Mpbs(64B) pps(1500B) Mpbs(1500B)
9495892   8660.25   811935   10067.98  

业务延迟数据如下(使用pktgen-dpdk latency):

背景流量 网关延迟
10W条流表以及并发1Gbps 64B流量   3u  
10W条流表以及并发5Gbps 64B流量   6u  
4. 开源社区贡献

除了为开源社区提供 bug patch,我们也将新增特性、性能优化patch回馈至开源社区:OVS、DPDK、Linux 内核社区(约80+ patch), 其中Linux 内核补丁列表如下:

可编程网卡芯片在滴滴云网络的应用实践

可编程网卡芯片在滴滴云网络的应用实践

团队介绍

滴滴云平台事业群滴滴SDN网络团队负责云网络产品的规划、设计、以及研发等工作。为公有云提供负载均衡SLB、专有网络VPC、弹性公网EIP、SNAT 以及云互联等服务。团队针对云网络业务需求,在Linux 内核网络虚拟化、DPDK、OVS、可编程芯片、RDMA、智能网卡以及系统优化等领域均有广泛深入的研究。团队具有多名开源社区contributor,涉及OVS、DPDK、Linux 内核等。

作者介绍

可编程网卡芯片在滴滴云网络的应用实践

专注于高性能网络技术,从事云网络研发工作。活跃于Linux 内核、OVS、DPDK开源社区。

延伸阅读

内容编辑 | Charlotte & Teeo
联系我们 | DiDiTech@didiglobal.com

可编程网卡芯片在滴滴云网络的应用实践

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpgsz.html