什么是DPU?

背景

DPU的英文全称叫做 Data Processing Unit ,也就是数据处理器。英伟达首席执行官黄仁勋曾在演讲中表示:“ DPU将成为未来计算的三大支柱之一,未来的数据中心标配是‘CPU + DPU + GPU’。CPU 用于通用计算,GPU 用于加速计算,DPU 则进行数据处理。” 这应该是DPU第一次被提及。

DPU是一个紧密围绕数据中心的概念,主要是服务于云计算,作用是提升数据中心等算力基础设施的效率,减少能耗浪费,进而降低成本。

在讲DPU之前,先简单讲一下什么是网卡,因为早期的数据中心都是标准网卡的形态。

网卡(标准网卡)

网卡,又称为网络适配器或网络接口卡NIC(Network interface Card),是构成计算机网络系统中最基本的、最重要的和必不可少的连接设备,计算机主要通过网卡接入网络。
网卡主要功能:

  1. 数据的发送和接收: 在发送数据时,网卡负责将上层协议的数据帧封装成适合在网络上传输的格式;接收数据时,则执行相反的过程,即将接收到的数据包解封装以便上层协议栈处理;
  2. 物理连接: 网卡提供了计算机与网络介质(如以太网电缆、光纤或无线信号)之间的物理接口。根据不同的网络类型和技术,网卡可以支持多种接口标准,包括但不限于RJ45(用于以太网)、SFP(小型可插拔收发器,通常用于光纤网络);
  3. 网络通信: 每个网卡都有一个唯一的媒体访问控制(MAC)地址,这是在数据链路层用来识别网络设备的身份标识。网卡使用这个地址来参与局域网内的通信,比如通过ARP协议解析IP地址为MAC地址。

典型网卡如下所示: (下图是nvidia的cx系列网卡)
CX7网卡
在数据中心早期时,传输数据都很少,网络的速率也很低,后来随着数据量的增大,特别是大数据时代,数据成爆发性增长,对带宽和延时有了更高的要求。这也就促进网卡从1G->10G->40G->100G->200G->400G这种快速的增长。
网络带宽的增长低延迟的需求
业界网卡主流厂商
网卡厂商
当前主流芯片厂家有intel、broadcom、cavium和Mellanox(被NVIDIA收购)。

随着数据中心网络不断升级,从10G到40G、100G,甚至400G,数据转发消耗的CPU如何能够承受呢?
以云计算的网络为例,需要有虚拟交换机为云上虚拟机提供路由转发服务,有人统计过,想要线速处理10G的网络带宽,需要约4个Xeon CPU的核。这些虚拟化带来的开销如此之大,以至于被称为“ Datacenter Tax(数据中心税)”。
业务程序尚未运行,仅是接入网络数据,就消耗了这么多算力资源,这是无法忍受的。所以,就有公司提出了 SmartNIC (智能网卡)的概念,将网络协议处理的工作从 CPU “卸载”到网卡上,以此分担 CPU 的负载。

智能网卡和DPU的诞生

2015年,云计算厂商 AWS 率先开始探索这种 SmartNIC 模式。他们收购了芯片厂商 Annapurna Labs ,并于2017年正式推出 Nitro 系统。同年,阿里云也官宣了有类似功能的神龙( X-Dragon )架构。
2019年3月,英伟达花费69亿美元收购了以色列芯片公司 Mellanox 。英伟达将 Mellanox 的 ConnectX 系列高速网卡技术与自己的已有技术相结合,于2020年正式推出了两款 DPU 产品:BlueField-2 DPU 和 BlueField-2X DPU 。
从此, DPU 这个概念正式进入了公众视野。随后,包括Fungible、Marvell、Broadcom在内的多家公司也推出了各自的DPU产品或相关概念的产品,进一步推动了DPU市场的发展。2020年,也被称为 DPU 元年。
正因为 DPU 和 SmartNIC 有这样的渊源,所以,人们普遍将 DPU 视为 SmartNIC 的扩展升级版。
DPU 的作用本质,就是卸载、加速和隔离。

典型DPU架构

通过eSwitch卸载OVS的部分功能。
BlueField3

DPU的应用

DPU 在 SmartNIC 的基础上,将存储、安全和虚拟化等工作负载也从 CPU 卸载到自己身上。

AWS 发布 Nitro 系统,除了 SmartNIC 之外,也完成了 I/O 的硬件虚拟化。它还将虚拟化管理程序 Hypervisior 从 CPU 卸载到专用硬件上。这样做带来的结果就是,虚拟化技术的性能损耗趋近于零, CPU 的负担进一步下降。
存储也是如此。在 RDMA 模式中,应用程序的数据,不再经过 CPU 和复杂的操作系统,直接和网卡通信。这就意味着, DPU 可以承担存储相关的高速接口标准协议处理,进一步为 CPU 分担压力。

安全也是如此。在目前越来越严峻的安全形势下,为了确保网络和系统的安全可靠,引入了大量的加密算法。以往,这些算法都是由 CPU 负责完成加密和解密的。这些都可以交给 DPU 进行计算。

DPU 的未来前景

DPU是一个新型可编程多核处理器,是一块 SoC(System On Chip)芯片。与CPU本质区别在于,CPU是一个通用性计算处理器,DPU则相对是一个专职处理器,例如网络协议处理,交换路由计算,加密解密,数据压缩等“脏活累活”。DPU在加速处理上,将会有极大的前景。

  1. https://zhuanlan.zhihu.com/p/639034074 《网卡介绍篇》
  2. https://blogs.nvidia.com/blog/whats-a-dpu-data-processing-unit/ 《What’s a DPU? 》
  3. http://www.xzclass.com/?p=1343 《火遍全网的DPU,到底是个啥?》
  4. https://docs.nvidia.com/networking/display/bluefielddpuosv460/modes+of+operation 《NVIDIA DPU》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值