电子发热友网
1.什么是DPU
DPU(Data Processing Unit)是以数据为中央布局的自用处理器,接纳软件界说武艺路途支持基本办法层资源假造化,支持存储、宁静、办事质量办理等 基本办法层办事。2020年NVIDIA公司公布的DPU产物战略中将其定位为数据中央继CPU和GPU之后的“第三颗主力芯片”,掀起了一波行业低潮。DPU的显现是异构盘算的一个阶段性标志。与GPU的提高相似,DPU是使用驱动的体系布局计划的又一典范案例;但与GPU不同的是,DPU面向的使用愈加底层。DPU要处理的中心成绩是基本办法的“降本增效”,即将“CPU处理听从低 下、GPU处理不了”的负载卸载到自用DPU,提升整个盘算体系的听从、低落 全体体系的总体拥有本钱(TCO)。DPU的显现约莫是体系布局朝着自用化路途提高的又一个里程碑。
关于DPU中“D”的表明
DPU中的“D”有三种表明:
(1)Data Processing Unit,即数据处理器。这种表明把“数据”放在中心 地点,区别于信号处理器、基带处理器等通讯干系的处理器对应的“信号”, 也区别于GPU对应的图形图像类数据,这里的“数据”主要指数字化今后的各 种信息,特别是种种时序化、布局化的数据,好比大型的布局化表格,网络流 中的数据包,海量的文本等等。DPU就是处理这类数据的自用引擎。
(2)Datacenter Processing Unit,即数据中央处理器。这种表明把数据中央作为DPU的使用场景,特别是随着WSC(Warehouse-scale Computer)的崛起, 不同范围的数据中央成为了IT中心基本办法。现在来看,DPU确真实数据中央 中使用出息十分宽广。但是盘算中央的三大局部:盘算、网络、存储,盘算局部是CPU占主导,GPU帮助;网络局部是路由器和互换机,存储局部是高密度 磁盘构成的的RAID体系和SSD为代表非易失性存储体系。在盘算和网络中扮演 数据处理的芯片都可以称之为Datacenter Processing Unit,以是这种说法比拟力 较不全面。
(3)Data-centric Processing Unit,即以数据为中央的处理器。Data-centric,即数据为中央,是处理器计划的一种理念,干系于“Control-centric”即控制为 中央。经典的冯诺依曼体系布局就是典范的控制为中央的布局,在冯诺依曼经 典盘算模子中有控制器、盘算器、存储器、输入和输入,在指令体系中的体现 是具有一系列十分繁复的条件跳转和寻址指令。而数据为中央的理念与数据流 (Data Flow)盘算一脉相承,是一种完成高效盘算的办法。同时,如今试图打 破访存墙(Memory Wall)的种种近存(Near-memory)盘算、存内(Inmemory)盘算、存算一体等武艺路途,也切合数据为中央的计划理念。 以上三种关于“D”的表明,从不同角度反应DPU的特性,都有一定的可取之处,笔者以为可以作为不同的三个维度来了解DPU的内在。
DPU的作用
DPU最直接的作用是作为CPU的卸载引擎,接受网络假造化、硬件资源池 化等基本办法层办事,开释CPU的算力到表层使用。以网络协议处理为例,要 线速处理10G的网络必要的约莫4个Xeon CPU的核,也就是说,单是做网络数据包处理,就可以占去一个8核高端CPU一半的算力。假如思索40G、100G的高速网络,功能的开支就愈加难以承受了。Amazon把这些开支都称之为 “Datacenter Tax”,即还未运转业务步骤,先接入网络数据就要占去的盘算资源。AWS Nitro产物家属旨在将数据中央开支(为假造机提供长程资源,加密解密,妨碍跟踪,宁静战略等办事步骤)全部从CPU卸载到Nitro增速卡上,将给表层使用开释30%的原本用于付出“Tax”的算力!
DPU可以成为新的数据网关,将宁静隐私提升到一个新的高度。在网络情况下,网络接口是抱负的隐私的界限,但是加密、解密算法开支都很大,比如 国密标准的非对称加密算法SM2、哈希算法SM3和对称分组暗码算法SM4。假如用CPU来处理,就只能做少局部数据量的加密。在将来,随着区块链承载的业务的渐渐成熟,运转共鸣算法POW,验签等也会斲丧掉多量的CPU算力。而这些都可以经过将其固化在DPU中来完成,乃至DPU将成为一个可信根。
DPU也可以成为存储的入口,将分布式的存储和长程拜候当地化。随着 SSD性价比渐渐可承受,局部存储迁徙到SSD器件上以前成为约莫,传统的面向 机器硬盘的SATA协议并不实用于SSD存储,以是,将SSD经过当地PCIe或高速 网络接入体系就成为必选的武艺路途。NVMe(Non Volatile Memory Express) 就是用于接入SSD存储的高速接口标准协议,可以经过PCIe作为底层传输协议,将SSD的带宽上风富裕发扬出来。同时,在分布式体系中,还可经过NVMe over Fabrics(NVMe-oF)协议扩展到InfiniBand、Ethernet、或Fibre channel节点中,以RDMA的情势完成存储的共享和长程拜候。这些新的协议处理都可以集成在DPU中以完成对CPU的纯透处理。进而,DPU将约莫承接种种互连协议控制器的人物,在机动性和功能方面到达一个更优的均衡点。
DPU将成为算法增速的沙盒,成为最机动的增速器载体。DPU不完善是一颗固化的ASIC,在CXL、CCIX等标准构造所发起CPU、GPU与DPU等数据一律性拜候协议的铺垫下,将更进一步扫清DPU编程停滞,团结FPGA等可编程器件,可定制硬件将有更大的发扬空间,“软件硬件化”将成为常态,异构盘算 的潜能将因种种DPU的普及而彻底发扬出来。在显现“Killer Application”的范畴都有约莫显现与之相对应的DPU,诸如传统数据库使用如OLAP、OLTP, 5G 边沿盘算,智能驾驶V2X等等。
2.DPU的提高背景
DPU的显现是异构盘算的又一个阶段性标志。摩尔定律放缓使得通用CPU 功能增长的边沿本钱敏捷上升,数据标明如今CPU的功能年化增长(面积归一 化之后)仅有3%支配1,但盘算需求却是发作性增长,这几乎是一切自用盘算芯片得以提高的紧张背景要素。以AI芯片为例,最新的GPT-3等千亿级参数的超大型模子的显现,将算力需求推向了一个新的高度。DPU也不例外。随着2019年我国以信息网络等新型基本办法为代表的“新基建”战略帷幕的拉开,5G、千兆光纤网络建立提高敏捷,挪动互联网、产业互联网、车联网等范畴提高与日俱增。云盘算、数据中央、智算中央等基本办法快速扩容。网络带宽从主流 10G朝着25G、40G、100G、200G乃至400G提高。网络带宽和毗连数的剧增使得数据的通路更宽、更密,直接将处于端、边、云各处的盘算节点暴露在了剧增的数据量下,而CPU的功能增长率与数据量增长率显现了明显的“铰剪差”征象。以是,寻求听从更高的盘算芯片就成为了业界的共鸣。DPU芯片就是在如此的趋向下提出的。
带宽功能增速比(RBP)失调
摩尔定律的放缓与举世数据量的发作这个正在敏捷激化的分歧通常被作为处理器自用化的大背景,正所谓硅的摩尔定律固然以前分明放缓,但“数据摩尔定律”已然到来。IDC的数据体现,举世数据量在已往10年年均复合增长率接近50%,并进一步猜测每四个月关于算力的需求就会翻一倍。因此必必要找到新的可以比通用处理器带来更快算力增长的盘算芯片,DPU于是应运而生。这个大背景固然有一定的公道性,但是照旧过于含糊,并没有回复DPU之以是新的缘故是什么,是什么“质变”招致了“质变”? 从如今以前公布的各个厂商的DPU架构来看,固然布局有所差别,但都不约而同重申网络处理才能。从这个角度看,DPU是一个强IO型的芯片,这也是 DPU与CPU最大的区别。CPU的IO功能主要表如今高速前端总线(在Intel的体系里称之为FSB,Front Side Bus),CPU经过FSB毗连北桥芯片组,然后毗连到主存体系和其他高速外设(主要是PCIe装备)。
现在更新的CPU固然经过集成 存储控制器等伎俩弱化了北桥芯片的作用,但实质是安定的。CPU关于处理网络处理的才能表如今网卡接入链路层数据帧,然后经过利用体系(OS)内核态,倡导DMA中缀呼应,调用相应的协议剖析步骤,取得网络传输的数据(固然也有不经过内核态中缀,直接在用户态经过轮询取得网络数据的武艺,如Intel的DPDK,Xilinx的Onload等,但目标是低落中缀的开支,低落内核态到用户态的切换开支,并没有从基本上加强IO功能)。可见,CPU是经过十分直接 的伎俩来支持网络IO,CPU的前端总线带宽也主要是要婚配主存(特别是 DDR)的带宽,而不是网络IO的带宽。
相较而言,DPU的IO带宽几乎可以与网络带宽同等,比如,网络支持 25G,那么DPU就要支持25G。从这个意义上看,DPU承继了网卡芯片的一些特 征,但是不同于网卡芯片,DPU不仅仅是为了剖析链路层的数据帧,而是要做直接的数据内容的处理,举行繁复的盘算。以是,DPU是在支持强IO基本上的具有强算力的芯片。简言之,DPU是一个IO茂密型的芯片;相较而言,DPU照旧一个盘算茂密型芯片。
进一步地,经过比力网络带宽的增长趋向和通用CPU功能增长趋向,能发觉一个幽默的征象:带宽功能增速比(RBP,Ratio of Bandwidth and Performance growth rate)失调。RBP界说为网络带宽的增速比上CPU功能增速, 即RBP=BW GR/Perf. GR如图1-1所示,以Mellanox的ConnectX系列网卡带宽作为网络IO的案例,以Intel的系列产物功能作为CPU的案例,界说一个新目标“带 宽功能增速比”来反响趋向的厘革。
图1-1 带宽功能增速?(RBP)失调 2010年前,网络的带宽年化增长约莫是30%,到2015年微增到35%,然后在 比年到达45%。相对应的,CPU的功能增长从10年前的23%,下降到12%,并在比年直接低落到3%。在这三个时间段内,RBP目标从1四周,上升到3,并在比年凌驾了10!假如在网络带宽增速与CPU功能增速近乎持平,RGR~1,IO压力尚未显现出来,那么当现在RBP到达10倍的情况下,CPU几乎以前无法直策应对网络带宽的增速。RBP目标在近几年剧增约莫是DPU终于比及时机“横空降世”的紧张缘故之一。
异构盘算提高趋向的助?
DPU起首作为盘算卸载的引擎,直接后果是给CPU“减负”。DPU的局部功效可以在早前的TOE(TCP/IP Offloading Engine)中看到。正如其名,TOE 就是将CPU的处理TCP协议的职责“卸载”到网卡上。传统的TCP软件处理办法固然条理明晰,但也渐渐成为网络带宽和延长的瓶颈。软件处理办法对CPU的占用,也影响了CPU处理其他使用的功能。TCP卸载引擎(TOE)武艺,经过将TCP协媾和IP协议的处理历程交由网络接口控制器举行处理,在使用硬件增速为网络时延和带宽带来提升的同时,明显低落了 CPU 处理协议的压力。
具体有三个方面的优化:1)断绝网络中缀,2)低落内存数据拷贝量,3)协议剖析硬件化。这三个武艺点渐渐提高成为如今数据平面盘算的三个武艺,也是DPU广泛必要支持的武艺点。比如,NVMe协议,将中缀战略交换为轮询战略,更富裕的开发高速存储介质的带宽上风;DPDK接纳用户态调用,开发“Kernelbypassing”机制,完成零拷贝(Zeor-Copy);在DPU中的面向特定使用的自用核,比如种种繁复的校验和盘算、数据包格式剖析、查找表、IP宁静(IPSec)的支持等,都可以视为协议处理的硬件化支持。以是,TOE基本可以被视为DPU的雏形。 一连TOE的头脑,将更多的盘算职责卸载至网卡侧来处理,促进了智能网卡(SmartNIC)武艺的提高。稀有的智能网卡的基本布局是以高速网卡为基本 功效,外加一颗高功能的FPGA芯片作为盘算的扩展,来完成用户自界说的盘算逻辑,到达盘算增速的目标。但是,这种“网卡+FPGA”的形式并没有将智能网卡变成一个相对主流的盘算装备,很多智能网卡产物被当作单纯的FPGA增速卡来使用,在使用FPGA上风的同时,也承继了一切FPGA的范围性。
DPU是对现有的SmartNIC的一个整合,能看到很多以往SmartNIC的影子,但分明高于之上任何一个SmartNIC的定位。 Amazon的AWS在2013研发了Nitro产物,将数据中央开支(为虚机提供长程 资源,加密解密,妨碍跟踪,宁静战略等办事步骤)全部放到自用增速器上执 行。Nitro架构接纳轻量化Hypervisor共同定制化的硬件,将假造机的盘算(主要是CPU和内存)和I/O(主要是网络和存储)子体系分散开来,经过PCIe总线毗连,节流了30%的CPU资源。阿里云提出的X-Dragon体系架构,中心是MOC卡,有比力丰厚的对外接口,也包含了盘算资源、存储资源和网络资源。MOC卡的中心X-Dragon SOC,一致支持网络,IO、存储和外设的假造化,为假造机、裸金属、容器云提供一致的资源池。 可见,DPU但是行家业内以前孕育已久,从早前的网络协议处理卸载,到后续的网络、存储、假造化卸载,其带来的作用还好坏常明显的,只不外表此 之前DPU“有实无名”,如今是时分迈上一个新的台阶了。
3.DPU提高历程
随着云平台假造化武艺的提高,智能网卡的提高基本可以分为三个阶段(如图1-2所示):
图1-2 智能?卡提高的三个阶段
第?阶段:基本功效?卡 基本功效网卡(即平凡网卡)提供2x10G或2x25G带宽吞吐,具有较少的硬 件卸载才能,主要是Checksum,LRO/LSO等,支持SR-IOV,以及仅限的多行列才能。在云平台假造化网络中,基本功效网卡向假造机(VM)提供网络接入的办法主要是有三种:由利用体系内核驱动接受网卡并向假造机(VM)分发网络 流量;由OVS-DPDK接受网卡并向假造机(VM)分发网络流量;以及高功能场景下经过SR-IOV的办法向假造机(VM)提供网络接入才能。
第?阶段:硬件卸载?卡 可以以为是第一代智能网卡,具有丰厚的硬件卸载才能,比力典范的有 OVS Fastpath硬件卸载,基于RoCEv1和RoCEv2的RDMA网络硬件卸载,交融网 络中无损网络才能(PFC,ECN,ETS等)的硬件卸载,存储范畴NVMe-oF的硬件卸载,以及宁静传输的数据面卸载等。这个时期的智能网卡以数据平面的卸载为主。
第三阶段:DPU智能?卡 可以以为是第二代智能网卡,在第一代智能网卡基本上到场CPU,可以用来卸载控制平面的职责和一些机动繁复的数据平面职责。现在DPU智能网卡的 特点起首是支持PCIe Root Complex形式和Endpoint形式,在设置为PCIe Root Complex形式时,可以完成NVMe存储控制器,与NVMe SSD磁盘一同构建存储办事器;别的,由于大范围的数据中央网络的必要,对无损网络的要求愈加严厉,必要处理数据中央网络中Incast流量、“大象”流等带来的网络拥塞和时延成绩,各大共有云厂商纷繁提出本人的应对办法,好比阿里云的高精度拥塞控制(HPCC,High Precision Congestion Control),AWS的可扩展可靠数据报(SRD,Scalable Reliable Datagram)等。DPU智能网卡在处理这类成绩时将会引入更为优秀的办法,如Fungible的TrueFabric,就是在DPU智能网卡上的新型处理方案。另有,业界提出了Hypervisor中的网络,存储和宁静全栈卸载的提高朝向,以Intel为代表提出了IPU,将基本办法的功效全部卸载到智能网卡中,可以全盘开释之前用于Hypervisor办理的CPU算力。
将来的DPU智能?卡硬件外形
随着越来越多的功效到场到智能网卡中,其功率将很难限定在75W之内, 如此就必要独立的供电体系。以是,将来的智能网卡外形约莫有三种外形:
(1)独立供电的智能网卡,必要思索网卡形态与盘算办事之间低层信号识 别,在盘算体系启动的历程中大概启动之后,智能网卡对否以前是进入办事状 态,这些都必要探究息争决。
(2)没有PCIe接口的DPU智能网卡,可以构成DPU资源池,专门卖力网络 功效,比如负载均衡,拜候控制,防火墙装备等。办理软件可以直接经过智能 网卡办理接口界说对应的网络功效,并作为假造化网络功效集群提供对应网络 才能,无需PCIe接口。
(3)多PCIe接口,多网口的DPU芯片。比如Fungible F1芯片,支持16个双 模PCIe控制器,可以设置为Root Complex形式或Endpoint形式,以及8x100G网络 接口。经过PCIe Gen3 x8接口可以支持8个Dual-Socket盘算办事器,网络侧提供 8x100G带宽的网口。
图1-3 将来智能?卡的硬件外形 DPU作为一种新型的自用处理器,随着需求侧的厘革,必将在将来盘算体系中成为一个紧张构成局部,关于支持下一代数据中央起到至关紧张的作用。
4.DPU与CPU、GPU的干系
CPU是整个IT生态的界说者,无论是办事器端的x86照旧挪动端的ARM,都 各自是构建了安定的生态体系,不仅构成武艺生态圈,还构成了闭合代价链。 GPU是实行端正盘算的主力芯片,如图形渲染。颠末NVIDIA对通用GPU (GPGPU)和CUDA编程框架的推行,GPU在数据并行的职责如图形图像、深度学习、矩阵运算等方面成为了主力算力引擎,并且成为了高功能盘算最紧张的帮助盘算单位。2021年6月公布的Top500高功能盘算机(超等盘算机)的前10 名中,有六台(第2、3、5、6、8、9名)都摆设有NVIDIA的GPU。
图1-4 将来算??态(干系?商为不完全摆列,仅做为?意参考) 数据中央与超极盘算机不同,后者主要面向封建盘算,如大飞机研制,石油勘探、新药物研发、景象预告、电磁情况盘算等使用,功能是主要目标,对接入带宽要求不高;但数据中央面向云盘算商业化使用,对接入带宽,可靠性、灾备、弹性扩展等要求更高,与之相顺应提高起来的假造机、容器云、并行编程框、内容分发网等等武艺,都是为了更好的支持表层商业使用如电商、付出、视频流、网盘、办公OA等。但是这些IaaS和PaaS层的办事开支极大, Amazon曾公布AWS的体系开支在30%以上。假如必要完成更好的QoS,在网络、存储、宁静等基本办法办事上的开支还会更高。
这些基本层使用典范与CPU架构婚配水平不高着致盘算听从低下。现有的 CPU的架构有两个大类:多核架构(数个或数十几个核)和众核架构(数百个核以上),每种架构支持唯一的标准通用指令集之一,如x86、ARM等。以指令集为界,软件和硬件被划分开来分散独立提高,敏捷的催生了软件产业和微处理器产业的协同提高。但是,随着软件繁复度的上升,软件的消费率 (Productivity)取得更多的器重,软件工程学科也愈加眷注怎样高效地构建大型软件体系,而非怎样用更少的硬件资源取得尽约莫高的实行功能。业界有个被戏称的“安迪比尔定律”,其内容是“What Andy gives, Bill takes away”,安迪(Andy)指英特尔前CEO安迪·格鲁夫,比尔(Bill)指微软上任CEO比尔· 盖茨,意为硬件提高的功能,很快被软件斲丧掉了。
正如CPU在处理图像处理时不够高效一样,如今有多量的基本层使用CPU处理起来也比力低效,比如网络协议处理,互换路由盘算,加密解密,数据压 缩等这类盘算茂密的职责,另有支持分布式处理的数据一律性协议如RAFT等。这些数据大概经过从网络IO接入体系,大概经过板级高速PCIe总线接入体系,再经过共享主存颠末DMA机制将数据提需求CPU或GPU来处理。既要处理多量的表层使用,又要维持底层软件的基本办法,还要处理种种特别的IO类协议,繁复的盘算职责让CPU不堪重负。 这些基本层负载给“异构盘算”提供了一个宽广的提天空间。
将这些基本层负载从CPU上卸载下去,短期内可以“提质增效”,久远来看还为新的业务增长提供武艺保证。DPU将可能成为承接这些负载的代表性芯片,与CPU和 GPU上风互补,创建起一个愈加高效的算力平台。可以猜测,用于数据中央的DPU的量将到达和数据中央办事器等量的级别,每年万万级新增,算上存量的交换,预算五年总体的需求量将打破两亿颗,凌驾独立GPU卡的需求量。每台办事器约莫没有GPU,但必需有DPU,好比每台办事器都必需配网卡一样。
5.DPU的产业化机会
数据中央作为IT基本办法最紧张的构成局部在已往10年成为了各大高端芯片厂商眷注的核心。各大厂商都将原有的产物和武艺,用全新的DPU的理念重 新封装后,推向了市场。 NVIDIA收买Mellanox后,依靠原有的ConnectX系列高速网卡武艺,推出其 BlueField系列DPU,成为DPU赛道的标杆。作为算法增速芯片头部厂商的Xilinx 在2018年还将“数据中央优先(Datacenter First)”作为其全新提高战略。公布了Alveo系列增速卡产物,旨在大幅提升云端和当地数据中央办事器功能。2019年4月,Xilinx公布收买Solarflare通讯公司,将抢先的FPGA、MPSoC和ACAP解 决方案与 Solarflare 的超低时延网络接口卡( NIC )武艺以及使用增速软件相团结,从而完周全新的交融SmartNIC处理方案。Intel 2015年底收买了Xilinx的竞争 对手——Altera,在通用处理器的基本上,进一步完满硬件增速才能。Intel 2021年6月新公布的IPU产物(可以被视为Intel版本的DPU),将FPGA与Xeon D系列处理器集成,成为了DPU赛道上心的竞争者。IPU是具有强化的增速器和以太网毗连的高等网络装备,它使用严密耦合、自用的可编程内核增速和办理基本架构功效。IPU提供全盘的基本架构分载,并可作为运转基本架构使用的主机的控制点,从而提供一层分外防护。几乎同一时间,Marvall公布了OCTEON 10 DPU产物,不仅具有强壮的转发才能,还具有突出的AI处理才能。
在同一时期,一些传统并不涉足芯片计划的互联网厂商,如外洋的Google、Amazon,国内的阿里巴巴等巨头纷繁启动了自研芯片的方案,并且研发重点都是面向数据处理器的高功能自用处理器芯片,渴望以此改良云端的办事器的本钱布局,提高单位能耗的功能水平。数据研讨猜测DPU在云盘算市场的使用需求最大,且市场范围随着云盘算数据中央的迭代而增长,到2025年单中国的市场容量都将到达40亿美元的范围。 泉源:本篇内容来自自用数据处理器(DPU)武艺 白皮书,中国封建院盘算武艺研讨所,鄢贵海等”。