查看原文
其他

火遍全网的DPU,到底是个啥?

脚本之家 2022-09-23

The following article is from 鲜枣课堂 Author 小枣君

 关注
“脚本之家
”,与百万开发者在一起

出品 | 鲜枣课堂(ID:xzclasscom)
已获得原公众号的授权转载
不管你是否身处 ICT 行业,这两年有一个词你肯定听说过,那就是 DPU 。

作为一个全新兴起的科技概念,DPU 正在以惊人的速度崛起,成为整个行业甚至整个社会的关注重点。尤其是投资领域,对 DPU 简直是趋之如骛,将其视为未来颠覆行业的潜力技术。

究竟什么是 DPU ?它和我们熟悉的 CPU 、 GPU 有什么区别?

今天,小枣君就带大家彻底搞明白 DPU 的来龙去脉。

█ 什么是 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 难以负担一些复杂的计算,所以需要进行任务分工。

█ 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 的部分工作卸载到自己身上;利用自己的算力特长,对这些工作进行加速运算;整个过程,实现了计算的隔离。


  DPU 的未来前景

DPU 是一个新型可编程多核处理器,是一块 SoC(System On Chip)芯片。它符合行业标准,具有很高的算力,还具备高性能的网络接口,能高速解析、处理数据,并高效地将数据传输到 CPU 和 GPU 。

DPU 和 CPU 的最大不同,是 CPU 擅长通用性计算任务(什么任务都能接,比较“杂”),而 DPU 更擅长基础层应用任务(做特定的任务,比较“专注”),例如网络协议处理,交换路由计算,加密解密,数据压缩等“脏活累活”。

所以说, DPU 是 CPU 的一个好帮手,将与 CPU 、 GPU 形成“铁三角”,彻底颠覆数据中心的运算模式。


这就是为什么 DPU 如今备受关注的原因。

正如本文开头所说, DPU 目前的火爆程度,已经不能用词语来形容。资本对于 DPU 的热情,更是令人印象深刻。不管是巨头还是初创公司,都纷纷入局 DPU 赛道。DPU 的市场仍在升温,发展前景可期。

还是以英伟达为例。继 BlueField-2 DPU 和 BlueField-2X 之后,2021年4月, NVIDIA 又发布了新一代数据处理器—— BlueField-3 DPU 。

BlueField-3 DPU

这是首款为 AI 和加速计算而设计的 DPU ,针对多租户、云原生环境进行了优化,提供数据中心级的软件定义和硬件加速的网络、存储、安全和管理等服务。

据称,一个 BlueField-3 DPU 所提供的数据中心服务,可相当于多达300个 x86 核才能实现的服务。这就释放了大量的 CPU 资源,用于运行关键业务应用。

要想发挥 DPU 在现代数据中心的核心价值,离不开软件的加持。换句话说,没有软件的芯片,只是昂贵的沙子。

为了构建更为强大的DPU生态,英伟达专门推出了给 BlueField DPU 量身打造的软件开发平台—— NVIDIA DOCA 

DOCA 的全称叫 Data Center Infrastructure On A Chip Architecture ,即“线上数据中心基础设施体系结构”。借助于 DOCA ,开发人员能够利用行业标准的 API ,在 NVIDIA BlueField DPU 上快速创建网络,存储,安全和管理服务,以及 AI/HPC 的一系列应用程序和服务。

在2022年5月, NVIDIA 发布了 DOCA 1.3 。该版本不仅新增了121个 API 开发接口,还添加了优化数据流插入的 DOCA Flow 库、通信通道库( Communication Channel )、正则表达式库( Regular Expression )和基于 OVN 的数据路径加密等功能,更添加了 HBN (基于主机的网络)等服务,深受开发者的欢迎。

DOCA 1.3的架构

近日, NVIDIA 又发布了 DOCA 1.4 ,在不重启主机的情况下支持DPU固件升级,在 BlueField-2 DPU 25G & 100G w/BMC 产品上支持 32GB DDR 内存,新增对 AArch64 服务器主机支持,以及基于最长前缀匹配( LPM )管道的路由功能。

借助 DOCA 1.4 版本,开发者可以更灵活、更简单、更快捷地在 BlueField DPU 上进行开发环境的搭载,从而迅速推出新产品。



█ 结语


根据预测,到2025年, DPU 全球市场容量预计将达到120亿美金。

随着摩尔定律逐渐进入瓶颈,为了更高效地利用算力资源,我们需要大力发展 DPU ,让 CPU 、 GPU 、 DPU 进行合理分工,各自更加专注于自己擅长的工作。这样,我们才能将数据中心的能效发挥到最大,为整个社会的数字化转型提供强劲且绿色的动力。

<END>

程序员专属T恤

商品直购链接 👇

  推荐阅读:

这才是适合程序员的T恤,吐血推荐!

CPU竟然才是管理内存的大BOSS ?

操作系统是如何保护自己的?CPU与保护模式

所有电脑管家都叫你清理的注册表,竟然能偷偷控制你的电脑!

可怕!CPU暗藏了这些未公开的指令!

因为一个循环,CPU搞了个新技术!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存