首页 » 科学 » DPU:以数据为中央的专用处理器_数据_中心

DPU:以数据为中央的专用处理器_数据_中心

少女玫瑰心 2025-01-19 03:30:56 0

扫一扫用手机浏览

文章目录 [+]

DPU是新近发展起来的一种专用途理器,其要办理的核心问题是根本举动步伐的“降本增效”,将“CPU处理效率低下、GPU处理不了”的负载卸载到专用的DPU,提升全体打算系统的效率、降落整体系统的总体拥有本钱。
DPU的涌现大概是体系构造朝着专用化的路线发展的又一个里程碑。
本文试图剖析这背后的缘故原由,并且给出笔者对DPU的发展的一些思考。

数据处理器(Data Processing Unit,DPU)因此数据为中央布局的专用途理器,采取软件定义技能路线支撑根本举动步伐层资源虚拟化,存储、安全、做事质量管理等根本举动步伐层做事。
2020年英伟达公司发布的DPU的产品计策中将其定位为数据中央继CPU和GPU之后的“第三颗主力芯片”,掀起了一波行业热潮。
我们认为,DPU的涌现是异构打算的一个阶段性标志,与GPU的发展类似,DPU是运用驱动的体系构造设计的又一范例案例,但与GPU不同的是,DPU面向的运用更加底层。
DPU要办理的核心问题是根本举动步伐的“降本增效”,将“CPU处理效率低下、GPU处理不了”的负载卸载到专用的DPU,提升全体打算系统的效率、降落整体系统的总体拥有本钱(TOC)。

DPU:以数据为中央的专用处理器_数据_中心 DPU:以数据为中央的专用处理器_数据_中心 科学

CPU、GPU、DPU——数据智能时期的“三驾马车”

DPU:以数据为中央的专用处理器_数据_中心 DPU:以数据为中央的专用处理器_数据_中心 科学
(图片来自网络侵删)

中心处理器(Central Processing Unit,CPU)是全体IT生态的定义者,无论是做事器真个x86还是移动真个ARM,都各自构建了稳固的生态系统,不仅形成了技能生态圈,还形成了闭合的代价链,成为这些生态垄断者建立起来的最难以超过的“护城河”。

图形处理器(Graphics Processing Unit,GPU)是实行规则打算的主力芯片,如图形渲染。
英伟达(Nvidia)GPU经由朝向通用GPU(GPGPU)的努力和CUDA编程框架的推广,在数据并行的任务(如图形图像、深度学习、矩阵运算)等方面成为了主力算力引擎,并且成为了高性能打算最主要的赞助打算单元。
2021年6月公布的环球高性能打算机 (超级打算机) TOP500榜单排名的前10名中,有六台(第2、3、5、6、8、9名)都支配有英伟达的GPU。

数据中央与超级打算机不同,后者紧张面向科学打算,如大飞机研制、石油勘探、新药物研发、气候预报、电磁环境打算等运用,性能是其紧张的排名指标,对接入带宽的哀求不高[1];但数据中央面向云打算的商业化运用,对接入带宽、可靠性、灾备、弹性扩展等有更高的哀求,与之相适应发展起来的虚拟机、容器云、并行编程框、内容分发网等技能,都是为了更好地支撑上层商业运用,如电商、支付、视频流、网盘、办公自动化(OA)等。
但是这些根本举动步伐即做事(IaaS)和平台即做事(PaaS)层的做事开销极大,美国亚马逊公司曾公布亚马逊云做事(AWS)的系统开销在30%以上——100台做事器,只有70台可以对外供应做事,亚马逊称其为“数据中央税”(datacenter tax)。
如果须要达到更好的做事质量,在网络、存储、安全等根本举动步伐做事上的开销还会更高。

这些根本层运用类型与CPU架构匹配程度不高导致了打算效率低下。
现有的CPU架构分为两大类:多核架构(数个或十几个核)和众核架构(数百个核以上),每种架构支持唯一的一种规范通用指令集,如x86、ARM等。
以指令集为界,软件和硬件被划分开来分别独立发展,迅速催生了软件家当和微处理器家当的协同发展。
随着软件繁芜度的上升,软件的生产率(productivity)得到了更多的重视,软件工程学科也更加关注如何高效地构建大型软件系统,而非如何用更少的硬件资源得到尽可能高的实行性能。
业界有个诙谐的“安迪-比尔定律”,其内容是“What Andy gives, Bill takes away”,安迪(Andy)指英特尔前CEO安迪·格鲁夫(Andy Grove),比尔(Bill)指微软前任CEO比尔·盖茨(Bill Gates),意为硬件提高的性能很快就被软件花费掉了。

利用通用CPU处理当下大量的根本层运用比较低效,例如网络协议处理、交流路由打算、加密解密、数据压缩等打算密集的任务,以及支持分布式处理的数据同等性协议,如RAFT[2]等。
这些负载为上层业务类运用供应数据传输、共享、安全等底层支撑做事。
这些数据通过从网络IO或者板级高速PCIe总线接入系统,再通过共享主存采取直接存储器存取(Direct Memory Access,DMA)机制供应给CPU或GPU来处理。
CPU既要处理大量的上层运用,又要坚持底层软件的根本举动步伐,还要处理各种分外的IO类协议,不堪重负。

这些根本层负载为“异构打算”供应了一个广阔的发展空间。
将这些根本层负载从CPU上卸载下来,短期内可以“提质增效”,长远来看还能为新的业务增长供应技能保障。
DPU将有望成为承接这些负载的代表性芯片,与CPU和GPU的上风互补,建立起一个更加高效的算力平台。
我们预测,用于数据中央的DPU的量将达到和数据中央做事器等量的级别,每年以千万级新增,算上存量的替代,估算五年总体的需求量将打破两亿枚,超过独立GPU卡的需求量。
一台做事器可能没有GPU,但绝对须要有DPU,好比每台做事器都必须配备网卡一样。

“横空出世”的DPU孕育已久

DPU的涌现是异构打算的又一个阶段性标志。
摩尔定律放缓使得通用CPU的性能增长边际本钱迅速上升。
有数据表明,现在CPU的性能年化增长率(面积归一化之后)仅有3%旁边[3],但打算需求却是爆发性增长,这险些是所有专用打算芯片得以发展的主要背景成分。
以AI芯片为例,最新的GPT-3等千亿级参数的超大型模型的涌现,将算力需求推向了一个新的高度。
DPU也不例外。
随着2019年我国以信息网络等新型根本举动步伐为代表的“新基建”计策帷幕的拉开,5G、千兆光纤网络培植发展迅速,移动互联网、工业互联网、车联网等领域发展日月牙异。
云打算、数据中央、智算中央等根本举动步伐快速扩容,网络带宽从主流的10G朝着25G、40G、100G、200G乃至400G发展。
网络带宽和连接数的剧增好比数据的通路更宽、更密,直接将处于端、边、云各处的打算节点暴露在了剧增的数据量下,而CPU的性能增长率与数据量增长率涌现了显著的“剪刀差”征象。
以是,寻求效率更高的打算芯片成为了业界的共识。
DPU芯片便是在这样的背景趋势下涌现的。

DPU作为打算卸载的引擎,其直接效果是给CPU“减负”。
DPU的部分功能可以在早期的TCP卸载引擎(TCP/IP Offloading Engine,TOE)中看到[4]。
正如其名,TOE便是将CPU处理TCP协议的任务“卸载”到网卡上。
传统的TCP软件处理办法虽然层次清晰,但也逐渐成为网络带宽和延迟的瓶颈。
软件处理办法对CPU的占用,也影响了CPU处理其他运用的性能。
TOE技能通过将TCP协议和IP协议交由网络接口掌握器处理,在利用硬件加速降落网络时延和提升带宽的同时,显著降落了CPU处理协议的压力。
TOE技能详细有三个方面的优化:隔离网络中断,降落内存数据拷贝量,协议解析硬件化。
这三个技能点逐渐发展成为现在数据平面打算的三个技能,也是DPU普遍须要支持的技能点。
例如,NVMe协议将中断策略更换为轮询策略,更充分地开拓高速存储介质的带宽上风;数据平面开拓工具包(DPDK)采取用户态调用,开拓“kernel-bypassing”机制,实现零拷贝(zero-copy);DPU中面向特定运用的专用核,例如各种繁芜的校验和打算、数据包格式解析、查找表、IP安全(IPSec)的支持等,都可以视为协议处理的硬件化支持。
以是,TOE基本可以被视为DPU的雏形。

延续TOE的思想,将更多的打算任务卸载至网卡侧来处理,促进了智能网卡(SmartNIC)技能的发展。
常见的智能网卡的基本构造因此高速网卡为根本,外加一枚高性能的现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片作为打算的扩展,来实现用户自定义的打算逻辑,达到打算加速的目的。
然而,这种“网卡+FPGA”的模式并没有将智能网卡变成一个绝对主流的打算设备,很多智能网卡产品被当作纯挚的FPGA加速卡来利用,在利用FPGA上风的同时,也继续了所有FPGA的局限性。
我们认为DPU是对现有智能网卡的整合,能看到很多以往智能网卡的影子,但明显高于之前任何一个智能网卡的定位。

亚马逊的AWS在2013年研发了Nitro产品,将数据中央开销(为虚拟机供应远程资源、加密解密、故障跟踪、安全策略等做事程序)全部放到专用加速器上实行。
Nitro架构采取轻量化Hypervisor合营定制化的硬件,将虚拟机的打算(紧张是CPU和内存)和IO(紧张是网络和存储)子系统分离开来,通过PCIe总线连接,可以节省30%的CPU算力资源。
阿里云提出的X-Dragon系统架构,核心是MOC卡,有比较丰富的对外接口,也包括了打算资源、存储资源和网络资源。
MOC卡的核心X-Dragon SOC统一支持网络、IO、存储和外设的虚拟化,为虚拟机、裸金属(bare-metal)、容器云供应统一的资源池。

可见,DPU其实在行业内已经孕育已久,从早期的网络协议处理卸载,到后续的网络、存储、虚拟化卸载,其带来的浸染非常显著,只不过在此之前DPU“有实无名”,是时候迈上一个新的台阶了。

DPU的特色构造:以数据为中央的专用途理器

从运用特色来看,运用可以被分为“IO密集型”和“打算密集型”两类,如图2纵轴所示。
“IO密集型”运用常日表示为较高的输入和输出带宽,数据直接来自于IO,数据常日具备流式特色,数据局部性不显著,如果处理性能与带宽匹配,片上缓存的浸染就可以弱化。
这类运用包括处理路由转发、数据加密、压缩等。
“打算密集型”运用表示为较高的打算密度,常日浮点性能突出,数据来自主存,数据局部性显著,复用性高,主存的大小对问题求解的性能有直接影响。
这类运用包括线性代数方程组求解、大规模神经网络演习和推理等。

一个处理器芯片是“IO密集型”还是“打算密集型”只部分决定了芯片的构造特色,并不能完备定义芯片的主体架构。
无论是哪种类型,主体打算架构既能以通用CPU为核心来布局,也能以专用加速器为核心来布局。
前者可称为以掌握为中央(control-centric)的模式,其核心是实现“通用”;后者称为以数据为中央(data-centric)的模式,其核心是通过定制化实现“高性能”。
我们不妨以运用特色和架构特色这两个维度来粗略划分一下处理器芯片类型分布,如图2所示。

通用CPU是倾向于以掌握为中央的构造,理论上看须要“图灵完备”,实际中便是要支持完备的指令集,通过编程指令序列来定义打算任务,通过实行指令序列来完成打算任务,因此具备极其灵巧的编程支持,可以任意定义打算的逻辑实现“通用”,这也是CPU最大的上风。
同时,为了提高编程的开拓效率,降落编译器繁芜度,缓存管理和细粒度并行的开拓常日都是由硬件来完成。
类似地,还有大量用于各种嵌入式、移动设备的微掌握单元(MCU),并不强调高带宽,也因此掌握为中央的构造。

GPU因此数据为中央的构造,形式上更方向于专用加速器。
GPU的构造称为数据并行(data-parallel)构造,提升性能的重点不是优化指令并行度,而是通过大规模同构核实行细粒度并行来消化大的数据带宽。
例如,最新的NVIDIA TITAN RTX GPU有4608个CUDA核、576个Tensor核,而且单片GPU常日配置数十GB的超大显存。
同时,缓存管理较多采取软件显式管理,降落硬件的繁芜度。
这类超众核构造因此数据为中央、实行打算密集型任务的代表性架构。

DPU也倾向于以数据为中央的构造,形式上集成了更多类别的专用加速器,通过转让一定的指令灵巧性以得到更极致的性能。
但是与GPU不同,DPU要应对更多的网络IO,既包括外部以太网,也包括内部虚拟IO,以是DPU所面临的数据并行更多可能是数据包并行,而不是图像中的像素、像块级并行。
而且DPU也会配置少数通用核(如ARM、MIPS)来处理一定的掌握面的任务,运行轻量级操作系统来管理DPU上的浩瀚的异构核资源,以是表示了一定“通用”性,但性能上风紧张不源于这些通用核,而是大量专用打算核。
早期的一些网络处理器采取过类似Tile64的通用众核构造,通过增加核的数量来应对多路处理的数据,实现并发处理,但单路延迟性能常日比较差。
因此,DPU更倾向于以数据为中央,实行IO密集型任务。

DPU是软件定义的技能路线下的主要产物。
在软件定义网络中,将数据面与掌握面分离是最核心的思想。
DPU被定义为强化了数据面性能的专用途理器,合营掌握面的CPU,可以实现性能与通用性的更佳的平衡。

DPU通过“软件定义,硬件加速”升级数据中央根本举动步伐

DPU的核心技能特色是“软件定义,硬件加速”。
我们提出的软件定义加速器[5],结合业界已有的软件定义网络、软件定义存储,将成为DPU的基本技能路线。
各种异构加速核的深度利用将是表示“硬件加速”的基本手段。
我们预测,随着芯粒(Chiplet)、3D集成技能的成熟,DPU的异构架构的特色将得到进一步的表示。
单枚DPU芯片产品中集成数十类异构核、数TB片上存储将在不久的将来成为现实。
DPU也不仅仅在云端大规模支配,以支持虚拟机、裸金属、容器云,也在边缘端大量采取,以支撑数据面功能,如移动边缘打算(MEC)、虚拟网关、内容分发网络(CDN)等。

根本层(infrastructure layer)技能的变革是数据中央的核心,通过虚拟化技能实现高效的打算、网络、存储资源的池化和丰富的高速本地互连及远程网络连接是根本层的核心,既包括虚拟化IO(VirtIO)、虚拟交流(OvS),也包括高速网络、高速存储、数据同步、远程DMA等。
宏不雅观来看,DPU的功能便是使根本举动步伐层运用与所需求的资源实现“所需即所得”,屏蔽网络、存储、打算、数据的物理位置的差异性,成为“超级连接枢纽”——一端连接CPU、GPU、SSD、FPGA加速卡等本地资源,一端连接交流机、路由器等网络资源,如图3所示;整合CPU、存储、GPU、FPGA等打算资源打造更高效的IaaS。
大概正由于这个缘故原由,英特尔在不久前的发布会中将其DPU称为“IPU”,即根本举动步伐处理单元(Infrastructure Processing Unit),笔者认为这是比较准确的定义。
传统CPU的访存通路是为处理内存(主存)中的数据而设计的,内存管理单元(Memory Management Unit,MMU)、 输入输出内存管理单元(Input-Output Memory Management Unit,IOMMU)都是为了让CPU能更高效、更安全地利用内存资源,网络数据也是通过DMA到内存中才能被CPU利用。
随着系统构造朝着虚拟化、超并行、分布式、高并发方向发展,上层运用直策应用的不再是本地的打算、网络和存储资源,而是充分池化往后的虚拟打算、虚拟网络、虚拟存储资源;利用的数据也不局限在CPU本地的内存中,而是远程互连的所有内存。
虚拟IO(VirtIO-net、VirtIO-blk、VirtIO-scsi等)、虚拟交流、远程直接内存访问(RDMA)等技能便是范例。
这些技能都须要高速互连总线、高速网络等IO通路的支持。
CPU处理高速IO中断的开销非常大,DPU可以替代CPU应对各种随机的IO中断,而且可以更高效地做各种地址转换,便于在虚拟化的环境中支持中断的实现,降落内存拷贝等开销。
同时,从最早的TOE雏形到目前逐渐完善的网络虚拟化、存储虚拟化、打算虚拟化技能等,都有大量驱动类的底层协议须要处理,这些协议如果运行在主设备真个CPU上,就会产生巨大的算力开销;运行在DPU端,不仅可以节省CPU算力,更是可以做到系统整体的优化升级,正所谓“分工协作”才是运行效率的担保。

面向根本举动步伐层的IaaS把做事器、存储、网络等资源都当作对平台供应支持的基本打算产品,比如现在常见的“裸金属”做事器,集物理机性能与虚拟机网络资源灵巧支配的上风,通过分外的虚拟化支持,将物理打算资源直接供应给用户,但并不降落资源的利用率、弹性扩展和管理的便捷程度。
DPU将通过软件定义加速器、软件定义网络、软件定义安全、软件定义存储的技能路线全面提升数据中央的根本举动步伐。
未来DPU将会高效地支持虚拟交流、RDMA、TCP/IP、IPSec/SSL、VirtIO等各种根本层做事,对IT根本架构会带来长远的影响。

DPU的寻衅与机遇

IaaS在海内云做事市场占比约60%,支撑了目前最主要的PaaS容器云技能。
未来几年,我国仍将坚持以IaaS为主的云打算构造,估量市场占比将逐渐上升到70%。
目前要办理DPU标准化运用,还存在一定的寻衅。
由于数据中央本身的繁芜性,各大厂商一方面采取商用成熟产品(Commercial Off-The-Shelf,COTS)组件来构建系统,追求低本钱;一方面又设法分层做事化(IaaS、PaaS、SaaS),打造面向不用类型客户的标准化产品,但除此之外的技能实现险些都是“八仙过海,各显神通”,如AWS有Nitro,阿里云有MOC。
有的厂商强化IO能力,有的关注路由转发,有的重视存储卸载,有的关注安全加密,不一而足。
这从目前各大厂商已公布的功能互异的DPU产品定义可以看出来:英特尔、博通(Broadcom)紧张面向交流机和路由器芯片;美满(Marvall)的DPU紧张面向5G的基带;Pensando紧张面向支持P4的软件定义网络;Fungible紧张面向网络、存储、虚拟化;最新的英伟达紧张面向数据安全、网络、存储卸载。

要把这些互异的需求整合起来,并且适应不同厂商的数据中央架构,将是一个长期而艰巨的任务。
各个DPU厂商不能寄希望于当前“需求互异、体系封闭”的局势自发地在短期内变得“整洁划一,全面开放”,只能是在竞争互助的博弈过程中,逐渐知足越来越多的行业需求。
这须要行业“know-how”的长期整合和持续的产品迭代。

工业和信息化部于2021年7月发布的《新型数据中央发展三年行动操持(2021—2023年)》中明确提出要加快提升算力算效水平,“推动CPU、GPU等异构算力提升,逐步提高自主研发算力的支配比例”“加强专用做事器等核心技能研发”“树立基于5G和工业互联网等重点运用处景的边缘数据中央运用标杆”,等等。
这个行动操持也反响了DPU等新型算力芯片的历史发展机遇。
虽然海内厂商在芯片产品化的环节与国外一线厂商比较还有差距,但是在DPU架构的理解方面还是具有独到见地。
而且我国目前在数据中央领域,无论是市场规模还是增速,特殊是用户数量,与国外比较都有巨大的上风。
海内研究机构和厂商有望充分利用这一需求侧的“势能”驱动供给侧加快研发的步伐,捉住发展DPU专用途理器的新机遇。

致谢:感谢中国科学院打算技能研究所孙凝晖院士、陈云霁研究员对本文的辅导与建议。

参考文献

[1] 钱德沛. 构建支撑科技创新的新一代打算根本举动步伐[J].数据与打算发展前沿, 2020, 2(1):1-17.

[2] Ongaro D, Ousterhout J. In search of an understandable consensus algorithm[C]// USENIX ATC’14: Proceedings of the 2014 Annual Technical Conference. USENIX, 2014: 305-320.

[3] Hennessy J, Patterson D. Computer Architecture, Sixth Edition: A Quantitative Approach[M]. Morgan Kaufmann, 2019.

[4] Chase J S, Gallatin A J, Yocum K G. End system optimizations for high-speed TCP[J]. IEEE Communications Magazine, 2001, 39(4): 68-74.

[5] 鄢贵海, 李晓维, 孙凝晖 .软件定义加速器设计方法初探[J].中国打算机学会通讯, 2018, 14(11):58-63.

鄢贵海

CCF专业会员。
中国科学院打算技能研究所研究员。
中科驭数(北京)科技有限公司创始人、董事长。
紧张研究方向为打算机系统构造、领域专用途理器设计。
yan@ict.ac.cn

卢文岩

CCF专业会员。
中国科学院打算技能研究所助理研究员。
紧张研究方向为打算机系统构造、数字集成电路设计。

luwenyan@ict.ac.cn

李晓维

CCF会士、监事长。
中国科学院打算技能研究所研究员。
中国科学院打算机系统构造重点实验室常务副主任。
紧张研究方向为数字集成电路测试、可测试性设计、高可靠性设计。
lxw@ict.ac.cn

其他作者:张宇、袁晓飞

特殊声明:中国打算机学会(CCF)拥有《中国打算机学会通讯》(CCCF)所刊登内容的所有版权,未经CCF许可,不得转载本刊笔墨及照片,否则被视为侵权。
对付侵权行为,CCF将深究其法律任务

点击“阅读原文”,查看更多CCCF文章。

标签:

相关文章