写在前面:这篇文章发布于8-11,为付费文章,现在免费给大家看。
-------分割线-------
方向大致正确,充分把握节奏。
研究英伟达的财报发现80%的收入增长都来自于DC数据中心。目前AI处于训练和推理的训练阶段,主要以数据中心的算力卡的建设为主。既然数据中心在AI产业里面如此重要,如何提升数据中心的效率、降低成本成为未来算力产业要考虑的方向。
在这种算力的发展方向牵引之下,出现了很多的不同演进方向机会。比如谷歌的TPU、海光的DCU、基于FPGA的AI定制芯片、基于网络计算的NPU、基于数据的DPU等。目标都是是实现极致的算力,极致的功耗。毕竟数据中心的电费开支也是很大一笔费用。
目前在DPU领域的玩家众多,雨后春笋。毕竟数据中心,最重要的是瞄准数据的处理。所以这一篇文章主要介绍一下DPU的发展趋势。
一、究竟什么是 DPU ?它和我们熟悉的 CPU 、 GPU 有什么区别?
DPU(数据处理单元,Data Processing Unit)是一种新型的可编程处理器,专门用于数据中心的数据处理任务。 DPU 将成为未来计算的三大支柱之一,未来的数据中心标配是‘ CPU + DPU + GPU ’。CPU 用于通用计算,GPU 用于加速计算,DPU 则进行数据处理。
DPU的主要特点有三个。第一个是系统级芯片(SoC),DPU通常是一个系统级芯片,集成了多核CPU、高性能网络接口和可编程加速引擎。第二个是数据处理,DPU负责处理数据传输、网络协议、存储管理和安全加密等任务,从而减轻CPU的负担。第三个是虚拟化支持,DPU在虚拟化环境中表现出色,能够高效处理虚拟机和容器的网络和存储需求。
DPU的主要应用场景是三个。第一个是数据中心,DPU主要用于数据中心,提升计算效率,减少能耗。第二个是云计算,在云计算环境中,DPU可以加速数据处理,优化资源分配。第三个是网络安全,DPU可以处理复杂的加密和解密任务,增强系统的安全性。DPU的出现和发展,标志着计算架构的进一步演进,特别是在大规模数据处理和高性能计算领域。
GPU和DPU各领风骚。GPU很好的解决了算力瓶颈的问题,但仅是针对于单机的,再面向更为广泛的数据中心,特别是对于安全和性能隔离时,该如何解决?就需要DPU出马了。
DPU是面向数据中心的基础架构的处理器。从某种角度而言,DPU的出现很好地释放了CPU、GPU的资源,在英伟达眼中,它的出现为以数据为中心的新计算架构带来不同的思路。由DPU执行通信框架、存储框架、安全框架和业务隔离,将CPU、GPU算力资源“解压”给应用,让性能得到更优的释放。有了DPU以后,把通信和计算重叠起来,这样可以通过DPU来加速HPC业务中的通信,让CPU与GPU执行真正的浮点计算。
DPU的出现弥补了在数据中心中对于基础服务加速能力的不足,实现了3U一体的新型数据中心架构,让数据中心成为新的计算单元,这也是一个必然的架构。计算机普遍采用著名的冯诺依曼架构。
冯诺依曼架构是一个以计算和存储为核心的架构,CPU 作为处理器单元,负责完成各种算术和逻辑计算。而内存(运存)和硬盘(外部存储),负责存储数据,与 CPU 交互。除了 CPU 、内存和硬盘之外,就是键盘、显示器这样的输入和输出设备。随着时间的推移,后来,我们有了鼠标,又有了显卡、网卡。最终,形成了现在大家看到的电脑的基本构造。
有了显卡,就有了 GPU(Graphics Processing Unit),图形处理器。大家都玩过游戏,很明白,正是游戏、 3D 设计等多媒体图形软件的高速发展,要处理的工作量越来越大,也越来越复杂,CPU 实在忙不过来,所以就有了专门进行图像和图形相关运算工作的 GPU ,分担 CPU 的压力。
DPU 的出现,道理也是一样的。同样是因为 CPU 难以负担一些复杂的计算,所以需要进行任务分工。
二、DPU 到底算些什么
DPU 分担的工作可以归纳为四个关键词,分别是虚拟化、网络、存储以及安全。DPU 是一个紧密围绕数据中心的概念。也就是说,它主要用于数据中心这种大规模算力场景,而非我们每个人的台式机、笔记本电脑或手机。
DPU 服务于云计算。主要作用是提升数据中心等算力基础设施的效率,减少能耗浪费,进而降低成本。
以网络为例。在数据中心里,时时刻刻都有大量的数据在进行传输。主机在收发数据时,需要进行海量的网络协议处理。根据传统的计算架构,这些协议处理都是由 CPU 完成的。如果想要线速处理 10G 的网络,需要的⼤约 4 个 Xeon CPU 的核。仅仅是进行⽹络数据包的处理,就要占用⼀个 8 核高端CPU⼀半的算力。现在数据中心网络不断升级,从 10G 到 40G 、 100G ,甚至 400G、800G 高速网络,这些性能开销如何承受?
这些开销如此之大,以至于被称为“ 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 卸载到自己身上。
以 VMWare 为代表的虚拟化技术刚刚出现的时候,完全是由软件进行模拟的,缺乏硬件的支持,性能很差,几乎难以使用。后来随着技术的演进,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 形成“铁三角”,彻底颠覆数据中心的运算模式。还是以英伟达为例。继 BlueField-2 DPU 和 BlueField-2X 之后,2021 年 4 月,NVIDIA 又发布了新一代数据处理器 —— 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 的一系列应用程序和服务。
DPU作为继CPU和GPU之后的“第三颗主力芯片”,在未来的计算架构中将扮演越来越重要的角色。
数据中心和云计算领域。随着数据中心和云计算的快速发展,DPU在提升计算效率和降低能耗方面具有重要作用。DPU可以卸载CPU的部分任务,如数据传输、网络协议处理和存储管理,从而提高整体系统性能。
网络安全领域。DPU在网络安全领域也有广泛应用。它可以处理复杂的加密和解密任务,增强系统的安全性,特别是在应对日益复杂的网络攻击时。
高性能计算和AI领域。在高性能计算和人工智能领域,DPU可以加速数据处理任务,优化资源分配,提升计算效率。这对于需要大量数据处理和实时计算的应用场景尤为重要。
边缘计算领域。随着5G、6G和物联网的发展,边缘计算成为一个重要趋势。DPU可以在边缘设备中发挥作用,处理本地数据,减少延迟,提高响应速度。
市场前景广阔。预计到2025年全球DPU产业市场规模将超过245.3亿美元,期间CAGR高达51.73%。国内市场规模将达到565.9亿元。随着摩尔定律逐渐进入瓶颈,为了更高效地利用算力资源,需要大力发展 DPU ,让 CPU 、 GPU 、 DPU 进行合理分工,各自更加专注于自己擅长的工作。