从二分天下到三分天下,计算体系正变革

陈根
很长一段时间以来,算力的天下都由中央处理器(CPU)和图形处理单元(GPU)平分,也是因为CPU和GPU为庞大的新超大规模数据中心提供了动力,才使得计算得以摆脱PC和服务器的繁琐局限。

很长一段时间以来,算力的天下都由中央处理器(CPU)和图形处理单元(GPU)平分,也是因为CPU和GPU为庞大的新超大规模数据中心提供了动力,才使得计算得以摆脱PC和服务器的繁琐局限。

然而,近几年,随着系统中的CPU承受越来越多的网络和存储工作负载,已有的通用CPU和GPU开始不能完全满足快速变化的应用需求,而性能更强大,更加专用,更加异构的数据处理单元(DPU)登上了历史的舞台。

当前,DPU已成为以数据为中心的加速计算模型的三大支柱之一。其改变计算体系的端倪也正在浮现。

1.webp.jpg

从二分天下到三分天下

自1950年代以来,中央处理器(CPU)就一直是每台计算机或智能设备的核心,是大多数计算机中唯一的可编程元件。并且,CPU诞生后,工程师也一直没放弃让CPU以消耗最少的能源实现最快的计算速度的努力。即便如此,人们还是发现CPU做图形计算太慢。在这样的背景下,图形处理单元(GPU)应运而生。

英伟达提出了GPU的概念,将GPU提升到了一个单独的计算单元的地位。GPU是在缓冲区中快速操作和修改内存的专用电路,因为可以加速图片的创建和渲染,所以得以在嵌入式系统、移动设备、个人电脑以及工作站等设备上广泛应用。1990年代以来,GPU则逐渐成为了计算的中心。

事实上,最初的GPU还只是用来做功能强大的实时图形处理。后来,凭借其优秀的并行处理能力,GPU已经成为各种加速计算任务的理想选择。随着机器学习和大数据的发展,很多公司都会使用GPU加速训练任务的执行,这也是今天数据中心中比较常见的用例。

相较于CPU,大多数的CPU不仅期望在尽可能短的时间内更快地完成任务以降低系统的延迟,还需要在不同任务之间快速切换保证实时性。正是因为这样的需求,CPU往往都会串行地执行任务。而GPU的设计则与CPU完全不同,它期望提高系统的吞吐量,在同一时间竭尽全力处理更多的任务。

设计理念上的差异也最终反映到了CPU和GPU的核心数量上,GPU往往具有更多的核心数量。当然,CPU和GPU的差异也很好地形成了互补,其组合搭配在过去的几十年里,也为庞大的新超大规模数据中心提供了的动力,使得计算得以摆脱PC和服务器的繁琐局限。

然而,近几年,随着系统中的CPU承受越来越多的网络和存储工作负载,已有的通用CPU和GPU开始不能完全满足快速变化的应用需求。据IDC统计,近10年来全球算力增长明显滞后于数据的增长。每3.5个月全球算力的需求就会翻一倍,远远超过了当前算力的增长速度。

在此驱动下,全球计算、存储和网络基础设施也在发生根本转变,一些复杂的工作负载,在通用的CPU上不能很好的处理。或者说,以CPU为中心的数据中心架构已经不能满足需求,以数据为中心才能更好满足市场和应用需求。

英伟达网络事业部亚太区市场开发高级总监宋庆春此前就表示:“以前计算规模和数据量没那么大,冯诺依曼架构很好地解决了提高计算性能的问题。随着数据量越来越大,以及AI技术的发展,传统的计算模型会造成网络拥塞,继续提升数据中心的性能面临挑战。”

数据处理单元(DPU)的出现或将解救这一困境,作为最新发展起来的专用处理器的一个大类,DPU为高带宽、低延迟、数据密集的计算场景提供计算引擎。当前,DPU已成为以数据为中心的加速计算模型的三大支柱之一,其还将成为CPU的卸载引擎,释放CPU算力到上层。

DPU蔚然成风

按照技术出现的时间顺序和特点,DPU的发展则可以分为三个阶段。

第一阶段即智能设备阶段,这一阶段也可以称为DPU的史前时代。在这一阶段,解决节点间流量问题的最简单的方式是增加网卡的处理能力,通过在网卡上面引入SoC或者FPGA的方式加速某些特定流量应用,从而加强网络的可靠性,降低网络延迟,提升网络性能。

其中,Xilinx和Mellanox在这个领域进行的比较早,可惜由于战略能力不足,错失了进一步发展的机会,逐渐被DPU取代,最终被淘汰。其中Mellanox被Nvidia收购,Xilinx被AMD拿下。智能网卡成为DPU的应用产品而存在。

第二阶段是数据处理芯片阶段,这个阶段也是数据芯片真正开始被重视的阶段。最开始由Fungible在2019年提出,但没有引起太多反响英伟达将收购来的Mellanox重新包装之后,2020年10月又重新定义了DPU这个概念,这一次的重新定义使得DPU这个概念一炮而红。

具体来看,DPU被定义为一种新型可编程处理器,集三个关键要素于一身,包括:行业标准的、高性能及软件可编程的多核CPU,通常基于已应用广泛的Arm架构,与其的SOC组件密切配合;高性能网络接口,能以线速或网络中的可用速度解析、处理数据,并高效地将数据传输到GPU和CPU;以及各种灵活和可编程的加速引擎,可以卸载AI、机器学习、安全、电信和存储等应用,并提升性能。

第三阶段则是基础设施芯片阶段。第三阶段的方案由Intel提出,变成了FPGA+Xeon-D的模式,通过PCB版的方式放在一个智能网卡上。不难发现,Intel将IPU定位成host CPU上面一个“外挂”的小CPU。并且,未来这个“外挂”CPU和FPGA会封装到一个芯片中,形成一个通过PCIe总线互联的两个CPU系统。

当然,无论处于哪个阶段,所有这些DPU功能对于实现安全的、裸性能的、原生云计算的下一代云上大规模计算都具有重要意义。正如英伟达首席执行官黄仁勋此前在演讲中表示,“它将成为未来计算的三大支柱之一”,“CPU用于通用计算,GPU用于加速计算,而数据中心中传输数据的DPU则进行数据处理”。

一方面,GPU更安全,因为控制平面可以在系统内和系统集群之间与数据平面分离。DPU可以执行原本需要CPU处理的网络、存储和安全等任务。这就意味着如果在数据中心中采用了DPU,那么CPU的不少运算能力可以被释放出来,去执行广泛的企业应用。

另一方面,DPU还释放了服务器的容量,以便它们可以恢复到应用程序计算。在一些具有大量I/O和沉重虚拟化的系统上内核成本缩减一半,因此吞吐量提高了2倍。除了内核的成本,还要计算整个机器的成本,包括其内存和I/O以及所释放的工作量。

此外,DPU丰富的、灵活和可编程的加速引擎可减轻和改善AI和机器学习应用的性能。所有的这些DPU功能对于实现隔离的裸机云原生计算至关重要,它将定义下一代云规模计算,其改变存储行业的端倪也正在浮现。

以数据为中心

DPU广阔的市场空间,也让国际巨头开始纷纷提前布局。目前DPU主要厂商有Intel(收购Bearfoot),Mellanox(已被Nvidia收购),Marvell(收购了Cavium),Broadcom,Fungible(初创),Pensando(初创)等。

其中,Intel是基于FPGA实现的,主要面向交换机、路由器芯片;Broadcom基于Arm实现,也是主要面向交换机、路由器芯片;Marvell通过收购Cavium,基于Arm实现,主要面向5G的基带;初创公司Pensando通过软件定义网络处理器,主要面向支持P4的SDN。

中科驭数的创始团队是国内较早进行DPU芯片研发的先行者。他们创新性提出了软件定义加速器技术(Software Defined Accelerator),自主研发了KPU(Kernel Processing Unit)芯片架构,2019年设计了业界首颗数据库与时序数据处理融合加速芯片,已经成功流片。

此外,以KPU架构为核心,在2019年流片第一颗芯片的基础上,中科驭数宣布了其下一颗DPU芯片研发计划,功能层面包括完善的L2/L3/L4层的网络协议处理,可处理高达200G网络带宽数据。其次融合数据库、大数据处理能力,直接面向OLAP、OLTP及大数据处理平台,如Spark等。另外还囊括机器学习计算核以及安全加密运算核。该芯片预计将于2021年底流片。

几乎可以确定,DPU已成为未来以数据为中心的必须。但DPU依然面临其本身需要克服的关卡。现在,DPU最大的问题就是“过热”,即功耗太高。以前一个网络DMA芯片功耗才5瓦左右,现在一个DPU动则100瓦以上(Fungible F1 120瓦)。

这意味着,大部分应用场景将无法用承受这么大功耗的网络设备。尤其是在100/200G以上,光模块功耗已经超过网络设备的情况下,再增加一个100瓦的网络DPU,会极大的提升网络的能源消耗,所以必须解决DPU功耗问题。

和功耗一样,当前的的DPU还面临成本太高的问题,基于DPU的解决方案变没有降低网络互联的成本。此外,目前DPU都是面向数据中心的应用场景。但服务器增长空间更多在边缘计算中心,而且未来边缘计算互联将成为网络技术趋势。因此,DPU还必须考虑边缘计算场景。

当然,无论如何,DPU的出现并非要替代CPU和GPU,而是更好地满足数据中心市场的需求。可以预见,从CPU、GPU再到DPU的一体的架构将会让管理程序、调度程序都会变得更加容易。从边缘到核心数据中心,统一架构、统一管理、统一调度或将在不久之后得以实现。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论