当前位置首页 > 初中物理 > 综合其它

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

更新时间:2023-06-25 文章作者:佚名 信息来源:网络整理 阅读次数:

橙姐导读:随着云规模的不断扩大,以及业务层面对时延和带宽的要求越来越高,使用DPDK加速网络数据包处理的方法在纵向和横向扩展上都存在局限性。 可编程芯片已成为业界的热门话题。 本文主要介绍可编程网卡芯片在滴滴云网络的应用实践、遇到的问题、带来的利润以及开源社区的贡献。nlm物理好资源网(原物理ok网)

1.nlm物理好资源网(原物理ok网)

数据中心面临的问题nlm物理好资源网(原物理ok网)

nlm物理好资源网(原物理ok网)

随着滴滴云规模不断扩大,业务层面对时延、带宽的要求越来越高。 2018年,滴滴云网络团队基于开源社区推出了OVS-DPDK解决方案。 DPDK 是用于在 X86 平台上快速处理消息的库和驱动程序的集合。 它的主要优点是通过Linux内核、显存和PMD()模型驱动来实现加速。 我们为OVS-DPDK提供在线热升级功能,保证升级过程中虚拟机服务无感知,网络时间在微秒级。 同时,我们对OVS-DPDK数据转发平面进行了优化。 为不同化学主机上的虚拟机实现了网络延迟)nlm物理好资源网(原物理ok网)

滴滴内部云接入、高性能计算HPC、机器学习对网络提出了更高的要求。 通过处理消息的形式在性能和延迟方面远远优于基于Linux内核的转发实现。 然而早已无法满足数据中心流量剧增带来的需求。nlm物理好资源网(原物理ok网)

2.nlm物理好资源网(原物理ok网)

技术方案选择nlm物理好资源网(原物理ok网)

nlm物理好资源网(原物理ok网)

在云网络环境下,估计节点DPDK不会占用太多CPU,否则会影响CPU销量物理网卡mac怎么修改,通常使用1-2个CPU进行数据包处理。 同时物理网卡mac怎么修改,DPDK处理数据包的性能强烈依赖于CPU的计算能力。 因此,估计节点网络的纵向扩展和横向扩展都存在局限性。nlm物理好资源网(原物理ok网)

在边缘网段节点,我们可以通过扩展服务器来增加网络处理能力,以满足业务需求。 而且服务器的大规模扩容需要更多的机器、功耗和运维成本。nlm物理好资源网(原物理ok网)

软件定义网络(SDN)是一种新的网络创新架构,也是网络虚拟化的一种方法。 其核心思想是将网络设备的控制平面和数据平面分离。 控制平面可以通过集中控制实现不同的业务逻辑:拓扑发现、路由管理、安全策略、网络虚拟化等。数据平面更专注于数据包转发。 在 AWSre: 2018 上,AWS 推出了 Nitro。 系统通过硬件芯片加速虚拟机IO处理(网络、存储、安全等)。nlm物理好资源网(原物理ok网)

目前业界加速网络处理的重点在硬件层面:AISC、FPGA、P4、可编程网卡、智能网卡等。nlm物理好资源网(原物理ok网)

3.nlm物理好资源网(原物理ok网)

基于可编程芯片的解决方案nlm物理好资源网(原物理ok网)

nlm物理好资源网(原物理ok网)

▍3.1 硬件芯片选型nlm物理好资源网(原物理ok网)

传统 AISC 卡nlm物理好资源网(原物理ok网)

该卡相对成熟,但业务逻辑固定,难以适应云上复杂的业务场景。nlm物理好资源网(原物理ok网)

可编程门队列 FPGAnlm物理好资源网(原物理ok网)

FPGA实现网络加速需要专业的FPGA技术人员,以及专业的网络研发人员。 同时,成本和开发周期必然有一定的限制。nlm物理好资源网(原物理ok网)

P4nlm物理好资源网(原物理ok网)

P4具有灵活的可编程性,更适合网段节点的数据处理。 它不适合在估计节点中使用。 同时,价格也是一个考虑的诱因。nlm物理好资源网(原物理ok网)

可编程网卡芯片nlm物理好资源网(原物理ok网)

通过检查发现,可编程网卡不仅具有通用网卡的功能,还可以实现报文匹配,并对报文进行特定操作,如:修改、封装、转发、上报等通过发布流表规则。 文本到CPU等。这些灵活可编程的硬件芯片可以满足快速迭代的需求。nlm物理好资源网(原物理ok网)

▍3.2 转发模型nlm物理好资源网(原物理ok网)

为了满足网元业务灵活性和多样性的要求,我们将网元业务与底层平台功能分离,放弃传统的数据平面转发模型,采用类似于的macth+的形式。 这样,不同的匹配规则、不同的匹配就可以实现不同的业务逻辑。 这些弱依赖关系能否剥离业务和底层细节,方便业务功能迭代,快速上线,同时底层可编程芯片的更新不会影响业务逻辑。nlm物理好资源网(原物理ok网)

▍3.3 网络平台化nlm物理好资源网(原物理ok网)

随着云上业务场景的复杂化以及使用云的客户数量的不断增加,云上网络的功能也变得更加复杂。 为了统一估计节点和网段节点的功能,我们实现了统一的编程框架。 这样可以快速开发不同功能的网段节点,减轻运维负担。nlm物理好资源网(原物理ok网)

▍3.4 落地练习nlm物理好资源网(原物理ok网)

我们基于OVS-DPDK框架实现流表规则。 OVS以第一条消息触发的形式发送硬件流表规则。 这种方式的优点是需要的时候才下发规则,达到保存流表的目的,缺点是首条消息会有延迟。 经过检查,我们发现网卡至少支持百万级流表(使用x86显存或者其他扩展显存),最后我们放弃了OVS-DPDK转发层,使用dpctl套接字下发流表,这样就没有第一条消息的延迟问题,也减少了使用TC时数据平面过多的问题(那些转发平面包括:硬件芯片转发、TC数据平面、内核模块转发、层)。 我们更改了OVS-DPDK流表老化方法,以确保通过dpctl下发的规则不会被删除。 最后,消息处理受到限制。nlm物理好资源网(原物理ok网)

滴滴云的网络数据面主要分为两部分:估算节点和网段节点。 估算节点主要负责虚拟机和容器网络的虚拟化,网段节点主要负责各种边缘节点服务如:SLB负载均衡、EIP包处理、分流器、SNAT、云企业网等。可编程网卡芯片通过平台方式应用于两个主要节点。nlm物理好资源网(原物理ok网)

SLB负载均衡nlm物理好资源网(原物理ok网)

提供四层负载均衡,根据用户策略将网络报文分发到虚拟网络服务节点。nlm物理好资源网(原物理ok网)

提供弹性EIP服务。 用户可以将网段IP地址绑定到虚拟机、容器或裸机上,以获得网段访问功能。nlm物理好资源网(原物理ok网)

通过连接滴滴数据中心和滴滴云虚拟网络,滴滴数据中心可以方便快捷地访问云端资源。nlm物理好资源网(原物理ok网)

网络地址转换nlm物理好资源网(原物理ok网)

提供虚拟机、容器、裸金属的接入网段服务。nlm物理好资源网(原物理ok网)

云企业网络互联nlm物理好资源网(原物理ok网)

互联服务支持将滴滴云上的多个VPC网络添加到云互联中,任意两个VPC网络都可以实现资源之间的相互访问。nlm物理好资源网(原物理ok网)

估计节点nlm物理好资源网(原物理ok网)

估算节点上主要有两种应用场景:一种场景是为估算节点上的虚拟机和容器提供VPC服务(网络隧道、限速、转发、换包、网段服务)和RDMA网络。 另一种场景是使用智能网卡为裸金属提供VPC服务。nlm物理好资源网(原物理ok网)

▍3.5 遇到的问题nlm物理好资源网(原物理ok网)

在调研开发过程中遇到诸多问题,在这里和大家总结分享下:
nlm物理好资源网(原物理ok网)

nlm物理好资源网(原物理ok网)

OVS-DPDK 支持有限nlm物理好资源网(原物理ok网)

首先,OVS社区对DPDK套接字()的支持有限:实现极其有限。 用户需要独立完成开发:如设置、计量、vxlan隧道报文处理等。nlm物理好资源网(原物理ok网)

端口转发限制nlm物理好资源网(原物理ok网)

目前网卡芯片不支持从芯片的一个PF端口到另一端口的转发。 最后我们通过SRIOV+方法解决了这个问题。 据了解,后续网卡芯片开始支持该功能(该功能也受到固件的限制)。nlm物理好资源网(原物理ok网)

打开崩溃nlm物理好资源网(原物理ok网)

当包含仪表流表的规则被删除时,OVS进程退出。 这个问题确实是DPDK的一个bug。 目前该问题已修复,发送至社区并已接收。nlm物理好资源网(原物理ok网)

调用 套接字会导致崩溃。 目前该问题已修复,发送至社区并已接收。nlm物理好资源网(原物理ok网)

更改 OVS 配置导致 被删除。 目前该问题已修复并发送给社区并已接收。nlm物理好资源网(原物理ok网)

仪表nlm物理好资源网(原物理ok网)

OVS社区并没有实现这个功能。 我们根据业务特点创建了一个,并在OVS中实现了一个meter。 该系列补丁文件正在OVS社区发布,即将上线。nlm物理好资源网(原物理ok网)

Decap/Encap 流表限制nlm物理好资源网(原物理ok网)

早上下发多条带decap/encap的流表规则报错。 这个问题最终确实是DPDK的一个bug,而且这个问题已经被修复了,并且已经和社区合作修复了。nlm物理好资源网(原物理ok网)

开盖+仪表限制nlm物理好资源网(原物理ok网)

使用 decap+meter 作为交付规则时失败。 这个问题最终确实是DPDK的一个bug。 目前该问题已经修复,社区正在共同修复 id=nlm物理好资源网(原物理ok网)

性能问题nlm物理好资源网(原物理ok网)

在高并发的情况下,网卡芯片的性能会提升40%左右,最终确认是网卡驱动的问题。 目前该问题已得到确认并给出修复方案。nlm物理好资源网(原物理ok网)

流表限制nlm物理好资源网(原物理ok网)

通过移除流表盖来修复问题:nlm物理好资源网(原物理ok网)

MAC地址对VxLAN的影响nlm物理好资源网(原物理ok网)

化学主机的源MAC地址改变后,vxlan报文仍然使用原来的MAC地址,会导致收不到响应报文:nlm物理好资源网(原物理ok网)

编号=nlm物理好资源网(原物理ok网)

多次修改消息不生效的问题nlm物理好资源网(原物理ok网)

使用多次更改消息,但问题不生效。 最后确认是内核驱动问题:nlm物理好资源网(原物理ok网)

编号=nlm物理好资源网(原物理ok网)

和mac配置不当导致=nlm物理好资源网(原物理ok网)

编号=nlm物理好资源网(原物理ok网)

▍3.6 性能数据nlm物理好资源网(原物理ok网)

以实现的弹性网段为例(基础网络):nlm物理好资源网(原物理ok网)

每秒(64B)nlm物理好资源网(原物理ok网)

Mpbs(64B)nlm物理好资源网(原物理ok网)

每秒(1500B)nlm物理好资源网(原物理ok网)

兆比特(1500B)nlm物理好资源网(原物理ok网)

8660.25nlm物理好资源网(原物理ok网)

10067.98nlm物理好资源网(原物理ok网)

服务延迟数据如下(使用-dpdk):nlm物理好资源网(原物理ok网)

背景流量nlm物理好资源网(原物理ok网)

段延迟nlm物理好资源网(原物理ok网)

10W流表,并发流量nlm物理好资源网(原物理ok网)

3你nlm物理好资源网(原物理ok网)

10W流表,并发流量nlm物理好资源网(原物理ok网)

6unlm物理好资源网(原物理ok网)

4.nlm物理好资源网(原物理ok网)

开源社区贡献nlm物理好资源网(原物理ok网)

nlm物理好资源网(原物理ok网)

不仅为开源社区提供,我们还会向开源社区反馈新功能和性能优化补丁:OVS、DPDK、Linux内核社区(约80+个补丁),Linux内核补丁列表如下如下:nlm物理好资源网(原物理ok网)

团队介绍nlm物理好资源网(原物理ok网)

nlm物理好资源网(原物理ok网)

滴滴云平台事业群滴滴SDN网络团队负责云网络产品的规划、设计和开发。 为公有云提供负载均衡SLB、私网VPC、弹性网段EIP、SNAT、云互联等服务。 团队在Linux内核网络虚拟化、DPDK、OVS、可编程芯片、RDMA、智能网卡、云网络业务需求的系统优化等领域有着广泛而深入的研究。 团队拥有多个开源社区,涉及OVS、DPDK、Linux内核等。nlm物理好资源网(原物理ok网)

关于作者nlm物理好资源网(原物理ok网)

nlm物理好资源网(原物理ok网)

专注高性能网络技术,从事云网络研发。 活跃于 Linux 内核、OVS 和 DPDK 开源社区。nlm物理好资源网(原物理ok网)

发表评论

统计代码放这里