菜单导航

零点有数带你一文分清CPU、GPU、DPU计算“三兄弟

作者: 精装之家 来源: 精装之家 发布时间: 2022年02月24日 18:23:37

  DPU(Data Processing Unit,数据处理单元(器)),作为继CPU和GPU后的第三个计算单元横空出世,主要负责数据中心中的安全、网络、存储等网络基础的运行管理计算,以及高性能计算(High Performance Computing,HPC)和人工智能(Artificial Intelligence,AI)等专用任务的加速处理。

  CPU、GPU和DPU分工协作,共同担负起面向大数据时代的数据中心的计算任务。

  

零点有数带你一文分清CPU、GPU、DPU计算“三兄弟

  DPU到底是什么?

  多年来,CPU(Center Process Unit,中央处理单元(器))一直是大多数计算机中唯一的可编程元件。而近年来,GPU(Graphic Process Unit,图形处理单元(器))凭借其强大的实时图形处理能力和并行处理能力,已成为各种加速计算如图形处理、人工智能、深度学习和大数据分析应用的理想选择。CPU和GPU不仅广泛应用于个人电脑和服务器内,而且已被大量地用于各种新型超大规模数据中心。

  最近这两年出现的DPU是一个专用于网络传输数据处理的拥有独立操作系统的可编程的芯片模块(即SOC,System on Chip)。DPU可以用作独立的嵌入式处理器,也可集成在智能网卡上使用。集成DPU的智能网卡通常称为DPU智能网卡。

  为了了解DPU,我们需要先来了解DPU智能网卡;为了了解智能网卡,我们需要先来了解传统网卡。

  传统网卡(Network Interface Card,NIC),全称为“网络接口卡”,基于外围组件互连标准PCI(Peripheral Component Interconnect)或外围组件快速互连标准PCIe(Peripheral Component Interconnect-express)(二者都是一种高速串行计算机扩展总线标准,用于与主机进行通信,具体差异参见第四节的概念扩展),可以插入服务器或存储盒,实现主机与以太网的连接。

  基于传统网卡进行互连的网络基础可以支撑成千上万人的沟通,但对于涉及数十亿规模设备的物联网(Internet of Things,IOT)的沟通就有点力不从心了。物联网网络的动态性、数据流量的井喷、数据处理的快速性和数据传输的实时性等特点,要求网络基础的构建要具有更好的灵活性,即需要对网络基础进行虚拟化构建与部署(虚拟化可以简化运维、提高硬件的利用率、降低成本、增加业务部署的灵活性)。

  为适应这种要求,数据中心的服务器CPU通常需要消耗20%~30%的计算资源来处理这些虚拟化任务,这对于宝贵的CPU计算资源来说是一个不小的开销。由于服务器CPU不得不分散计算资源处理这些虚拟化任务,以及整个网络基础设施的运行管理,真正留给CPU处理应用业务的计算资源就相对较少,这也导致了数据中心的计算资源与数据中心要面对的不断增长的数据业务之间的矛盾。尽管可以通过扩展服务器CPU的计算资源来缓解矛盾,但相比不断增长的数据业务任务,实际收效甚微。受制于CPU固有的计算模式,CPU硬件性能的提升永远赶不上数据增长的速度(据IDC统计,近10年来全球算力增长明显滞后于数据增长:全球算力的需求每3.5个月就会翻一倍,远远超过了当前算力的增长速度)。

  既然“扩容”不是最行之有效的办法,那就想办法将服务器CPU从网络基础的运行管理中解放出来,让CPU专注于应用业务层面的计算任务。即把需要消耗服务器CPU 20%~30%计算资源的那些网络虚拟化、负载均衡和其他低级任务从CPU中“剥离”出去,以充分释放CPU内核。

  智能网卡应运而生。

  智能网卡不仅实现传统网卡的以太网络连接,还将网络传输的数据包处理工作从服务器CPU上移除过来,即可以卸载服务器CPU的网络处理工作负载和有关任务,如虚拟交换、安全隔离、QoS(Quality of Service)等网络运行管理任务,以及一些高性能计算(HPC)和人工智能(AI)机器学习,从而可以释放服务器CPU内核、节省服务器CPU资源以用于应用业务任务的处理。一方面实现了服务器CPU对应用任务的加速处理,另一方面也提升了数据中心的整体性能。

  智能网卡为数据中心应对不断增长的数据量、网络流量、低时延要求和计算复杂性等所带来的压力,提供了一定的有效办法。