所谓DPU,全称是数据处理单元或者I/O处理单元。它的出现绝非偶然,而是经济因素与架构需求双重驱动的必然结果。
如今的芯片性能已经没多少发展空间,所以再由CPU承担网络和存储功能会浪费处理资源,这样的背景让DPU有了存在的理由。除此之外,对服务器工作负载的安全保护,特别是多租户环境下的安全机制,更是让DPU成为不可或缺的最优解。于是乎,专为CPU分忧的DPU就这样有了自己难以动摇的立足之地。
亚马逊云科技发明了Nitro DPU,谷歌和英特尔则合作开发出“Mount Evans”IPU,AMD收购了赛灵思和Pensando(两家都有自己的DPU),英伟达买下Mellanox Technology……种种行动的背后,总有共通的理由。DPU正成为网络中的控制点,计算与存储的守门人,各家超大规模服务商和IT供应商甚至希望让DPU成为一切系统架构的枢纽。
DPU的经济理论非常完备,应用层面的超大规模实践也相当丰富。唯一的遗憾就是,我们没有多少数据能对DPU的成本/收益做出分析和证明。英伟达显然意识到了这个问题,并使用其BlueField-2 E系列DPU展开一轮测试。该DPU采用双100 Gb/s端口,与常规SmartNIC保持一致。
要算经济账,先算能源账。近一段时间欧洲的电价上涨速度要高于北美,所以多用点DPU或多或少能帮欧洲用户省点能源。但根据英伟达存储营销总监John Kim的说法,他们这次测试其实主要比较的是集群在使用DPU和不用DPU时的各自价格/性能比,参考的都是加利福尼亚州平均15美分每度的电价。也就是说,DPU的加入让系统能把网络和存储功能从服务器节点CPU身上剥离出来,借此缩小服务器空间占用、降低电力消耗,进而达成更佳运营成本。
Kim在演示文稿中列出了将Open vSwithc(OVS)从服务器管理程序移交给BlueField-2 DPU后的效果,而后又展示了爱立信如何将5G基站中的用户平面功能(UPF)工作负载由服务器CPU移交给独立机箱内的DPU。在这两个场景下,英特尔分别计算了由1000台设备构成的集群在使用和不使用DPU情况下的运行效果,电价始终以加州当地平均数字为准。另外,英伟达还分别计算了服务器上运行任一工作负载所对应的CPU核心数量、消耗电量,以及在DPU上运行时消耗的电量。以三年运行为期前后相减,就得出了两个案例在引入DPU后具体能省下多少能源成本。请注意,英伟达在这里并没有测算DPU省下的CPU核心资源被用作其他处理任务时,又能额外产生多少收益。
以下是将OVS移交DPU后带来的性能提升与电力节约数据:
此次基准测试使用的是配备两块英特尔“Cascade Lake”至强SP-6248 Gold处理器的戴尔PowerEdge R740服务器。这款处理器拥有20个核心,单核运行主频为2.5 GHz,BlueField-2 DPU则搭载两个性能相对一般的25 Gb/s以太网端口。在服务器上运行OVS共需要18个线程和9个核心,占设备全部80个线程和40个核心中的22.5%。其理论功耗占比同样为22.5%,在服务器整体的432瓦功率中占据150瓦。而通过将OVS工作负载转移给DPU,OVS在运行时仅消耗305瓦。如果将节约下来的电力推广到全部10000个节点上,那么三年期节约下的能源成本将高达500万美元。
重要的是,OVS交换机的吞吐量由原本的20 Gb/s变为接近DPU双端口的峰值理论性能,即49 Gb/s。虽然这代表着显著的性能优势,但并不清楚这种对网络固有性能的挖掘会不会真正改善应用程序的实际表现。测试中使用的至强SP-6248 Gold处理器标价为3622美元,占用的9个核心相当于价值814.50美元,在服务器的全部组件中占比22.5%。
在爱立信那边的UPF基准测试中,设施的瓦数更低、服务器价格也没英伟达那么高,但节约下来的成本仍然可观,具体如下图所示:
在这里,DPU最重要的作用、也可以说是目前IT部门最关心的部分,就是在数据流经各运行应用程序的服务器时、以及服务器对客户设备上的应用程序和数据发起访问时,对数据进行加密。为此,英伟达还专门设计了一个IPSec加密场景,其中对服务器和客户端的应用程序进行了加密,想看看使用DPU后到底能节省多少电力。结果详见下图:
这组测试使用的是搭载两块英特尔“Ice Lake”至强SP-830处理器的服务器。该处理器提供40个核心,单核运行主频为2.3 GHz;附带一块BLueFIeld-2卡,采用两个100 Gb/s以太网端口和16 GB独立内存。在这套配置中,服务器端IPSec加密和解密共占用6个物理核心(占总核心数量的7.5%),而客户端则需要占用20个核心(占比25%)。我们不清楚CPU和DPU在运行IPSec时是否存在性能差异,但根据英伟达那边的算法,在将这部分负载由CPU转移给DPU之后,三年期10000节点所节约的能源成本将高达1420万美元。
以往,当DPU制造商发布这类测试结果时,我们总会抱怨其中缺少前后场景下的直接成本,只给出不知真假的结论性解释。这次不同,Kim制作了一份表格,其中列出了10000节点集群在无DPU和有DPU两种运行配置下的具体成本。可以看到,英伟达选择的是非IPSec工作负载,也就是计算集群上最常见的任务类型,这时候DPU能从单服务器全部80个核心中解放出26个核心。换句话说,只要配合一个DPU集群,就能让8200个节点构成的加速集群获得与1000节点集群相同的软件内IPSec运行效果。
至少从表格来看,搭载双100 Gb/s端口的BlueField-2 E系列DPU的增量成本为1500美元。相比之下,典型的双端口SmartNIC市场价大约是2500美元,单100 Gb/s端口的SMartNIC则在1000美元左右。(英伟达并没有在测试中列出网络设备的指导价、OEM价或零售价。)
通过这次比较,我们可以肯定地认为在为10000节点集群中的各个节点添加BlueField-2 DPU之后,即可大大减少支持IPSec加密与解密工作负载所需要的节点数量。根据英伟达的计算,使用DPU能够将服务器硬件的资本支出降低2.4%。
最重要的是,服务器的运行功耗方面还能再省下1310万美元。而且假定电力使用效率为1.5,那么DPU集群还能在数据中心冷却层面再节约660万美元。将资本支出和节电效能相加,DPU将在三年之内为基础设施运营方省下2220万美元,相当于总体拥有成本的15%。这还没有考虑到由此带来的性能提升、数据中心对物理空间需求的降低,以及服务器管理负担的削减。
这样的结果无疑引人深思。看起来,历史趋势正朝着拆分和转移的方向前进,目前越来越多的工作负载开始从CPU转向接入PCI-Express总线的各种加速器。但正如谷歌和亚马逊云科技所指出,片上系统(SoC)其实就是一种系统级封装(SiP),是一种新的插槽形式。随着我们在2.5D和3D芯片制造方面的发展成熟,UCI-Express将在插槽之内实现全面互连,届时DPU将与CPU、GPU和FPGA一道以独立单元的形式共存于同一块芯片当中。千万不要惊讶,这种重新集成能够将电路紧密封装在一起,由此将延迟控制在更低水平。
而且绝对可以肯定的是,在未来的系统架构中,涉及网络、存储、工作负载虚拟化以及安全的功能将不再由CPU完成。也许到那个时候,CPU顶着的“中央处理单元”名头也该换一换了。我们始终相信,DPU才是未来系统架构的中心和枢纽,负责分配对计算和存储资源的访问权限。而我们目前熟知的CPU将转化为串行处理单元,与硕大而又缓慢的内存结对运作。
好文章,需要你的鼓励
临近年底,苹果公布了2024年App Store热门应用和游戏榜单,Temu再次成为美国下载量最多的免费应用。
云基础设施市场现在已经非常庞大,很难再有大的变化。但是,因为人们可以轻松地关闭服务器、存储和网络——就像开启它们那样,预测全球云基础设施开支可能非常困难。