什么是IPU(基础设施处理单元)及其工作原理?
IPU(基础设施处理单元)与其他专用处理器一起在数据中心中占据一席之地,这些专用处理器旨在加速工作负载并卸载传统上由中央处理单元 (CPU) 执行的任务。同样,图形处理单元 (GPU) 由于其并行结构而被用来加速涉及高度并行问题的非图形计算,IPU,由英特尔推出,可加速网络基础设施和虚拟交换等基础设施服务。将这些操作转移到专门设计来处理这些任务的专用处理器可以释放 CPU 周期。最终结果是提高了应用程序性能,并能够使用更少的 CPU 运行更多工作负载。
1、深入IPU的世界
IPU,例如数据处理单元 (DPU) 和Compute Express Link (CXL) 为数据中心提供了一种新型加速技术。虽然 GPU、FPGA、ASIC 和其他硬件加速器可以减轻 CPU 的计算任务,但这些设备和技术专注于加速数据处理、移动和网络工作。
人们对基础设施任务加速的一般领域越来越感兴趣。去年,许多供应商推出了试图解决相同问题的解决方案。
例如,NVIDIA 最近推出了SuperNIC,将其描述为“新型网络加速器,旨在增强以太网中的 AI 工作负载”基于网络。”它旨在为 GPU 到 GPU 的通信提供超事实网络。
此外,还有许多其他新的加速器旨在加速特定的工作负载。例子包括 Graphcore 的智能处理单元(也称为 IPU)和 Google Cloud 的张量处理单元(TPU)。
2、了解IPU的基础知识
IPU是一种专门设计的网络设备,包括加速器元件和以太网连接。其目标是使用专用的可编程内核来加速和管理基础设施功能。
人们经常将其与 SmartNIC 进行比较,因为两者都具有相当的网络和卸载特性和功能。然而,IPU 卸载了 CPU 上的所有基础设施功能,而 SmartNIC 则充当 CPU 的外围设备。
3、IPU在当今科技领域的重要性
发生的两个普遍变化使得 IPU(以及执行类似操作的其他解决方案)成为必需。
首先是数据中心广泛采用虚拟化和软件定义技术。过去手动执行或硬连线的任务现在通过软件中将操作从一种状态切换到另一种状态来完成。这涉及执行任务和移动数据以及在传统服务器和交换机中消耗大量 CPU 周期的基础设施杂务。
另一个是新的应用架构带来的数据中心流量的变化。从传统的客户端-服务器应用程序转向更多云原生、基于微服务的应用程序和服务。这些应用程序和服务产生了大量所谓的东西向流量。本质上,数据中心内存在大量服务器到服务器的流量并流经数据中心。移动数据是通过网络控制器、虚拟机和其他设备完成的。这些设备通常执行以前在物理硬件上运行的各种功能,消耗许多 CPU。
这两个变化对 CPU 的影响可以使用 IPU 来抵消。
4、IPU剖析
IPU通常将FPGA、ASIC 和其他加速器与处理器内核结合在一起。他们本质上建立了一个基于硬件的数据路径,以硬件的速度处理基础设施处理杂务(而不是在软件中执行这些任务)。这使得系统能够网络速度的提高而保持数据移动。
使 IPU 脱颖而出的主要特点
从概念的角度来看,IPU 有几个不同的架构组件。 IPU 的一个要素是智能基础设施加速器。 IPU 的硬件和软件元件是可编程的,以便能够定制 IPU 以满足不同应用和环境的性能要求。
这些元件组合在一张卡上,该卡包括高速以太网控制器和可编程数据路径。这种产品可以让供应商针对 IPU 打算运行的每个应用程序或服务来匹配和优化硬件组件和软件。有些人将此功能称为基于功能的基础设施。
5、IPU如何运作?
IPU如何工作的一个很好的例子是在非常抽象的层面上比较有和没有 IPU 的数据中心结构。为了进行比较,我们来看看服务器的三个关键元素。
传统数据中心中的服务器硬件具有通用计算组件 (CPU) 和连接到虚拟化网络的 NIC 卡。 CPU 执行许多基础设施任务。在以 IPU 为中心的数据中心中,这些任务和 NIC 卡的功能均由 IPU 完成。
数据量的增长和数据传输速率的提高,每秒传输的数据包数量大幅增加。这对 NIC 的能力造成了压力。如上所述,软件定义网络 (SDN) 的使用越来越广泛。在这种情况下,CPU 执行虚拟交换、负载平衡、加密、数据包检查和其他 I/O 密集型任务。网络任务最多可消耗 30% 的 CPU 利用率。
在以IPU为中心的数据中心中,与运行基础设施任务相关的开销可以使用 ASIC 或 FPGA 从服务器上卸载,以加速这些基础设施任务。
6、议会联盟在行动
单个 IPU 可以执行多种加速功能,具体取决于其设计。例如,常见场景可能会使用 IPU 来:
通过卸载虚拟交换来加速网络,这在软件定义和虚拟化系统中很常见。这些任务通常由运行应用程序的处理器执行。
通过将存储堆栈从主机应用处理器传输到 IPU 来加速存储。
通过卸载原本由 CPU 执行的加密/解密、压缩和其他安全功能来提高安全性。
处理所有基础设施处理任务,将它们从应用处理器卸载到 IPU。
7、IPU 与 CPU/GPU
IPU 与常规 CPU/GPU 有何不同?
IPU 专为加速基础设施工作而设计。它们通常根据应用进行定制。这意味着一个 IPU 可能包含与另一个 IPU 不同的 ASIC、FPGA 或其他处理元件的组合。
IPU 的硬件加速有一个作用,从 CPU 上卸载计算密集型基础设施任务。相比之下,CPU 和 GPU 可以支持许多不同的功能。例如,GPU 可用于加速一个应用程序中的图形生成或加速另一应用程序中的机器学习训练。
简而言之,IPU 的使用显着提高了整体系统性能和利用率。从最终用户的角度来看,这意味着在相同的计算负载下减少了延迟。此外,企业或云提供商可以获得更高的资源效率,因为可以在相同的资源上容纳更多的工作。
使用 IPU 相对于 CPU/GPU 有什么缺点吗?
CPU/GPU 比 IPU 具有优势的主要问题有两个。
它们旨在加速特定功能(例如数据包处理、流量整形、安全、虚拟交换等)。 IPU 根据其用途和设计加速的功能,使用 ASIC、处理内核和 FPGA 的不同组合。因此,为一种场景安装的 IPU 可能不适合另一种场景。
许多元件(例如 ASIC 和 FPGA)可能需要进行编程以定制它们的工作方式。许多公司可能不具备该级别的编程与 CPU 编程方面的专业知识。公平地说,CPU 核心和 GPU 也存在类似的问题。然而,更多公司拥有使用 CPU 和 GPU 的编程技能和专业知识。