全文概览
云计算、大数据和人工智能的爆炸式增长,对计算和存储资源提出了更高要求。传统的CPU架构在应对这些挑战时逐渐显现瓶颈:CPU不仅要承担核心计算任务,还要处理大量的网络、存储和安全等基础设施管理工作,导致资源利用率低下和性能瓶颈。为了突破这些限制,基础设施处理单元(IPU)应运而生。IPU作为一种新型的可编程网络设备,旨在将CPU从繁重的基础设施任务中解放出来,专注于核心计算,从而提高数据中心的整体效率和性能。
本文将深入探讨IPU如何通过构建可横向扩展的服务器集群,为现代数据中心带来革命性的变革,特别是在应对AI和高性能计算工作负载方面展现出的巨大潜力。通过对比IPU与DPU、AWS Nitro卡的差异,分析IPU作为独立服务器集群的优势,并结合Apache Cassandra等应用案例,揭示IPU在重塑数据中心架构中的关键作用和未来趋势。
阅读收获
基础设施处理单元(IPU)是一种新型的可编程网络设备,旨在卸载中央处理器(CPU)在现代数据中心中执行的基础设施任务。简单来说,IPU 可以看作是专门为处理网络、存储和安全等基础设施工作负载而设计的专用处理器。
IPU 出现的背景和动机:
随着云计算、大数据、人工智能等技术的快速发展,现代数据中心面临着前所未有的挑战:
为了解决这些问题,业界开始探索将基础设施任务从 CPU 中剥离出来,交给专门的硬件进行处理,从而释放 CPU 资源,提高整体系统性能和效率。IPU 就是在这种背景下应运而生的。
===
比较 IPU、DPU与AWS的Nitro加速卡
特性/厂商/产品 | 基础设施处理单元 (IPU) - Intel 主导 | 数据处理单元 (DPU) - NVIDIA 主导 | Nitro 卡 - AWS 自研 |
---|---|---|---|
核心设计理念 | 通用性与可编程性: 强调其可编程能力,旨在处理广泛的基础设施任务,提供较高的灵活性。 | 高性能网络与数据处理: 侧重于加速网络、安全和数据处理密集型任务,利用其在高性能网络领域的优势。 | 云环境优化与安全: 专为 AWS 云基础设施设计,深度集成 AWS 服务,强调虚拟化、网络、存储和安全在 AWS 环境中的高效运行。 |
主要特点 | * 通常包含多个通用 CPU 核心(例如 Arm 架构),具备较强的通用计算能力。 * 提供高速网络接口(例如 Ethernet)。 * 集成可编程的网络和存储加速引擎。 * 支持多种基础设施工作负载,例如软件定义网络 (SDN)、网络功能虚拟化 (NFV)、存储虚拟化等。 | * 拥有高性能、高带宽的网络接口(例如 InfiniBand、Ethernet)。 * 集成强大的硬件加速引擎,用于处理网络协议、安全功能(例如加密、防火墙)、存储操作等。 * 可能包含专门的数据处理单元,用于加速特定类型的数据处理任务。 | * 高度定制化的硬件,针对 AWS 的特定需求进行了优化。 * 核心组件包括 Nitro Hypervisor(轻量级虚拟化管理程序)、Nitro Card for VPC(虚拟私有云)、Nitro Card for EBS(弹性块存储)、Nitro Secure Enclaves(安全隔离环境)等。 * 与 AWS 的各种服务(例如 EC2、S3、EBS、VPC)深度集成,提供无缝的用户体验和高性能。 |
优势场景 | * 通用基础设施卸载: 适用于需要处理多种类型基础设施任务的场景,例如企业级数据中心、电信网络等。 * 软件定义基础设施 (SDI): 其可编程性使其非常适合构建灵活、可定制的 SDI 解决方案。 * 网络功能虚拟化 (NFV): 可以加速虚拟化的网络功能,提高网络性能和灵活性。 * 存储虚拟化: 可以提高存储资源的利用率和性能。 | * 高性能计算 (HPC) 和 AI/ML: 其强大的网络和数据处理能力非常适合需要高带宽、低延迟数据传输和处理的应用场景。 * 网络安全: 硬件加速的安全引擎可以显著提高网络安全设备的性能。 * 大数据分析: 可以加速数据处理和分析任务。 * 高性能存储: 可以加速高性能存储系统的访问和管理。 | * AWS 云环境: Nitro 卡是 AWS 云基础设施的核心组成部分,为 AWS 的各种服务提供高性能、高安全性和高可靠性。 * 提升 EC2 实例性能: 通过卸载虚拟化、网络和存储任务,Nitro 卡可以显著提升 EC2 实例的性能,使得用户可以更专注于应用本身。 * 增强云安全: Nitro Secure Enclaves 等功能提供了更高级别的安全隔离,保护敏感数据。 * 优化资源利用率: 轻量级的 Nitro Hypervisor 可以减少虚拟化带来的性能开销,提高资源利用率。 |
代表性产品/技术 | Intel IPU (Mount Evans, Oak Springs Canyon) | NVIDIA DPU (BlueField 系列) | AWS Nitro 系统中的各种 Nitro 卡 |
主要厂商 | Intel | NVIDIA | Amazon Web Services (自研) |
如何选择:
这段文字主要介绍了基础设施处理单元(IPU)在数据中心的应用。
在数据中心面临运行人工智能(AI)和高性能计算(HPC)工作负载带来的电力和散热限制的情况下,构建一个由低成本、低功耗、紧凑型服务器组成的集群来运行分布式和横向扩展应用程序是否具有价值。
如果答案是肯定的,那么应该考虑哪些类型的分布式和横向扩展应用程序。
图片列出了 IPU 的两个主要优势:
Apache Cassandra[1] 作为一种适合在 IPU 集群上运行的横向扩展应用程序。
幻灯片强调了 Apache Cassandra 作为 IPU 集群的一个理想应用,能够带来成本、功耗和可持续性方面的优势。
展示了 Apache Cassandra 的广泛应用和受欢迎程度。
图注:IPU作为独立存储集群的用例
幻灯片展示了 IPU 在存储方面的多种应用场景,从 PCIe 端点和 PCIe 根端口两个角度进行了划分:
作为 PCIe 端点 (连接到 CPU 主机):
作为 PCIe 根端口 (独立运行或作为存储服务器):
IPU 独立集群的优势对比
IPU 服务器或带有直连 SSD 的 JBOF 控制器代表了一种针对特定工作负载(如分布式存储和横向扩展应用)进行优化的新型计算和存储节点。它们通过低成本、低功耗的 Arm 架构和对直接连接 SSD 的优化,实现了高带宽和低延迟的存储访问,并易于构建大规模集群。这与传统 CPU 服务器的通用计算和传统存储控制器的集中式存储管理形成了鲜明的对比。
特性 | IPU 服务器/JBOF 控制器 (直连 SSD) | 传统 CPU 服务器 | 传统存储控制器(机头) |
---|---|---|---|
核心处理架构 | 基于 Arm | 基于 x86 | 专用处理器或高性能 CPU |
设计目标 | 高效存储/网络基础设施,低成本低功耗,支持横向扩展 | 通用计算,可运行各种应用和服务 | 专门用于存储管理和控制,提供高级存储功能 |
成本 | 低 | 较高 | 较高 |
功耗 | 低 | 较高 | 可能较高 |
性能特点 | 高带宽,低延迟(直连 SSD) | 存储性能取决于具体配置 | 高 IOPS,高吞吐量,低延迟 |
扩展性 | 易于网络化形成横向扩展集群 | 可横向扩展(计算和存储可能分离) | 主要通过扩展后端存储阵列 |
角色 | 独立服务器或存储控制器 | 通用计算节点 | 专门的存储管理设备 |
典型操作系统 | Linux | 多种操作系统 | 专用嵌入式操作系统 |
适用场景 | 横向扩展分布式应用(如 Cassandra),对象存储等 | 通用计算,各种应用和服务 | 集中式存储管理,高级数据保护,高性能存储服务 |
图注:Intel IPU SoC E2100 结构
幻灯片展示了 Intel IPU SoC E2100 的计算复合体的关键特性:
幻灯片描述了 IPU 中两个主要部分的软件角色和特性:集成管理复合体 (IMC) 和 ARM 计算复合体 (ACC)。
图注:IPU基板实物图
幻灯片展示了 IPU(基础设施处理单元)相关的硬件组件:
Note
从实体硬件来看,IPU仍然是基于PCIe 插槽扩展的设计理念,最右边是将PCIe 卡与NVMe-SSD PCB基板组合的示意图,可以看到 IPU现阶段实验室设计与成熟的应用方案间还是有显著差异的,IPU作为互联集群的设计仍需要大量研究工作。
图注:基于IPU的 Cassandra 集群
幻灯片展示了一个使用 IPU 迷你服务器构建的 Cassandra 集群的概念验证 (PoC) 架构。
图注:IPU 的能耗分析
幻灯片展示了基于 IPU 的 Cassandra 集群与传统 x86 服务器在功耗方面的对比结果。
传统 x86 服务器的可扩展性
幻灯片中提到的“支持四个 Cassandra 实例”很可能是一个基于实际测试和性能考量的配置。 这个数字可能代表了在该特定服务器配置下,能够保证每个 Cassandra 实例都具有相对合理的性能和稳定性的一个平衡点。
虽然可以通过 PCIe 交换机连接更多的存储,但这并不能解决 CPU、内存和网络等其他资源的瓶颈问题。简单地增加存储容量而不考虑其他关键资源,并不能有效地扩展单个服务器上可运行的 Cassandra 实例数量。
与 IPU 的对比:
IPU 的设计理念之一就是通过低成本、低功耗的小型服务器构建大规模横向扩展集群。在这种架构下,每个 IPU 服务器可能只运行少量 Cassandra 实例(例如,幻灯片中提到的每个 IPU 硬件节点运行两个 Cassandra 实例),但通过增加服务器的数量来实现整体性能和容量的提升。这种方式可以更好地利用资源,避免单个服务器出现资源瓶颈。
图注:IPU 方案的性能调优路径
幻灯片介绍了对基于 IPU 的 Cassandra 集群进行的性能调优工作。
图注:性能调优结果
幻灯片展示了经过数月的性能调优后,基于 IPU 的 Cassandra 集群的性能提升效果,主要关注 P99 尾部延迟。
Note
图片传递出硬件创新优化的基本思路,基于问题意识,先构建出硬件原型,部署软件后,不断调优,最终将瓶颈收敛到硬件资源,从而迭代升级。对于并非硬件开发的同学来说,文章完整呈现了软硬协同开发的核心要义。
图注:KV键值工作负载测试结果
幻灯片展示了在 IPU 上的 Cassandra 集群进行 tip-stress 键值 (KV) 工作负载测试的结果,分别呈现了读操作和 mutation(写入/更新)操作的 p99 尾部延迟和吞吐量随时间的变化。
总而言之,这些图表显示了在压力测试下,基于 IPU 的 Cassandra 集群在读写操作方面都表现出了相对稳定的延迟和较高的吞吐量。尽管吞吐量随着时间的推移略有下降,但整体性能指标表明该集群在处理高负载的键值工作负载时具有良好的性能。
Note
这里的测试结果,由于缺乏同等性价比的对照测试,仍是孤岛数据,需要参考基准测试结果来比较 IPU 的真实性能。
图注:x86 vs. IPU 的基准测试结果
幻灯片展示了使用 SPECjvm2008 基准测试套件对 Intel Ice Lake 处理器(8 核 16 线程)和 IPU(标记为 MtEvans TS)进行的性能比较。SPECjvm2008 是一套用于衡量 Java 运行时环境性能的工具。
图表中的蓝色条代表 Ice Lake 处理器的性能,黄色条代表 IPU 的性能。在不同的 Java 工作负载下,两种处理器的性能表现有所不同。
compress
、crypto.aes
、crypto.rsa
、scimark.large
、sunflow
和 xml.transform
等,Ice Lake 处理器的性能明显优于 IPU。crypto.signverify
和 Score on derby
,IPU 的性能似乎与 Ice Lake 相当或略有优势。Note
从 SPECjvm2008 基准测试数据来看,现阶段IPU在 Java 应用场景的性能与通用 x86 处理器仍是有较大差距。
图注:IPU 互联集群的下一步研究方向
幻灯片展望了 IPU 技术和基于 IPU 的解决方案的未来发展方向。
延伸思考
这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~
原文标题:Scaling out IPUs to create a server cluster
Notice:Human's prompt, Datasets by Gemini-2.0-flash-thinking