文/一更科普
但凡了解一点科技的朋友,对CPU、GPU都不陌生,那你知道DPU吗?它和CPU有什么区别?为何人们将DPU称为“第三颗主力芯片”?它究竟是个啥?
近些年来,摩尔定律“失速”导致CPU的性能增长边际成本急剧上升,有研究数据表明,现在CPU的性能年化增长率仅有3%左右,然而,用户对于计算的要求,却一直呈现爆发性的增长。
而DPU的“出名”,似乎功劳要归功于美国的芯片巨头英伟达,该公司在2020年的产品战略发布中,将DPU定位为数据中心继CPU和GPU之后的“第三颗主力芯片”,由此,DPU掀起了一股行业热潮。
可能说英伟达这个名字,很多人有点陌生,但NVIDIA的显卡一定都用过,它就是英伟达,一家人工智能计算公司。
1999年,英伟达定义了GPU,这极大地推动了PC游戏市场的发展,重新定义了现代计算机的图形技术,并彻底改变了并行计算。
最近,中科院计算所也带头发布了《专用数据处理器(DPU)技术白皮书》,该计算所的研究员鄢贵海表示:从早期的网络协议处理卸载,到后续的网络、存储、虚拟化卸载,DPU带来的作用非常显著。
只不过在这之前,DPU一直处于“有实无名”的状态,现在是时候让它迈上一个崭新的台阶了。
那么,这个被业界如此重视的DPU究竟是一个什么U?随着芯片越造越多,似乎字母表已经不够用了。
很多人都不知道,在当年AI风生水起的时候,DPU就已经存在了,而它最直接的作用就是:作为CPU的卸载引擎,目的是给CPU“减负”。
有研究员这样比喻DPU,说DPU提供了数据中心一把“杀鸡”工具,节省的是CPU这把“牛刀”,以释放CPU算力,留给更需要它的业务负载。
其实DPU有3个十分明显的特点:卸载、加速和隔离,但这只代表了一个维度,另外一个维度上,则是DPU的3个主要应用场景:网络、存储以及安全。
这两个维度结合在一起,才是DPU完整的矩阵,也能更好地解答很多“为什么”的问题。比如:
DPU卸载了什么:数据中心网络服务、数据中心存储服务以及数据中心的安全服务;
DPU加速了什么:上面说的这些服务和应用,通常都是使用软件来实现,并且是在CPU中运行,而DPU可以使用硬件实现这些软件的应用,这要比软件运行快好几个数量级,这其实就是我们常听到的“硬件加速”。
最后,DPU隔离了什么:还是上面提到了应用软件,它们在DPU中运行,而用户的其他应用在CPU中运行,这不就把二者隔离开来了吗,这样一来,也能给用户提供更多性能和安全上的保障。
我们打个比方,假如我们玩一款“云游戏”,它是一种使用数据中心的远程服务器,玩视频游戏的方法,不需要在PC机上下载和安装游戏。
游戏本身运行在服务器的CPU上,而账号的管理、存档、和队友交互方式,以及游戏数据的发送和接收等,这些不需要玩家参与,但却对游戏体验有着极大影响的内容,都可以运行在DPU上,这样CPU的负担是不是大大减轻了?
其实DPU的思路跟GPU很像,GPU的出现是为了处理越来越复杂的图形化计算,而DPU则是为了处理越来越庞大的数据量而诞生。
目前,计算机处理网络数据的速率,主要看3个指标:CPU性能、内存带宽以及要处理的数据量。
如果是CPU的性能强,但内存带宽小的话,可能在少量数据时非常快,一旦要处理的数据量超过内存带宽的上限,就只能“排队处理”。
很多人不知道的是,要对10G带宽的网络做协议处理,就能够占去一个8核高端CPU一半的算力,若是同时CPU还要处理其它事务,不卡往哪跑?
而DPU 虽然芯片的性能不高,但它的I/O带宽,几乎能与网络带宽等同,并且DPU能直接连接网络,这样还能减少中间环节的延迟与速度损失,当DPU把大量网络数据初步处理完,传送给CPU,这样就能让CPU的决策更加高效。
但目前要想将DPU普及到个人电脑上,似乎还不现实,毕竟不是每个人都需要配一个“小秘书”。
而在服务器领域,每天都在不断增长的数据吞吐量,DPU将会是未来每一个服务器所拥有的配置。
可以说DPU的出现,是时代的必然,但它未来的发展,仍具有无限种可能,DPU中集成的技术,肯定还会有更多的变化,而我们需要做的,除了跟随时代的改变,还应该透过现象看本质,只要底层逻辑不变,发展的趋势就不会变,你觉得呢?