随着我国拉开 “新基建”战略帷幕,5G、千兆光纤网络建设发展迅速,云计算、 数据中心、智算中心等基础设施快速扩容。 网络带宽从主流10G朝着25G、40G、100G及以上攀升。 网络连接数和带宽的剧增使得数据的通路更宽、更密,直接将处于端、边、云各处的计算节点推上数据量巅峰。而CPU性能难以跟进数据量的增长,所以寻求更高计算能力的芯片成为业界共识。
计算架构从以CPU为中心的加载Onload模式,向以数据为中心的卸载Offload模式转变, 异构加速技术成为趋势。 市场需要一种具有更强卸载能力的智能网卡产品。它除了能完成标准网卡所具有的网络传输功能之外,还提供内置的可编程、可配置的硬件加速引擎,大幅降低CPU在网络、安全、存储、虚拟化等方面的消耗,为应用提供更多的CPU资源。
本文介绍国产智能网卡产品的体系架构、功能特性,从芯片到网卡到软件的计算网络整体解决方案。
全球智能网卡行业市场中,头部国外企业NVIDIA、Intel和Broadcom历经数十年技术和标准上的沉淀更迭与演进,形成市场渠道的明显优势。
国产自主可控的智能网卡芯片面临技术门槛高,切换风险大、迭代周期长,加之上游EDA和先进制程工艺受控,产品常徘徊在打磨优化阶段。
在整个产业链条上,如核心知识产权、制造工艺、软硬件生态、商业化应用等关键环节,实现国产智能网卡稳定量产主要面临如下挑战:
国内企业需要开发设计一套匹配网络专用优化的硬件和指令架构,包括丰富的硬件加速和协处理单元。在保证高效网络处理能力的同时,兼顾灵活可编程化的业务卸载能力。为了解决芯片内不同组件高速互联的要求,需要设计高带宽、低延迟互联总线,实现不同代际芯片的平滑演进。
国内企业需要优先使用国产IP和EDA设计工具。在工艺量产方面,网卡芯片可逐步采用国内成熟的晶圆工艺制程,比如22nm/28nm节点,符合功能满足、极致功耗,实现全链条自主可控。
要求依照国内信创生态和主流服务器方案,完成全部CPU、操作系统OS、服务器整机全方位的兼容。 同时,应参与国际软件生态社区建设,兼容并参与Linux、DPDK、OVS等开源社区,克服和扫平底层适配的诸多性能功能障碍,保证良好的上下兼容适配性,方便用户平滑切换,快速上线部署。
智能网卡需要结合客户业务开发卸载加速。根据不同的应用场景和侧重点,企业需要通过灵活快速的定制化服务来实现客户业务加速,以典型案例来证明产品的可靠性、稳定性,解决客户部署应用的隐忧顾虑。
传统网卡在完成数据收发工作以外,不处理任何与云化、业务相关的计算任务。而网卡作为串行在网络与计算之间的桥梁,是可以解决计算瓶颈的关键硬件。不同于传统网卡,智能网卡卸载云化网络转发功能,提供高性能网络转发能力,释放 CPU 通用计算资源。同时,提供网络可编程能力,实现网络转发逻辑的定制化, 保证了功能的灵活性,并且能够与现有的开源生态系统无缝协作,适用各类多样的客户场景,以便快速地部署应用。
芯启源电子科技公司坚持自主研发,脱颖而出,成为目前国内率先拥有知识产权且商用量产的智能网卡产品供应商【1】。智能网卡技术路线采用基于独特的、可扩展的网络流处理器NFP方案,兼具FPGA的高效、灵活可编程和ASIC专用处理器芯片的低成本、低功耗优势。
基于软件可升级的编程模式,利于从普通网卡直接平滑升级到智能网卡的一体化可持续部署,从而减少硬件更新的复杂性和未来升级的成本。
智能网卡提供从芯片、板卡、驱动软件和全套云网解决方案。 它涵盖自主研发的DPU芯片技术、网卡板卡设计制造技术以及同现代云软件强绑定的生态化软件技术,其中包括SDN(软件定义网络)安全、虚拟化技术和现代化集群化存储、负载均衡技术。
智能网卡的核心DPU芯片-- NFP网络处理器芯片内部结构如图1所示。 NFP芯片的组成包括Serdes/MAC模块、入出方向Ingress/Egress报文分类处理、流控引擎、加解密引擎CRYPTO、网络报文处理器FPC引擎簇、ARM管理引擎、PCIe主机接口模块以及内外部高速缓存和内存接口。
图1 NPF芯片内部架构图
网络报文处理器引擎采用先进的众核并行架构。芯片内部通过片内FPC岛Island互联技术总线,整合多个FPC报文引擎集群,使得引擎能共享访问分类流控、加解密和高速存储组件,共同构成用于网络数据处理的DPU芯片。
芯片内含的众核处理器支持使用C和汇编等语言进行高效的编程开发,同时支持业界热门的P4高级开发语言、 eBPF等语言,进行高层次的深度开发。正是这种灵活特性带来了支持现代云计算等各种场景下网络应用的便利。
采用自研DPU芯片开发的智能网卡板卡产品系列,包括双端口/四端口10G/25G/40G/100G半长半高小体积的PCIe标准智能网卡和符合OCP 3.0标准的板卡。
全系列智能网卡具备基础网卡的功能之外,在端口上能达到线速率的报文处理,尤其针对小报文的处理上在25G端口的场景下可达到40Mpps的性能,网络延时可控制在30微秒内,与国际上处于领先水平的网卡达到一致水平。
- 支持Open vSwitch透明卸载
开源交换机Open vSwitch,简写为OVS,在现代化的云架构中,尤其是国内基于OpenStack/CloudStack环境中成为实现SDN的核心工具。其完整地支持OpenFlow协议,同时与市面上众多的SDN控制器进行耦合。
智能网卡的出现首先要解决现代云环境中OVS的卸载难题,避免以消耗CPU为代价而影响云主机的效率。 这包含几个核心的技术:
A)隧道Overlay技术,包括VXLAN/GRE/GENEVE等;
B)链接跟踪技术Conntrack卸载支持有状态跟踪;
C)端口负载均衡/主备Bond技术;
D)SRIOV单个虚拟化和网卡Switchdev技术
- 支持内联(inline)模式下的安全算法
本智能网卡采用网卡和加密设备合一, 区别于业内其他旁路卸载加速卡,减少了流量路径、时延,增加了处理性能,同时没有额外的设备投入,节约成本。在集成国密SMx算法、保障性能的同时,满足了国产化安全的要求。
图2表示inline模式流量路径对比卸载加速卡旁路模式流量路径。通常情况下,加解密加速卡均采用旁路(lookaside)模式, 最高可支持1-2Gpbs网络报文加解密功能。inline模式下,通过智能网卡内置的硬件Crypto加速引擎,支持高达160Gbps的加解密性能。
图2 inline模式流量路径对比卸载加速卡旁路模式流量路径
- 支持硬件层面的高度可编程
智能网卡可以支持用户进行P4、eBPF和C语言等定制化开发,芯片内部硬件资源完全高度可编程。利用开源P4编译器,以及配套的P4语言和衍生出对C语言的支持,无缝编程SDN应用到智能网卡产品的解决方案,以便于开发人员对复杂功能的实现。整个开发流程,包括了P4工具链、开发环境和整个适配P4语言场景的网络报文处理Pipeline, 灵活的特性可以支持现代云计算等各种场景下的网络应用。
智能网卡诞生初衷是要完成从以计算为中心到以数据为中心的转型,通过网络业务模式创新和硬件加速技术,构建和拓展存储和安全性能,进而提升计算业务的效能。选择智能网卡类型需结合业务场景,在网络灵活性、可编程能力、网络性能等多方面进行评估。
一个富有生命力的软件生态需要提供一个基于开放社区的软件堆栈以及用户驱动,且与供应商无关的软件架构,支持既有的开源应用程序生态系统, 包括Linux Kernel、DPDK、OVS,SPDK等已经在用户侧有广泛应用的开源应用软件。
智能网卡赋能浙江移动SD-WAN是一个典型范例。 芯启源智能网卡Agilio数据面处理卸载能力和硬件加解密能力,赋能浙江全省新一代软硬件一体化SD-WAN网,实现高弹性、高安全、高性能、高可靠的业务需求。
SD-WAN网络vPE部署于地市融合云节点,将PoP点服务器原有基础网卡替换成智能网卡,实现L2TP网络隧道、VxLAN用户隧道等数据处理卸载和IPSec数据安全业务卸载。 该SD-WAN组网方案已经在中国移动浙江公司全面铺开建设,将全省11个地市的PoP节点服务器替换成芯启源Agilio智能网卡,从而将SDN技术应用于广域网场景服务。
随着应用需求广泛深入,植入国产DPU的智能网卡正迈向量产的新台阶,相信只要把握好时间窗口,在移动互联网、工业互联网、车联网等领域国产芯片替代上规模指日可待。
参考来源:
[1] 费宗莲 王琛琛 辛少帅 陈奉明 2024年6月25日, 《电子工程专辑》,“揭开网络控制器DPU国产替代序幕“,https://www.eet-china.com/newsexpress/72115.html
技术术语:
DPU – Data Processing Unit 专用数据处理器
SDN – Software Defined Network 软件定义网络
NFP – Network Flow Processer网络流处理器
OpenStack/CloudStack – 一个开源云计算平台
OpenFlow – 一种应用于SDN架构的管理协议
eBPF – 一种编程语言
NFV – Network Function virtualization 网络功能虚拟化
OVS – Open vSwitch一种支持多层数据转发的虚拟交换机
SD-WAN – 一种将SDN技术应用于广域网场景的服务