互联网技术 / 互联网资讯 · 2024年3月8日

DPU:服务器生态遭遇“劫机”

DPU全称是 data ProceSSing unIT,在云计算技术和产品里出现时间也有几年了,包括AWS的NITRo(注意不是智能网卡ENA,ENA对应的是Mellanox的CX-5等),不过大部分云厂商都是用于自己云平台上,只是最近NVIDIA CEO Jensen Huang对其DPU产品BlueField-X的介绍和产品发布视频导致了一股讨论热潮。

那么到底什么是DPU?通过以下几点对DPU即同类型设备的几点特征做如下解释:

1)DPU是一块完整的板卡,这块卡有独自的CPU,而且不是类似原来嵌入式设备的MIPS等性能不高的CPU,通常是ARM等服务器同类型的CPU;并且这块卡还有独立的内存、磁盘、网卡及可配置GPU等增强设备,并且有独立的BMC和OS,即如果不看物理形态,完全是一台体积小的服务器;

2)DPU设备工作时,是附录在通用服务器上作为附属设备来使能,通过PCI设备与所属host进行交互信息;并且在host OS来看,DPU设备是透明的,但是提供的网路、存储、安全等能力是可见的;

3)DPU设备的启动/重启对所属host有依赖,二者的OS相互独立但是有控制信息传递和数据信息的交互(通过PCI接口);相比智能网卡,完全在所属主机host内可视并且可控;

4)如前面提及的,不少人认为DPU是智能网卡或智能网卡的增强版,个人并不这么认为;一方面是DPU要比智能网卡的能力全的多(包括有网络能力、存储能力、安全能力等),再一个是智能网卡的驱动通常是在所在主机内而DPU完全不需要任何驱动,最后DPU有独立的CPU和OS而智能网卡仅是驱动设备;所以DPU是一种全新的软件定义基础设施的设备(SoftwaRe-Defined InfRastructure),而不是已有网卡设备的增强版;

通过上面几点,我们可以得到DPU可以提供的几点能力:

1)提供为所属主机的网络处理能力、存储处理能力和安全处理能力,并且这些能力可以使用DPU的OS的软件栈来实现,也可以通过智能网卡或安全设备实现网络处理能力、存储处理能力和安全处理能力的硬件卸载,以提升处理性能;比如NVIDIA的BlueField-2就集成了ConnectX-6提供200G的以太网或IB处理能力,并且实现了虚拟交换机卸载;

2)DPU类型的设备所用CPU可以是前面提及的ARM,技术上讲也可以是其他能力匹配的CPU比如X86等,但是产品化要考虑性能、功耗、产品体积、主机插槽等各方面影响;

3)DPU类型的设备比如类似AWS的NITRo卡,也可以提供hypeRvisoR的能力,对BMS和EC2实例提供一致的产品架构和特性能力,这点对于BMS产品实现尤其重要,这里可以参考阿里的神龙相关说明;

4)DPU类型设备提供了服务器“异构&Rdquo;的生态自主构建能力,比如X86的服务器上,可能很多比如Mellanox(已被NVIDIA 收购)的网卡、英伟达的GPU可以很方便的在X86上通过标准的PCI标准提供相应的能力,而无需再直接和X86 主板CPU产生关联;这就使得其他厂商给服务器的主机CPU外围提供更多能力构建的通道,并且不会和主机CPU产生绑定和依赖,也同时“绕开&Rdquo;了主机CPU厂商设置的“门槛&Rdquo;。

所以结合上面的内容,我们看下DPU的出现会给业界带来什么?

1)从技术上来说,可以通过主机外面附加DPU设备使得最大化host资源使用率,这样通过DPU的廉价性使能在比如云计算场景有更多的主机CPU可以销售,也为提供更大规格单EC2实例甚至BMS提供了方案,而更多的主机CPU出售意味着主机数没有增加而销售产品数量增加了;并且使用DPU的智能网卡等硬件卸载提升网络能力和存储能力,以及加解密安全能力;而DPU设备对于主机的透明性,增加了云计算主机被入侵后的扩散隔离能力;

2)从商业上讲,以DPU对于NVIDIA为例,NVIDIA产品中网卡、GPU外设可以不再受host主板/板载约束,因为如前面所述,DPU设备通过PCI标准通信,实现了CPU算力的逐步抢占,即可以在维持客户数据中心已有X86设备的基础上来叠加NVIDIA的设备能力,并且逐步蚕食这块算力市场,从而构建NVIDIA在数据中心整体能力建设,最终实现数据中心全NVIDIA的“设备全栈&Rdquo;目标;以突破比如Intel CPU板载网卡必须是本厂商的限制;

3)从趋势上讲,DPU设备对于主机host来说,使得主机具有了更多“智能化&Rdquo;,虽然原来服务器通常有管理职能化(BMC),但是接口标准性、接口性能、功能丰富度一直存在不足,而DPU设备对于数据中心硬件设备的SDN(NetwoRk Defined SoftwaRe)、SDS(NetwoRk Defined STorage)之后的SDC(NetwoRk Defined CoMpute)最后一环提供了一种实现,相比原来纯虚拟化内容的SDC,最终实现了能力加设备的智能管控,即前面提及的SDI能力;

4)DPU设备的出现,解决了数据中心服务器设备尤其是在云场景下带来的一些问题,为数据中心的智能化又实现了重要的一环;但是对于当前来说,如果X86服务器的CPU主机使用了NVIDIA的DPU之后,导致CPU的板载网卡处于无用之地,也给整体设备采购成本、采购流程带来了影响,并且DPU选型需要考虑到市场和客户因素;

5)从整体运行的系统性来讲,原来单主机允许的故障范围,扩大到DPU设备和CPU主机,二者之一有故障就会带来整体的损坏,可靠性和稳定性角度是有下降的,毕竟“没有免费的午餐&Rdquo;,想获得收益就得有付出,只是这个代价是否是客户可以接受的。

6)DPU毕竟也属于一款硬件产品,其研发不仅包括了CPU,还有网卡、OS等,所以对于基于DPU进行所谓自主和服务器设备自身研发不会存在太多差异,甚至还有因为设备体积限制等带来更多制造精度的要求,因此DPU的制造可以当做服务器集成来做,技术上还是有很多可以从服务器商借鉴的;也因此,如果说一款DPU类型的设备全是创业公司自研,那这个自研说法的可信度也自然就值得怀疑;

总之而言,DPU设备提供了较多的实用能力,也有NVIDIA等厂商对产品的定位和市场考虑,但是说“数据中心基础架构&Rdquo;也只能当做厂商自己目标的宣传语看待,还没到必要的程度;并且从DPU的市场来看,主要用于云计算场景,而云计算大厂商基本都会有自己自研设备或设备合作定制;DPU产品之路,且行且看路,因为这条路真不宽。

 

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.