Skip to main content
QUICK REVIEW

[论文解读] Measuring NUMA effects with the STREAM benchmark

Lars Bergström|arXiv (Cornell University)|Mar 16, 2011
Parallel Computing and Optimization Techniques参考文献 4被引用 14
一句话总结

本文通过扩展STREAM基准测试,测量了48核AMD Opteron和32核Intel Xeon系统上非统一内存访问(NUMA)架构的影响。通过修改基准测试以同时测试步长访问和NUMA感知内存访问模式,量化了在AMD系统上非NUMA感知代码所遭受的显著带宽和延迟惩罚,而Intel系统则由于具备更高的跨处理器带宽,表现出更好的性能;尽管如此,AMD系统在使用NUMA感知代码时仍能达到更高的峰值带宽。

ABSTRACT

Modern high-end machines feature multiple processor packages, each of which contains multiple independent cores and integrated memory controllers connected directly to dedicated physical RAM. These packages are connected via a shared bus, creating a system with a heterogeneous memory hierarchy. Since this shared bus has less bandwidth than the sum of the links to memory, aggregate memory bandwidth is higher when parallel threads all access memory local to their processor package than when they access memory attached to a remote package. But, the impact of this heterogeneous memory architecture is not easily understood from vendor benchmarks. Even where these measurements are available, they provide only best-case memory throughput. This work presents a series of modifications to the well-known STREAM benchmark to measure the effects of NUMA on both a 48-core AMD Opteron machine and a 32-core Intel Xeon machine.

研究动机与目标

  • 量化现代高端多核服务器中NUMA架构对内存带宽和延迟的影响。
  • 评估并行应用程序中NUMA感知与非NUMA感知内存访问模式之间的性能差距。
  • 提供内存层次结构影响的明确、可测量数据,这些影响通常被厂商基准测试所掩盖。
  • 通过测量真实系统行为,为函数式编程语言的可扩展并行垃圾回收器的设计与调优提供支持。
  • 在实际线程负载下,比较AMD Opteron和Intel Xeon架构的NUMA行为。

提出的方法

  • 扩展标准STREAM基准测试,以包含步长访问和NUMA感知内存访问模式。
  • 在AMD Opteron(48核)和Intel Xeon(32核)系统上,测量不同线程数量下的内存带宽和延迟。
  • 通过在节点间稀疏分配线程,隔离内存局部性和互连带宽的影响。
  • 计算每个节点的带宽,并与表2(AMD)和表4(Intel)中的理论互连带宽上限进行归一化比较。
  • 仅使用步长配置测量延迟,以隔离RAM访问时间与缓存效应。
  • 通过比较不同线程数量下的性能,评估扩展行为和饱和点。

实验结果

研究问题

  • RQ1在48核AMD Opteron系统上,非NUMA感知内存访问如何影响带宽和延迟?
  • RQ2在32核Intel Xeon系统上,NUMA感知与非NUMA感知代码之间的性能差异有多大?
  • RQ3理论互连带宽与实际工作负载中的测量带宽相比如何?
  • RQ4在两种架构上,内存带宽和延迟因NUMA效应开始退化时的线程数量是多少?
  • RQ5QPI(Intel)的跨处理器带宽与HyperTransport(AMD)相比,在缓解NUMA惩罚方面表现如何?

主要发现

  • 在AMD Opteron系统上,非NUMA感知代码遭受显著带宽惩罚,并在48核时开始性能下降,而NUMA感知代码几乎线性扩展。
  • AMD系统在使用NUMA感知代码时达到接近55,000 MB/s的峰值带宽,显著高于Intel系统的峰值约40,000 MB/s。
  • 在Intel Xeon系统上,即使在核心数达到最大值时,NUMA感知与非NUMA感知代码之间的性能差距也很小,这是由于QPI具备更高的跨处理器带宽。
  • Intel系统在32核时达到带宽饱和,而AMD系统在48核前仍持续提升每节点带宽。
  • 在中等线程数量(超过约24个线程)时,AMD系统的延迟因非NUMA感知访问而急剧恶化,而Intel系统在超过24个核心前表现出稳定的延迟。
  • 两种系统在理论与实际带宽之间均存在显著差距,尤其在步长配置下更为明显,表明实际限制超出了理论模型的预测。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。