ToB企服应用市场:ToB评测及商务社交产业平台

标题: 跨 CPU 架构的Top-Down模型: 高性能计算情况中的适用性与比较 [打印本页]

作者: 万万哇    时间: 2025-2-21 18:30
标题: 跨 CPU 架构的Top-Down模型: 高性能计算情况中的适用性与比较
0 摘要

Top-Down模型由硬件架构师定义,用于提供不同硬件组件的利用率信息。其目的是将用户与复杂的硬件架构隔脱离来,同时让他们深入相识代码是如何有效利用资源的。在本文中,我们探讨了为支持开始进高性能计算集群的不同硬件架构(英特尔Skylake、富士通A64FX、IBM Power9和华为鲲鹏920)定义的四种Top-Down模型的适用性,并为AMD Zen 2提出了一个模型。我们研究了用于科门生产的并行 CFD 代码,以比较这五个自顶向下模型。我们对每个模型的洞察力、信息的清楚度、易用性和可得出的结论进行了评估。我们的研究表明,Top-Down模型使性能分析人员很难在不深入研究微体系结构细节的情况下发现复杂科学代码中的低效之处。
1 引言及相干工作

CPU 架构的多样性是 HPC 行业的新现实。在 2022 年 11 月的 Top500 榜单中,前五名包罗三种不同的 CPU 架构:x86、Arm 和 IBM POWER。为了增加全景图的多样性,每种 CPU 架构都有不同的供应商实现(比方,x86 由英特尔和 AMD 实现,Arm 由富士通、Nvidia 和华为实现)。在这种多样性的情况下,建立跨平台方法来评估这些硬件体系的有效使用变得越来越困难。这种复杂性大概不是由 HPL 或 HPCG 等基准测试引起的,而是由生产科学应用引起的。
多种性能分析模型试图:(i) 测量性能;(ii) 识别性能瓶颈。此外,有些模型还能提示如何规避上述瓶颈。
比方,Roofline 模型[Roofline: an insightful visual performance model for multicore architectures,IEEE:Applying the roofline model] 将性能与算术强度(或运行强度)接洽起来。该模型能反馈特定代码是计算受限还是内存受限,还能告知执行间隔理论峰值还有多远。根据分析级别的不同,该模型可以定义不同的顶点(比方,考虑缓存级别和主内存)[IEEE: Cache-aware Roofline model: Upgrading the loft]。代码的运算强度既可以(i)从理论上定义,即计算算法所需的逻辑运算次数,也可以(ii)从经验上定义,即测量执行过程中的运算次数。第二种方法会产生不同的效果,因为它包含了编译器在算法执行过程中大概引入的修改[Benchmarking of state-of-the-art HPC Clusters with a Production CFD Code]。对于远离理论峰值的代码,Roofline 模型的重要局限在于无法说明性能丧失在那里。对于内存绑定的代码,性能最终会受到内存子体系的限定。但是,这并不意味着当前的实现或执行也存在相同的瓶颈。
问题是,执行周期在那里流失?自顶向下模型试图回答这个问题。
1.1. Top-Down模型

通过对执行周期进行计数和分类,自上而下模型指出了应用程序当前的限定因素。英特尔公司最初形貌了这一模型[A Top-Down method for performance analysis and counters architecture],后来将其建立为英特尔TMAM方法。该模型的结构是一棵度量树,根据所花费的资源(如计算资源、内存资源、因停滞而丧失的资源等)对周期进行组织。对于英特尔 CPU 来说,每个层次结构都有一个官方定义。层次结构越深,微体系结构的特定性就越强。这大概会导致难以比较不同 CPU 之间的效果。
与英特尔 CPU 相比,AMD 没有官方定义的自顶向下模型。已往曾有人试图将英特尔的模型映射到 AMD 15h、Opteron 和 R 系列处理惩罚器上。由于微体系结构和可用硬件计数器的不同,这项工作凸显了映射的局限性。其他架构也有树状层次结构,但未标注为 “自上而下”。每个供应商都有本身的定义,大概与 TMAM 的定义不一致。
读者应注意,“自顶向下 ”模型始终以周期为单元进行定义。这意味着 CPU(和内存)时钟频率未被考虑在内。
我们利用以前使用名为 Alya的生产 CFD 代码的经验,探索自顶向下模型所能提供的洞察力。我们在英特尔原始模型的基础上,为 AMD Zen 2 CPU 定义了一个自顶向下模型,并实施了一个工作流程,以测量和计算所研究的每个体系的指标。我们还分析了模型在不同 CPU 架构中的适用性,以及模型层次结构是否具有可比性。
1.2. 贡献

我们在五个不同的集群上使用了三种不同的架构:x86、aarch64 和 ppc64le。其中一个集群(基于英特尔 Skylake CPU 的集群)已经定义了自顶向下模型。对于其中两个集群,由于没有模型,因此我们必须定义自顶向下模型;(i) 对于 AMD Zen 2,我们基于上一代 CPU ;(ii) 对于 Kunpeng 920,我们利用了 CPU 制造商提供的模型(据我们所知到目前为止尚未公开)。对于集群 A64FX 和 Power9,有一些与自顶向下模型类似的模型定义,我们必须对其进行调整才能与之相比较。
2 高性能计算体系及其自顶向下模型

在本节中,我们将介绍所研究的硬件。我们将解释如何构建每台机器的自顶向下模型,以及如何解释最相干的指标。我们将 TMAM 的自顶向下模型作为与其他机器进行比较的基准。有关如何计算各项指标的详细列表,请参阅附录A。
下表总结了所研究的全部高性能计算体系的集群配置。其中包罗一些相干的硬件特性以及体系软件栈。我们还显示了每台机器上自顶向下模型的总体摘要。

2.1 MareNostrum 4 通用型


MareNostrum 4 是巴塞罗那超级计算中心(BSC)的旗舰级 Tier-0 超级计算机。通用分区(以下简称 MareNostrum 4)有 3456 个节点,内含两个英特尔Xeon Platinum8160 CPU。该分区在 2019 年 6 月的 Top500 中排名第 29 位。
MareNostrum 4 中的自顶向下模型是按照英特尔的 TMAM 定义构建的。下图显示了模型的示意图。这一版本的模型重点关注处理惩罚器流水线前端和后端边界的Slot 占用情况。一个Slot 可以被来自前端的一个微操纵(
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4