问题描述:
DPU是什么?
解答:
DPU(Data Processing Unit)是以数据为中心构造的专用处理器,采用软件
定义技术路线支撑基础设施层资源虚拟化,支持存储、安全、服务质量管理等
基础设施层服务。2020年NVIDIA公司发布的DPU产品战略中将其定位为数据中
心继CPU和GPU之后的“第三颗主力芯片”,掀起了一波行业热潮。DPU的出
现是异构计算的一个阶段性标志。与GPU的发展类似,DPU是应用驱动的体系
结构设计的又一典型案例;但与GPU不同的是,DPU面向的应用更加底层。
DPU要解决的核心问题是基础设施的“降本增效”,即将“CPU处理效率低
下、GPU处理不了”的负载卸载到专用DPU,提升整个计算系统的效率、降低
整体系统的总体拥有成本(TCO)。DPU的出现也许是体系结构朝着专用化路
线发展的又一个里程碑。
DPU的作用
DPU最直接的作用是作为CPU的卸载引擎,接管网络虚拟化、硬件资源池
化等基础设施层服务,释放CPU的算力到上层应用。以网络协议处理为例,要
线速处理10G的网络需要的大约4个Xeon CPU的核,也就是说,单是做网络数据
包处理,就可以占去一个8核高端CPU一半的算力。如果考虑40G、100G的高速
网络, 性能的开销就更加难以承受了。A m a z o n 把这些开销都称之为
“Datacenter Tax”,即还未运行业务程序,先接入网络数据就要占去的计算资
源。AWS Nitro产品家族旨在将数据中心开销(为虚拟机提供远程资源,加密解
密,故障跟踪,安全策略等服务程序)全部从CPU卸载到Nitro加速卡上,将给
上层应用释放30%的原本用于支付“Tax” 的算力!
DPU的设计目标是提供高效的数据处理能力,以满足不同应用场景中对数据处理的需求。相比于传统的通用处理器(如CPU),DPU在数据处理方面通常具有更高的效率和性能。
简介
数据中心走向以数据为中心,CPU的性能已经远远落后于数据的增长速度,GPU加速计算成为了计算的主力,极大地提升了单处理器及单机的计算性能。
利用CPU来处理数据中心中的安全、通信、存储、虚拟化等基础架构操作的传统方式逐渐成为计算性能增长的瓶颈,计算和基础架构支撑功能对CPU的资源冲突愈加剧烈。
NVIDIA DPU的出现,将这些基础架构的操作由CPU卸载到了DPU上 ,实现了软件定义和硬件加速在安全、通信、存储和虚拟化等方面组合,将CPU的计算资源释放了出来,更好地支持应用的需求。
发展历史
源于传统的网卡设备,通过添加网络硬件卸载功能(如RDMA、安全卸载、存储卸载、OVS卸载等)走向了智能网卡,NVIDIA再通过和ARM CPU及PCIe交换机的整合实现了DPU的雏形,未来和GPU的进一步整合将实现完整的功能完善和强大的DPU。
核心结构
CPU + 智能网卡 + PCIe交换 + GPU(未来) + DOCA软件开发包
工作原理
软件定义和硬件加速是工作原理的综合。通过网卡的硬件卸载实现高性能的通信、安全、存储和虚拟化,通过CPU来处理管理和控制平面的操作,通过GPU实现DPU的自学习、推理及推荐,并增强DPU的计算性能。
性能优势
NVIDIA BlueField DPU [1]实现全线速的Data In-Line和Data At-Rest加解密功能,如150倍IPSec加解密性能提升; 在不消耗主机CPU的前提下大幅提升了存储的IOPS,比较主机CPU来操作大约30倍的性能提升;实现了RDMA操作的控制和数据平面卸载, 2.5倍的Overlay网络性能提升; 150倍的下一代有状态防火墙性能提升; 10倍的防恶意攻击性能提升等。
应用领域
包括安全加速、存储加速和软硬件分离、OVS卸载、计算加速、视频流业务加速、防火墙加速、防恶意攻击等。
应用场景一:网络功能卸载
网络功能卸载是伴随云计算网络而产生的,主要是对云计算主机上的虚拟
交换机的能力做硬件卸载,从而减少主机上消耗在网络上的CPU算力,提高可
售卖计算资源。
应用场景二:存储功能卸载
NVMe-oF硬件加速
NVMe over Fabric(又名NVMe-oF)是一个相对较新的协议规范,旨在使用
NVMe通过网络结构将主机连接到存储,支持对数据中心的计算和存储进行分
解。NVMe-oF协议定义了使用各种通用的传输协议来实现NVMe功能的方式。
在NVMe-oF诞生之前,数据存储协议可以分为三种:
(1)iSCSI:是一种基于IP的存储网络标准,在TCP/IP网络上通过发送
SCSI命令来访问块存储服务。
(2)光纤通道(Fibre Channel):是一种高速的数据传输协议,提供有序
无损的块数据传输。主要用于关键高可靠要求的业务上。
应用场景三:安全功能卸载
硬件信任根
硬件信任根在安全领域是其它安全功能的基础,主要表现如下方面:
(1)硬件信任根(Root-Of-Trust):硬件信任根提供更离散的密钥生成算
法,并且与主机操作系统相隔离,可以做到硬件防破解。硬件信任根实现私有
密钥存储,可以反克隆和签名。通过硬件信任根认证授权实现访问受控。
(2)加密解密(Encryption/Decryption):数据加密解密算法完全卸载到
硬件网卡,无需主机CPU资源,效率更高更可靠。可以实现通用加密算法和国
密算法等。
(3)密钥证书管理(KMS):密钥证书管理卸载到智能网卡,与主机系统
相隔离;支持多种密钥交换算法,如D-H密钥交换等。
(4)动态数据安全(Secure Data-in-Motion):利用硬件级加解密算法,对
传输通道上的数据做加解密处理,如IPSec和TLS等。硬件处理可以实现更高吞
吐量。
(5)静态数据安全(Secure Data-at-Rest):在存储服务中,永久存盘的数
据需要进行加密,防止被窃取,硬件级数据加解密在存储服务中可以提供更高
效的数据读取,并保证数据安全。
All Rights Reserved 55
DPU White Paper
(6)流日志和流分析(Flowlog):流分析和流日志监控,对数据中心流量
做精细监控,有效识别,可以及时识别DDoS攻击,并做出响应。
卸载到了DPU上,卸载到DPU上具体是什么意思?
卸载到DPU上意味着将特定的任务或操作转移给DPU来处理,而不是由CPU来执行。这可以提供一些优势,包括:
提高性能:DPU通常专门针对某些特定任务进行了优化,比如数据处理、网络处理、硬件加速等。相比于通用的CPU来说,DPU在这些特定任务上可能具有更高的效率和性能。降低CPU负载:将一些特定的任务从CPU卸载到DPU上,可以减轻CPU的工作负荷,使其能够更集中地处理其他任务。这有助于提高系统的整体性能和响应速度。节省能源:由于DPU通常比CPU更高效,卸载到DPU上的任务可以以更低的能耗完成。这可以帮助降低整体系统的能耗。
在NVIDIA的案例中,NVIDIA DPU(数据处理器)是专门设计用于数据中心和云计算环境的加速器,可以卸载和加速一些特定的数据处理任务,如网络加速、数据解码、转码等。通过将这些任务卸载到DPU上,可以提高整体系统的性能和效率。
总而言之,将任务卸载到DPU上意味着通过使用专门的处理器来执行特定的任务,以提高性能、降低负载和节省能源。