NVIDIA DPU架构

NVIDIA DPU架构
本内容来自《2021中国DPU行业发展白皮书》,内容共分4章:包括智能网卡的简介及趋势分析、DPU的简介及分析、DPU产业分析及NVIDIA的DPU前景展望等。
NVIDIA的BlueField DPU产品发展路线图如图所示,包括了已有的二代产品BlueField-2,目前即将面世的首款达400Gb/s速度的BlueField-3 DPU,以及未来整合了NVIDIA GPU功能,可达800Gb/s的BlueField-4 DPU。
现代超大规模云技术推动数据中心走向了新的架构,利用一种专门针对数据中心基础架构软件而设计的新型处理器,来卸载和加速由虚拟化、网络、存储、安全和其它云原生AI服务产生的巨大计算负荷,这种产品即BlueField DPU系列。
NVIDIA DPU架构_第1张图片

BlueField-3 DPU是首款达400Gb/s为AI和加速计算而设计的DPU,助力各企业在任何规模的应用上都能实现业内领先的性能和数据中心的安全性。一个BlueField-3 DPU所提供的数据中心服务可相当于多达300个CPU核才能实现的服务,释放宝贵的CPU资源来运行关键业务应用。这款DPU针对多租户、云原生环境进行了优化,提供数据中心级的软件定义和硬件加速的网络、存储、安全和管理等服务。
BlueField-3 DPU的出现解决了目前产业无法完全确保数据安全的问题。BlueField-3 DPU完全承接了BlueField-2 DPU的先进特性,进行了性能加强与扩展,如下图。
NVIDIA DPU架构_第2张图片

BlueField架构本质上将网卡子系统与可编程数据路径、用于加密、压缩等的硬件加速器子系统以及用于控制的ARM处理器子系统融合在一起。在BlueField-3中,数据路径加速分组(DPA)包括16个处理器核,可并行处理256个线程的任务。BlueField-3的重要技术特性按照网络业务、安全业务、存储业务等方面具体说明:
1、 网络业务
在网络业务中,BlueField-3专门对RDMA、连接跟踪(Connection Tracking)、ASAP2等这些网络通信技术做了进一步加强,特别是对时间精度,可在数据中心和边缘之间做非常及时的时钟同步。重要特性技术分析如下:
RDMA技术,可直接在内存之间交换数据,并获得较好的扩展性,提升运行性能,且可卸载CPU算力。RDMA优势如下包括:
(1)零拷贝(Zero-copy),应用程序能够直接执行数据传输,在不涉及到网络软件栈的情况下。数据能够被直接发送到应用的缓冲区或者能够直接从缓冲区里接收,而不需要被复制到网络层;
(2)内核旁路(Kernel bypass),应用程序可以直接在用户态执行数据传输,不需要在内核态与用户态之间做上下文切换;
(3)不需要CPU干预(No CPU involvement),应用程序可以访问远程主机内存而不消耗远程主机中的任何CPU。可以在远程主机不知情的情况下进行读写操作;
(4)操作基于消息(Message based transactions),数据被处理为离散消息而不是流,消除了应用程序将流切割为不同消息/事务的需求,用户可以用高达2GB的消息进行编程;
(5)支持Scatter/gather操作(Scatter/gather entries support),RDMA原生态支持分散/聚合。读取多个内存缓冲区然后作为一个消息发出去或者接收一个消息然后写入到多个内存缓冲区里去。
NVIDIA DPU架构_第3张图片

GPU-direct RDMA技术,简称GDR技术,该技术可实现计算机1的GPU可以直接访问计算机2的GPU内存。在没有这项技术之前,GPU需要先将数据从GPU内存搬移到系统内存,再利用RDMA传输到计算机2,计算机2的GPU还要做一次数据从系统内存到GPU内存的搬移动作。
GPU-Direct RDMA技术使得进一步减少了GPU通信的数据复制次数,通信延迟进一步降低。Mellanox网卡已经提供了GPUDirect RDMA的支持(既支持InfiniBand传输,也支持RoCE传输),在英伟达收购Mellanox后,英伟达的所有网卡已全面支持GPU-Direct RDMA技术。
NVIDIA DPU架构_第4张图片

2、安全业务
安全业务上,BlueField-3可以实现从IP层,传输层以及到MAC层的400Gb/s全线速在线加解密,当使用RegEx和DPI做深度包检测时,速度可以达到50Gb/s。重要特性技术分析如下:
支持IPSec协议,在IP层对数据进行加解密,通过与网络线速相同的IPSec速度达到安全性。IPSec(Internet Protocol Security)是IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议。不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合。IPSec解决IP层安全性问题的技术,同时支持IPv4和IPv6网络。IPSec主要包括安全协议AH(Authentication Header)和ESP(Encapsulating Security Payload),密钥管理交换协议IKE(Internet Key Exchange)以及用于网络认证及加密的一些算法等。IPSec主要通过加密与验证等方式,为IP数据包提供安全服务。BlueField-3对IPSec加解密速度可以达到400Gb/s,相比之下,如果在用搭配100Gb/s、200Gb/s网络的CPU做IPSec,性能也仅达20-40Gb/s级别,并在加解密方面耗费大量CPU资源,而使用BlueField-3做IPSec可以释放这部分CPU的算力。
支持TLS协议,在TCP层对数据进行安全保障。TLS协议是HTTP通信所使用的加密通信,用以降低信息明文传播所具有的三大风险:
(1)窃听风险(eavesdropping),第三方可以获知通信内容;
(2)篡改风险(tampering),第三方可以修改通信内容;
(3)冒充风险(pretending),第三方可以冒充身份参与通信。

相应TLS协议的设计目标为:
(1)所有信息都是加密传播,第三方无法窃听;
(2)具有校验机制,一旦被篡改,通信双方会立刻发现;
(3)配备身份证书,防止身份被冒充。
TLS协议的基本思路是采用公钥加密法,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。BlueField-3对TLS加解密速度也可以达到400Gb/s,使用BlueField-3做TLS同样可以释放大量CPU的算力。
3、存储业务
在存储业务中,BlueField-3可以实现以往不可能做到的事情,可以做到块存储(Block Storage)、文件存储(File Storage)、对象存储(Object Storage)或者NVMe存储(NVMe Storage)的仿真,还可以在数据落盘时加解密的操作(如AES-XTS)进行硬件卸载,甚至是各种签名操作都可以分流到DPU上。弹性块存储(EBS)可以达到18M的 IOP/s的读写性能,在虚拟化I/O加速方面可以达到80Mpps的性能。
BlueField SNAP技术,基于软件定义的网络加速处理,该SNAP技术允许用户访问与服务器连接的远程NVMe存储,像访问本地存储一样,实现了远程存储的所有效率和管理优点,同时具有本地存储的简单性。NVIDIA BlueField SNAP解决方案消除了对本地存储的依赖性,满足了云计算对于存储解耦以及可组合性存储的日益增长的需求。BlueField SNAP可以无缝集成到采用任何操作系统或虚拟机管理程序的几乎所有服务器中,支持在不同的数据中心环境更快地采用NVMe over Fabrics (NVMe-oF),从而有效地为任何应用程序立即部署NVMe-oF技术。BlueField SNAP解决方案(作为 BlueField系列 PCIe DPU智能网卡的一部分提供)使网络闪存存储,如同本地NVMe存储,以有效地虚拟化物理存储。所有主要的操作系统和虚拟机管理程序,均已支持本地NVMe SSD。
BlueField SNAP利用这些现有的NVMe接口,并结合本地SSD性能、管理和软件透明度的优势,为客户带来网络闪存存储的可组合性和灵活性。这种BlueField SNAP技术与BlueField强大的多核ARM处理器、虚拟交换机和RDMA卸载引擎相结合,支持广泛的加速存储、软件定义网络和应用解决方案。ARM处理器与SNAP相结合,还可用于加速分布式文件系统、压缩、重复数据消除、大数据、人工智能、负载均衡、安全性等诸多应用。
4、开发生态
在开发生态上,专为助力BlueField合作生态系统而生的DOCA(集数据中心基础设施于芯片的架构)软件开发包,可以通过DOCA实现软件定义网络、存储、安全,开发人员可以通过DOCA直接调用到BlueField硬件的加速引擎。
NVIDIA DOCA SDK为开发者提供一个完整、开放的软件开发平台,在BlueField系列 DPU上开发软件定义和硬件加速的网络、存储、安全和管理等应用。DOCA功能包含利用BlueField DPU来创建、编译和优化应用的运行时环境,用于配置、升级和监控整个数据中心数千个DPU的编排工具,以及各种库、API和日益增加的各种应用,如深度数据包检测和负载均衡等。
DOCA是一个由库、内存管理、服务组成的框架,建立在一套成熟的驱动程序之上。部分库与开源项目有关,部分库是NVIDIA独有的。如同CUDA抽象GPU编程一样,DOCA则将DPU编程抽象到了更高的层次。英伟达通过结合面向开发人员的DOCA软件开发工具包和用于开箱,用部署的DOCA管理软件来提供完整的解决方案。例如,ASAP²是基于硬件的对网络数据路径进行处理的协议,以二进制形式提供。通过Virt I/O以及配置流跟踪和Regex加速器的下层API,实现网络设备仿真。安全驱动程序为TLS提供内嵌的内核卸载。存储业务中,SNAP驱动程序提供了NVMe虚拟化。
DOCA可不断实现向后兼容,NVIDIA的愿景是让DPU成为异构计算的第三条腿,补充CPU和GPU的功能,DOCA对于在诸多应用中实现这一愿景至关重要。
DPU延续了智能网卡“释放CPU开销”、“可编程”、“任务加速”、“流量管理”等功能,实现了控制面和数据面的通用可编程加速。如今数据中心中的各项操作主要都在CPU上完成,包括计算任务和各项基础设施任务等,面对数据处理需求的增长,CPU的算力已经达到瓶颈,摩尔定律逐渐失效,GPU的出现解决了CPU的算力问题,数据中心的瓶颈转向基础设施任务,如数据存储、数据验证、网络安全等。DPU的出现满足了这样的通用的基础设施任务加速的需求。由DPU构建强大的基础设施层,上层的CPU和GPU来完成计算任务。DPU具有的特性为:
NVIDIA DPU架构_第5张图片

1)行业标准、高性能、软件可编程的多核CPU,通常基于广泛使用的ARM架构,与其它SoC组件紧密耦合。
2)高性能网络接口,能够以线速或网络其余部分的速度解析、处理和有效地将数据传输到GPU和CPU。
3)丰富的灵活可编程加速引擎,可为AI和机器学习、安全、电信、存储和虚拟化等执行卸载并提高应用程序性能。
DPU最核心的任务是数据的预处理和后处理,如网络类任务(包括ALL2ALL、点对点等各种通信模式加速,IPSec,TCP连接跟踪,RDMA等)、存储类任务(分布式存储,数据落盘加解密,数据压缩,数据冗余算法等)、虚拟化加速(OVS及各种Hypervisor的卸载,控制平面和业务平面分离)、对硬件安全的保障(Root of Trust等)。从云计算业务的角度看,DPU是把整个IaaS的服务完整的卸载到硬件做加速。
智能网卡中包括FPGA型和ARM核心型,FPGA型难以处理控制平面任务;ARM型则会因处理其它任务而负载过重,DPU包含数据平面和控制平面的双平面卸载及加速,可以解决以上问题。另外DPU与智能网卡的最大区别是可作为数据中心的最小节点存在,拥有计算功能、网卡功能、加速计算引擎、安全引擎等并可拓展,未来将成为数据中心的标配与三大核心之一(CPU、GPU、DPU)。
更多DPU行业分析,请参阅白皮书《2021中国DPU行业发展白皮书》。本白皮书内容共分4章内容,包括智能网卡的简介及趋势分析、DPU的简介及分析、DPU产业分析及NVIDIA的DPU前景展望等。

参考链接:
https://jishuin.proginn.com/p/763bfbd6e78c

你可能感兴趣的