究竟什么是 DPU ?它和我们熟悉的 CPU 、 GPU 有什么区别?
01
什么是 DPU?
DPU 的英文全称叫做 Data Processing Unit ,也就是数据处理器。
英伟达首席执行官黄仁勋曾在演讲中表示:“ DPU 将成为未来计算的三大支柱之一,未来的数据中心标配是‘ CPU + DPU + GPU ’。CPU 用于通用计算, GPU 用于加速计算, DPU 则进行数据处理。”
听着有点晕, DPU 到底进行什么样的数据处理?有了 CPU 和 GPU ,为啥还要 DPU ?
众所周知,自从计算机诞生以来,就是采用的著名的冯诺依曼架构。
冯诺依曼架构
这是一个以计算和存储为核心的架构, CPU 作为处理器单元,负责完成各种算术和逻辑计算。而内存(运存)和硬盘(外部存储),负责存储数据,与 CPU 交互。
除了 CPU 、内存和硬盘之外,就是键盘、显示器这样的输入和输出设备。随着时间的推移,后来,我们有了鼠标,又有了显卡、网卡。最终,形成了现在大家看到的电脑的基本构造。
有了显卡,就有了 GPU(Graphics Processing Unit),图形处理器。大家都玩过游戏,很明白,正是游戏、 3D 设计等多媒体图形软件的高速发展,要处理的工作量越来越大,也越来越复杂, CPU 实在忙不过来,所以就有了专门进行图像和图形相关运算工作的 GPU ,分担 CPU 的压力。
DPU 的出现,道理也是一样的。同样是因为 CPU 难以负担一些复杂的计算,所以需要进行任务分工。
02
DPU 到底算些什么?
好了,终于到了关键点了。说了半天, DPU 到底分担了 CPU 的哪些工作呢?
说实话,想要从技术上解释 DPU 分担的工作内容,稍微有点困难,不容易看懂。但是,我们可以从工作场景上进行解释。
大致来看, DPU 分担的工作可以归纳为四个关键词,分别是虚拟化、网络、存储以及安全。
特别需要提醒大家, DPU 是一个紧密围绕数据中心的概念。也就是说,它主要用于数据中心这种大规模算力场景,而非我们每个人的台式机、笔记本电脑或手机(至少目前不是)。
DPU 服务于云计算,主要作用是提升数据中心等算力基础设施的效率,减少能耗浪费,进而降低成本。
前面提到的虚拟化、网络、存储以及安全,是数据中心非常重要的工作,也是大量消耗算力资源的工作。
以网络为例。
在数据中心里,时时刻刻都有大量的数据在进行传输。主机在收发数据时,需要进行海量的⽹络协议处理。根据传统的计算架构,这些协议处理都是由 CPU 完成的。
有人统计过,想要线速处理 10G 的⽹络,需要的⼤约4个 Xeon CPU 的核。也就是说,仅仅是进行⽹络数据包的处理,就要占用⼀个8核⾼端CPU⼀半的算⼒。现在数据中心网络不断升级,从 10G 到 40G 、 100G ,甚至 400G ⾼速⽹络,这些性能开销如何承受?
这些开销如此之大,以至于被称为“ Datacenter Tax(数据中心税)”。
业务程序尚未运行,仅是接入网络数据,就消耗了这么多算力资源,这是无法忍受的。所以,就有公司提出了 SmartNIC (智能网卡)的概念,将网络协议处理的工作从 CPU “卸载”到网卡上,以此分担 CPU 的负载。
2015年,云计算厂商 AWS 率先开始探索这种 SmartNIC 模式。他们收购了芯片厂商 Annapurna Labs ,并于2017年正式推出 Nitro 系统。同年,阿里云也官宣了有类似功能的神龙( X-Dragon )架构。
2019年3月,英伟达花费69亿美元收购了以色列芯片公司 Mellanox 。英伟达将 Mellanox 的 ConnectX 系列高速网卡技术与自己的已有技术相结合,于2020年正式推出了两款 DPU 产品:BlueField-2 DPU 和 BlueField-2X DPU 。
从此, DPU 这个概念正式进入了公众视野。2020年,也被称为 DPU 元年。
正因为 DPU 和 SmartNIC 有这样的渊源,所以,人们普遍将 DPU 视为 SmartNIC 的扩展升级版。
DPU 在 SmartNIC 的基础上,将存储、安全和虚拟化等工作负载也从 CPU 卸载到自己身上。
上世纪90年代末,以 VMWare 为代表的虚拟化技术刚刚出现的时候,完全是由软件进行模拟线的,缺乏硬件的支持,所以,性能很差,几乎难以使用。
后来,2005年,随着技术的演进, CPU 和内存的硬件虚拟化问题逐渐解决,才让虚拟化系统的性能有了大幅的提升,也激活了这项技术的发展前景和价值。众所周知,我们现在的整个云计算架构,都是基于虚拟化技术发展起来的。
虚拟化技术发展的过程,是硬件能力不断取代软件能力的过程。前面我们提到 AWS 发布 Nitro 系统。这个系统除了 SmartNIC 之外,也完成了 I/O 的硬件虚拟化。它还将虚拟化管理程序 Hypervisior 从 CPU 卸载到专用硬件上。这样做带来的结果就是,虚拟化技术的性能损耗趋近于零, CPU 的负担进一步下降。
存储也是如此。
现在数据中心对存储读取和写入的速率要求很高。SSD 价格逐渐下降后,将 SSD 通过本地 PCIe 或高速网络与系统相连接,成为了一种主流的技术路线。针对分布式系统,在以往 InfiniBand 、 FC(Fiber Channel,光纤通道)、 Ethernet 的基础上, RDMA(Remote Direct Memory Access,远程直接数据存取)技术开始流行。
在 RDMA 模式中,应用程序的数据,不再经过 CPU 和复杂的操作系统,直接和网卡通信。这就意味着, DPU 可以承担存储相关的高速接口标准协议处理,进一步为 CPU 分担压力。
最后再看看安全。
在目前越来越严峻的安全形势下,为了确保网络和系统的安全可靠,引入了大量的加密算法。以往,这些算法都是由 CPU 负责完成加密和解密的。
但事实上,网络接口才是最理想的隐私边界。在网络接口上进行加密和解密,才是最合理的。所以,像国密标准的非对称加密算法 SM2 、哈希算法 SM3 和对称分组密码算法 SM4 等,其实都可以交给 DPU 进行计算。未来,区块链技术成熟应用后,相关算法也是可以从 CPU 卸载到 DPU 进行的。
综上所述,大家应该也看明白了, DPU 的作用本质,就是卸载、加速和隔离——把 CPU 的部分工作卸载到自己身上;利用自己的算力特长,对这些工作进行加速运算;整个过程,实现了计算的隔离。
03
DPU 的未来前景
DPU 是一个新型可编程多核处理器,是一块 SoC(System On Chip)芯片。它符合行业标准,具有很高的算力,还具备高性能的网络接口,能高速解析、处理数据,并高效地将数据传输到 CPU 和 GPU 。
DPU 和 CPU 的最大不同,是 CPU 擅长通用性计算任务(什么任务都能接,比较“杂”),而 DPU 更擅长基础层应用任务(做特定的任务,比较“专注”),例如网络协议处理,交换路由计算,加密解密,数据压缩等“脏活累活”。
所以说, DPU 是 CPU 的一个好帮手,将与 CPU 、 GPU 形成“铁三角”,彻底颠覆数据中心的运算模式。
这就是为什么 DPU 如今备受关注的原因。
正如本文开头所说, DPU 目前的火爆程度,已经不能用词语来形容。资本对于 DPU 的热情,更是令人印象深刻。不管是巨头还是初创公司,都纷纷入局 DPU 赛道。DPU 的市场仍在升温,发展前景可期。
04
结语
根据预测,到2025年, DPU 全球市场容量预计将达到120亿美金。
随着摩尔定律逐渐进入瓶颈,为了更高效地利用算力资源,我们需要大力发展 DPU ,让 CPU 、 GPU 、 DPU 进行合理分工,各自更加专注于自己擅长的工作。这样,我们才能将数据中心的能效发挥到最大,为整个社会的数字化转型提供强劲且绿色的动力。
最后,让我们以一段精彩的 DPU 视频作为文章的结束。DPU 到底能带给我们怎样的改变,让我们拭目以待!
-END-
往期推荐:点击图片即可跳转阅读
假如,我变成了单片机…
如果焊接也需要打怪升级,你在哪一级?
ST推出 28nm MCU ,NXP更狠,推出16nm MCU