DPU:“劫机”服务器生态

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

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

 

BlueField-2图例

 

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

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

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

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

3)从趋势上讲,DPU设备对于主机Host来说,使得主机具有了更多“智能化”,虽然原来服务器通常有管理职能化(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主机,二者之一有故障就会带来整体的损坏,可靠性和稳定性角度是有下降的,毕竟“没有免费的午餐”,想获得收益就得有付出,只是这个代价是否是客户可以接受的。

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

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

责任编辑:未丽燕 来源: SDNLAB君
相关推荐

2022-11-07 09:23:39

DPU服务器PUE

2014-02-13 09:27:35

ARM生态系统AMD

2017-11-10 08:58:49

Web服务器应用程序

2022-01-11 11:14:43

DPUSmartNIC虚拟网络

2017-09-14 08:43:05

2020-11-24 13:47:56

服务器

2010-01-15 11:13:03

微型服务器

2010-05-19 15:00:37

IIS服务器

2012-12-19 10:09:19

微服务器云服务器

2016-03-10 16:18:32

IBM

2009-09-17 18:05:51

Nis服务器

2010-05-17 16:50:38

IIS服务器

2010-05-13 18:32:52

2011-06-22 10:24:57

服务器CPU数据中心

2022-03-14 15:10:20

云服务器物理服务器性能

2010-05-21 11:50:54

IIS服务器

2018-05-18 09:43:37

服务器架构大型网站

2018-01-22 09:04:06

镜像服务器作用

2010-06-01 10:25:17

组装服务器

2011-11-10 13:05:40

刀片服务器机架服务器采购指南
点赞
收藏

51CTO技术栈公众号