【技术探讨】云网融合下的智能网卡技术
1 引言
随云计算和网络技术演进,运营商网络正在从自动化转向智能化,从聚焦业务快速发放向数据高效处理、网络高效运维转变。数据驱动网络带宽以几何级数增长,接口速率向100G接入400G汇聚演进;为降低成本功耗和时延,业务向边缘移动;4G、5G控制面网元已全面NFV化,UPF、BRAS-U等网元功能逐步完成NFV部署。数据中心网络流量以每年25%速度增长,网络带宽3年翻番,商用交换芯片容量2年翻一番;随着智算中心的出现,数据中心网络向高吞吐量、低延迟超大规模网络演进。受算力和存储介质速率的驱动,数据中心网络端口速率从10G/25G 向100G/400G演进;随着HPC等敏感型业务发展及存储介质及协议升级,驱动网络端到端时延从微秒向纳秒级演进。后摩尔定律到来,CPU 计算能力增速低于网络传输速率增速,且差距持续增大,将网络功能卸载到可编程硬件的需求愈发急迫。
云、网、边、端存在算力资源分散、利用率偏低且协同工作困难的问题,同时在“东数西算”国家战略推动下,业界急需算力和网络的融合创新,实现算力自由调配和交易。智能网卡作为连通存储、算力资源和网络的核心部件,在新一代算力网络建设中发挥重要作用。
2 云网应用场景分析
智能网卡,简而言之就是智能加持的网卡。网卡一般是指网络接口卡,是一种插入服务器或存储设备中以实现端到端的以太网连接PCIe卡,而智能网卡应该具备较强可编程性,与现有的开源生态系统无缝集成,最大限度地提高特定算法、协议和虚拟化功能特性及其性能。智能网卡以其灵活的可适配的功能特性,可以应用于云计算、网络或云网融合的各种普适的或特定的场景中。
2.1 SDN/NFV场景的功能卸载和虚拟化加速
网络建设近几年一直向SDN/NFV方向发展,但众所周知,网络功能虚拟化实现的灵活性与高性能之间是一对矛盾体,不可得兼。因此很多网络功能模块会卸载到智能网卡上实现,实现网络业务卸载与加速。
OVS功能卸载
传统SDN/NFV功能是计算节点运行软件实现,如上图所示,实现主机侧CPU算力释放,将OVS转发和控制面有选择地卸载到智能网卡CPU和ASIC/FPGA;OVS转发面依赖主机CPU查表转发,性能受限,将转发面卸载到网卡侧硬件芯片,满足25G、100G及后续更大带宽网卡线速转发要求;OVS快表规格受Cache空间资源限制,快表规格无法实现百万级,通过硬件卸载到网卡侧DDR,由网卡侧CPU协助处理刷新,提升快表处理速度。底层逻辑电路基于FPGA或P4可编程ASIC实现,工程上还可以实现快表规格的远程刷新,达成智能网卡功能的实时迭代更新和固件管理维护。
智能网卡诸如此类网络应用情景还有很多,较典型功能汇总如下:
虚拟交换机(OWS)卸载:Open vSwitch,目前常用的虚拟交换解决方案之一;支持openflow协议;支持IPV4/IPV6;支持细粒度的Qos和ACL硬件加速;
TCP/IP硬件加速:TCP/UDP offload engine,主要是UDP/TCP/IP Checksum offload;以及提升网络收发性能的TSO/GSO/LRO/GRO/RSS等的TCP数据包分片处理技术;
网络特定业务加速:网络安全加密,在线IPSec和TLS加密加速,以及多种标准加解密算法和国密算法;网络可视化,传统SNMP协议,无法反映路径、丢包、时延等真实网络状态;随引入智能网卡实现真正实现业务端到端 网络可视化,降低CPU消耗。UPF虚拟化采用智能网卡加速业务处理已成为业内主流方案,如vDPI硬件加速,解决高新建、高并发、高吞吐特点。
2.2 云计算场景智能网卡成为高性能网络重要载体
随着数据中心流量不断增大,分布式AI、视频和分布式全闪存的高性能存储对网络时延和带宽需要越来越高,传统的承载TCP/IP的以太网互联技术越来越难以满足需求,因此数据中心网络逐步采用更加高速、可靠和稳定的链路技术和网络协议。
主流高速互联网络有InfiniBand、ROCEv2、iWARP和Omni-Path等,其中,RoceV2与传统以太技术兼容且具备较好性能,以其最好性价比,逐步成为市场主流解决方案。RoceV2协议将infiniband的链路层协议头去掉,代之以UDP/IP和以太网mac形成新封装,配合新的拥塞控制等流控技术实现无损的物理传输。在硬件层面上主要是在网卡上作了硬件加速,可以支持RDMA和NVMe OF等,其他硬件设备没有影响。
ROCEv2与传统TCP/IP数据收发对比
如图所示,面向边缘视频加速、CDN等场景,引入智能网卡实现ROCEv2等协议卸载,RDMA技术规避多次内存拷贝,不需要CPU参与,实现内核旁路,消息支持事务处理,实现内存缓冲分散/聚合操作等;还可以支持NVMe OF:比如NVMe协议挂载到RoCEv2网络,提升协议处理性能,释放CPU算力。
虚拟化技术是云计算服务得以实现的基础技术,智能网卡集成网络IO虚拟化,主要是VirtIO-net框架实现和DPDK功能卸载并支持二次开发;存储IO虚拟化涉及VirtIO-BLK及驱动加速,以及PCIe协议的SR-IOV机制;虚拟设备的管理:虚拟机场景下,VF的配置和管理,裸金属场景下,PF的配置和管理;对动态热插拔支持,虚拟机场景下,Guest OS需要支持VF的动态热插拔;裸金属场景下,Host OS需要支持PF的动态热插拔。智能网卡还可以集成虚拟局域网技术,VXLAN封装/解封装的硬件级实现;还有NVGRE隧道、GeneVe隧道硬件加速;远程块存储方面,可以实现软件定义存储的硬件处理,NVMe存储虚拟化硬件加速;以及支持存储软件卸载,网卡侧使能SPDK,实现支持二次分布式存储开发。
2.3 云网协同场景下,实现关键业务加速
无论是网络领域的算力网络还是云计算领域的泛在计算,都希望实现算力自由调度分配,自由交易。算力网络不管是是基于Overlay还是基于Underlay实现,在算力基础设施层都需要完成算力度量和本节点的算力标识的算力映射过程。
算力网络下的智能网卡应用
如图所示,如果算力度量和节点算力标识在计算资源节点内部完成,势必会占用计算资源,造成测量不准确。而智能网卡作为本地专用的算力,可以不参与算力网络的调度与分配。所以建议将本节点的算力度量和标识卸载到智能网卡来完成,这样既不占用本节点算力,又相对得到较准确度量结果。
在算网融合的算网基础设施里,还有在网计算的需求。在网计算是通过在网络中部署对报文进行解析的算力,将部分计算任务从主机侧迁移至网络侧,由交换机、路由器、智能网卡等设备或部件完成计算加速的技术。对数据进行随路计算,降低通信延迟,提升计算效率,减小总体能耗。比如实现流量压缩与解压,对网络数据包,或者要存储的数据,进行实时地数据压缩/ 解压缩处理,压缩过程中还要完成地址的转换和重映射等操作;或者在线完成数据流变换处理,如面向多媒体流、CDN(内容分发网络)和4K/8K IP视频的“Packet Pacing” 流量整形加速等。
智能网卡作为一种机动灵活的部件,并不需要加载以上所有功能,一般会根据具体应用场合,加载与场景应用适配的功能,所以智能网卡的种类会比较多。当然,在兼顾成本的情况下,集成的功能越多,普适性越好。
3 总结与展望
目前智能网卡主要应用于公有云服务商,面对当前架构下软件层面无法突破的性能瓶颈,主流公有云厂商选择硬件加速和软硬一体的架构模式,实现平台性能和资源利用率的大幅提升。金融、AI和超算集群的行业,尤其是高性能存储、AI/GPU计算领域的智能网卡引入较多,重点是提升服务器的网络转发性能、降低时延等。国产CPU的算力与国际体系仍有差距,对业务卸载优化性能有更强的诉求,对业务和数据的安全要求更高,对智能网卡生态适配更加关切。
未来算网一体的新型网络支持IP、地理空间、内容、身份等灵活多元寻址与路由,支持智能运维和无损传输,支持内生可信的安全。智能网卡处于计算节点和网络衔接的位置,在新一代算力网络建设中仍会继续承担重任,智能网卡技术也会随着云网融合技术进步而发挥新作用。
参考文献:
1 中移动-《算力网络白皮书2021》
2 《ODCC-2019-03005 开放智能网卡发展报告》
3 中科院计算技术研究所 -《专⽤数据处理器(DPU)技术⽩⽪书》
4 黄朝波《软硬件融合-超大规模云计算架构创新之路》-电子工业出版社
5 张磊 陈乐《云数据中心网络架构与技术》- 人民邮电出版社
6 高山渊等 -《企业数字化基石-阿里巴巴云计算基础设施实践》-电子工业出版社
7《ODCC-2021-05001 数据中心智能无损网络白皮书》
8 NVMe协议族-《The core of NVMe and NVMe over Fabrics integrated into a base specification》
9 NVMe协议族-《NVM-Express-Base-Specification-2_0-2021.06.02-Ratified-5》
10《ODCC-2020-01008 数据中心算力白皮书》
本文为ODCC成员专家投稿,不代表ODCC观点
欢迎留言进行技术探讨