传统智能网卡 vs DPU智能网卡

传统数据中心基于冯诺依曼架构,所有的数据都需要送到CPU进行处理。随着数据中心的高速发展,摩尔定律逐渐失效,CPU的增长速度无法满足数据的爆发式增长,CPU的处理速率已经不能满足数据处理的要求。计算架构从以CPU为中心的Onload模式,向以数据为中心的Offload模式转变,而给CPU减负的重任就落在了网卡(网络适配器)上,这也推动了网卡的高速发展;从服务器网卡的功能上看,可以分为三个阶段:

传统智能网卡 vs DPU智能网卡_第1张图片

阶段1:基础功能网卡

基础功能网卡(即普通网卡)提供2x10G或2x25G带宽吞吐,具有较少的硬件卸载能力,主要是Checksum,LRO/LSO等,支持SR-IOV,以及有限的多队列能力。在云平台虚拟化网络中,基础功能网卡向虚拟机(VM)提供网络接入的方式主要是有三种:由操作系统内核驱动接管网卡并向虚拟机(VM)分发网络流量;由OVS-DPDK接管网卡并向虚拟机(VM)分发网络流量;以及高性能场景下通过SR-IOV的方式向虚拟机(VM)提供网络接入能力。

阶段2:硬件卸载网卡

硬件卸载网卡可以认为是第一代智能网卡,具有丰富的硬件卸载能力,比较典型的有 OVS Fastpath硬件卸载,基于RoCEv1和RoCEv2的RDMA网络硬件卸载,融合网络中无损网络能力(PFC,ECN,ETS等)的硬件卸载,存储领域NVMe-oF的硬件卸载,以及安全传输的数据面卸载等。这个时期的智能网卡以数据平面的卸载为主。

以纳多德 NVIDIA(英伟达)产品为例,纳多德的ConnectX-6 DX(NDD-MCX623106AN-CDAT)网卡即为SmartNIC。该网卡主要用于加速关键任务数据中心应用程序,例如安全性,虚拟化,SDN / NFV,大数据,机器学习和存储。具有强大的RDMA功能,允许网络流量绕过CPU,避免使用TCP,并消除额外的数据副本,以提高性能并释放CPU内核。ConnectX-6 DX是目前市场上最先进的NIC可在NIC硬件中实现多个卸载,包括VXLAN,NVMEoF等,以节省服务器的CPU资源,更专注于计算,并降低HPC、AI、计算、存储和网络领域的TCO。

传统智能网卡 vs DPU智能网卡_第2张图片

阶段3:DPU智能网卡

DPU的出现是为了解决数据中心中存在三个方面共五大问题:节点间:服务器数据交换效率低、数据传输可靠性低,节点内:数据中心模型执行效率低,I/O切换效率低、服务器架构不灵活,网络系统:不安全。

DPU区别于SmartNIC最显著的特点,DPU本身构建了一个新的网络拓扑,而不是简单的数据处理卸载计算;DPU可以脱离host CPU存在,而SmartNIC不行。这个本质的区别就是DPU可以构建自己的总线系统,从而控制和管理其他设备,也就是一个真正意义上的中心芯片。

DPU是新近发展起来的一种专用处理器,定位为数据中心继CPU和GPU之后的“第三颗主力芯片”,这也是DPU和我们前面谈到的SmartNIC最本质的区别,DPU可以脱离host CPU存在,而SmartNIC不行。这个本质的区别就是DPU可以构建自己的总线系统,从而控制和管理其他设备,也就是一个真正意义上的中心芯片;但DPU通常是被集成到SmartNIC;NVIDIA对DPU智能网卡有这样的定义:一种基于 DPU 的网络接口卡(网络适配器),用于卸载系统 CPU 通常会处理的处理任务。使用自己的板载处理器,基于 DPU 的 SmartNIC 可以执行加密/解密、防火墙、 TCP / IP 和HTTP 处理的任意组合。这个定义有两点很不错,首先,它关注的是DPU智能网卡所需具有的功能而不是形式。其次,它用语句提示这种形式,“…使用自己的板载处理器…执行任何组合的…”网络处理任务。因此,嵌入式处理器是实现灵活执行几乎任何网络功能的关键。

传统智能网卡 vs DPU智能网卡

传统智能网卡上没有CPU,需要Host CPU进行管理。传统智能网卡除了具备标准网卡的功能外,主要实现网络业务加速。随着网络速度的提高,传统智能网卡将消耗大量宝贵的CPU内核来进行流量的分类、跟踪和控制。

DPU拥有高性能“CPU+可编程硬件”转发IO数据面加速的PCIe网卡设备,在实现标准网卡功能(NIC/TSO)的同时,还提供灵活的软件定义能力,为云厂商自定义的云基础设施赋能。DPU智能网卡提升云主机性能,最大限度释放CPU资源。同时,通过统一架构、统一管控实现内外一张网提升网络性能,节省网关/专线,减少Buffer,进而收敛机型、降低成本。从功能性的角度来看,DPU除SmartNIC功能之外还包括易于扩展,可用C语言编程的Linux环境。

以纳多德ConnectX-6 Dx 和 NVIDIA (英伟达)BlueField-2为例:ConnectX-6 Dx 创新的硬件卸载引擎,可支持IPsec 和在线TLS 动态数据加密、先进的网络虚拟化、RDMA over ConvergedEthernet (RoCE) 和 NVMe over Fabrics (NVMe-oF) 存储加速等;BlueField-2 集成了 ConnectX-6 Dx 的所有高级功能,BlueField-2 SmartNIC 可充当协处理器,在计算机前连接另一台计算机,运用先进的软件定义网络技术、NVMe SNAP 存储解聚技术和增强型安全功能可实现裸金属环境和虚拟化环境的转换。

1、实现方式差别

SmartNIC实现了部分卸载,即只卸载数据面,控制面仍然在HostCPU处理。从总体上来说SmartNIC的卸载操作是一个系统内的协作。

DPU实现了完全的卸载,服务器的数据面和控制面都卸载运行在DPU内部的嵌入式CPU中。DPU实现包括软件卸载和硬件加速两个方面,即将负载从Host CPU卸载到DPU的嵌入式CPU中,同时将负载数据面通过DPU内部的其他类型硬件加速引擎,如协处理器、GPU、FPGA、DSA等来处理。从总体上来说,DPU是两个系统间的协作,把一个系统卸载到另一个运行实体,然后通过特定的接口交互。

2、功能差别

传统智能网卡(SmartNIC)为可卸载网卡, DPU为可编程的智能网卡。网卡从可卸载网卡发展到可编程智能网卡具备越来越强大的功能,越来越高的灵活度。可编程网卡支持eBPF卸载和P4/C语言混合编程,实现包括网络、存储、安全、虚拟化等所有底层IO的卸载加速。

3、适用场景差别

“可卸载网卡”适用于主流的OVS/VROUTER卸载和主机Overlay场景、网关安全等场景。“可编程网卡”适用于各种通用任务的卸载和加速以及业务的弹性加速场景,如容器场景、负载均衡、网络安全和高级定制化网络。

结语

传统智能网卡和DPU是智能网卡在演进路径上不同阶段的产物。两者在架构、功能、实现方式等方面的差异,有着不同的适用场景。作为光网络解决方案的领先供应商,纳多德认为,在数据量级呈指数增长的今天,DPU概念一出,立马吸引了众多国际巨头、创企进入。如何降低虚拟化资源损耗,提升网络带宽和时延成为了智能网卡、芯片厂商的终极谜题。不同业务场景需要不同类型的智能网卡,单一智能网卡难以满足复杂多样的加速场景。随着市场热度以及技术能力的提升,智能网卡市场也会迎来越来越多的解耦场景。后续如何实现互联互通、软硬件协同,是未来智能网卡落地的重点问题。

你可能感兴趣的:(网络,运维,big,data)