DPU技术在算力网络中的思考与实践

作者:中国移动通信有限公司研究院 班有容 王锦涛 王鹏 王升 陈佳媛 刘景磊 张昊 责任编辑:王鹤迦 2022.09.07 11:59 来源:通信世界全媒体

通信世界网消息(CWW)产业数字化转型带动了数字经济飞速发展,算力正在逐步成为新时代的核心生产力,算力发展同步带动了网络变革,为了达到极致的数据处理效率,出现了多种以数据为中心的新型计算架构,其中DPU作为软硬融合的新型计算架构代表,成为行业主流发展方向。DPU是算力网络创新技术之一,统筹虚拟化、数据安全、运维管理等领域,是构建高性能、高可靠云化平台的关键技术,因此应大力推动DPU技术发展与生态成熟。 

DPU技术概述

DPU概念存在多种解读方式,如数据处理器(Data Processing Unit)、数据中心处理器(Datacenter Processing Unit)以及以数据为中心的处理器(Data-centric Processing Unit)。无论以何种维度解读,DPU从本质上来看,是一种围绕数据处理提供网络、存储、安全、管理等数据中心基础设施虚拟化服务的专用处理器,是由ARM/x86等架构的CPU与ASIC(Application Specific Integrated Circuit)/FPGA(Field Programmable Gate Array)等专用硬件加速引擎形成的提供虚拟化功能的实体。DPU的出现源于业务发展给云计算领域带来的诸多难题。

一是资源争抢限制。同一计算节点上的云主机实例与虚拟化软件共享计算资源,随着资源需求的提高,资源争抢容易造成服务质量不稳定,尤其在大负载、大流量时I/O性能容易出现严重抖动,无法保障稳定的SLA体验。

二是计算特性损失。云计算技术的核心是Intel VT等硬件辅助虚拟化技术和KVM等主流虚拟化系统软件,通过这些技术为用户提供类似物理服务器资源的虚拟机。但是,一方面,虚拟机相比物理机存在一定的性能损失;另一方面,用户无法在虚拟机中再次部署虚拟化系统,导致私有云无法更好地利用公有云弹性云主机资源,限制了云主机的使用场景。

三是裸金属管理问题。裸金属可以解决虚拟化带来的计算特性损失问题,但是裸金属CPU资源需要全部提供给用户,因此无法在主机CPU上运行云平台管理组件,需要通过带外管理流程完成裸金属实例的部署、交付和运维,整个流程与虚拟化场景差异较大,不符合云计算弹性、灵活的原则。此外,裸金属实例在对接远端分布式存储时,由于存储客户端需要运行在属于用户的CPU上,因此存储网络暴露存在安全风险。

四是随着人工智能的普及,越来越多的云上AI计算任务对网络和存储I/O的时延性能提出了更极致的需求;而RDMA(Remote Direct Memory Access)和NVMe(NVM Express)等高性能网络和存储协议在传统网卡架构下,难以满足云计算多租户场景的灵活需求。

image.png

图1  DPU在云计算场景实现全卸载

如图1所示,DPU在云计算场景实现全卸载,作为主机的数据出入口,DPU在具备标准网卡能力的同时,利用专用硬件完成网络和存储I/O,在释放主机CPU算力资源的同时提升I/O性能。业务(主机CPU)与虚拟化软件(DPU)的硬件载体分离,使得业务与云平台的隔离性以及主机的安全性进一步提高。运行在DPU中的管理软件可提供裸金属的云化管理能力,提升裸机业务灵活性,降低运维难度。

DPU技术面临的挑战

DPU作为一种软硬融合的虚拟化架构,一方面需要与虚拟化软件栈对接,另一方面其硬件的特殊设计导致卡与服务器存在更多的适配对接需求,因此DPU产业发展与软硬件市场的配合存在强关联。充分理解行业需求并拉通软硬件形成完整解决方案,成为DPU发展与落地的关键。

在业界主流DPU方案中,由于对硬件路线选择不同,DPU卡的硬件设计存在较大差异;同时,各厂家均开始布局自有配套软件生态,并呈现出各自为营的态势。业界主流DPU厂商软硬件生态见表1。

表1  业界主流DPU厂商软硬件生态

image.png

纵观处理器芯片几十年的发展历程,定制产品总是逐渐走向硬件形态的标准化和软件生态的通用化,最终形成专用与通用并存的格局。DPU作为继CPU、GPU之后的第三颗数据中心核心处理器,基于自身虚拟化需求定制软硬耦合DPU产品,固然能够最大化发挥DPU产品优势,但是随着更多的数据中心提出DPU需求,这种方式的技术门槛和引入成本过高,难以复制。而商业DPU产品由于各自发展软件栈生态,也出现了软件与DPU适配对接成本较高的问题。同时,DPU与服务器整机的生态也不可忽视。从物理关系上看,DPU是挂载在服务器主CPU下的PCIe子设备,但从顶层云管逻辑来看,DPU是服务器的管理员,是提供数据加速、存储加速、安全管控及云管的云底座。因此,不同于传统网卡、GPU等标准PCIe设备,主从关系的倒换使得DPU对传统服务器硬件设计提出了特殊要求。 

基于DPU的算力基础设施架构

如图2所示,基于DPU的算力基础设施架构由服务器硬件层、DPU软硬融合层、平台应用层3层组成,包含管理、网络、存储、计算、安全五大系统,可支持弹性裸金属、无损网络、高性能存储等功能,实现虚拟机、容器、裸金属的统一承载和管理。基于DPU的算力基础设施按需对网络、存储系统进行卸载加速,可以更高性价比实现性能提升。image.png

图2  基于DPU的算力基础设施架构

DPU软件标准化推进建议

与CPU和GPU之类先有硬件再有软件生态的发展路径不同,DPU承载的虚拟化软件已经较为成熟,DPU在此基础之上实现功能和性能的提升,因此对于业界云平台以及DPU厂商来说,DPU能否规模部署取决于DPU配套软件是否“能用”且“好用”。

DPU软件系统标准化如图3所示,结合典型DPU应用场景需求、DPU软件部署方式、开源社区方案成熟情况,在此给出DPU管理、网络、存储、计算和安全五大系统软件标准化建议。

image.png

图3  DPU软件系统标准化

管理系统

管理系统主要负责裸金属、虚拟机、容器实例的生命周期管理,并完成网络和云盘的配置操作。引入DPU后,计算节点上的管理系统软件(如OpenStack等)安装位置从主机侧CPU调整到DPU侧CPU上。DPU需支持管理系统软件的编译、安装,可以通过DPU OS和Host OS互通或者融合的方式,实现传统云平台管理软件在DPU上的无缝迁移部署和无感卸载,降低适配开发成本。

网络系统

业务的发展对虚拟化网络的带宽和时延要求不断提高,通过硬件卸载虚拟化网络成为主流。虚拟化网络硬件卸载主要包含两大部分——虚拟交换机(vSwitch)和虚拟网络接口。虚拟交换机是云计算环境中Overlay网络的重要组成部分,将该部分卸载到DPU上,可以大幅释放网络转发处理占用的宿主机CPU开销,同时利用DPU专用加速引擎提升转发效率。随着虚拟交换机下沉到DPU处理,标准虚拟网络接口virtio也要从CPU下沉到DPU硬件,实现更高的网络转发性能。

vSwitch控制面运行在DPU侧CPU上对接SDN控制器;转发面以及virtio后端运行在DPU的硬件加速引擎上,负责流表匹配逻辑的硬件实现,并为虚拟机、容器或裸金属提供标准的virtio。标准化建议如下。

一是采用DPDK标准rte_flow接口完成流表从控制面到转发面的下发,以及bond模式、MTU值等参数的配置。对于NFV业务在与终端用户或基站通信时产生大规模流表瓶颈、影响转发性能的问题,需制定流表收敛方案,降低业务倒换场景下流表下发通道阻塞的风险。

二是增强运维灵活性,网络数据全部在硬件加速引擎完成接收与发送,因此数据在硬件加速引擎的生命周期流程中需要增加入口与出口的运维统计能力,便于故障分析定位,保证端到端可靠性。

三是网络接口采用用户态vDPA框架,同一站点资源池内需统一要求virtio支持的特性,以实现在部署不同厂商DPU的计算节点之间的热迁移功能,保证云主机弹性。

为了满足HPC/AI、高速存储介质等需求场景下的网络高性能转发,DPU需要支持低时延RDMA技术,使用内核旁路和零拷贝技术,使能网卡和应用之间的直接数据读写,消除传统TCP/IP协议栈的上下文切换和数据拷贝开销,提供端到端微秒级以及低CPU开销的低时延网络通信。

存储系统

与虚拟化网络卸载原理类似,通过存储卸载可以提供灵活、高性能的弹性存储设备,存储系统卸载主要包括存储接口卸载和存储网络协议栈加速。存储接口包含NVMe和virtio-blk两种主流实现方式,在DPU上提供设备接口给云主机,云主机中加载标准virtio-blk或NVMe驱动实现块存储的读写,无需厂商专用驱动。同时,在DPU上完成iSCSI、NVMe-oF等存储协议栈的卸载和终结,为上层云主机实例提供云盘挂载、云盘启动能力。

计算系统

计算系统主要是指虚拟化场景下KVM-QEMU架构的Hypervisor系统。传统Hypervisor需要预留10%~20%的CPU计算资源,通过将Hypervisor分成前后端架构,前端运行在主机侧,但只保留一些必要的内存标脏功能以及逻辑CPU的上下文同步等功能,后端卸载到DPU,可实现Hypervisor预留计算资源降低到接近“零”,并且可以减少VM-Exit产生的VM抖动对业务性能的影响。Hypervisor前后端对接应标准化,同时需要对操作系统内核进行深度剪裁和修改,目前业界尚无参考模型,需要业界共同探索。

安全系统

主流虚拟化技术(如KVM、XEN、VMware等)中虚拟化漏洞广泛存在,Hypervisor作为虚拟机的运行底座,一旦存在漏洞将危及运行其上的所有虚拟机,甚至影响宿主机的安全。基于安全需求,各云厂商在宿主机上部署安全功能产品,而安全功能串行在网络转发中,产品的转发性能对整体网络的吞吐量和时延有较大影响。伴随网络、存储卸载,将安全功能从主机上剥离,卸载到DPU上是必然趋势。安全系统的卸载可以实现虚拟化的安全隔离和网络数据加解密卸载。

针对以上五大系统在DPU上的卸载,OpenStack、DPDK、SPDK等与云计算虚拟化相关的主流开源技术框架,已经逐步实现在DPU环境下的部署与应用,当前在裸金属管理和虚拟交换网络卸载两类功能需求下已经有较为成熟的技术方案。

中国移动计划分两个阶段推进DPU软件标准化。第一阶段将聚焦于管理系统卸载、虚拟交换网络卸载、iSCSI存储网络协议栈卸载,主要解决核心网网络带宽升级导致的CPU处理瓶颈和满足弹性裸金属云化管理需求,利用开源技术方案,并增强平台端到端可靠性,制定技术方案,形成企业标准,实施现网试点验证。

第二阶段将聚焦于RDMA技术及接口标准化、NVMe-oF高性能存储网络协议卸载、Hypervisor卸载、安全功能卸载等方面,满足AI训练场景低时延网络、大数据高性能存储读写、虚拟机“零抖动”、“零信任”安全等场景下更为极致的性能需求,这些领域在业界尚无规模性商用案例和成熟技术方案,需要业界共同探索和推进。

DPU硬件标准化推进建议

当前DPU内除专用硬件加速引擎外,还包含轻量级处理器芯片(或集成在其他芯片内的处理器内核)及带外管理芯片,该部件可看作在服务器整机内部的另一个小型服务器。在硬件标准化设计时,应遵循最小影响原则做通用增强,梳理绝对必要项,约束服务器整机为DPU提供的最大能力。DPU硬件标准化方向如图4所示。

image.png

图4  DPU硬件标准化方向

针对DPU引入,建议以“四个统一”为方向推进服务器硬件标准化。

统一服务器结构及供电最大能力:约束服务器可支持卡的最大规格,避免异形卡及特殊机构件,减少机构适配工作量,减小应力可靠性风险。在槽位供电及辅助供电方面,约束服务器可支持卡在服务器未开机状态启动,满足裸金属场景云底座管理诉求,同时高度关注DPU因业务需要不断增长的最大功耗,谨慎讨论并确定功耗门限。

统一散热能力:约束服务器支持未开机状态对DPU卡进行散热及调速。

统一硬件边带信号定义及带外管理功能边界:对于PCIe标准形态的DPU卡,在PCIe标准连接器定义基础上,约束服务器能够提供给DPU的辅助边带信号,落实信号类型、信号方向、电平、连接器选型、Pin定义等细节,逐步引导行业做归一化设计。同时逐步收敛带外管理设备的交互框架,定义DPU BMC(或其他带外管理模块)应具备的最小管理功能,例如:卡内信息抓取、远程IPMI、Redfish支持,以及功耗监控、保活(“看门狗”)等。

统一运维策略:由于DPU上存在CPU核,因此可以看作服务器整机的第二系统,这种架构的变化也导致服务器的硬件管理方式产生了变化,需要定义裸金属场景上下电、复位、固件升级、异常下电、故障处理等场景的开关机流程及处理策略。

服务器整机硬件层面的标准化可让通用服务器与各厂家DPU具备适配前提,扫清新生态发展中的技术障碍。在这一过程中,需共同探讨DPU带外管理系统与服务器整机带外管理系统关系,明确DPU BMC应具备的核心功能,逐步收敛双BMC控制信息的交互框架,最终做到边界清晰。同时,中国移动倡议各行业终端用户关注因引入裸金属服务引发的组网方式变革,立足自身业务特征探讨网络业务平面、存储平面、带内管理平面、带外BMC管理平面的处理方式,明确DPU需提供的带内带外网口规格及数量,为DPU厂商提供产品路标。


通信世界网版权及免责声明:
1、凡本网注明“来源:通信世界全媒体”及标有原创的所有作品,版权均属于通信世界网。未经允许禁止转载、摘编及镜像,违者必究。对于经过授权可以转载我方内容的单位,也必须保持转载文章、图像、音视频的完整性,并完整标注作者信息和本站来源。
2、凡本网注明“来源:XXX(非通信世界网)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
3、如因作品内容、版权和其它问题需要同本网联系的,请在相关作品刊发之日起30日内进行。
发表评论请先登录
...
热点文章
    暂无内容