【重识云原生】第四章云网络4.9.5.1节下一代智能网卡——DPU综述

2022-09-09 14:51:04 浏览数 (1)

5 DPU简介及分析

5.1 DPU发展背景与定义

5.1.1 DPU发展背景

        随着数据中心的高速发展,通信能力和计算能力成为数据中心基础设施的相辅相成的两个重要发展方向。若数据中心仅关注计算能力的提升,通信基础设施的提升跟不上,那么数据中心的整体系统性能依然受限,无法发挥出真正的潜力。DPU的提出背景就是应对这些数据量和复杂性的指数级增长。未来,需要将计算移至接近数据的位置,这是目前业界所公认的以数据为中心的体系结构下的创新。综上,DPU对数据中心来说,是通过更明细的分工来实现效率的提升、实现总体系统的成本最优化。

5.1.2 DPU定义及综述

         DPU(Data Processing Unit)市场仍处于百家争鸣的早期发展阶段,各家厂商定义略有不同。目前市场上主流的DPU定义是NVIDIA提出的,即DPU是集数据中心基础架构于芯片的通用处理器。它结合了:

1) 行业标准的、高性能及软件可编程的多核CPU,通常基于已应用广泛的ARM架构,与其它的SoC组件密切配合。

2) 高性能网络接口,能以线速或网络中的可用速度解析、处理数据,并高效地将数据传输到GPU和CPU。

3) 各种灵活和可编程的加速引擎,可以卸载AI、机器学习、安全、电信和存储等应用,并提升性能。

4) 具备开放性集成功能,未来支持更多功能集成。例如NVIDIA计划未来在Bluefield-4产品中,将GPU集成至DPU中以完成数据中心的架构的终极整合。

5) NVIDIA DPU的软件开发包DOCA,提供了统一的面向各种应用的编程接口,让用户可以不用关注DPU的底层硬件接口而直接对硬件进行编程。

        DPU的出现实现了以数据为中心的业务和基础设施操作的分离,大幅降低了业务的长尾延时,对于实现安全的、裸性能的、云原生的下一代大规模计算至关重要。

5.2 DPU优势及发展趋势分析

5.2.1 DPU优势分析

(1)DPU实现了业务与基础设施的操作分离

        DPU将基础设施任务从CPU转移至DPU,释放CPU的资源,使更多的服务器CPU核可用于运行应用程序,完成业务计算,从而提高服务器和数据中心的效率。如通过在DPU上运行OVS,使业务域和基础设施域分离,实现VM和VM间的高效安全通信,如图6所示,传统应用场景中会使用CPU来执行OVS操作,其效率较低,消耗CPU核较多,且VM之间的通讯延时较长。Red Hat在部署了DPU后,用DPU来执行同样的OVS操作,其效率大幅提升,几乎不消耗CPU核,VM之间的通讯延时也得到了大幅缩减,大幅减少了长尾延时,从而提升了应用的性能。

 (2)DPU卸载网络数据实现性能提升

        DPU针对云原生环境进行了优化,提供数据中心级的软件定义和硬件加速的网络、存储、安全和管理等服务。如图7所示,红帽Red Hat的容器化云平台即服务(PaaS)OpenShift上,借助DPU优化数据中心资源利用率,将网络相关的数据处理(如VxLan和IPSec等)卸载到DPU加速执行,在25Gb/s网络条件下,OpenShift部署DPU用来加速,可以只用1/3的CPU占用了来达到25Gb/s性能,而在100Gb/s网络条件下,未部署DPU的场景将达不到100Gb/s网络线速,DPU可以带来10倍的性能优势。

(3)DPU可以提供零信任安全保护

        零信任(Zero Trust)是一种以安全性为中心的模型,其基于以下思想:企业不应对其内外的任何事物授予默认信任选项。零信任可以减少数据泄露、拒绝未授权的访问,因此在数据安全方面价值巨大。DPU可以为企业提供零信任保护,通过将控制平面由主机下放到了DPU,实现主机业务和控制平面的完全隔离,数据将无法进行穿透,保证安全性。DPU的出现相当于为每个服务器配备了一台“计算机前的计算机”以提供独立、安全的基础设施服务,并与服务器应用域安全隔离。如果主机遭受入侵,安全控制代理与被入侵主机之间的DPU隔离层可防止攻击扩散至整个数据中心。这样DPU就解决了企业不愿直接在计算平台上部署安全代理的情况。通过在完全隔离于应用程序域的DPU上部署安全代理,企业不仅能获得对应用程序工作负载的可见性,还能在其基础设施中执行一致的安全策略。

(4)DPU助力实现“算存分离”

        DPU的BlueField SNAP技术方案通过在服务器系统的数据入口处引入计算资源,在DPU上独立实现面对应用需求的存储方案,帮助存储厂商在数据中心中低成本地灵活部署、升级高级存储协议,而完全不需要对现有软件栈进行任何更改。存储厂商可以把自家团队为各行业应用开发的开放系统的直连式存储(DAS)、纵向扩展(Scale-UP)、横向扩展(Scale-OUT)、超融合架构(Hyperconverged)等存储解决方案,零开销地推广到各个应用领域的现有业务处理平台和数据中心基础架构中,而所有的安全加密、数据压缩、负载均衡等复杂又必须的功能则完全由DPU透明地卸载。存储行业的革新算法和实现,可以在DPU架构中,独立于服务器操作系统进行部署。DPU技术帮助存储厂商实现真正的“算存分离”,完全发挥自家产品的技术优势,打通最高效服务应用需求的通路。

5.2.2 DPU技术发展趋势分析

        目前DPU以数据为中心作为计算架构,能针对数据中心的安全、网络、存储、AI、HPC等业务进行加速。从DPU概念的提出者NVIDIA的现有技术发展趋势来看,未来的技术发展趋势将会是高度集成化的片上数据中心的模式(Data Center Infrastructure on a chip),即一个GPU、CPU、DPU共存的时代。NVIDIA布局的数据中心从核心到边缘(Edge)都采用了统一的一个计算架构——CPU、GPU、DPU,如图所示,形成了“3U”一体架构。3U一体的统一计算单元架构将会让管理程序、调度程序都会变得非常容易。通过CPU、GPU、DPU之间的协调计算,可以在数据中心和边缘端都可以达到高性能与高安全性。

5.3 NVIDIA BlueField-3 DPU产品定位及优势分析

5.3.1 BlueField-3 DPU产品简介

        现代超大规模云技术推动数据中心走向了新的架构,利用一种专门针对数据中心基础架构软件而设计的新型处理器,来卸载和加速由虚拟化、网络、存储、安全和其它云原生AI服务产生的巨大计算负荷,这种产品即BlueField DPU系列。NVIDIA 创始人兼首席执行官黄仁勋表示:“现代超大规模云正在推动数据中心的新架构。需要一种旨在处理数据中心基础设施软件的新型处理器来卸载和加速虚拟化、网络、存储、安全和其它云原生AI服务的巨大计算负载。BlueField DPU的时代已经到来。”如表3所示,BlueField DPU系列产品优势有:从外围设备到服务器都具备安全性、适用不断扩展的工作负载的数据存储、高性能且高效的网络、软件定义的基础架构等。

        NVIDIA的BlueField DPU产品发展路线图如图所示,包括了已有的二代产品BlueField-2,目前即将面世的首款达400Gb/s速度的BlueField-3 DPU,以及未来整合了NVIDIA GPU功能,可达800Gb/s的BlueField-4 DPU。

        BlueField-3 DPU是首款达400Gb/s为AI和加速计算而设计的DPU,助力各企业在任何规模的应用上都能实现业内领先的性能和数据中心的安全性。一个BlueField-3 DPU所提供的数据中心服务可相当于多达300个CPU核才能实现的服务,从而释放宝贵的CPU资源来运行关键业务应用。这款DPU针对多租户、云原生环境进行了优化,提供数据中心级的软件定义和硬件加速的网络、存储、安全和管理等服务。

5.3.2 BlueField-3 DPU技术特点

        BlueField-3 DPU可以从业务应用中将数据中心的基础设施服务卸载和隔离出来,实现了由传统基础设施到现代基于“零信任”环境的转型,可对数据中心的每个用户进行身份认证,保障了企业从云到核心数据中心,再到边缘的安全性,同时在效率和性能上有了更大的提升。

        BlueField-3 DPU是首款支持第五代PCIe总线并提供数据中心时间同步加速的DPU。BlueField-3 DPU可为NVIDIA的基于AI技术的网络安全平台,Morpheus提供实时的网络可视化、网络威胁的检测与响应、以及监控、遥测和代理服务。BlueField-3 DPU将传统计算环境转变为安全且加速的虚拟私有云,使组织能够在安全的多租户环境中运行应用程序。BlueField-3 DPU采用NVIDIA的网络计算技术,支持下一代超级计算平台,提供最佳裸机性能和对多节点租户隔离的原生支持。

        BlueField-3 DPU利用NVIDIA DOCA™1.1 软件开发包的优势,为开发者提供一个完整、开放的软件平台,开发者在BlueField DPU上开发软件定义和硬件加速的网络、存储、安全和管理等应用。DOCA包含利用BlueField DPU来创建、编译和优化应用的运行时环境,用于配置、升级和监控整个数据中心数千个DPU的编排工具,以及各种库、API和日益增加的各种应用,如深度数据包检测和负载均衡等。每一代BlueField DPU都支持DOCA开发包,随着每代DPU的演进,原先开发的应用程序可以完全向后兼容,且DPU路线图上的后续的产品依然保证完全向前兼容。这意味着在目前BlueField DPU上运行的应用程序和数据中心基础设施,在不久的未来将能不加修改地加速运行在 BlueField-4 DPU等后续产品上。

5.3.3 BlueField-3 DPU产业地位分析

        BlueField-3 DPU的出现解决了目前产业无法完全确保数据安全的问题。在零信任的大环境下,产业原本是无法完全确保数据安全的。举例来说,数据中心想支持IPSec协议(即通过加密与验证等方式,为IP数据包提供安全服务),当它在100Gb/s的网络传输数据下,对每一个数据包都进行IPSec加密时,CPU资源会急速耗尽,却依然无法完成在网络高速传输时对每一个数据包都进行IPsec加密的操作。如表4所示,BlueField-3 DPU具备了平台安全、可加密加速、可执行安全策略、深度包检测与隔离安全控制平面的特点,将这个网络层面上确保数据安全的不可能瓶颈打破。

5.3.4 BlueField-3 DPU优势分析

1) BlueField-3 DPU拥有更强大的ARM核计算能力和更快的加解密速度,它与CPU、GPU和内存的互连速度也更快。

 2) 通过BlueField-3 DPU执行HPC通信框架,可以实现无阻塞通信,即让计算与通信可并行同时发生。目前的超算网络中大多数是有阻塞通信,有阻塞通信是通信与计算不可同时发生,即有通信时不计算,有计算时不通信。目前BlueField-3 DPU在无阻塞集合通信卸载操作上更为成熟,用户可使用配套的MPI库来加速科学计算应用的执行,特别是针对于大规模的的无阻塞all-to-all通信。如图所示,应用BlueField DPU后,计算和无阻塞all-to-all集合通信的之间可100%重叠,如使用DPU加速P3DFFT应用程序(3D快速傅里叶变换)后,应用的总体执行时间减少了25%以上,涵盖了各种大小的网格大小。

 3) 在兼容性上,通过使用DOCA库,BlueField-3与上一代DPU上开发的应用保持完全的软件兼容性,软件运行方式没有变化,并得到更高的性能和可扩展性。DOCA在底层硬件API上提供一个抽象层给上层的业务,开发者可以使用标准的API更快速、更轻松地进行开发,实现和上层业务的集成,并经优化后提供出色的性能,或者和底层接口合作达到更精细的控制。且DOCA具备基于容器化服务的DPU调配和部署,包含用于简化DPU设置、配置和服务编排的工具。

5.4 NVIDIA BlueField-3 DPU技术分析和技术对比

5.4.1 BlueField-3 DPU技术分析

        BlueField-3 DPU完全承接了BlueField-2 DPU的先进特性,并将其进行了性能加强与扩展,如下图。

         BlueField架构本质上将网卡子系统与可编程数据路径、用于加密、压缩等的硬件加速器子系统以及用于控制的ARM处理器子系统融合在一起。

        在BlueField-3中,数据路径加速分组(DPA)包括16个处理器核,可并行处理256个线程的任务。BlueField-3的重要技术特性按照网络业务、安全业务、存储业务等方面具体说明:

Ⅰ 网络业务

        在网络业务中,BlueField-3专门对RDMA、连接跟踪(Connection Tracking)、ASAP-2等这些网络通信技术做了进一步加强,特别是对时间精度,可在数据中心和边缘之间做非常及时的时钟同步。重要特性技术分析如下:

        RDMA技术,可直接在内存之间交换数据,并获得较好的扩展性,提升运行性能,且可卸载CPU算力。RDMA优势如下包括:(1)零拷贝(Zero-copy),应用程序能够直接执行数据传输,在不涉及到网络软件栈的情况下。数据能够被直接发送到应用的缓冲区或者能够直接从缓冲区里接收,而不需要被复制到网络层;(2)内核旁路(Kernel bypass),应用程序可以直接在用户态执行数据传输,不需要在内核态与用户态之间做上下文切换;(3)不需要CPU干预(No CPU involvement),应用程序可以访问远程主机内存而不消耗远程主机中的任何CPU。可以在远程主机不知情的情况下对其进行读写操作;(4)操作基于消息(Message based transactions),数据被处理为离散消息而不是流,消除了应用程序将流切割为不同消息/事务的需求,用户可以用高达2GB的消息进行编程;(5)支持Scatter/gather操作(Scatter/gather entries support),RDMA原生态支持分散/聚合。也就是说,读取多个内存缓冲区然后作为一个消息发出去或者接收一个消息然后写入到多个内存缓冲区里去。

        GPU-direct RDMA技术,简称GDR技术,该技术可实现计算机1的GPU可以直接访问计算机2的GPU内存。而在没有这项技术之前,GPU需要先将数据从GPU内存搬移到系统内存,然后再利用RDMA传输到计算机2,计算机2的GPU还要做一次数据从系统内存到GPU内存的搬移动作。GPU-Direct RDMA技术使得进一步减少了GPU通信的数据复制次数,通信延迟进一步降低。Mellanox网卡已经提供了GPUDirect RDMA的支持(既支持InfiniBand传输,也支持RoCE传输),在英伟达收购Mellanox后,英伟达的所有网卡已全面支持GPU-Direct RDMA技术。

Ⅱ 安全业务

        安全业务上,BlueField-3可以实现从IP层、传输层以及到MAC层的400Gb/s全线速在线加解密,当使用RegEx和DPI做深度包检测时,速度可以达到50Gb/s。重要特性技术分析如下:

        支持IPSec协议,在IP层对数据进行加解密,通过与网络线速相同的IPSec速度来达到安全性。IPSec(Internet Protocol Security)是IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议。它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合。IPSec用来解决IP层安全性问题的技术,同时支持IPv4和IPv6网络。IPSec主要包括安全协议AH(Authentication Header)和ESP(Encapsulating Security Payload),密钥管理交换协议IKE(Internet Key Exchange)以及用于网络认证及加密的一些算法等。IPSec主要通过加密与验证等方式,为IP数据包提供安全服务。BlueField-3对IPSec加解密速度可以达到400Gb/s,相比之下,如果在用搭配100Gb/s、200Gb/s网络的CPU做IPSec,性能也仅达20-40Gb/s级别,并在加解密方面耗费大量CPU资源,而使用BlueField-3做IPSec可以释放这部分CPU的算力。

         支持TLS协议,在TCP层对数据进行安全保障。TLS协议是HTTP通信所使用的加密通信,用以降低信息明文传播所具有的三大风险:(1)窃听风险(eavesdropping),第三方可以获知通信内容;(2)篡改风险(tampering),第三方可以修改通信内容;(3)冒充风险(pretending),第三方可以冒充他人身份参与通信。相应TLS协议的设计目标为:(1)所有信息都是加密传播,第三方无法窃听;(2)具有校验机制,一旦被篡改,通信双方会立刻发现;(3)配备身份证书,防止身份被冒充。TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。BlueField-3对TLS加解密速度也可以达到400Gb/s,使用BlueField-3做TLS同样可以释放大量CPU的算力。

Ⅲ 存储业务

        在存储业务中,BlueField-3可以实现以往不可能做到的事情,可以做到块存储(Block Storage)、文件存储(File Storage)、对象存储(Object Storage)或者NVMe存储(NVMe Storage)的仿真,还可以在数据落盘时加解密的操作(如AES-XTS)进行硬件卸载,甚至是各种签名操作都可以分流到DPU上。其弹性块存储(EBS)可以达到18M的 IOP/s的读写性能,在虚拟化I/O加速方面可以达到80Mpps的性能。

        BlueField SNAP技术,基于软件定义的网络加速处理,该SNAP技术允许用户访问与服务器连接的远程NVMe存储像访问本地存储一样,实现了远程存储的所有效率和管理优点,同时具有本地存储的简单性。NVIDIA BlueField SNAP解决方案消除了对本地存储的依赖性,满足了云计算对于存储解耦以及可组合性存储的日益增长的需求。BlueField SNAP可以无缝集成到采用任何操作系统或虚拟机管理程序的几乎所有服务器中,支持在不同的数据中心环境更快地采用NVMe over Fabrics (NVMe-oF),从而有效地为任何应用程序立即部署NVMe-oF技术。BlueField SNAP解决方案(作为 BlueField系列 PCIe DPU智能网卡的一部分提供)使网络闪存存储如同本地NVMe存储,以有效地虚拟化物理存储。如今,所有主要的操作系统和虚拟机管理程序均已支持本地NVMe SSD。BlueField SNAP利用这些现有的NVMe接口,并结合本地SSD性能、管理和软件透明度的优势,为客户带来网络闪存存储的可组合性和灵活性。这种BlueField SNAP技术与BlueField强大的多核ARM处理器、虚拟交换机和RDMA卸载引擎相结合,支持广泛的加速存储、软件定义网络和应用解决方案。ARM处理器与SNAP相结合,还可用于加速分布式文件系统、压缩、重复数据消除、大数据、人工智能、负载均衡、安全性等诸多应用。

Ⅳ 开发生态

        在开发生态上,专为助力BlueField合作生态系统而生的DOCA(集数据中心基础设施于芯片的架构)软件开发包,可以通过DOCA来实现软件定义网络、存储、安全,开发人员可以通过DOCA直接调用到BlueField硬件的加速引擎。

        NVIDIA DOCA SDK为开发者提供一个完整、开放的软件开发平台,在BlueField系列 DPU上开发软件定义和硬件加速的网络、存储、安全和管理等应用。DOCA功能包含利用BlueField DPU来创建、编译和优化应用的运行时环境,用于配置、升级和监控整个数据中心数千个DPU的编排工具,以及各种库、API和日益增加的各种应用,如深度数据包检测和负载均衡等。

        DOCA是一个由库、内存管理、服务组成的框架,建立在一套成熟的驱动程序之上。部分库与开源项目有关,部分库是NVIDIA独有的。如同CUDA抽象GPU编程一样,DOCA则将DPU编程抽象到了更高的层次。英伟达通过结合面向开发人员的DOCA软件开发工具包和用于开箱即用部署的DOCA管理软件来提供完整的解决方案。例如,ASAP²是基于硬件的对网络数据路径进行处理的协议,以二进制形式提供。它通过Virt I/O以及配置流跟踪和Regex加速器的下层API来实现网络设备仿真。安全驱动程序为TLS提供内嵌的内核卸载。存储业务中,SNAP驱动程序提供了NVMe虚拟化。

        DOCA可不断实现向后兼容,NVIDIA的愿景是让DPU成为异构计算的第三条腿,补充CPU和GPU的功能,而DOCA对于在诸多应用中实现这一愿景至关重要。

5.4.2 智能网卡及DPU对比分析

智能网卡特点:

        智能网卡Smart NIC主要解决的问题是网络传输上无法线性传输数据问题,以及卸载更适合在网络上执行的业务,采取的方法是在智能网卡添加相应业务的加速引擎,以释放服务器上昂贵的CPU算力,为计算任务提供更多的CPU算力。最初的智能网卡具有3个重要特征:1)释放CPU开销及可编程,通过FPGA或协处理器来本地化编程支持数据面和控制面的功能定制,卸载CPU网络负载;2)任务加速,通过专用加速器实现特定功能并保证数据转发的线速;3)流量管理,监测和管理网络流量。

DPU特点:

        DPU概念的确立是在2020年10月NVIDIA将基于Mellanox的Smart NIC卡命名为“DPU”,可以认为DPU是智能网卡的升级,因此DPU延续了智能网卡“释放CPU开销”、“可编程”、“任务加速”、“流量管理”等功能,并实现了控制面和数据面的通用可编程加速。

        如今数据中心中的各项操作主要都在CPU上完成,包括计算任务和各项基础设施任务等,而面对数据处理需求的增长,CPU的算力已经达到瓶颈,摩尔定律逐渐失效,GPU的出现解决了CPU的算力问题,数据中心的瓶颈转向基础设施任务,如数据存储、数据验证、网络安全等。DPU的出现满足了这样的通用的基础设施任务加速的需求。由DPU构建强大的基础设施层,上层的CPU和GPU来完成计算任务。DPU具有的特性为:1)行业标准、高性能、软件可编程的多核CPU,通常基于广泛使用的ARM架构,与其它SoC组件紧密耦合。2)高性能网络接口,能够以线速或网络其余部分的速度解析、处理和有效地将数据传输到GPU和CPU。3)丰富的灵活可编程加速引擎,可为AI和机器学习、安全、电信、存储和虚拟化等执行卸载并提高应用程序性能。

        DPU最核心的任务是数据的预处理和后处理,如网络类任务(包括ALL2ALL、点对点等各种通信模式加速,IPSec,TCP连接跟踪,RDMA等)、存储类任务(分布式存储,数据落盘加解密,数据压缩,数据冗余算法等)、虚拟化加速(OVS及各种Hypervisor的卸载,控制平面和业务平面分离)、对硬件安全的保障(Root of Trust等)。从云计算业务的角度看,DPU是把整个IaaS的服务完整的卸载到硬件做加速。

        因此一线的云运营商对DPU的需求会更强烈,数据中心规模足够大时任何一个任务的Offload到硬件都意味着非常显著的性能提升和成本降低,带来最直接的利润。随着整个软硬件技术栈的演进,DPU的采用会逐步扩展到所有的云运营商,以及其它各类数据中心。

智能网卡和DPU对比分析:

         智能网卡中包括FPGA型和ARM核心型,FPGA型难以处理控制平面任务;ARM型则会因处理其它任务而负载过重,DPU包含数据平面和控制平面的双平面卸载及加速,可以解决以上问题。另外DPU与智能网卡的最大区别是可作为数据中心的最小节点存在,拥有计算功能、网卡功能、加速计算引擎、安全引擎等并可拓展,未来将成为数据中心的标配与三大核心之一(CPU、GPU、DPU)。

5.5 DPU产业分析

5.5.1 DPU产业宏观分析

1、DPU产业分析

        DPU的典型应用场景包括:数据中心和云计算,网络安全,高性能计算及AI,通信及边缘计算,数据存储,流媒体等。

1)在数据中心和云计算应用中,DPU可广泛应用在物理机、虚拟化、容器化、私有云、公共云、混合云等各个方面。

        如OVS等Hypervisor、各种容器框架可以运行在DPU上,实现控制平面和业务的分离,保障业务安全性;如DPU为SDN和虚拟化应用提供硬件加速,大规模数据中心中,将本在CPU上运行的通信和虚拟化操作卸载到DPU上,为用户提供应用加速即服务的附加价值。

2)在网络安全中,DPU可应用在分布式安全、下一代防火墙技术(NGFW,Next generation firewall)、微分段技术(Micro-segmentation)等方面。

        如DPU可以将一些安全相关的业务操作从CPU卸载到网卡,如数据的加密/解密(如IPSec、TLS等)操作、深度包检测(DPI)等,大幅提升应用的性能,降低CPU负载,并且支持灵活的网络可编程性。

3)在高性能计算及AI中,DPU可应用在云原生超级计算,深度学习推荐系统加速等方面。

        如DPU和配合NIVDIA Merlin处理深度学习推荐系统加速任务,极大的提升产品数据处理与运行效率,帮助用户实现更为快速的产品开发和迭代。

4)在通信及边缘计算中,DPU可应用在电信云、边缘计算等方面。

5)在数据存储中,DPU可应用在超融合架构(HCI,Hyper Converged Infrastructure)、弹性块存储、实例存储等方面。

6)在流媒体中,DPU可应用在视觉高品质,8K视频,内容分发网络(CDN,Content Delivery Network)等方面。

2、DPU竞争格局

        目前DPU市场仍处于蓝海,呈现百家争鸣的竞争格局。Intel、NVIDIA等企业纷纷布局DPU产业,同时包括AWS、阿里巴巴、华为在内的各大云服务商,都已经在布局自己的云端处理器,行业竞争格局分析如下:

        DPU方案类型大致可以概括为三种:一是以通用众核处理器为基础DPU,例如Broadcom的Stingray架构,以多核ARM为核心,以众取胜,可编程灵活性较好,但是应用针对性不够,对于特殊算法和应用的支持,与通用CPU相比并无太显著优势;二是以专用核为基础的异构核阵列,这种架构的特点是针对性较强、性能较好,但是牺牲了部分灵活性,如IPU;第三种路线是结合了前面二者优势,即将通用处理器的可编程灵活性与专用的加速引擎相结合,正在成为最新的产品趋势,以NVIDIA的BlueField-3系列DPU来看,就包括16个ARM核及多个专用加速引擎,Fungible的DPU则包含6大类的专用核,和52个MIPS小型通用核。

        随着DPU将数据中心的基础设施操作从CPU上卸载过来,数据中心将形成DPU、GPU、CPU三位一体的状态;NVIDIA通过收购Mellanox积极布局DPU,抢占市场,凭借在GPU的绝对优势以及未来DPU的发力,NVIDIA有望在服务器处理器三大芯片中占据其二。

对各厂商及现有产品分别综述如下:

1)NVIDIA DPU

        在技术路线上,英伟达DPU基于所收购的Mellanox网络方案及ARM架构实现,侧重于数据安全、网络、存储卸载。

        本报告已经以英伟达DPU为例详写了产品结构及技术特点等,此部分不再赘述。

2)Intel IPU:技术快速落地,生态迅速成长

        在2021年6月15日的Six Five峰会上,英特尔推出了全新的基础设施处理器(IPU,全称Infrastructure Processing Unit)。IPU是一个网络设备,可以安全地加速和管理数据中心的基础设施功能与可编程硬件,旨在使云和通信服务提供商减少在中央处理器方面的开销,并充分释放性能价值。利用IPU,客户能够部署安全稳定且可编程的解决方案,从而更好地利用资源,平衡数据处理与存储的工作负载。IPU可将CPU或xPU连接到网络,加速主机基础设施功能,并适用于现有和新兴基础设施用例,包括安全性、虚拟化、存储、负载平衡,以及虚拟网络功能和微服务的数据路径优化。IPU增强了基础NIC中丰富的以太网网络功能,通过高度优化的硬件加速器和紧密耦合的计算引擎的组合处理任务来实现加速。适应性是通过标准且易于使用的编程框架实现的,该框架结合了硬件和软件功能。IPU扩展了英特尔的智能网卡功能,旨在应对当下复杂的数据中心,并提升效率。

        英特尔的IPU可以通过专用协议加速器来加速基础设施功能,包括存储虚拟化、网络虚拟化和安全;通过把软件中的存储和网络虚拟化功能从CPU转移到IPU,从而释放CPU核心。还能允许灵活的工作负载分配,提高数据中心利用率。 

        凭借在数据中心领域多年的耕耘与积淀,深谙数据中心企业需求并洞察行业发展的英特尔,IPU产品从设计、生产到推出,每一步都能看到合作伙伴的身影。当前基于Intel FPGA的IPU已经导入多个云端服务商,目前也着手测试第一款采用ASIC的IPU产品;Intel也强调接下来将会推出更多基于FPGA的IPU与专用ASIC,为新世代资料中心带来更具弹性、安全与效率的XPU架构。在适用于企业和云的IPU阵营,使用英特尔FPGA实现数据中心加速面向云服务提供商的采用英特尔FPGA的IPU有助于充分利用网络功能并帮助提高基础设施投资的收入;英特尔IPU为VMware下一代基础架构提供动力英特尔技术使VMware能够为客户提供对虚拟机、容器和裸机环境的统一管理;Monterey项目则重新定义混合云架构,英特尔IPU创新为边缘节点、网络基础设施和数据中心计算提供了更高的性能。

3)Xilinx:基于FPGA的Smart NIC先驱

        Xilinx的开发是基于FPGA的Smart NIC,Xilinx于2019年秋季收购了Solarflare Communications,Solarflare自2012年以来一直在构建基于ASIC和FPGA的NIC进行电子交易。

        Xilinx的Alveo U25将双SFP28端口直接连接到Zynq系列芯片,包括6GB DDR4内存,Zynq的FPGA和ARM内核可通过该芯片上运行的程序对其进行访问。FPGA有520K逻辑元件可用,但是提供的四核ARM可以弥补可用门数的减少。Xilinx将Alveo U25推向市场,最初是针对那些要求开放虚拟交换机(OvS)卸载功能的客户。其将增加IPsec、机器学习(ML)、深度包检查(DPI)、视频转码和分析等功能的卸载。

4)Marvell:首款公开宣布采用ARM最新的Neoverse N2基础架构的DPU

        Marvell最新推出的OCTEON 10系列DPU采用了台积电5nm制程工艺,且首次用上了ARM的Neoverse N2 CPU内核。这种类型的多功能芯片,旨在帮助移动和处理那些通过网络传输的数据,可实现集成机器学习推理的引擎、Inline加密处理引擎、以及矢量数据包处理器等的虚拟化。OCTEON 10也是Marvell首款采用台积电N5P工艺制造的DPU芯片。其不仅率先集成了ARM的Neoverse N2 CPU核心,还支持最新的PCIe 5.0 I/O与DDR5内存。受益于最新的ARM处理器内核,OCTEON 10在整型处理上是目前算力最高的DPU,然而其浮点运算仅支持FP16,在做内联机器学习时有一定局限性。OCTEON 10 新系列引入了矢量数据包处理引擎(VPP),与当前一代的标量处理引擎相比,它能够将数据包的处理吞吐量,大幅提升至 5 倍。

 5)中科驭数:基于KPU架构的DPU

        中科驭数的创始团队主要来自中科院计算所计算机体系结构国家重点实验室,是中国最早进行DPU芯片研发的团队之一。中科驭数提出了软件定义加速器技术(Software Defined Accelerator),自主研发了KPU(Kernel Processing Unit)芯片架构,并于2019年设计出业界首颗数据库与时序数据处理融合加速芯片,已经成功流片。中科驭数的DPU芯片,正是基于自研的KPU芯片架构,具有网络协议处理、数据库和大数据处理加速、存储运算、安全加密运算等核心功能。

5.5.2 DPU前景分析

        结构通用化,功能多样化。DPU芯片的体系结构将向通用、专用并举发展,通用性可以定义软件生态和系统的可用性,使其承载复杂的业务生态。DPU则有望成为智能网卡的下一代核心引擎,拥有执行协议处理、数据安全、算法加速等多样化的专用任务。

        应用广泛化,场景丰富化。DPU将在未来承载更加丰富的应用场景,包括:作为主机CPU的卸载引擎,释放其算力至应用;成为新的数据网关,将安全隐私提升到一个新的高度;成为存储的入口,将分布式的存储和远程访问本地化;成为算法加速的沙盒,成为灵活的加速器载体。因此相比传统的智能网卡有着更加丰富的应用方向,云计算、网络安全、高性能计算及AI、通信及边缘计算、数据存储及流媒体等。

        编程易用化,生态成熟化。DPU将在未来的开发中拥有通用且易用可编程平台,更方便的通过中间件和接口实现快速开发,更加强调通用、无缝衔接、可迁移、可直接调用,其生态也将愈加成熟。

5.7 附录

5.7.1 名词解释

  • API:Application Programming Interface,应用程序接口,是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
  • ASAP2:ASAP2标准是ASAM组织制定的一套标准,该标准规定了上位机(Master)和ECU(Slave)之间的通讯所需要的所有信息。
  • ASIC:Application Specific Integrated Circuit,ASIC芯片是用于供专门应用的集成电路芯片技术,在集成电路界被认为是一种为专门目的而设计的集成电路。
  • BlueField SNAP:NVM Express Software-defined Network Accelerated Processing,基于软件定义的网络加速处理,这种新的SNAP技术允许用户组合与服务器连接的远程NVMe闪存,并像访问本地闪存一样对其进行访问,实现了远程存储的所有效率和管理优点,同时具有本地存储的简单性。
  • DAS:Direct-Attached Storage开放系统的直连式存储,DAS存储更多的依赖服务器主机操作系统进行数据的IO读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括CPU、系统IO等),数据流需要回流主机再到服务器连接着的磁带机(库),数据备份通常占用大量服务器主机资源。直连式存储的数据量越大,备份和恢复的时间就越长,对服务器硬件的依赖性和影响就越大。
  • DPI:Deep Packet Inspection,是一种基于数据包的深度检测技术,针对不同的网络应用层载荷(例如HTTP、DNS等)进行深度检测,通过对报文的有效载荷检测决定其合法性。
  • DPU:Data Processing Unit,数据处理器,其核心是通过协处理器协助主控CPU处理网络负载,编程网络接口功能摩尔时代:摩尔定律是由英特尔(Intel)创始人之一戈登摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度。
  • EDA:Electronic design automation,电子设计自动化,是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
  • FPGA:Field-Programmable Gate Array,即现场可编程门阵列,它是在PAL,GAL,CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
  • Hyperconverged:超融合架构,就是把传统架构中的网络,存储部分通过软件的方式和x86服务器融合到一起。并且通过虚拟化技术将这些服务器进行统一的管理。
  • IaaS:Infrastructure as a Service,即基础设施即服务,指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。
  • InfiniBand:直译为"无限带宽"技术,缩写为IB,是一个用于高性能计算的计算机网络通信标准,InfiniBand网络是一种天然的SDN网络,它具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。InfiniBand也用作服务器与存储系统之间的直接或交换互连,以及存储系统之间的互连。InfiniBand的一大特色是可以实现超大规模的二层组网。
  • IPSec:Internet Protocol Security,互联网安全协议,是一个协议簇,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
  • MEC:Mobile Edge Computing,边缘计算技术,是ICT融合的产物,同时成为支撑运营商进行5G网络转型的关键技术,以满足高清视频、VR/AR、工业互联网、车联网等业务发展需求。
  • MPI:Message Passing Interface,消息传递接口,是一种标准化且可移植的消息传递标准,旨在在并行计算架构上运行。MPI标准定义了库例程的语法和语义,这些例程对使用C、C 和Fortran编写可移植消息传递程序的广大用户非常有用。
  • NFVI:Network Function Virtualization Infrastructure,网络功能虚拟化基础设施解决方案,是用来托管和连接虚拟功能的一组资源。具体来说就是,NFVI是一种包含服务器、虚拟化管理程序(hypervisor)、操作系统、虚机、虚拟交换机和网络资源的云数据中心。
  • NVMe:NVM Express,非易失性内存主机控制器接口规范,是一个逻辑设备接口规范。它是与AHCI类似的、基于设备逻辑接口的总线传输协议规范(相当于通讯协议中的应用层),用于访问通过PCIExpress(PCIe)总线附加的非易失性存储器介质(例如采用闪存的固态硬盘驱动器),虽然理论上不一定要求PCIe总线协议。
  • NVMe-oF:NVMe-over-Fabrics是网络上的NVMe协议的扩展,其扩展范围远远超出了目前搭载SSD的服务器。NVMe早在2011年就出现了,而fabrics扩展则在2016年首次标准化。NVMe-oF继承了NVMe的所有优点,包括轻量级和高效的命令集、多核感知和协议并行性。NVMe-oF是真正的网络无关的,因为它支持所有常见的fabrics,包括光纤通道、InfiniBand和以太网。
  • OVS:Open Virtual Switch是一个虚拟交换软件,主要用于虚拟机VM环境,作为一个虚拟交换机,支持Xen/XenServer,KVM以及virtualBox多种虚拟化技术。在这种虚拟化的环境中,一个虚拟交换机主要有两个作用:传递虚拟机之间的流量,以及实现虚拟机和外界网络的通信。
  • PaaS:Platform as a Service,是指平台即服务,把服务器平台作为一种服务提供的商业模式,云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS。
  • RDMA:Remote Direct Memory Access,是远程直接数据存取,为了解决网络传输中服务器端数据处理的延迟而产生的。
  • Regex:Regular Expression,正则表达式,是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”)。
  • RoCE:RDMA over Converged Ethernet,即RDMA融合以太网,RoCE是在InfiniBand TradeAssociation(IBTA)标准中定义的网络协议,允许通过以太网络使用RDMA。
  • Scale-OUT:横向扩展,通常是以节点为单位进行架构升级,每个节点往往将包含容量、处理能力和I/O带宽。一个节点被添加到存储系统,系统中的三种资源将同时升级。
  • Scale-UP:纵向扩展,主要是利用现有的存储系统,通过不断增加存储容量来满足数据增长的需求。
  • SDN:Software Defined Network,软件定义网络,是网络虚拟化的一种实现方式。其核心技术OpenFlow通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。
  • TCP:Transmission Control Protocol,传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,旨在适应支持多网络应用的分层协议层次结构。
  • TLS:Transport Layer Security,安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)。
  • UPF:User Plane Function,用户面功能,为5GC的基本组成部分。
  • VM:Virtual Machine,虚拟机,虚拟机是一台机器(计算机)的软件实现,它可以像真正的机器一样执行程序。
  • VNF:Virtual Network Function,虚拟网络功能,其被看作是NFV的关键。VNF在基础设施层提供的服务是NFV的主要运营目标,这意味着前者左右着网络虚拟化的前景。
  • VxLAN:Virtual Extensible Local Area Network,是一种网络虚拟化技术,可以改进大型云计算在部署时的扩展问题,是对VLAN的一种扩展。VXLAN是一种功能强大的工具,可以穿透三层网络对二层进行扩展。它可通过封装流量并将其扩展到第三层网关,以此来解决VMS(虚拟内存系统)的可移植性限制,使其可以访问在外部IP子网上的服务器。

参考链接

什么是网卡?相比传统网卡,智能网卡(SmartNIC)有何特点? - 知乎

DPDK系列之十二:基于virtio、vhost和OVS-DPDK的容器数据通道_cloudvtech的博客-CSDN博客_dpdk 容器

基于OpenStack Ironic与DPU的网易数帆裸金属方案实践 - 脉脉

智能网卡(Smart NIC)加速SDN的实践落地 - 腾讯云开发者社区-腾讯云

智能网卡(SmartNIC)是什么?通过FPGA设计智能网卡提高计算性能 - 知乎

FPGA智能网卡综述(1):PISA Rocket - 知乎

FPGA智能网卡综述(2):RMT Manycore - 知乎

DPU(深度学习处理单元)学习笔记1_qq_44487483的博客-CSDN博客_dpu 神经网络

Data Processing Unit_百度百科

独家对话阿里云张献涛:自主最强DPU神龙的秘诀

DPU:“劫机”服务器生态_TechWeb

DPU(深度学习处理单元)学习笔记1_qq_44487483的博客-CSDN博客_dpu 神经网络

DPU特征结构系列(二)一种DPU参考设计-中科驭数(北京)科技有限公司-电子发烧友网

DPU 技术发展概况系列(五)DPU与CPU、GPU的关系-中科驭数(北京)科技有限公司-电子发烧友网

DPU 技术发展概况系列(四)DPU发展历程-中科驭数(北京)科技有限公司-电子发烧友网

0 人点赞