芯片采购,IC采购,芯片采购平台
芯片
每日新闻头条
鄢贵海:DPU发展中的四个关键问题
(2024年12月21日更新)

芯片采购网专注于整合国内外授权IC代理商现货资源,芯片库存实时查询,行业价格合理,采购方便IC芯片,国内专业芯片采购平台

严贵海在中国计算机学会芯片会议上DPU主题报告

在DPU在概念诞生之初,人们争论它应该如何定义,但后来发现,只有定义不能解释 DPU能做什么,有什么作用,如何更好地与现有系统合作。本文将讨论DPU发展中的四个关键问题:DPU是什么?DPU能标准化吗?DPU工业化面临哪些挑战?还有中国计划吗?有些问题目前还很难给出确切的答案,但抛砖引玉,希望能引起大家的关注。

一、DPU是什么?

DPU它是一种新开发的专用处理器,但对于DPU释意不像以前的处理器那么容易不言而喻。比如GPU,听名字就知道是什么,名字就是定义。数字信号处理器也是类似的DSP,深度学习处理器NPU等。其实,CPU这也是一个解释不清楚的概念。大约50年前,关于中央的含义没有太多争论。但是CPU需要做什么,系统中的角色是什么,真的很清楚——这其实是首要问题。所谓之下,所谓的定义就没那么重要了。简言之,DPU什么是参考结构,什么样的负载可以处理,如何集成到现有的计算系统中DPU研发要解决的关键问题。

DPU是基础设施层的数据处理单元。有鉴于此,Intel也把自己的DPU称之为“IPU所以所谓的基础设施层不同于应用层Epson代理提供物理或虚拟化资源,甚至提供基本服务的逻辑层。事实上,这个概念很容易理解。从我们先进计算系统的宏观逻辑水平来看,它本身被人为地分为基础设施层(IaaS),平台层(PaaS),软件层(SaaS),上层为应用层。如果看微观,会更清晰。基础层主要包括网络、存储、服务器等与硬件资源交互、抽象硬件功能的组件。从优化技术的重点来看,基础层组件越多,性能优先,机器依赖就越多(Machine-dependent)上层优化越以生产效率为导向,通过层层封装,屏蔽底层差异,对用户透明。

DPU数据处理单元面向基础设施层

那么,现有的数据中心吗?CPU、GPU、路由器和开关不能继续作为基础设施层的数据处理单元吗?计算系统的研究在很大程度上是优化的研究。现有的基础设施不是不可能的,而是不够的优化。如果没有新技术的发明和引进,需求和供给之间的矛盾将越来越突出。

DPU首先要解决的是网络数据包处理的问题。传统上,网卡处理了两层网络的数据帧CPU上运行的OS处理网络数据包的收发问题。当网络带宽相对较低时,这种费用并不是一个大问题,甚至中断费用也是可以接受的。然而,随着核心网络和汇聚网络朝着100G、200G接入网络的发展也达到了50G、100G时,CPU不能提供足够的计算能力来处理数据包。我们发现了一种叫做性能带宽增速比失衡的现象CPU由于摩尔定律的放缓,性能增长也有所放缓,但网络带宽的增长来自于丰富的应用、数据中心规模的扩大和数字进展的驱动,因此增长速度更快,进一步加剧了服务器节点CPU计算负担。

另一个例子是云计算场景中的核心应用程序,虚拟机之间的数据转发问题,即OVS。一般来说,20个VM如果使用需要消耗的计算能力Xeon的多核CPU处理它大约需要5个核的计算能力——这确实是一个很大的开支。

此外,目前的系统结构不是为了处理网络数据,而是为了更有效地管理本地资源,支持多用户、多任务、本地安全、适当并发,因此必须划分执行和访问不同特权指令的权限,并采用复杂的中断机制。这些机制对高带宽网络、随机访问、高并发度收发的场景效率不高。因此,现有技术开辟了用户态访问机制,直接绕过操作系统的内核态,用轮询代替中断IO操作。这些基于当前体系的修补权宜之计,本质上是新场景下经典技术的不适应。

为了更好的理解DPU在经典计算系统模型的帮助下,系统可分为三个部分:1)数据平面(Data Plane),定义为数据包分析和处理的数据通路,代表计算和数据密集的功能部分;2)控制平面(Control Plane),定义是为输入输出数据流提供和配置数据平面的算法集合,代表资源调度、系统配置、链路建设等控制密集的功能部分。此外,行业通常会增加第三个层次,即3)管理平面(Mgmt. Plane),周期性或偶发性的部分应用,如系统监控、故障隔离、在线修复等。此外,行业通常会增加第三个层次,即3)管理平面(Mgmt. Plane),代表系统监控、故障隔离、在线维修等周期性或偶然的部分应用。事实上,这也是在软件定义网络SDN一种方法学下的划分。如果比较一个城市的路网基础设施SDN,因此,交错的道路是其数据平面,其密度和宽度决定了网络的流量上限;所有交通灯及其控制系统都是其控制平面,其控制算法的质量和部署位置的合理性决定了交通流量的实际容量;各种速度测量点、流量监控、临时交通控制、事故拥堵疏浚等是其管理平面。有了这套基础设施,各种用户可以应用各种车辆(相当于用户的应用)进行运输服务。

对于不同的平面,可并行性、性能、灵活性、可靠性等属性通常有很大的不同。对于数据平面,突出的需求是性能。通过开发数据级、线程级、任务级平行度和高度定制的专用计算单元,所有优化设计都是以性能为导向的。对于控制平面,主要要求是通用灵活,方便用户作为控制数据平面的起点。平面管理的功能主要是安全、可靠、易用,便于系统状态监控和维护,便于支持自动化运行和维护机制的实施。

为什么要从这三个平面开始?DPU系统中的角色呢?因为这三个逻辑平面反映了DPU在设计过程中需要注意的内容。有人把DPU对给予的简单理解CPU减负,把DPU作为网卡的变种,它只是一个被动设备DPU它被认为是一个简单的算法硬件载体,以头脑简单,四肢发达的形象,属于简单追求强数据平面、弱控制面的设计。典型的如数据加密、图像转码专用卡等,AI加速卡等,这是异构计算的1.0时代”。

如果重新审视系统功能的载体分布,就会看到DPU事实上,它越来越不像一个简单的加速器,而是与CPU一个全方位配合的关键组件。传统的经典计算系统,我们称之为类型I(Type-I)主机负责所有管理、控制和数据表面的功能;异构计算发展的第一个牛鼻是加速数据密集和计算密集的算法,因此数据表面的计算负载主要卸载,但控制和管理很少涉及,我们称之为类型II(Type-II)。典型的表征是从Host该计算设备只能在端部找到,但对于设备的状态,启动、关闭、任务分配等都比较不方便。随着智能网卡等产品的出现,除了加强设备端数据面的优势外,还出现了完整的控制面功能,我们称之为类型III(Type- III)。例如ARM管理板卡上的资源采用轻量级操作系统;这也是目前常见的类型。还有最后一类,Type-IV,是DPU承担所有数据面、控制面和管理面的功能HOST侧反不那么重要,被认为是DPU最终形式,即完全以DPU为中心构建计算系统。阿里云不久前宣布CIPU(Could Infrastrucutre Procesing Unit)宣称替代CPU可以说是新一代云计算的核心硬件DPU在舞台的中心,虽然有很多争议,但这可能是DPU发展方向。

再来看看DPU具体能做什么?我们把DPU发挥作用的场景分为网络、存储、计算和安全四个方向。这四个方向实际上是依赖的。在这张图中,相邻的部分代表了一定的依赖;计算部分涉及PaaS内容多,网络部分偏IaaS层,存储,安全IaaS和PaaS层多。这个分类图中覆盖的场景越多,目前就越多DPU制造商的目标。

DPU功能场景

为了实现这一功能,我们可以开发第二代架构DPU体现产品结构。在这个架构中,有几个创新的功能单元,比如NOE,是传统TOE的升级版;DOE,专门用于加速数据查询,以及DOMS,在管理片上缓存数据是一种高效的结构。其它创新结构也包括,FlashNOC电影中的互联网技术也有很多特定的方面IO的DMA单元等。

最后,如果说DPU事实上,发展的最大驱动力来自需求方。数据中心的架构发展趋势已经从20年前的本地部署集群,到十年前的云资源,再到云原生阶段。基础设施层变得越来越厚,硬件资源的池化越来越强化,上升为XaaS即一切都可以服务化。K8S系统成为新的操作系统DevOps开发、运维一体化……在提高生产率的同时,也直接催生了计算能力的需求,尤其是IaaS和PaaS层的计算能力需求——这也是DPU的主战场。

二、DPU能标准化吗?

在回答DPU在标准化之前,有必要明确标准化的确切含义,以及为什么要标准化。DPU标准化涉及两个方面:DPU影响架构是否能标准化DPU研发成本问题;DPU影响应用能否标准化DPU应用生态问题。

现在有一种误解:一般认为DPU它是一种特殊的处理器,因为它是特殊的,所以不可避免地使用定制来实现,一旦定制,那么标准化就得出武断的结论:DPU没有工业价值!

事实上,专业化、定制化和标准化三个概念之间没有直接的因果关系。

专业化强调应用场景,价值的专业化取决于需求的刚性。定制是技术实现的路径选择,往往是创新和核心技术的发源地。标准化是通过建立或融入工业生态,创造规模效益,降低边际成本,实现创新技术的价值实现。

比如,GPU这无疑是一种特殊处理器,因为人们绝对需要图形图像的信息交互;GPU光栅操作处理器通过定制实现(ROP)、纹理处理器(TPC)高度定制的功能单元和大规模的数据集同步并行处理技术都是定制的像素级海量数据处理技术;最后,通过OpenGL,DirectX等图形操作API,CUDA标准化一般编程框架。因此,专用并不比通用低人一等,定制甚至解决了一些应用刚需的技术选择。

去年,我们在中国计算机学会的通信上发表了一篇文章《DPU:以数据为中心的专用处理器之一反映了几种处理器的特征分布。从功能导向分为计算密集型 vs. IO密集,从结构设计划分为控制和数据;从中我们可以看到,目前DPU分布区确实有一定的空白。简单来说,当其他三个地区都有很好的产业化格局时,DPU该地区不应该工业化。

我们团队在DPU标准化工作也做出了一点贡献。首先,组织编写行业第一本书DPU这本白皮书更全面地描绘了技术白皮书DPU功能集,以及DPU应用场景,出了一个更通用的场景DPU参考模型的设计。今年,在过去的基础上,我们组织编写了第二本技术白皮书,但重点是DPU参考设计迁移DPU作为后续细分应用设计基准测试程序的参考。

我认为,DPU标准化是一个过程,而不是目的。标准化的过程在很大程度上与市场化相互作用。因此,标准化的目的是市场化,市场化的进展将反过来促进标准化。

三、DPU工业化面临的挑战

DPU它主要在基础层和平台层发挥作用,这决定了现阶段DPU优化主要是性能导向。这实际上是一块特别硬的骨头。现在有一些DPU设计过于依赖于一般核的使用。虽然灵活性得到了保证,但客户往往无法支付性能。性能好,灵活性差,客户会尝试;相反,根本没有机会。

在这里,我将介绍一个更具个人经验的挑战——产品适配。DPU需要适应不同的CPU平台,不同的操作系统。适配说起来容易,做起来难,面临工作量指数爆炸的适配困境。例如,驭数DPU中的NOE功能是DPU行业内低延迟性能最好X86上的TCP和UDP的1/2 RTT回环延迟可达1.2us甚至更低。要达到这样的极致,除了硬件卸载,还需要 YUSUR HADOS 的InstantA NOE SDK 针对不同CPU深度优化架构。因此,我们正在适应鹏鹏CPU OpenEuler 在操作系统时,需要解决和优化很多问题ARM架构和X86架构的差异化,如ARM架构上的指令阅读和写作混乱的问题最终实现了坤鹏CPU上TCP和UDP的1/2 RTT达到1.6us行业领先的低延迟性能。然而,当我们认为它可以很容易地适应坤鹏时CPU 在麒麟操作系统中,出现了许多新的问题,如解决麒麟中断处理的差异,以及新一轮的性能优化。

鉴于此,我们提出了一套编译、发布和测试自动多生态环境的平台(ADIP),将适配工作系统分解为两个四个阶段的流水线Host侧软件适配和DPU侧软件适配。这个开发集成平台已经支持了控数DPU在多个国产CPU和OS目前,适应工作仍在快速完善的过程中。虽然我们我们的ADIP流程自动化程度有待提高,但对于流程阶段的划分,可以有效地指导100人的工程师团队合作开发。

编译、发布和测试多生态环境自动化系统平台:HADOS ADIP

以上内容仅表明我们正在开发中DPU在应对这一挑战时,我们分享了我们提出的工程解决方案。其实,DPU还面临着一些其他挑战,一些是国内集成电路设计行业面临的共同问题,如芯片制造供应链问题、高水平研发人员短缺等有DPU这条轨道的特点挑战,如需求多样化、需求多样化和DPU设计功能不匹配(Mismatch),DPU软件生态不成熟等问题,虽然道阻长,但行则即将到来!

四、DPU是否有中国计划?

DPU是否有适合我们自己的发展道路或中国计划?这也是我们一直在思考的问题,但还没有定论。DPU不分国界DPU工业化可能仍然需要找到适合中国国情的途径。

在计算系统的发展过程中,决定一类产品/技术商业化成功的重要因素有三个。第一个是性能,它取决于创新结构、算法发明、创新技术采用等。二是生产率三是成本

首先,DPU一方面,性能问题是设计问题,DPU结构是否优秀,功能是否完善;另一方面,问题是DPU芯片制造问题。从我们DPU从设计的功能和指标来看,我们自主研究DPU和已经公布的一些DPU与产品相比,可以说是不落后不落后,甚至在一些单一指标上领先,如延迟。但是,我们的优势是局部技术优势,NVIDIA,Marvell所有产品都借鉴了前代相关产品的功能模块,结构更加成熟,采用了更加先进(如7)nm)从综合产品实力的角度来看,工艺仍有一定的优势。因此,现在DPU整体格局是典型的西强东弱。

然而,中国目前的计算能力需求是世界上最强劲的。服务器需求增长率居世界第一。国家层面还包括新基础设施中计算基础设施的宏大布局、今年2月启动的东西计算战略布局、运营商开始广泛投资的计算网络建设等。这不仅为DPU为整个信息技术和计算技术的发展提供了机遇。中国人擅长摸着石头过河。我们坚信,甚至相信,期待与全行业同事合作,探索一套中国计划,引领DPU这种新技术的发展。


芯片采购网|IC采购|IC代理商 - 国内专业的芯片采购平台
芯片采购网专注整合国内外授权IC代理商的现货资源,轻松采购IC芯片,是国内专业的芯片采购平台