智能网卡是可以卸载(Offload)通常由主机CPU处理的一些工作负载,并通过硬件的方式进行加速(Acceleration)的一种网络接口卡。智能网卡利用其板上的处理芯片,能够完成加密/解密,防火墙,TCP/IP,HTTP等任何处理任务的组合。
智能网卡硬件中普遍卸载了部分传输层和路由层的处理逻辑(如校验和计算、传输层分片重组等),来减轻CPU的处理负担。甚至有些网卡如RDMA网卡还将整个传输层的处理都卸载到网卡硬件上,以完全解放CPU资源。
开放系统互连(OSI)协议 |
||||||
L1 |
L2 |
L3 |
L4 |
L5 |
L6 |
L7 |
物理层 |
链路层 |
网络层 |
传输层 |
会话层 |
表示层 |
应用层 |
传统网卡 |
主机CPU |
|||||
智能网卡 |
主机CPU |
传统网卡的瓶颈
- 虚拟交换技术的引入,使得基于服务器的网络数据平面的复杂性急剧增加;
- 网络接口带宽的增加,执行这些功能会给 CPU 资源造成难以承受的负载;
- 传统网卡固定功能的流量处理功能无法适应 SDN 和 NFV;
智能网卡的优势
- 将 vSwitch 完全Offload到智能网卡,释放昂贵的主机CPU资源,将计算力还给应用程序;
- 可以实现基于服务器的复杂网络数据平面功能:多匹配操作处理、计量整形、流统计等;
- 支持网络的可编程性;
- 与现有的开源生态系统无缝协作,以最大程度地提高软件功能的速度和影响力;
智能网卡应用场景
- 智能网卡可应用于数据传输,虚拟交换、数据安全和数据存储等场景。
- 数通领域为智能网卡最大的应用市场,其可为数通领域的云计算厂商提供成熟的硬件加速方案,随着5G和NFV技术的发展,电信市场边缘端对智能网卡需求逐步提升。
- 电信领域内,智能网卡的引入可解决边缘机房升级改造成本过大且无法为MEC提供足够算力的问题,并为MEC在第三方应用、OVS加速等方面提供硬件加速支持。
智能网卡的三种实现方式
根据不同的供应商的架构不同,智能网卡的实现方式可以分为:
- 基于专用集成电路(ASIC Based):具有价格优势,但灵活性有限,尽管相对容易配置,但最终功能将受到ASIC中定义的功能的限制,可能会导致某些工作负载无法得到支持
- 基于现场可编程门阵列(FPGA Based):高度可编程,可以相对有效地支持几乎任何功能,但是编程难度大且价格高昂
- 基于片上系统(SOC Based):价格与性能兼具、易于编程且高度灵活高
技术途径 |
编程方法 |
特点 |
厂商 |
|
基于专用集成电路 (ASIC Based) |
网络接口芯片 ASIC |
一般不支持编程 |
性价比高 配置简单 灵活性差 |
Mellanox ConnectX-5 |
基于现场可编程门阵列 (FPGA Based) |
FPGA芯片 |
硬件描述语言 |
性能优异 工作负荷最优化 价格高昂 编程难度大 |
Xilinx Alveo U25 Intel Arria 10 GX |
基于片上系统 (SOC Based) |
SOC芯片 |
高级语言、C语言等 |
性价比高 灵活性高 编程难度小 |
Nvdia BlueField-2 |
1、ASIC实现方式
NVIDIA Mellanox ConnectX-5 智能网卡提供高级硬件卸载,以减少 CPU 资源消耗和提高数据中心基础设施的效率,为 Web 2.0、云、数据分析和存储平台提供了最高性能和最灵活的解决方案。
Mellanox ConnectX-5 以ASIC的方式集成实现了智能网卡的多个重要功能:
- 支持 RDMA 的智能单端口和双端口网络适配器提供多达两个端口的 100Gb 以太网连接
- 一个 PCIe 交换机和 NVMe over Fabric (NVMe-oF) 卸载
- 共享缓冲区架构和 RoCE 增强提供支持的 Mellanox Multi-Host® 技术
- 先进的 Open vSwitch 卸载,以降低 CPU 资源消耗来驱动极高的数据包速率和吞吐量
2、FPGA实现方式——Xilinx Alveo U50
- Alveo U50 卡采用赛灵思 XCU50 FPGA,基于UltraScale+架构,通过结合多个超逻辑区域 (SLR) 来增大密度。XCU50 包括 2 个 SLR,底部 SLR (SLR0) 各集成 1 个 HBM 控制器,与相邻的 8 GB HBM2 存储器接口连接。
- 卫星控制器为TI MSP432,用于控制和监测电压、电流和温度。主机服务器开发板管理控制器 (BMC) 可与卫星控制器交互,并通过频带外通信来监测和控制 U50 卡
特性 |
ALVEO U50 |
架构 |
UltraScale+ |
总功耗 |
75W |
外形尺寸 |
半高、半长 |
网络接口 |
1x QSFP28(100Gb) |
PCIe 接口 |
Gen3 x16、Gen4 x8 和 CCIX |
时钟精度 |
IEEE 1588 |
HBM2 总容量 |
8 GB |
HB2带宽 |
201GB/s |
查找表 (LUT) |
872K |
DSP slice |
5,952 |
最高分布 RAM |
24.6 Mb |
散热方案 |
被动散热 |
FPGA实现方式——Intel PAC D5005
- Intel Stratix® 10 FPGA 具有行业领先的可编程逻辑,集成了丰富的嵌入式外设、嵌入式高速收发器、硬核内存器控制器和 IP 协议控制器。
- BMC 与板载传感器、FPGA 和闪存对接,并控制开机/关机序列、FPGA 配置和遥测数据轮询。BMC 使用PLDM协议进行通信。
特性 |
PAC D5005 |
架构 |
FPGA based |
总功耗 |
215W |
外形尺寸 |
¾长、全高、双槽位 |
网络接口 |
2x QSFP28(2x100Gb) |
PCIe 接口 |
Gen3 x16 |
内存接口 |
4x8 GB DDR4 2400MT/s |
管理端口 |
Micro-USB |
FPGA芯片 |
Intel Stratix® 10 |
BMC管理芯片 |
Intel MAX® 10 |
Flash |
64Mb+2Gb |
FRUID EEPROM |
Microchip 24AA024-I/SN |
散热方案 |
被动散热 |
3、SOC实现方式——NVDIA BuleField-2
BlueField-2数据处理单元 (DPU)将行业领先的 Mellanox® ConnectX-6® Dx 网络适配器与一系列 Arm® 内核相结合,提供具有完整软件可编程性的专用硬件加速引擎。
BlueField-2 位于每台服务器的边缘,经过优化,可以快速处理关键基础设施任务,提高数据中心效率。 BlueField-2 为从边缘到核心数据中心和云的云网络、存储、网络安全、数据分析、HPC 和人工智能 (AI) 提供敏捷和高性能的解决方案,同时降低总拥有成本。
BlueField-2提供了广泛的加速软件定义网络、存储、安全和管理服务,能够卸载、加速和隔离数据中心基础设施。
特性 |
BlueField-2 |
架构 |
Soc based |
总功耗 |
最低75W或更高 |
外形尺寸 |
HHHL/FHHL |
网络接口 |
双口SFP56 10/25/50/100Gb/s |
PCIe 接口 |
Gen 3.0/4.0 X8/X16 |
内存接口 |
8GB /16GB 3200MT/s |
管理端口 |
NCSI接口和1GbE OOB管理接口 |
eMMC |
16GbE x8 NAND flash |
散热方案 |
被动散热 |
关键软件定义、硬件加速的应用程序:
- 网络
vSwitch/vRouter、NAT、负载均衡器、NFV
- 贮存
NVM over Fabrics (NVMe-oF)、弹性存储虚拟化、超融合基础设施 (HCI)、加密、数据完整性、压缩、重复数据删除
- 安全
下一代防火墙、IDS/IPS、信任根、微分段、DDOS 防护