浮点原子内存操作

《Microprocessors and Microsystems》:Floating-point atomic memory operations

【字体: 时间:2026年05月04日 来源:Microprocessors and Microsystems 2.6

编辑推荐:

  维克托·索里亚-帕尔多斯 | 阿德里亚·阿尔梅哈奇 | 达里奥·苏亚雷斯 | 米格尔·莫雷托 西班牙巴塞罗那超级计算中心 摘要 现代计算系统越来越多地采用基于芯片组的架构,使得不同供应商的设备(如中央处理单元(CPU)、图形处理单元(GPU)能够在单个封装中集成。这

  维克托·索里亚-帕尔多斯 | 阿德里亚·阿尔梅哈奇 | 达里奥·苏亚雷斯 | 米格尔·莫雷托
西班牙巴塞罗那超级计算中心

摘要
现代计算系统越来越多地采用基于芯片组的架构,使得不同供应商的设备(如中央处理单元(CPU)、图形处理单元(GPU)能够在单个封装中集成。这些异构系统需要高效的芯片间同步机制,包括原子内存操作(AMOs)。然而,高效的同步要求所有集成设备都支持相同的AMO功能。虽然GPU天生支持浮点AMO(FAMOs),但CPU不支持,这导致了架构上的不对称性,从而影响了同步效率。为了解决这一差距,Arm最近推出了大型系统浮点扩展(LSFE),为CPU引入了新的FAMO支持。

本文对FAMOs在图形处理、机器学习(ML)和高性能计算(HPC)工作负载中的影响进行了分析和建模。我们的分析表明,相当一部分AMO操作针对浮点数据,并且目前使用的是效率较低的比较-交换(CAS)实现方式。用硬件原生的FAMO替换基于CAS的构造可以在广泛的工作负载中显著提高性能。此外,我们还研究了在不同内存层次执行FAMO的权衡,比较了在私有缓存(近端)与共享缓存(远端)中的执行情况。结果表明,近端FAMO的平均加速比为1.3倍,而远端FAMO的平均加速比为1.5倍。总体而言,我们证明了FAMO可以在关键应用领域实现更高效的同步。

引言
半导体行业正从单体架构转向基于芯片组的架构[1]。与单体芯片相比,芯片组通过支持多供应商芯片组的集成提供了显著优势。例如,Intel i7-8809G芯片集成了Intel的CPU和AMD的GPU,可以作为一个包含所有组件的单一芯片出售。然而,由于连接芯片组的延迟较长,芯片组引入了更高的通信开销,这影响了依赖延迟的操作(如同步原语)的性能。同时,异构架构已成为执行游戏、图像处理和大型语言模型(LLMs)等前沿应用的事实标准。最新的移动设备和笔记本电脑不仅集成了CPU和GPU,还集成了各种加速器(如神经处理单元(NPUs)和数字信号处理器(DSPs),以及专门用于加速这些应用的硬件。异构系统也主导了高性能计算(HPC)市场,占全球20台最强大超级计算机的19台[2]。HPC通过解决更复杂的问题并消耗更少的能量而受益[3]。图1展示了一个现代异构HPC架构的示例,其中包含两个芯片组:一个集成HPC多核,另一个集成类似GPU的向量处理加速器。HPC多核基于网格结构,每个网格单元包含一个HPC核心及其私有缓存层次结构和一部分L3缓存;向量加速器是一个由线程组(向量处理器)组成的单体组件,这些线程组共享一个L2缓存。所有线程组都隶属于同一个向量芯片组,每个线程组由代表并行处理单元的“线程”组成,每个线程组都有自己的私有缓存。因此,每个芯片组都采用了截然不同的架构,使得计算机架构师难以同时集成这两种系统。使用芯片组有助于降低这种复杂性,因为每个芯片组可以保持其原有的架构。

基于芯片组的架构通过实现设备间的缓存一致性来增强异构系统的集成。异构缓存一致性(HCC)是一种设计趋势,它依靠传统的多核缓存一致性来集成传统的CPU和加速器。HCC允许通过原子内存操作(AMOs)在CPU和加速器之间进行细粒度的工作分配,这些操作可以原子性地读取-修改-写入(RMW)内存位置。然而,为了高效地执行这些同步原语,所有设备都必须支持相同的AMO功能。当前的GPU支持浮点AMO(FAMOs),而CPU不支持,这导致了架构上的不对称性,从而影响了同步效率。大多数系统在缓存层次结构的私有级别执行AMO操作,通过获取目标缓存行的独占权限来实现[4]。然而,当多个请求者尝试获取独占副本时,可能会导致缓存或芯片组之间的数据来回传递。或者,远程或远端AMO将RMW操作委托给内存层次结构,由该层次结构决定更新的位置。通常,远端AMO将所有更新集中在缓存层次结构的某个点(如目录或内存控制器)[5]、[6]、[7]、[8],从而避免了跨多个私有缓存的数据迁移[8]、[9]。只有当执行RMW操作的设备或发出AMO的设备支持该操作类型时,才能远程执行远端AMO。因此,当前集成CPU和GPU的异构系统无法在来自GPU的CPU分区中执行远端FAMO,也无法从CPU发出远端FAMO。由于当前的通用CPU不支持FAMO,程序员必须使用通用的比较-交换(CAS)构造来执行AMO。基于CAS的构造在竞争环境下吞吐量较低,因为条件交换可能在读取和更新操作之间对同一内存位置进行写入时失败[10]。由于浮点操作比整数和位操作需要更多的周期,CAS失败的概率增加,导致更高的序列化开销。用硬件原生的FAMO支持替换基于CAS的构造可以提高整个系统的吞吐量。因此,Arm最近发布了大型系统浮点扩展(LSFE),以在其CPU中支持FAMO[11]、[12]。

本研究调查了一系列HPC、图形分析和机器学习应用,发现相当一部分原子内存操作针对浮点数据。虽然这些应用可以从新引入的FAMO中受益,但浮点操作的复杂性可能会限制可扩展性,特别是在维护缓存一致性成本较高的异构系统中。为了解决这一挑战,我们研究了使用远端AMO来减少处理元素之间的数据传输。通过在目录或内存级别直接执行FAMO,可以减少缓存行之间的来回传递。然而,近端和远端AMO有不同的使用场景,并不总是适用于所有情况。因此,我们测试了DynAMO[8],这是一种选择近端或远端AMO的动态预测器。我们的结果表明,近端、远端和DynAMO三种方案都能显著提高FAMO的效率。

总结
本文做出了以下贡献:
• 我们分析了来自HPC、图形分析和机器学习领域的广泛代表性应用,发现相当一部分原子更新操作针对浮点数据。
• 我们扩展了gem5[13],以支持带有FAMO指令的集成异构系统。我们的评估显示,在多个应用领域中,FAMO平均使应用程序加速1.5倍,对于某些原子密集型内核,加速效果可达4倍。
• 我们应用了DynAMO,这是一种动态解决方案,用于确定是执行近端还是远端AMO。尽管DynAMO通过选择最佳位置来优于静态解决方案,但我们发现某些基准测试中DynAMO的预测准确性仍有提升空间。
• 我们分析了在不同缓存层次结构中支持FAMO的硬件成本。在最坏的情况下,对于具有64个目录切片的芯片,FAMO使芯片总面积增加了0.036%。
• 我们提供了一组程序员指南,以优化FAMO的性能。

本文是对之前会议论文[12]的扩展。除了扩展几个部分外,主要的新贡献还包括评估DynAMO预测器作为选择近端和远端AMO的解决方案,以及探索FAMO在低延迟配置中的优势。我们还提供了程序员指南,以帮助他们优化原子浮点操作。

背景
本节提供了异构架构和AMO的概述。

现代系统中AMO的特性
AMO对于实现各种同步机制(如锁、信号量和屏障)至关重要。在本节中,我们通过最常见的用例之一——并行归约,分析了不同软件和硬件基方法的性能权衡。然后,我们描述了在异构多芯片组系统中近端和远端AMO的行为。

激励应用
在本节中,我们分析了多个领域的多样化应用,以了解原子浮点RMW操作的使用情况。我们考虑了三种浮点原子RMW操作:加法(FPAdd)、最大值(FPMax)和最小值(FPMin)。我们按应用领域组织讨论。

大型系统浮点扩展
尽管我们已经证明FAMO在多个特定领域中很重要,但当前的CPU缺乏高效的原生支持。为了解决这一差距,Arm发布了大型系统浮点扩展(LSFE),为FAMO提供了架构支持[21]。本节详细描述了LSFE,包括支持的操作、浮点格式、异常处理和内存一致性语义。

方法论
仿真基础设施:我们使用了gem5性能模拟器[13]来评估所提出的基础设施。Gem5包括各种系统组件的周期近似模型,包括核心、带有详细网格结构的片上网络和内存控制器。我们使用Arm ISA和Ruby在具有网格拓扑的片上网络中建模AMBA 5 CHI一致性协议。我们使用Ubuntu 22.04和Linux Kernel 5.4.65进行全系统仿真。

基准系统:
基于第6节的研究结果,我们现在为程序员提供了优化FAMO访问的指南。这些建议将帮助程序员通过减少与FAMO相关的开销来提高应用程序性能。一些研究已经解释了在哪些情况下近端AMO和远端AMO表现更好[8]。因此,我们将重点介绍本工作中关于FAMO的实际发现。

重用并行归约实现:第一条建议是避免手动操作。

相关工作
学术文献观察到,在传统缓存层次结构中,对共享数据的原子更新效率较低,并且已经探索了许多硬件和软件技术来改进这一点。

近端AMO:最近的学术工作研究了如何更高效地执行近端AMO,例如通过多次执行AMO[77]、[78]、[79],降低其序列化成本[4],利用一致性模型[80],或高效实现RMW操作[81]、[82]、[83]、[84]。

远端AMO

结论
异构集成系统将长期存在。未来的系统设计将集成更多的加速器。优化设备间的同步并减少不必要的数据传输对于最大化系统性能至关重要。在本文中,我们分析了新的Armv9.6扩展LSFE,它支持原子浮点操作。我们分析了各种应用,发现原子浮点操作是许多领域中普遍存在的同步原语。

利益冲突声明
作者声明他们没有已知的财务利益冲突或个人关系可能会影响本文报告的工作。

致谢
本工作部分得到了西班牙科学、创新和大学部(PID2023-146511NB-I00)、MCIN/AEI/10.13039/501100011033(资助号PID2022-136454NB-C22)、Arm-BSC卓越中心(2025)、加泰罗尼亚政府(2021-SGR-00763)和阿拉贡政府(T58_23R研究组)的支持。西班牙经济、工业和竞争力部也通过FPU奖学金(编号FPU20-02132)部分支持了V. Soria-Pardos。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号