在一般人的眼中,多核性能肯定比单核强,处理器核心越多越好,但果真如此吗?
许多人认为CPU 内核越多越好。然而,情况并非总是如此。这就是为什么更多内核并非在所有情况下都是好的选择,这不仅仅是因为在芯片上放置更多内核的问题,还因为性能原因。
处理器有多少个内核更好?
许多人的想法是,内核越多越好。然而,它并不总是那样。例如,有些软件并不足以利用所有内核,因此考虑更多内核是荒谬的,而且在许多视频游戏中都会出现这种情况,其中单核性能优于多核。像这样的情况还有很多。
至于HPC领域,Top500数据似乎证明了更多 CPU 核心更好的错误想法。但是如果你和这个领域,比如联想HPC部门的、欧洲Atos的、HPE的,或者IBM的专家交谈你就会发现,情况并不总是这样。
事实上,如果您询问他们,他们会告诉您,他们的许多客户都在寻求更高的带宽、更快的 I/O 和更高的时钟速率。那么为什么像 AMD、Intel、Ampere、Annapurna、IBM、Fujitsu 等公司不断制造具有越来越多 CPU 内核的单元?
这些提供商在寻找 HPC 客户之前,需要考虑到计算能力,这越来越需要高性能的 GPGPU,而且他们还考虑到云提供商的业务,它们是超大规模企业,需要寻找更多核心。
这些云业务寻求更多的核心,因为这意味着每个节点有更多的客户端。在 VPS(虚拟专用服务器)服务器的情况下可以很好地看到这一点,其中那些物理内核变成 vCPU 以交付给平台客户端。这就是核心数量不断增加的原因。
但是,这并不是说在HPC中内核不重要,它们很重要。核心数越多,超级计算机支持的工作量就越大。此外,机器将具有更高的处理或计算能力(FLOPS),这意味着更高的性能。然而,对于 HPC,带宽也很重要。
带宽的重要性
许多 HPC 客户更关心内存带宽而不是 CPU 核心数量,但这并不意味着他们忽略了其他问题。但是,对于使用这些机器的任务或应用程序,最好具有良好的带宽和更高的 I/O 敏捷性。事实上,EPYC 和 Xeon 等也经过优化以提供此功能。
例如,我们一直在说DDR4 和 DDR5之间的差异对用户来说并不重要,没有那么多的性能提升,而且 DDR5 更贵。然而,对于 HPC,DDR5 提供了一个很好的机会,与 DDR4 相比,带宽增加了大约 50%。
一方面,在为某些软件或操作系统许可证付费时,更多的内核可能是一个劣势,因为它们是根据内核或插槽的数量收费的。当我们谈论像 SUSE Linux 或 Red Hat 这样的操作系统时,也会发生类似的情况,因为如果您需要技术服务,您还必须根据机器的内核付费。换句话说,更多的核心也将意味着更多的软件方面的支出。
对于 HPC 处理器,许多人选择使用高带宽或HBM 内存,以及 CPU 内核来提高带宽。比如Intel Xeon Max“Sapphire Rapids”就是这样,它在CPU周围有HBM2E内存芯片,可以实现64GB/s的内存带宽。当然,必须考虑到数据在这个 HBM 和伴随它的 DDR 之间的移动,扩展 HBM 的容量限制,将在很大程度上取决于芯片的固件和 ISV(Independent软件供应商)。
另一方面,虽然 AMD 也一直在寻求 HBM,但他们选择在他们的 EPYC(霄龙)中添加更多的内存通道以获得带宽,尽管这有一些缺点,例如需要占用主板空间和稍高的延迟。此外,使用像 Genoa 这样的 12 通道在带宽方面不会接近 Xeon Max,但这是另一种有趣的方法。正是这让他们可以使用普通的 DDR5,而不依赖于 ISV,这可能是一个主要障碍。
例如,对于研究天气、空气动力学、流体等的流体动力学或 CFD 等工作负载来说,这是必不可少的,因为它们是带宽敏感的应用程序,在处理过程中必须使用内存中的大量数据。因此,在这些情况下增加带宽会带来显著的改进。
此外,由于 CPU-RAM 带宽问题,许多客户选择使用 GPGPU而不是 CPU 来处理某些工作负载,但这可能会随着 HBM 集成到 CPU 中而改变。
平衡
您肯定听说过很多有关服务器和 HPC 方面的负载平衡的信息。这意味着以平衡和高效的方式在不同处理器之间分配必须处理的任务的方式。为此,在平衡处理核心方面,拥有更多带宽具有优势。因此,我们在行业中看到更多的 HBM,尤其是在 AI 工作负载方面,也就不足为奇了。此外,Ampere、Fujitsu A64FX 等一些 CPU 也选择了 HBM。
此外,AMD在其X系列EPYC中也做了一些有趣的事情。虽然它没有在单独的芯片上使用 HBM,但它在其处理芯片之上使用了高速、高带宽的 SRAM 内存芯片来支持 L3 缓存,也就是3D V-Cache。
这些3D 封装显示出巨大的优势,因为这种存储器的延迟低于 RAM,并且直接通过 TSV 链接。因此,它不会像其他情况那样依赖于主 RAM 内存的延迟和带宽。
事实上,AMD 在其Milan-X中证明,由于其卓越的 L3,它可以增加工作负载,从而提高需要高带宽的密集型工作负载的性能。例如,使用 Synopsys VCS 进行的测试显示出 66.4% 的改进。然而,这些类型的封装具有较高的性价比,因此并非都是优势。
因此,HBM 似乎有望在工作负载(例如 CFD 等)方面提供更大的灵活性和收益。这意味着也许将来我们会看到更多带有 HBM 的单元。尽管我们将看看最终是否可以将这两种技术混合起来作为解决方案,即使用 3D 封装将 HBM堆叠在计算单元上。
更高的频率与更多的 CPU 内核
正如可以验证的那样,CPU基本时钟频率在过去十年中一直停滞不前。目前,我们的 CPU 在大多数情况下的时钟频率在 2 到 3 Ghz 之间,但有一些例外情况可能会超过这些数字,而且我们不是在谈论 Turbo 模式。
但这不仅与制造技术有关,还与 CPU 核心数量的扩展有关。您在单个硅芯片上封装的内核越多,您可以使用的功率就越少,因此需要管理时钟速度。如果找不到解决方案,3D 封装甚至可能会恶化这种情况,因为我们已经看到,3D 封装也需要通过将芯片堆叠在一起来降低功耗。
APU领域
GPU也已成为提高性能的关键部分,因为这些单元可以比 CPU 更快、更高效地处理某些工作负载,因为它们的内核数量更多。这就是为什么它们近年来被用作某些工作负载的加速器。
在服务器和HPC领域,GPU已经扮演了非常重要的角色,因此,只需看看几年前的Top500榜单和现在的榜单。
因此,AMD 想在其 Fusion中看到未来,将 CPU 和 GPU 结合起来也就不足为奇了。然而,这些 APU 已经出现在低功耗台式机或笔记本电脑中,但并未在其他领域占据主导地位,例如 HPC。但这种情况也在改变。
就是这样,最近AMD展示了其新产品 Instinct MI300。它不是传统的图形卡,不像我们过去看到的用于加速 HPC 和 AI 的其他 Instincts。在这种情况下,它是一个APU(加速处理单元)。这个单元结合了 Zen 4 内核和 GPU 内核。
Instinct MI300 是用于数据中心的 CPU+GPU 混合体。它采用 1460 亿个晶体管,采用小芯片设计和 3D 封装。它使用两种制造工艺,一些是 6nm 芯片,另一些是 5nm,都是使用台积电的工艺。里面有:
- 24 个 Zen 4 CPU 核心(它不会取代 CPU,事实上,它将与 AMD EPYC 4th Gen Genoa 一起出现在主板上)。
- 具有 CDNA3 架构的 GPU。
- HBM3 芯片,内存为 128 GB,总线宽度为 8192 位。
与 Instinct MI250 相比,这可以将 AI 工作负载加速 8 倍,并提供高达 5 倍的每瓦特 TFLOPS 性能。
就其本身而言,英特尔已经对其名为 Falcon Shores 的 CPU-GPU 架构做了类似的事情。这将具有 Xe 图形,这是 Ponte Vecchio GPU 和即将推出的 Rialto Bridge 的核心。此外,它还将包括 CPU 内核和 HBM3 内存池。而不是像 AMD 那样的 APU,Intel 一直想称它为 XPU。
与此同时,英伟达也做了类似的事情,尽管它看起来更像 AMD Instinct MI300 而不是英特尔的 Falcon Shores。这是 Grace-Hopper,它包括一个带有 512 GB LPDDR5X 内存的 Grace CPU 裸片(基于 ARM),以及一个带有 80 GB HBM 并通过 NVLink 互连的 Hopper GPU 裸片。
然而,这些新型混合动力驱动器也对高性能设备制造商提出了挑战,因为它们意味着数百瓦的非常高的消耗,甚至可能很快达到1 kW 以上的 TDP。这在家用电脑上是个问题,但当涉及拥有成百上千个此类驱动器的电脑时,问题就更糟了,因为它涉及散热和提供足够电力的挑战。
此外,不仅如此,软件生态系统也是一个问题,必须进行调整才能利用这些新单元。然而,随着这些问题的解决,HPC、服务器和数据中心中的许多现有瓶颈将得到解决。