一文读懂DPU,它到底有啥用?
这两年,关注ICT的小伙伴们一定被DPU这个词频繁“骚扰”。
到底什么是DPU,它与我们常说的CPU、GPU有啥区别呢?
今天我们就来聊聊DPU的前世今生。
▉ 到底什么是DPU?
DPU 的英文全称叫做 Data Processing Unit,与CPU只有一字之差,它们有何区别呢?
对于CPU我们都了解,它为数据中心提供源源不断的算力。
但是随着数据中心的发展,CPU不仅需要提供强大计算能力,还要提供数据中心的虚拟化、网络、存储以及安全等方面的管理,这就让数据中心的CPU不能物尽其用。
例如,你买了100核的CPU,只能用90个核,
其他10个核去哪里了?
跑了一堆数据中心的软件,安全,存储,管理等等。
那么这些额外10个核的开销部分就造成了一些浪费。相当于花了100块钱,只有90块钱被用在了计算上。
为了提供数据中心的TCO(总拥有成本),那么就需要一个专门干脏活累活的角色。
这个时候DPU就出现了。DPU就是来分担CPU在数据中心中除了计算方面其它工作的。
如果你还不理解DPU的作用,那我举个例子来说明一下。
就像做快餐一样,以前需求比较少,厨师在店里将主食,菜,配料等都搭配好了,炒好了,才会给到送餐人员的去送到客户手里。
但是随着客户的需求越来越多,都由厨师在店里制作完成就会浪费很多时间,这个时候呢,厨师只负责制作将快餐的材料准备好了就行。由送餐人员在送餐的过程中把菜加热好,然后送到客户手中,就会节省厨师的很多时间。
送餐人员承担了更多的处理工作,就相当于DPU的作用。DPU是对CPU工作的一个补充,从而让数据中心的工作更细分,效率更高。
▉ 聊聊DPU的发展史?
DPU这个概念是在2020年出现的,那一年,NVIDIA正式推出了两款 DPU 产品:BlueField-2 DPU 和 BlueField-2X DPU 。
其实在推出这两款产品之前,与DPU类似的功能产品就已经在数据中心中开始逐渐被使用。
我们从智能网卡说起。
当时,为了降低CPU在数据中心的额外消耗,来自以色列的Mellanox公司提出了 Smart NIC (智能网卡)的概念。
这个智能网卡除了能完成标准网卡所具有的网络传输功能之外,还提供内置的可编程、可配置的硬件加速引擎,在提升应用的性能和大幅降低CPU在通信中的消耗。
例如,在虚拟化的环境中,CPU需要运行OVS(Open Virtual Switch)相关任务,同时还要处理存储、数据包的在线加解密或离线加解密、数据包深度检查、防火墙、复杂路由等操作,这些操作导致CPU性能不能发挥到最佳。
智能网卡的出现,为解决额外消耗问题提供了新的思路。
我们可以通过智能网卡来将OVS操作从CPU卸载下来,并完成存储加速、数据加密、深度包检测和复杂路由等各种功能,将花费在处理这些工作负载上的大量的CPU周期返回给主机CPU,同时解决了不同业务之间的冲突问题,大幅提升了各项业务的性能,也确保了服务器CPU能为应用提供最大的处理能力或者提供更多的虚拟机(VM)服务,创造更大的价值。
正是看到了智能网卡的巨大商业价值,2019年3月,英伟达花费69亿美元收购了以色列芯片公司 Mellanox 。并在2020年推出了DPU产品,从此, DPU 这个概念正式进入了公众视野。
▉ DPU还有哪些应用?
从上文中虚拟化中的应用我们可以看到,DPU将基础设施任务从CPU转移至DPU,释放CPU的资源,使更多的服务器CPU核可用于运行应用程序,完成业务计算,从而提高服务器和数据中心的效率。
那么还有哪些地方可以用到DPU呢?
1. 将服务从主机卸载到DPU
目前,DPU还可以针对云原生环境进行优化,加速的网络、存储、安全和管理等服务。
如下图所示,红帽Red Hat的容器化云平台即服务(PaaS)OpenShift上,借助DPU优化数据中心资源利用率,将网络相关的数据处理(如VxLan和IPSec等)卸载到DPU加速执行,在25Gb/s网络条件下,OpenShift部署DPU用来加速,可以只用1/3的CPU占用了来达到25Gb/s性能,而在100Gb/s网络条件下,未部署DPU的场景将达不到100Gb/s网络线速,DPU可以带来10倍的性能优势。
2. 提供零信任安全保护
零信任(Zero Trust)是一种以安全性为中心的模型,其基于以下思想:企业不应对其内外的任何事物授予默认信任选项。零信任可以减少数据泄露、拒绝未授权的访问,因此在数据安全方面价值巨大。DPU可以为企业提供零信任保护,通过将控制平面由主机下放到了DPU,实现主机业务和控制平面的完全隔离,数据将无法进行穿透,保证安全性。
DPU的出现相当于为每个服务器配备了一台"计算机前的计算机"以提供独立、安全的基础设施服务,并与服务器应用域安全隔离。如果主机遭受入侵,安全控制代理与被入侵主机之间的DPU隔离层可防止攻击扩散至整个数据中心。
这样DPU就解决了企业不愿直接在计算平台上部署安全代理的情况。通过在完全隔离于应用程序域的DPU上部署安全代理,企业不仅能获得对应用程序工作负载的可见性,还能在其基础设施中执行一致的安全策略。
3. 助力实现"算存分离"
通过在服务器系统的数据入口处引入计算资源,在DPU上独立实现面对应用需求的存储方案,帮助存储厂商在数据中心中低成本地灵活部署、升级高级存储协议,而完全不需要对现有软件栈进行任何更改。
存储厂商可以把自家团队为各行业应用开发的开放系统的直连式存储(DAS)、纵向扩展(Scale-UP)、横向扩展(Scale-OUT)、超融合架构(Hyperconverged)等存储解决方案,零开销地推广到各个应用领域的现有业务处理平台和数据中心基础架构中,而所有的安全加密、数据压缩、负载均衡等复杂又必须的功能则完全由DPU透明地卸载。
存储行业的革新算法和实现,可以在DPU架构中,独立于服务器操作系统进行部署。DPU技术帮助存储厂商实现真正的"算存分离",完全发挥自家产品的技术优势,打通最高效服务应用需求的通路。
如今数据中心中的各项操作主要都在CPU上完成,包括计算任务和各项基础设施任务等,而面对数据处理需求的增长,CPU的算力已经达到瓶颈,摩尔定律逐渐失效,GPU的出现解决了CPU的算力问题,数据中心的瓶颈转向基础设施任务,如数据存储、数据验证、网络安全等。
DPU的出现满足了这样的通用的基础设施任务加速的需求。由DPU构建强大的基础设施层,上层的CPU和GPU来完成计算任务。DPU具有的特性为:
1)行业标准、高性能、软件可编程的多核CPU,通常基于广泛使用的ARM架构,与其它SoC组件紧密耦合。
2)高性能网络接口,能够以线速或网络其余部分的速度解析、处理和有效地将数据传输到GPU和CPU。
3)丰富的灵活可编程加速引擎,可为AI和机器学习、安全、电信、存储和虚拟化等执行卸载并提高应用程序性能。
▉ 谈谈DPU的未来趋势?
目前DPU以数据为中心作为计算架构,能针对数据中心的安全、网络、存储、AI、HPC等业务进行加速。
从DPU概念的提出者NVIDIA的现有技术发展趋势来看,未来的技术发展趋势将会是高度集成化的片上数据中心的模式(Data Center Infrastructure on a chip),即一个GPU、CPU、DPU共存的时代。NVIDIA布局的数据中心从核心到边缘(Edge)都采用了统一的一个计算架构--CPU、GPU、DPU,如图所示,形成了"3U"一体架构。
3U一体的统一计算单元架构将会让管理程序、调度程序都会变得非常容易。通过CPU、GPU、DPU之间的协调计算,可以在数据中心和边缘端都可以达到高性能与高安全性。
可以说,NVIDIA非常看好DPU的发展,将DPU跟CPU和GPU放在一个地位来看待。
NVIDIA 创始人兼首席执行官黄仁勋表示:"现代超大规模云正在推动数据中心的新架构。需要一种旨在处理数据中心基础设施软件的新型处理器来卸载和加速虚拟化、网络、存储、安全和其它云原生AI服务的巨大计算负载。DPU的时代已经到来。"
除了NVIDIA,目前Intel、Marvell、NVIDIA成为最有潜力的产业先驱。大多数DPU方案是从基本的网络控制器开始扩展至SoC。就Intel而言,其产品采取处理器配合FPGA,外加加速引擎的方式;Marvell则采取使用最新处26理器内核配合加速引擎的方式;NVIDIA则采用了处理器配合ASIC,外加加速引擎的方式。这三种方式代表着DPU产业的未来主流的发展方向。
目前,中国DPU产业处于起步阶段,从中国国内市场需求侧来看,中国拥有世界最强的互联网产业、规模最大的网民和线上生态,正是因为数据的大爆发,推动了对算力的需求,同时,中国愈加重视网络安全,DPU在确保网络安全方向有得天独厚的优势,从数据安全到数据中心安全皆全方面覆盖,从而具备较好的发展潜力,这是DPU发展的前提。
DPU将致力于解决"网络协议处理、数据安全、算法加速"等问题,而这些问题有着"CPU做不好,GPU做不了"的特点。数据中心与云计算领域是中国DPU最大的应用市场,DPU可为终端政企用户提供较为成熟的安全的软件定义及硬件加速解决方案。