长期以来,中央处理器(CPU)和图形处理器(GPU)统治着数据中心。然而近年来,越来越多的数据处理单元(DPU)出现在大家面前,号称更强大、更专用、更异构,可以处理CPU做不了、GPU做不了的任务.总之,一起来看看吧。CPUCPU——CentralProcessingUnit,中央处理器,CPU之于计算机、服务器,相当于大脑之于人的作用。计算、控制、存储是CPU“大脑”布局策略、下达命令、控制动作的主要表现。CPU是核心硬件单元,它控制和分配计算机的所有硬件资源(如内存、输入输出单元)并执行通用操作。它是计算机的计算和控制核心。CPU主要包括运算单元(ALU,ArithmeticandLogicUnit)、控制单元(CU,ControlUnit)、寄存器(Register)、缓存(Cache)以及它们之间进行数据、控制和状态通信的总线。总的来说就是计算单元、控制单元和存储单元。CPU微架构示意图,来源:网络控制单元:控制单元是整个CPU的指挥和控制中心,由指令寄存器IR(InstructionRegister)、指令译码器ID(InstructionDecoder)和运算控制器OC(OperationController)组成)等,主要是对指令进行译码,对每条指令要执行的各种操作发出控制信号。计算单元:计算单元在CPU中非常重要,主要负责算术和逻辑运算。与控制单元不同,运算单元在控制单元的指挥下运行,即运算单元的所有运算均由控制单元发出的控制信号指挥。存储单元:存储单元包括CPU的片内缓存和寄存器组,是CPU中临时存放数据的地方。它存储等待处理的数据,或者已经处理过的数据。短时间。使用寄存器可以减少CPU访问内存的次数,从而提高CPU的工作速度。但是,由于芯片面积和集成度的限制,寄存器组的容量不可能很大。与控制单元和存储单元相比,CPU的计算单元在整个结构中所占的比例较小,因此相对于大规模的并行计算能力,CPU更擅长逻辑控制和串行运算。下图显示了一个基本的CPU架构。以个人电脑的CPU为例,CPU往往与内存(RAM)、硬盘、NIC(NetworkInterfaceController)相连。如果你想玩游戏或处理图像/视频,你需要添加一个GPU;为了更快地访问内存,可以选择添加SSD。CPU架构,来源:StatusNeo普通个人电脑中的CPU通常有4到8个核心,频率为2到3GHz。数据中心的CPU往往具有更多的内核和更高的时钟速度。CPU的内核较少但功能强大,而GPU的内核可能很多但在时钟速度方面功能较弱。GPUGPU-GraphicsProcessingUnit,图形处理器,顾名思义,GPU最初是一种微处理器,用于在个人电脑、游戏机和一些移动设备上运行图形运算。了解GPU和CPU之间差异的一种简单方法是比较它们处理任务的方式。CPU由几个针对顺序串行处理优化的内核组成,而GPU则具有由数千个更小、更高效的内核组成的大规模并行计算架构。GPU的组成比较简单,计算单元数量多,流水线超长,特别适合处理大量均匀数据。GPU微架构示意图,来源:网络在涉及算术运算和逻辑运算等一般计算时,CPU通常速度更快,但在涉及大型矩阵乘法和并行算法时,GPU优先。GPU有数千个并行处理的核心,时钟速度较慢或核心较弱,但在并行计算方面非常高效,每个核心都有自己的ALU。但是GPU不能单独工作,需要CPU的协同处理。GPU的大部分工作都是计算密集型的,但是技术含量很少,而且要重复很多很多次。当CPU需要处理大量统一数据时,可以调用GPU进行并行计算。GPU虽然被称为图形处理单元,但它不仅仅处理图像。GPU虽然是为图像处理而生,但在结构上并没有专用于图像服务的组件,只是对CPU的结构进行了优化调整。GPU是基于高吞吐量设计的,拥有更多的ALU。适用于密集数据的并行处理,擅长大规模并发计算。因此,GPU也被用于深度学习、神经网络、人工智能等需要大规模并发计算的场景。GPU可以被认为是一种更通用的芯片。GPU架构,来源:StatusNeoFPGAFPGA——FieldProgrammableGateArray,现场可编程门阵列,本质上是一种可以根据用户的需要进行多次编程的硬件。简单地说,FPGA可以用来实现任何逻辑功能。与GPU或ASIC(专用集成电路,ApplicationSpecificIntegratedCircuit)不同,FPGA芯片内部的电路不是硬蚀刻的——它可以根据需要重新编程。此功能使FPGA成为ASIC的绝佳替代品,ASIC通常需要较长的开发时间和大量的设计和制造投资。FPGA架构,来源:网络与GPU相比,FPGA可以在需要低延迟的深度学习应用中提供更优越的性能。可以对FPGA进行微调以平衡功率效率和性能要求。当应用程序需要低延迟和小批量时,FPGA可以提供优于GPU的性能优势。DPUDPU——DataProcessingUnit,数据处理单元,DPU是数据中心的专用处理器。在计算架构中,CPU承担着多种职责,例如运行应用程序和执行计算。同时,它还扮演着数据流控制器的角色,在GPU、存储、FPGA等设备之间移动数据,因此CPU更偏向于计算。中心。随着数据中心建设、网络带宽和数据量的快速增长,由于CPU性能增长放缓,为了寻求更高效的计算芯片,DPU应运而生。DPU通过处理大流量网络包来解决CPU占用问题。有人说DPU正在取代CPU,建立以数据为中心的计算架构。DPU架构,来源:StatusNeoCPU用于通用计算,GPU用于加速计算,DPU用于数据处理。DPU与CPU最大的区别是CPU擅长通用计算任务,而DPU更擅长基础层应用任务,如网络协议处理、交换路由计算、加解密、数据压缩等。简单来说,就是那些CPU做不好,GPU做不了的任务,可以交给DPU来完成。DPU不是单芯片,而是SoC(SystemOnChip,片上系统)芯片。DPU一般包括CPU、NIC和可编程数据加速引擎。这使得DPU具有CPU的多功能性和可编程性,同时专门用于高效处理网络数据包、存储请求或分析请求。一种高性能、软件可编程的多核CPU,通常基于广泛使用的Arm架构,与其他SoC组件紧密耦合。一种高性能网络接口,能够解析、处理数据并将其高效传输到GPU和CPU。一组丰富的灵活、可编程的加速引擎,可为人工智能和机器学习、零信任安全、网络和存储等应用卸载和提升性能。DPU可以基于ASIC、基于FPGA或基于SoC。由于以数据为中心的计算应用越来越多,DPU越来越多地被用于数据中心、大数据、安全、人工智能/机器学习/深度学习等场景。如果说CPU是计算生态的基础和主芯片的基石,GPU是图形处理向数据处理的转型芯片,那么DPU就是数据中心诞生的芯片。DPU可以帮助数据中心更高效地响应多样化的计算需求。未来,DPU还将与CPU、GPU组成新的“铁三角”,彻底颠覆数据中心的计算模式。
