巨头们纷纷涌入,DPU有何魔力?
2020-10-23
来源: 半导体行业观察
自1950年代以来,中央处理器“ CPU”一直是每台计算机或智能设备的核心;到1990年代以来,GPU或图形处理单元扮演了重要角色;所以,在过去的十年中,计算已经摆脱了PC和服务器的繁琐局限,CPU和GPU为庞大的新超大规模数据中心提供了动力。然而最近几年,随着系统中的CPU承受越来越多的网络和存储工作负载,DPU(即数据处理单元)已成为以数据为中心的加速计算模型的第三个成员。那么DPU又将发挥怎样的作用?为何如英特尔和英伟达以及云供应商阿里、亚马逊、微软等巨头们都纷纷涌入DPU?
DPU成为计算的三大支柱之一
Nvidia在今年早些时候的博客中表示:“DPU(即数据处理单元)已经成为以数据为中心的加速计算模型的第三个成员。Nvidia首席执行官黄仁勋在一次演讲中说:”这将代表未来计算的三大支柱之一。“这三者之间,CPU用于通用计算,GPU用于加速计算,而DPU在数据中心周围移动数据,进行数据处理。
那么什么是DPU?这里所说的DPU,就是Data Processing Unit的缩写,也就是所谓的数据处理单元。DPU可以用作独立的嵌入式处理器,但通常会集成到SmartNIC中,为未来的服务器提供支持。DPU是一种片上系统,或者说SOC,是结合了以下三个关键要素的新型可编程处理器:
行业标准的高性能软件可编程多核CPU,通常基于广泛使用的Arm架构,并与其他SOC组件紧密耦合。
高性能的网络接口,能够以网络速度解析,处理和有效地将数据传输到GPU和CPU。
一组灵活的可编程加速引擎,旨在减轻网络任务负担并优化AI和机器学习,安全性,电信和存储等的应用程序性能。
那么为什么人们如此渴望使用DPU?首先,它更安全,因为控制平面可以在系统内和系统集群之间与数据平面分离。DPU可以执行原本需要CPU处理的网络、存储和安全等任务。这就意味着如果在数据中心中采用了DPU,那么CPU的不少运算能力可以被释放出来,去执行广泛的企业应用。
DPU还释放了服务器的容量,以便它们可以恢复到应用程序计算。在一些具有大量I / O和沉重虚拟化的系统上内核成本缩减一半,因此吞吐量提高了2倍。除了内核的成本,还要计算整个机器的成本,包括其内存和I / O以及所释放的工作量。所以,如果一台负载严重的服务器要花2万美元,那么DPU只要花1万美元,就能保证它的安全性和灵活性——特别是如果所有的机器学习加速都隐藏在系统软件中,企业就不必自己创建它了。
DPU丰富的、灵活和可编程的加速引擎可减轻和改善AI和机器学习应用的性能。所有的这些DPU功能对于实现隔离的裸机云原生计算至关重要,它也将定义下一代云规模计算。为此,国际巨头开始纷纷提前布局。
DPU玩家有哪些?
根据THENEXTPLATFORM的分析指出,在2020年,SmartNIC正在演变成DPU,每个人都想在这个领域分一杯羹。在这个领域的玩家或者潜在玩家主要包括Broadcom,Intel,英伟达,Netronome,Pensando,Fungible和Xilinx,还包括云供应商三大巨头。
大多数SmartNIC方法都是从基本的以太网控制器开始,要么在硅片上作为固件,要么在适配器上作为单独的芯片。然后,使用以下三种方法之一,通过增加以下内容来提高其计算能力,从而使普通的NIC变得智能:方法一,收集许多Arm核心;方法二,增加流处理核心(FPC),这是一种是自定义设计的网络处理器,通常为P4;方法三,增加现场可编程门阵列(FPGA),可编程逻辑。
Broadcom是商品以太网NIC控制器市场上无可争议的领导者。Broadcom在2019 SDC演讲中展示了Stingray架构,该公司采用了单芯片方法,与其他竞争对手的许多芯片板相比,单芯片SmartNIC解决方案在板级生产的成本始终较低。
以NetXtreme E系列控制器的逻辑为基础,Broadcom在Stingray的中心设计了NetXtreme-S BCM58800芯片。然后将8个主频为3 GHz的Arm v8 A72内核以群集配置放置。在3 GHz频率下,这些可能是最快的SmartNIC Arm内核。另外,Stingray最多可以配置16 GB DDR4内存。接下来,混入了一些逻辑,以高达90 Gb / s的速度卸载加密,并卸载了擦除编码和RAID等存储处理。最后,Broadcom添加了它有些神秘的TruFlow技术。
Broadcom准备在今年晚些时候将Stingray转移到7纳米工艺,这将使其可从8核扩展到12核。了解了所提供产品的复杂性后,该公司还提供了用于SmartNIC应用程序开发和存储控制器开发的Stingray开发人员工具包,它是完整SmartNIC产品提供的必要组件。
英伟达对DPU显得尤为重视,此前它以69亿美元收购了Mellanox,又以惊人的400亿美元收购了Arm控股公司,在一段时间内,其DPU业务可能会比CPU业务更大,DPU也是Nvidia最新的一个布局。
对于英伟达来说,说它正在引入DPU的概念有点大胆。但是,有一说一,Mellanox确实在2015年9月以8.11亿美元的天价收购了EZchip公司,该公司拥有多核芯片创业公司Tilera的资产,Tilera是最早使用知识产权的高度并行SmartNIC实施之一,该实施源自更早的MIT研究项目。
本质上,Tilera将处理内核安排为芯片上的切片,每个内核都具有到其周围四个内核的高速总线。早在2013年,其旗舰产品就支持多达72个MIPS内核,内存控制器,加密模块,PCIe块和mPipe,这是通过SFP +连接器连接至多个MAC的通道的集合。Mellanox通过用Arm替换内核并将mPipe换成ConnectX逻辑,从而向前迈进了一步。与Broadcom一样,当前的核心数量为8个Arm v8 A72核心,但主频仅为2.4 GHz。它们排列成四个双核Arm的集群。Bluefield目前正在使用Avago的16纳米工艺,但是像Broadcom一样,它也应该在今年夏天升级到7纳米,并从8核转变为12核。
在今年GTC秋季会议上,Nvidia推出了其第二代DPU BlueField-2。到2022年,英伟达计划推出第三代DPU,将计算中心的Arm CPU部分的性能提高5倍,达到350 SPEC整数单位,集成NEON SIMD单位的性能提高2倍以上,达到1.5 TOPS。BlueField-3 DPU卡上的网络速度将提高一倍,最高可达400 Gb /秒,这大概是一对200 Gb /秒的端口。用于DPU卡的Ampere GPU加速器的下一次迭代将在BlueField-3X变体中提高25%,达到75 TOPS。
展望2023年的BlueField-4,ARM CPU和Nvidia GPU将集成到单个芯片中。Arm计算将提高2.9倍,达到1,000 SPEC整数单位,而同一芯片上的GPU加速器的性能将提高5.3倍,达到400 TOPS。
英特尔也对用于超大规模生产者和云构建者的可编程以太网交换和SmartNIC(越来越多地称为DPU)更感兴趣。随着数据中心网络中传送的数据量以每年25%的速度增长。但是预算不能以这种速度增长,而且由于对原始CPU计算的偏见投资(与构建平衡的系统以更充分地利用可用的计算能力相反),网络通常不超过分布式成本的10%系统。面对所有这些压力,英特尔必须创新并帮助改善网络,英特尔认为集成显得很重要。
在DPU上,Intel主要是将CPU和FPGA结合在一起。但Intel新的SmartNIC并不intel自己做的,而是由Inventec和Silicom制造的,前者对于hyperscalers和云构建者来说是日益重要的ODM,而后者则是过去二十年来的网络接口供应商。下图是intel的SmartNIC产品,其中C5020X主要用于云端,N5010和N3000主要用于网络端。
Xilinx是SmartNIC领域中另一位杰出的FPGA进入者,该公司于2019年秋季收购了Solarflare Communications,并且Solarflare自2012年以来一直在构建基于ASIC和FPGA的NIC进行电子交易。两年前,两家公司展示了其SmartNIC的多功能性,在收购Solarflare之前,他们是合作伙伴,在OCP峰会上公开展示了XtremeScale X2控制器逻辑在更大的FPGA内部作为软NIC运行。
Xilinx的Alveo U25将双SFP28端口直接连接到Zynq系列芯片,包括6GB DDR4内存,Zynq的FPGA和Arm内核可通过该芯片上运行的程序对其进行访问。FPGA有520K逻辑元件可用,但是提供的四核Arm可以弥补可用门数的减少。赛灵思(Xilinx)将Alveo U25推向市场,最初是针对那些要求开放虚拟交换机(OvS)卸载功能的客户。该公司宣布,在不久的将来,它将增加IPsec,机器学习(ML),深度包检查(DPI),视频转码和分析的卸载。
再就是有一家SmartNIC初创公司Pensando,由Cisco(思科)前首席执行官John Chambers创建。John海带来了六名前Cisco员工。Pensando的 DPU处理器称为Capri,是一个具有多个并行级的P4可编程单元。然而,并行处理的确切程度是未知的,就像packet的性能、延迟和抖动还没有公布一样。Pensando保持P4应用程序的紧密性,这样当缓存丢失时,P4应用程序仍然保留在Capri的缓存中,从而导致为某个指令获取内存,降低了所有指标的性能。其他被称为服务处理卸载的附加计算单元处理加密、存储过程和其他任务。Pensando声称Capri可以提供线速性能。
Netronome是这个领域里的一家老牌创业公司,成立于2003年,迄今为止共获得了5轮融资,总计7300万美元。自2015年以来,该公司一直在积极推广P4,当时它展示了第一款使用该技术的智能手表。自那以后,Netronome取得了一些重大进展,但最近有传言称它步履蹒跚,可能会退出市场。Netronome的DPU主要是NFP4000流处理器架构。该公司没有使用单一的P4处理引擎,而是利用了两类可编程的核心,48个P4处理核心和60个流处理核心。额外的硅用于分类、修改和管理。所有这些核心都可以在P4中编程。
另外一家做DPU的公司也不容小觑,它也专注于P4,即增加流处理核心(FPC)。它就是Fungible,Fungible声称正在生产数据处理单元(DPU)。在Hot chips上,这家初创公司披露了它的F1数据处理单元(DPU),它将主要以未公布的系统级产品的形式销售。从外部来看,F1看起来类似于Broadcom的Stingray和英伟达的BlueField-2,只是有更大的I/O带宽。但在内部,它采用了高度可编程的数据平面。总的来说,它包括52个CPU核心,几十个硬件加速器,800Gbps的网络带宽,512Gbps的PCI Express带宽。尽管F1主要是为存储系统设计的,但派生S1处理服务器连接。因此,DPU架构足够灵活,可以充当系统和I / O处理器角色。Fungible表示已经对两种芯片进行了生产认证。
除了上述这些SmartNIC供应商,全球的云厂商巨头也都在部署SmartNIC,而且三家云供应商正在设计自己的系统级芯片(SoC)架构,他们就是阿里云的X-Dragon,亚马逊AWS的Nitro和微软Azure的Catapult。
阿里云的X-Dragon SmartNIC现在已进入第二代(X-Dragon II),并于2017年发布了第一代。其第二代芯片使它的轻量级内部Dragonfly虚拟机管理程序(在精神上类似于Firecracker)与SR一起使用。
AWS的Nitro现在已经是第三代产品,AWS Nitro是基于其Annapurna Labs团队设计的内部SoC。Nitro使AWS客户可以在其连接到的任何AWS云服务器上运行容器,虚拟机或裸机。Nitro卸载了虚拟机管理程序功能,并默认为通过SmartNIC传递的所有数据提供线速加密和解密-包括网络和本地存储流量。Nitro还提供了启动和运行时硬件的信任根,大概不使用行业标准的可信平台模块(TPM)。
微软 Azure的Catapult SmartNIC现在已经是第三代产品。微软尚未发布Catapult规格,但已经开放了一段历史。Azure将其在SmartNIC中的FPGA选择定位为到定制设计ASIC迁移路径上的一个点。当其云需求变得足够稳定以在Azure中实现四年到五年的使用寿命而不需要进行彻底的重新编程时,Azure将转向定制设计的逻辑。同时,Azure认为FPGA提供了低延迟,低功耗等的最佳组合。
Azure于2012年在其WCS云存储中部署了Catapult v1(” Mount Granite“),同时在Bing和Azure内所有新购买的服务器中部署了Catapult v2(” Pikes Peak“夹层和” Story Peak“ PCI-Express板)。从2015年开始。Azure在2017年部署了Catapult v3,以加速深层神经网络并将Bing中的网络速度提高到50 Gb /秒。
结语
十年前,随着硬件加速技术的第一次重大冲击,我们对GPU产品充满了兴趣。现在,随着FPGA扩展到超过300万个逻辑单元,FPGA得以与其他可组合的处理模块紧密地结合在一起,以实现网络,内存,存储和计算。有了这些进步,我们开始认识到第二次硬件加速浪潮的形成。因此,随着SmartNIC市场终于出现,它将与下一波基于FPGA的硬件加速器融合。这将在加速市场中形成各种叠加,也许会促进变化,并改变我们对计算的展望。
不得不说,SoC和更重要的FPGA已经成熟到可以成为SmartNIC的基础技术的地步,SmartNIC正在推动计算并因此将其加速到网络边缘,从而腾出服务器CPU来处理更多专注于关键业务和处理的解决方案。因此,越来越多供应商纷纷涌入DPU架构。DPU能否演绎CPU和GPU的佳话?让我们静待其变。