澎湃Logo
下载客户端

登录

  • +1

DPU发展的四个关键问题

鄢贵海/中国科学报
2022-08-10 10:06
未来2% >
字号

DPU是面向基础设施层的数据处理单元。在DPU概念诞生之初,人们争论它“应如何定义”。但后来发现,只有定义,还远不能说明DPU能做什么、有什么作用、如何与现有系统更好地协同。

要讲清楚DPU的技术发展和应用价值,需要触及关于DPU的4个关键问题:DPU是什么、DPU能否标准化、DPU产业化面临哪些挑战、是否有中国化方案。

DPU是什么?

所谓基础设施层,是有别于应用层而言的,为了给“应用”提供物理或虚拟化资源,甚至提供基础服务的逻辑层。现有的计算系统,被人为地分为基础设施层(IaaS)、平台层(PaaS)、软件层(SaaS),以及位于最上层的应用层。

从优化技术的侧重点来看,越基础层的组件越倾向于以性能优先为导向,存在更多的“机器依赖”;越上层的优化越以生产效率为导向,通过层层封装,屏蔽底层差异,对用户透明。

为什么会有面向基础设施层的DPU?难道是现有的数据中心的CPU、GPU、路由器、交换机不能继续作为“面向基础设施层的数据处理单元”了吗?计算系统的研究很大程度上是“优化”的研究;现有的基础设施不是不能,而是不够“优化”。

DPU的出现首先要解决的就是网络数据包处理的问题。随着核心网、汇聚网朝着100G、200G发展,接入网也达到50G、100G时,CPU无法提供足够的算力来处理数据包了。而且,网络带宽的增速来自于应用的丰富、数据中心规模的扩大、数字化进展的驱动,而 CPU 性能增速却随着摩尔定律的放缓而下降,这进一步加剧了服务器节点上CPU的计算负担。

另外一个例子是云计算场景下的“虚拟机之间的数据转发”问题,即OVS。通常,20个虚拟机需要消耗至强多核处理器5个核的算力,这是一笔比较大的开销,同时也是使用DPU的一个原因。

此外,目前的系统结构并不是为处理网络数据而生的,在高带宽网络、随机访问、高并发度收发的场景下效率并不高。现有技术开辟了用“轮询”替代中断来处理IO操作的方法,但这些在现有体系基础上的“修修补补”只能当做权宜之计,本质上是经典技术在新场景下的不适应。

有人把DPU单纯理解为给CPU“减负”,把DPU作为一个网卡的“变种”,将其视为一个单纯的算法硬件化的载体,以“头脑简单,四肢发达”的形象示人。但如果重新审视系统功能的载体分布情况,就会看到DPU并非单纯的加速器,而是与CPU全方位配合的一个关键组件。

从主机负责所有的管理、控制、数据面的功能,到逐步“卸载”这些功能分别迭代出异构计算、智能网卡、DPU。DPU的价值愈发彰显,人们甚至可以以DPU为中心来构建计算系统。前不久,阿里云公布的CIPU宣称替代CPU成为新一代云计算核心硬件,可以说是把DPU推向了舞台中心,虽然尚有争议,但这也许正是DPU发展的方向。

DPU可以标准化吗?

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

现在广泛存在一种认识误区:笼统地认为DPU是一种专用处理器,既然是“专用”,就不可避免地采用“定制化”才能实现,而一旦“定制化”,“标准化”也就无从谈起了,从而得到了一个武断的结论——DPU没有产业化价值。

其实专用化、定制化、标准化这三个概念,并没有直接因果关系。

比如,GPU无疑是一种“专用”处理器,因为图形图像这种信息交互方式是绝对的刚需;GPU中通过定制化来实现光栅操作处理器、纹理处理器等高度定制化的功能单元,及其超大规模的数据集同步并行处理技术,都是面向像素级海量数据处理的定制化技术;GPU通过OpenGL、DirectX等图形操作API和CUDA通用编程框架来实现标准化。所以,“专用”并不比“通用”低人一等,“定制化”甚至是一些应用刚需必须采用的技术选择。

DPU标准化是一个过程,而不是目的。标准化的进程很大程度与市场化程度相互作用。

DPU产业化面临的挑战

DPU主要在基础层和平台层发挥作用,这决定了现阶段DPU的优化主要是性能导向。这其实是块“硬骨头”。现在有些DPU的设计过于依赖通用核的使用,尽管灵活性得到了保证,但是性能往往上不去,根本不可能有客户买单。

还有一个业界人士更切身体会的挑战——产品适配。但“适配”说起来容易做起来难,因为会遭遇工作量“指数爆炸”的适配困境。

鉴于此,我们开发了一套自动化多生态环境的编译、发布、测试系统平台(ADIP),把适配工作系统地分解为两条、4个阶段的流水线,分别针对主机侧的软件适配和DPU侧的软件适配。这个开发集成平台已经支持了中科驭数的DPU在多个国产CPU和OS的适配工作,目前还在快速完善过程中。

DPU还面临一些其他的挑战,一些是属于目前国内集成电路设计行业面临的共性问题,比如芯片制造的供应链问题、高水平研发人员短缺问题,等等;也有DPU赛道的特性挑战,比如需求多样化与DPU设计功能失配、DPU的软件生态不够成熟等问题。

DPU的发展是否有“中国方案”?

DPU的发展是否有适合我们自己的道路或“中国方案”?这也是我们一直在思考的问题。在计算系统发展的历程中,大体有三个重要的因素决定了一类产品/技术是否能取得商业化的成功。第一是“性能”,取决于创新结构、算法的发明,创新技术、工艺的采用等。第二是“生产率”,与开发效率、系统与现有系统的兼容性及学习成本等因素有关。第三是“成本”,涉及规模效应、工程化水平、供应链以及服务成本等。

DPU的性能问题一方面是设计问题,比如结构是否优秀、功能是否完善等,另一方面是DPU芯片生产制造问题。从综合产品力来看,我们虽然局部技术上占有优势,整体上还难以与西方芯片巨头如英伟达、迈威等相匹敌,因此,目前DPU的整体格局还是典型的“西强东弱”。

但是,中国算力需求是全球最强劲的。服务器的需求增速是全球第一,国家层面还有“新基建”中的“算力基础设施”的宏大布局、今年2月份启动的“东数西算”战略布局、运营商开始广泛投入的“算力网络”的建设等。这不仅为DPU的发展提供了机遇,给整个信息技术、计算技术的发展都提供了新的机遇。

(原标题:《DPU发展的四个关键问题》。作者鄢贵海系中科院计算技术研究所研究员、中科驭数董事长。)

    责任编辑:张静
    图片编辑:张同泽
    澎湃新闻报料:021-962866
    澎湃新闻,未经授权不得转载
    +1
    收藏
    我要举报
            查看更多

            扫码下载澎湃新闻客户端

            沪ICP备14003370号

            沪公网安备31010602000299号

            互联网新闻信息服务许可证:31120170006

            增值电信业务经营许可证:沪B2-2017116

            © 2014-2024 上海东方报业有限公司

            反馈