编者按:如今,DPU(数据处理单元)正变得越来越普及,大家关于SmartNIC和DPU之间的疑惑也越来越多,本文将带你揭晓答案。
随着云网络、人工智能、大数据、5G边缘计算的快速发展,数据流量呈指数级增长。CPU计算能力的增长赶不上网络传输速率的提升,网络侧对专业计算的需求急剧增加,DPU应运而生。
DPU旨在卸载虚拟网络、安全、存储等各种功能,满足数据平面转发的加速需求,减轻CPU算力的负担。
我们从以下几个问题中一窥究竟。
问题1:为什么需要DPU ?
加速部分占比有限。
数据在 CPU 和加速器之间来回移动,导致额外的加速速率消耗。
CPU+xPU架构——以CPU为中心,整个IO路径太长,IO成为性能瓶颈。
所以 DPU来了!
DPU是一种新型的可编程处理器,它为高带宽、低延迟和数据密集型计算场景提供计算引擎,可以说是和CPU、GPU并称计算的三大支柱之一。
在CPU不擅长的情况下,专门处理网络数据包、存储请求或分析请求,同时考虑传输和计算的需要,负责流量调度、I/O加速等。
DPU 本质上是一个计算引擎,可以设计成SmartNIC 或独立的网络设备。
随着DPU的诞生,数据中心网络向主机内部延伸,DPU实现了流量调度、I/O路由、加速,从而成为真正的Fabric端点。
问题2:DPU的特征是什么?
DPU 需要以下关键特性:
问题3:DPU和SmartNIC是什么关系?
就像我们上面提到的:DPU可以设计成一个SmartNIC,一个基于DPU的SmartNiC
首先我们要知道什么是网卡。
NIC 代表网络接口卡,是插入服务器或存储盒中以连接以太网的PCIe卡。
基于DPU的SmartNIC不仅仅是简单的连接,它还能够处理复杂的网络流量处理,而这原本应该由CPU来执行。
SmartNIC可以基于 ASIC、FPGA 或SoC
基于DPU的SmartNIC
基于DPU的SmartNIC可以减轻CPU的处理任务。基于DPU的SmartNIC使用自己的板载处理器,可以支持VTEP、OVS卸载、TCP卸载、GRE/GTP隧道封装和解封装、可靠UDP等网络功能加速;IPSec、SSL、XDP/eBPF、vFW/vLB/vNAT、DPI、DDoS防御等安全功能加速;NVMe-oF(TCP)、数据压缩/解压缩等存储功能加速。
除此之外,基于 DPU 的 SmartNIC 还可以部署在网络、安全、存储等多个领域。它们非常适合电信、网络安全、软件定义存储、机器学习和超融合基础设施服务器。