运营商智能网卡需求场景白皮书ODCC-2022-0300E 分布式存储技术与产业分析报告 1 [编号ODCC-2022-0300E] 运营商智能网卡需求场景白皮书 开放数据中心标准推进委员会 2022-09发布 运营商智能网卡需求场景白皮书ODCC-2022-0300E 版权声明 ODCC(开放数据中心委员会)发布的各项成果,受《著作权法》保护,编制单位共同享有著作权。 转载、摘编或利用其它方式使用ODCC成果中的文字或者观点的,应注明来源:“开放数据中心委员会ODCC”。 对于未经著作权人书面同意而实施的剽窃、复制、修改、销售、改编、汇编和翻译出版等侵权行为,ODCC及有关单位将追究其法律责任,感谢各单位的配合与支持。 I 运营商智能网卡需求场景白皮书ODCC-2022-0300E 编制说明 本报告由中国移动通信集团公司牵头撰写,在撰写过程中得到了多家单位的大力支持,在此特别感谢以下参编单位和参编人员: 参编单位(排名不分先后): 中国移动通信集团公司、中国电信研究院、锐捷网络股份有限公司、中兴通讯股份有限公司、华为技术有限公司 参编人员(排名不分先后): 王瑞雪,秦凤伟、吴林泽、吴航、阎松明、赵宝鑫、郭力军、刘红巧、曾宏宽 II 运营商智能网卡需求场景白皮书ODCC-2022-0300E 前言 数据中心作为数字经济领域基础设施,成为5G、人工智能、大数据等新兴信息技术应用的核心载体。算力时代,数据中心从聚集业务弹性伸缩灵活部署向聚焦超大规模、多样性的数据处理转变,提升单位时间单位能耗下的运算能力及质量成为核心诉求。 业务快速发展驱动数据中心网络向高带宽和新型网络协议发展,数据增长驱动网卡端口速率从10G快速向25G和100G+演进,由于摩尔定律放缓,CPU算力增长无法匹配IO数据带宽增长的需求。同时边缘计算及虚拟化技术的发展不断驱动运营商核心设备云化部署,给算力资源处理效率带来巨大挑战。由于CPU不适合处理大量并行固定模式的计算,导致算力资源消耗与网络及业务性能提升难成比例,将这些服务卸载在专用硬件的需求迫在眉睫。网卡作为连通算力资源和网络的核心部件,成为最理想的卸载位置。 智能网卡是一种专注于加速网络、存储、安全等业务的专用处理器,除具备标准网卡的数据转发能力外,还引入网络加速、硬件卸载以及可编程能力,支持将不适合主机CPU处理的高性能数据处理卸载到硬件芯片执行,提升业务处理性能,充分释放算力资源。 III 运营商智能网卡需求场景白皮书ODCC-2022-0300E 目录 版权声明I 编制说明II 前言III 一、智能网卡产业现状分析1 (一)智能网卡发展历程1 (二)智能网卡类型1 (三)智能网卡产业及应用情况2 二、运营商引入智能网卡场景分析3 (一)OVS卸载4 (二)弹性裸金属6 (三)存储卸载7 (四)虚拟网元业务加速8 1.虚拟深度包检测(vDPI)8 2.虚拟防火墙(vFW)9 3.虚拟负载均衡器(vLB)10 (五)高性能无损网络11 (六)端到端可视化运维能力卸载12 三、总结与展望14 (一)标准化现状及推进思路14 (二)国产化现状及推进思路15 (三)业务需求差异性与网卡通用性的取舍博弈15 IV 运营商智能网卡需求场景白皮书ODCC-2022-0300E 四、参考文献16 五、缩略词16 V 运营商智能网卡需求场景白皮书ODCC-2022-0300E 一、智能网卡产业现状分析 智能网卡经过多年探索与实践,应用场景及产业发展前景已逐渐清晰,但智能网卡的技术架构仍然处在发展完善之中,包括上游的芯片厂家推出不同芯片解决方案,中游的智能网卡厂家针对不同的应用场景开发了不同的智能网卡产品,提出了在不同场景下的解决方案。 (一)智能网卡发展历程 摩尔时代,CPU算力增长无法跟上数据中心网络传输的增长速度,而且在高带宽和更加新型的传输体系下,网络功能处理同时也越发复杂,将网络功能卸载到可编程硬件的需求愈发迫切。智能网卡发展历程分为三个阶段: 第一阶段:基础功能网卡即普通网卡,能够提供2*10G带宽基本能力;硬件卸载能力较弱。传统网卡在完成在完成数据收发工作外,不处理任何与云化、业务相关的计算任务。 第二阶段:硬件卸载网卡(第一代智能网卡),不同于传统网卡,智能网卡卸载云化网络转发功能,提供高性能网络转发能力,释放CPU通用计算资源,满足各种offload需求,包括传输和存储协议。同时,提供网络可编程能力,实现网络转发逻辑的定制化,保证了功能的灵活性。 第三阶段:DPU智能网卡,在第一代智能网卡的基础上加入CPU而形成的第二代智能网卡,可以实现控制面和转发面的全卸载。DPU是以数据为中心构造的专用处理器,采用软件定义技术路线支撑基础设施层资源虚拟化,支持存储、安全、服务质量管理等基础设施层服务。DPU智能网卡是一个具有加速能力并可卸载服务器(或存储服务器)CPU功能的网络适配器。 (二)智能网卡类型 1 运营商智能网卡需求场景白皮书ODCC-2022-0300E 智能网卡一方面受计算平台芯片产业发展的影响,另一方面也受到智能网卡市场需求推动,目前衍生了不同的技术架构。其中主要有SoC、FPGA、NP、ASIC四种基本类型。 SoC:SoC是广泛采用多核CPU片上系统,具有较高的性价比和非常强的编程灵活性,但存在功耗高、转发性能低的劣势。SoC提供了性能和可操控性的平衡,可用于各种场景的功能卸载。 FPGA:FPGA被广泛用于各种网络、通信设备中,具有很好的可编程特性,功能扩展灵活,但存在成本略高、高性能FPGA开发周期长的劣势。FPGA兼具性能和灵活性,适用于智能网卡需求尚未完全明确、功能没有完全固化的阶段,功耗低于SoC卡,通过FPGA迭代开发来应对智能网卡应用场景需求的变化。 NP具有功耗较低、开发效率较高等特点,处理性能基本接近ASIC。由于采用硬件技术解决了多核并发带来的资源互斥问题,同等功能的网络特性用NP微码开发要简单很多,能效比更是远高于通用CPU。但NP的技术门槛高,生态上不成熟,主要用于数通产品,适合转发加速。 ASIC具有功耗低、性能强、效率高的优势,但其定制开发成本高、生产周期长,由于逻辑处理被ASIC硬件固化,因此功能扩展和灵活性方面有较大限制,主要功能固定。ASIC卡适合大规模使用,很难应对复杂的应用场景。 基于以上四种基本架构可对智能网卡进行简单分类,但实际上单一芯片架构通常难以满足复杂多样的场景需求。SoC通过CPU做业务功能加速,虽然具备编程灵活、功能强大的优点,但性能和功耗方面存在瓶颈。FPGA、NP、ASIC性能方面比较强,但编程灵活性方面存在短板。因此,除了SoC片上系统CPU加速外,智能网卡主要以SoC+FPGA、SoC+NP、SoC+ASIC增强形态出现,同时也因基础架构的不同而适用于不同场景。 (三)智能网卡产业及应用情况 2 运营商智能网卡需求场景白皮书ODCC-2022-0300E 智能网卡首先由国外互联网云商进行先期探索,并验证了智能网卡能够有效提升云数据中心效能。国内阿里巴巴、腾讯等互联网企业也积极研发智能网卡产品,降低其硬件投入和运营能耗,提升其云数据中心产品及服务的竞争力。 Amazon的AWS在2013研发了Nitro产品,将数据中心开销(为虚机提供远程资源,加密解密,故障跟踪,安全策略等服务程序)全部放到专用加速器上执行。随后基于Nitro项目,Amazon于2013年推出第一代智能网卡AWSNitroC3,主要解决了服务器虚拟化层Hypervisor的卸载分担问题,把Hypervisor层削薄,把一部分能力转移到智能网上。 微软在2015年将第一代AzureSmartNIC部署在计算服务器中。微软选择了FPGA方案,能够不消耗主机CPU核资源,满足SRIOV硬件的延迟、吞吐量和利用率要求,并支持SDN功能,具备高可维护性,即可适应新功能的可编程性,又能利用定制硬件的性能和效率。 阿里巴巴集团在2016年启动了X-Dragon神龙项目,明确提出虚拟机性能损失应降为0。X-Dragon芯片可以让部署神龙芯片的设备完全具有虚拟机的特性,包括虚拟机的接口,实现裸金属和虚拟机同样的扩展和管理功能,和现有的云环境可以通过私有接口或OpenAPI无缝集成。 腾讯在2020年推出第一代水杉智能网卡,实现了云主机的vSwitch功能下沉到智能网卡,物理机网络功能也下沉到智能网卡,在提升了服务器内网络性能的同时,也使云主机和物理机具有相同的硬件架构。 二、运营商引入智能网卡场景分析 从运营商角度来说,云化NFV的发展从最初的大区集中式的10G网络的数据中心需求变成分布式数据中心,集中大区数据中心带宽由10G已经发展到了25G,并朝着100G发展。而边缘数据中心则承载着更高带宽、更低时延的视频、工业互联网等业务,对网络带宽、存储性能都有着极其严苛的需求。传统的DPDK/SPDK在消耗了足够的CPU资源的基础上已经无法满足更大带宽(25G以上)以及更高存储性能(50MPPS)的需求。此外,受限于裸金属架构及虚拟化平台 3 运营商智能网卡需求场景白皮书ODCC-2022-0300E 能力,导致裸金属服务器无法像虚拟机一样弹性部署,资源调度不灵活。同时,一些新的技术,如无损以太网、RDMA等技术应运而生,以数据为中心的处理器-智能网卡架构也由此诞生。 (一)OVS卸载 网络流量激增及业务需求演进推动数据中心网络向高带宽和新型传输体系发展。云服务商为租户提供虚拟机租赁业务,并依赖虚拟交换机(vSwitch)收发数据包。中国移动云数据中心普遍采用NFV/SDN架构,虚拟交换机vSwitch采用开源组件OVS进行增强开发;同时在每台计算节点上为OVS预留固定的物理核资源,实现计算节点vSwitch转发。由于CPU不适合处理并行固定模式计算,导致vSwitch转发性能提升与算力资源消耗难成比例,无法满足高速率网卡限速转发要求。且后摩尔定律时代,算力增长速度与数据中心网络传输速率增长速度不匹配,且差距持续增大,将网络功能卸载到专用硬件芯片的需求愈发急迫。 将vSwitch卸载到智能网卡,实现网络功能硬件卸载和加速,释放主机算力资源用于其它业务处理。根据网卡芯片能力及场景成熟度,存在转发面卸载及全卸载两种模式。 转发面卸载模式:仅将非常消耗CPU资源的转发面卸载到网卡,控制面仍运行在主机中,转发面卸载模式具有如下特征: 转发功能卸载到网卡上,从而降低OVS计算服务器上的资源占用,释放转发面算力资源,计算节点可部署更多的虚拟机。 通过将现有OVS+DPDK的快速流表查找转发卸载到智能网卡,流量优先匹配智能网卡的流表,完成快速查表转发,并完成VxLAN封装解封装,CAR限速等功能;通过上述方式,即可以减少转发时CPU资源的消耗,也能提升转发性能及表项规格。 4 运营商智能网卡需求场景白皮书ODCC-2022-0300E 全卸载模式:将控制面和转发面一起卸载到网卡上,实现对主机侧算力资源零消耗,全卸载模式具有如下特征: 控制面和转发面同时卸载到网卡上,全面释放转发面和控制面算力资源,计算节点可部署更多的业务。 由于控制面业务逻辑复杂,对网卡有额外算力要求,依赖板载CPU支持。 图1vSwitch全卸载模式架构 此外,当前SDNvSwitch实现的软转发功能面临如下挑战: 通过物理CPU绑核实现的vSwitch软转发通过软件实现转发,可支撑的带宽有限。控制面网元所需转发带宽在10GE~15GE之间,可通过OVS绑核预留资源实现。但随着服务器计算密度变大,所需OVS转发带宽变大导致OVS预留资源随之增加也无法满足数据面高转发要求,故需要使用OVS卸载,即通过硬件网卡实现OVS转发。 SDNvSwitch实现转发技术需要在vSwitch内创建流表五元组(源目的IP地址、源目的端口号、协议类型),以实现消息包的快速转发,但是在