网站首页 > 文章精选 正文
许多人都在讨论 DPU(数据处理器)智能网卡,但却忽略了一个简单的问题:智能网卡是什么,智能网卡有什么作用?
网卡(NIC),全称网络接口卡,是一张 PCIe 卡,可以插入服务器或存储盒,实现与以太网连接。而 DPU 智能网卡超越了简单的连接,并在网卡上实现了网络流量处理,相比其他的基础网卡,这些处理必须交由 CPU 来执行。
部分供应商对 DPU 智能网卡的定义是完全集中在应用上的,但是这样定义并不准确,因为不同的供应商有不同的架构。例如,一张 DPU 智能网卡可以基于 ASIC、FPGA 和 SoC 芯片。然而,只生产一种网卡的厂商通常会认为只有他们的网卡才称得上是智能网卡。
ASIC 型网卡
- 高性价比
- 高厂商开发成本
- 可编程及可扩展
- 其灵活性受限于预设定功能
FPGA 型网卡
- 性能好,但价格昂贵
- 编程难度大
- 特定应用的优化
SoC 型网卡 + CPU
- 性价比较好
- 可编程处理器
- 最高灵活性
- 最简单的可编程性
不同的实现方式在成本、编程的难易程度和灵活性方面各有利弊。ASIC 的成本效益最高,性价比有可能最佳,但灵活性有限。NVIDIA ConnectX-5 等 ASIC 型网卡有一个可编程的数据路径,配置起来相对简单。然而,其功能是由 ASIC 内定义的功能所决定的,这可能导致某些应用无法得到支持。
相比之下,NVIDIA Innova-2 Flex 等 FPGA 型网卡具有高度可编程性。只要有足够的时间和精力,在 FPGA 可用资源的限制范围内,它可以相对有效地支持几乎任何功能。但众所周知,FPGA 编程难,价格高。
对于更复杂的用例,如 NVIDIA BlueField DPU 可编程智能网卡 一类的 SoC 型智能网卡似乎是最好的 DPU 智能网卡实现选项:具有良好的性价比、易于编程且灵活性高。
图1 智能网卡的实现选项对比图
单一讨论特定供应商如何实现 DPU 智能网卡,并不能回答其功能问题和架构设计的问题。NVIDIA 实际上提供基于上述每一种架构的产品,这些产品都可以归类为 DPU 智能网卡。事实上,客户可以根据需求,将这些产品分别用于不同的应用。因此,对 ASIC、FPGA、SoC 等实现选项的关注颠覆了“形式服从功能”的理念,而这种理念是最佳架构的基础。
笔者并没有把重点放在架构设计上,而是调整了《个人电脑杂志》百科全书条目,对什么是 DPU 智能网卡,给出了一个更实用的定义:
DPU 智能网卡:
DPU 型网络接口卡(网络适配器)可以卸载通常由系统 CPU 所负责处理的任务。DPU 智能网卡使用其板载的处理器,来执行任何加密/解密、防火墙、TCP/IP 和 HTTP 网络处理不同任务的组合。智能网卡非常适合于高流量的网络服务器。
定义中有两点需注意:第一点,它更专注于功能而非架构设计;第二点,定义中以“……使用其板载处理器……来执行任何……网络处理任务组合”这一叙述中的暗示。由此可见,嵌入式处理器是实现灵活执行绝大部分网络功能的关键。
用户可以进一步拓展这一定义为“只需添加 DPU 智能网卡,就有可能执行网络、存储或 GPU 虚拟化”。除网络服务器外,智能网卡也同样适用于电信、安全、机器学习、软件定义存储和超融合基础设施服务器。
网卡类别
我们可以通过网络适配器所支持的功能,以及用于加速的不同应用来区分三类网卡:
图2 早先的网卡功能类比
- 基础网卡
- 智能网卡
- 智慧网卡
NVIDIA BlueField DPU 从智能网卡中脱颖而出成为了新兴类别。
基础网卡只能移动网络流量,并且除了可能的 SRIOV 和基本的 TCP 加速外,具有很少,甚至没有卸载功能。它不能节省任何 CPU 周期,也不能卸载数据包转发或数据流的处理。NVIDIA 已不再出售基础网卡。
NVIDIA ConnectX 适配器系列具有可编程数据路径,并且可以加速公有云用例中十分重要的多个功能。因此,此类网卡可定义为智慧网卡(iNIC)。如今,与公有云提供商一样,可能本地企业、电信公司和私有云也需要这种可编程性和加速功能。它还可以被称为首字母不带大写“S”的高级智能网卡(smarterNIC)。
许多客户需要 DPU 智能网卡功能,而往往却只能找到其他供应商提供的 FPGA 型网卡,或者是 FPGA 加上有自定义能力的专有处理引擎而组成的网卡。但是,当客户需要一款最符合他们的特殊处理流程的网卡时,客户通常会最终选择 ConnectX 系列 iNIC,因为 ConnectX 能实现特定应用所需要的功能,亦能够提供这些供应商号称的“智能网卡”所具备的功能,性能和灵活性,而功耗和成本却远低于这些智能网卡。
因此,根据部分其他业界内所使用的智能网卡定义,NVIDIA的 ConnectX NIC 确实是他们定义的“智能网卡”,虽然我们只把它称为智慧网卡,或有高级智能的网卡。NVIDIA 的 FPGA 型网卡(Innova)也同样是传统意义上的智能网卡,而我们的 SoC 型网卡(BlueField)才是最智能的智能网卡,可以将它称之为天才型的智能网卡(Genius NIC)。
到底什么才是智能网卡的完整定义?DPU 智能网卡是一个具有加速能力并可卸载服务器(或存储服务器)的 CPU 功能的网络适配器。那么,该如何建造一个 DPU 智能网卡?哪种智能网卡才可以最好地满足客户需要执行的不同任务呢?要弄懂这些问题,必须深挖更多的细节。例如,搞清楚到底有哪些数据路径以及虚拟化是可以被加速的,同时,这样的加速是如何在 DPU 智能网卡上使用的。
猜你喜欢
- 2025-03-10 AKITIO 10G/NBASE-T PCIe 网卡开箱拆解评测
- 2025-03-10 保姆式PVE刷机教程及sh一键脚本PCI直通网卡和PVE优化的实用方法
- 2025-03-10 宽带升级了网速还慢?开启电脑隐藏的这2个功能,网速可提升30%
- 2025-03-10 无线网卡无法启动(代码 10),怎么办?
- 2025-03-10 VMware三种网络模式详解
- 2025-03-10 联想G480升级5g无线网卡
- 2025-03-10 无线网卡种类有什么区别
- 2025-03-10 网络安全Bypass网卡详细讲解
- 2025-03-10 聚焦无线网卡相关问题 速率、延迟、信号、散热这些你都明白吗
- 2025-03-10 无线网卡 与随身wifi的区别,购买时有什么不同?
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)