浅析SmartNIC:博通vs英特尔vs英伟达vs赛灵思

普通网络接口卡(NIC)是围绕专用集成电路(ASIC)构建的,该集成电路被设计成以太网控制器。例如,Mellanox的ConnectX系列、博通的NetXtreme或Xilinx XtremeScale。通常,这些芯片会围绕第二个设计目标进一步优化。例如,ConnectX系列还支持Infiniband,而XtremeScale则专注于Linux内核旁路。这些控制器的功能非常出色,它们代表了业界最优秀的控制器,但它们还不是SmartNIC。

SmartNIC是什么?

在本文中,我们将SmartNIC定义为这样一种网卡:它允许在购买网卡后的某个时间将附加软件加载到NIC中,以添加新特性或支持其他功能。就像购买智能手机一样,之后可以从供应商的应用商店里安装应用。

普通网卡(NIC)和智能网卡(SmartNIC)的根本区别在于SmartNIC从主机CPU卸载处理量,SmartNIC是围绕FPGA平台设计的,FPGA被设计为接受本地化编程,一旦安装就可以轻松更新。SmartNIC需要满足以下特征:

  • 能够实现复杂的基于服务器的网络数据平面功能,包括多个匹配动作处理,隧道终止和发起,计量和整形以及流量统计。
  • 通过固件加载或客户编程来支持可替换的数据平面,对可执行的功能几乎没有预定的限制
  • 与现有的开源生态系统无缝集成,最大限度地提高软件功能

SmartNIC需要额外的计算能力和板载内存,而这是普通网卡所不具备的。大多数SmartNIC的实现方法都是把以太网控制器作为基础,通过固件/芯片或适配器上的芯片方式进行叠加。可以通过以下三种方法来提高其计算能力,从而使普通的NIC智能化:

  • Arm CPU 核集成,有人称其为集群,有些人则称其为“网格”或“块”
  • 定制网络处理器采用的流处理核(FPC),通常是 P4
  • 现场可编程门阵列(FPGA),可编程逻辑

产品对比

为了详细理解SmartNIC与通用NIC有何不同,让我们来深入了解一下全球四大网卡公司和两家初创公司的SmartNIC产品。这六家公司分别是Broadcom(博通)、Intel(英特尔)、Nvidia(英伟达,收购了Mellanox)、Xilinx(赛灵思)、Netronome和Pensando。

博通

博通是以太网NIC控制器市场上无可争议的领导者之一,其产品Stingray SmartNIC采用了一种单芯片方法,与市场上其他竞争对手的芯片板相比,单芯片SmartNIC解决方案在板级生产方面的成本较低。

博通2019年SDC展示的Stingray架构

博通以NetXtreme E系列控制器的逻辑为基础,在Stingray的核心部分设计了NetXtreme-S BCM58800芯片,然后在集群配置中放置了8个主频为3 GHz的Arm v8 A72内核。此外,Stingray还可以配置16 GB DDR4内存。

最后,博通还采用了具有神秘色彩的TruFlow技术,这是一个可配置的流加速器,用于将常见的网络流过程转移到硬件中。从已发布的数据来看,TruFlow可以在硬件上卸载诸如Open vSwitch(OvS)之类的任务。该公司还声称TruFlow在硬件中实现了许多经典的软件定义网络(SDN)概念,比如分类、匹配和操作。因此,Stingray配备了两个可编程组件,即TruFlow和由四个3 GHz双核Arm v8 A72复合体组成的集群。

了解产品的复杂性后,博通还提供了用于SmartNIC应用程序开发和存储控制器开发的Stingray开发工具包,它是一个完整的SmartNIC产品所必需的组件。

英伟达

英伟达定义了图形处理单元(GPU),目前其已成为高性能计算(HPC)的首选加速器。今年早些时候,英伟达最终以70亿美元的价格收购了Mellanox。为了占领HPC市场,该公司选择了领先的Infiniband互联供应商,以便可以为HPC客户提供完整的解决方案。

今年5月,英伟达还收购了开源以太网交换机操作系统的领导者Cumulus Networks,近期英伟达还准备收购ARM,不过这笔交易最终能否成功还有待观望。

Mellanox是最早进入SmartNIC领域的企业之一,其当前的Bluefield 2解决方案是在2015年通过收购EZchip(Tilera 2014被EZchip收购)而构建的,Tilera是最早使用知识产权实现高度并行SmartNIC的公司之一。

Mellanox的Bluefield 2架构

从本质上讲,Tilera将处理内核作为芯片上的块进行排列,每个内核都有一个高速总线与周围的四个核心相连。早在2013年,其旗舰产品就支持多达72个MIPS内核、内存控制器、加密模块、PCIe块和mPipe。

Mellanox通过用Arm替换内核并将mPipe换成ConnectX逻辑,推进了这一进程。当前的核心数量为8个Arm v8 A72核心,它们排列成四个双核Arm的集群。这种方法与博通的Stingray非常相似,但是它缺少博通架构的核心组成部分,即并行P4处理器。P4也是很多公司关注的一个方向,这也是收购Cumulus Networks的原因之一,其在P4编程方面具有丰富的经验。

英特尔

提到芯片公司,大家可能都会想到英特尔。十多年来,英特尔一直保持着不间断的高性能10 GbE控制器产品线,其XL710平台已出货数百万台,是许多数据中心服务器的必备产品。

对于新的N3000 SmartNIC,英特尔使用了其五种芯片制作了一块主板,这种方法的成本很高,目前大多数厂商都在努力设计单芯片。英特尔使用48通道PEX8747 PCIe第三代交换机芯片,将一对XL710以太网控制器和Arria 10 FPGA融合在一起。到XL710s都有8条通道,到Arria有16条通道,到PCIe插槽有16条通道。第五块芯片是用于管理FPGA的MAX 10 FPGA基板管理控制器(BMC),就像在其他SmartNIC上使用Arm内核来处理控制平面管理一样。

英特尔的N3000 SmartNIC架构

该板具有双QSFP28端口,可直接连接到FPGA。然后,8条10G通道将FPGA留给每个XL710,这是一种典型的bump in the wire方法,它使FPGA能够在将数据包传递到XL710s之前对其进行处理。

使用现成的以太网控制器和FPGA构建NIC并不是什么新鲜事。早在2012年,Solarflare Communications就在网卡的两个QSFP端口及其以太网控制器之间放置了一个FPGA,以创建Application Onload Engine (AOE)平台。这是英特尔N3000设计的前身,它帮助Solarflare为金融客户提供了令人印象深刻的即时交易结果,耗时仅为 350 纳秒。8 年后的今天,该记录为 24.2 纳秒。

英特尔的FPGA具有115万个可编程逻辑元件和两组4 GB DDR4存储器,每组都有足够的空间来处理SmartNIC任务,例如:

  • 虚拟宽带网络网关(vBNG)
  • 分层服务质量(HQoS)
  • 数据包分类、管制、调度和成形
  • 虚拟化演进分组核心(vEPC)
  • 5G下一代核心网络(NGCN)
  • 互联网协议安全(IPSec)
  • IPv6的分段路由(SRv6)
  • 矢量数据包处理(VPP)
  • 虚拟无线电接入网(vRAN)

尽管英特尔已针对N3000平台实现了上述工作负载,但目前尚不清楚该公司是否提供了所有必要的软件来卸载该SmartNIC上的每个应用程序。

赛灵思

赛灵思是SmartNIC领域中另一位杰出的FPGA供应商,是上世纪80年代中期第一家将FPGA商业化的公司。该公司于2019年秋季收购了Solarflare Communications。近期,据媒体报道AMD将要收购赛灵思。

赛灵思Alveo U25架构

Alveo U25将双SFP28端口直接连接到Zynq系列芯片,Zynq是一个片上系统(SoC),因为它不仅包括FPGA,还包括一个用于数据包处理的四核Arm A53。Zynq通过第三代PCIe提供的8个通道直接连接到主机服务器,或者通过SerDes连接到X2以太网控制器芯片,X2以太网控制器芯片也通过第三代PCIe 8个通道连接到主机。这种方法使Zynq能够在将数据包传递到X2芯片之前对其进行处理,或者完全绕过X2。Alveo U25还包括6GB DDR4内存,可以通过运行在该芯片上的程序访问Zynq的FPGA和Arm内核。

赛灵思将Alveo U25推向市场,最初是为了满足那些要求开放虚拟交换机(OvS)卸载功能的客户。该公司宣布,在不久的将来,它将增加IPsec、机器学习(ML)、深度包检查(DPI)、视频转码和分析的卸载。

与英特尔一样,赛灵思也有多条计算芯片产品线:Kintex、Virtex、Zynq和Versal。Kintex和Virtex是纯FPGA,该系列中的某些型号具有近3,00万个逻辑单元,几乎是英特尔N3000的三倍。赛灵思还与硅中间层合作,在Virtex芯片上分层了多达16 GB的高带宽存储器(HBM)。

Zynq是赛灵思的SoC芯片产品线,包括FPGA可编程逻辑、四核Arm、实时Arm内核、DDR控制器,以及用于以太网和PCI Express的连接逻辑。Versal在SoC的基础上开发了基于7纳米芯片技术的自适应计算加速平台(ACAP)。ACAP扩展了Zynq架构,添加了数百个人工智能(AI)内核、数字信号处理(DSP)引擎等。最终,赛灵思将其公开展示的SoftNIC与Versal相结合,使其成为 SmartNIC 平台中的佼佼者。

Pensando

Pensando是SmartNIC初创公司,由思科前首席执行官 John Chambers 创立。人们普遍认为Pensando正在证明其技术的可行性,然后他们会将其打包卖给思科。思科拥有一些通用的NIC技术和几个内部的SmartNIC项目,但业界流传这些项目可能并非一帆风顺,而Pensando显然是想填补思科这一空白。

Pensando的DSC-25分布式服务卡,似乎是单一的P4处理器芯片,带有用于某些辅助处理的Arm,数据表声称两者都支持高达4 GB的板载内存。

Pensando DPU架构

称为Capri的处理器是具有多个并行级的P4可编程单元,然而,确切的并行处理程度尚不清楚,因为数据包的性能、延迟和抖动尚未公布。Pensando使P4应用程序保持紧密状态,以便它们在缓存丢失时仍保留在Capri的缓存中。其他被称为服务处理卸载(Service Processing Offloads)的计算单元则处理加密、存储过程和其他任务。Pensando声称Capri可以提供线速性能。

Netronome

Netronome成立于2003年,迄今已获得五轮融资,总计7300万美元。自2015年以来,该公司一直在积极推广P4,当时其展示了首款采用P4的SmartNIC。从那以后,Netronome取得了一些重大进展,但最近有传言说其可能退出市场。

下图展示了Netronome当前的NFP4000流处理器架构,该公司没有使用单一的P4处理引擎,而是利用了两类可编程的内核:48个数据包处理内核和60个流处理内核。其他芯片专用于分类、修改和管理。所有这些内核都可以在P4中编程。

Netronome的NFP4000流处理器架构

Netronome声称这些内核可以维持一个100 Gb /p的链路,每秒1.48亿个包,有数百万个精确匹配和通配符流。此外,它们还可以支持需要封装的100K以上隧道连接。该技术可以支持的目标应用程序很多,包括入侵检测系统(IDS)、入侵防御系统(IPS)、下一代防火墙(NGFW)、路由器、负载平衡器、数据包代理、SDN、NFV和其他应用程序的主机。

SmartNIC市场

目前,SoC和FPGA已经成熟到可以作为SmartNIC的基础技术。十年前,当硬件加速技术的第一波浪潮来袭时,人们对GPU产品充满了兴趣。现在,FPGA已经扩展到超过300万个以上的逻辑单元,还可以与其他可组合的处理模块紧密地结合,用于网络、内存、存储和计算。

有了这些进步,人们开始认识到第二波硬件加速浪潮的形成。GPU需要新的编程API和工具来支持这些平台,FPGA也是如此。但不同的是,FPGA已经发展了35年,它的时代即将到来。因此,随着SmartNIC市场兴起,它将与下一波基于FPGA的硬件加速器融合。

SmartNIC将推动计算能力逐渐扩展到网络边缘,从而释放服务器CPU的算力,重点关注复杂的业务关键型处理任务。研究表明,在高度虚拟化的环境中,网络可以消耗主机30%以上的CPU周期来处理OvS事务等任务。试想一下, 如果在SmartNIC中就可以完成存储、加密、DPI和复杂的路由等功能,这会将之前花费在处理这些工作负载上的大部分CPU周期交付回主机CPU。

如今,像Pensando和Fungible等新兴公司将持续向SmartNIC市场注入新动力,同时为了保持领先地位,诸如赛灵思、英特尔、博通和英伟达等技术领导者也将不断发展进步。

原文链接:https://www.electronicdesign.com/industrial-automation/article/21136402/xilinx-smartnic-architectures-a-shift-to-accelerators-and-why-fpgas-are-poised-to-dominate


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/24502.html
分享到:
相关文章
条评论

登录后才可以评论

大脸肥飞猫 发表于20-10-21
0