Improving GHC Haskell NUMA profiling

Improving GHC Haskell NUMA profiling
复制标题

改进 GHC Haskell NUMA 分析

DOI:
10.1145/3471873.3472974
复制
发表时间:
2021
期刊:
--
影响因子:
--
通讯作者:
MacGregor R
MacGregor R
中科院分区:
--
文献类型:
--
作者:
MacGregor R

文献摘要

参考文献

被引文献

相似文献

随着内核数量的增加,非均匀存储器访问(NUMA)在通用机器中变得越来越普遍。有效地利用NUMA可以显著减少内存访问延迟,从而减少10- 20%的运行时间,分析提供了有关如何优化的信息。内存级别的NUMA分析器很少见,大多数分析在虚拟机上执行的传统语言。在这里,我们分析,并开发新的NUMA分析器,在运行时系统上执行的函数式语言。我们开始使用现有的操作系统和语言级工具,系统地分析8个基准测试从GHC Haskell nofib套件在一个典型的NUMA服务器(8个区域,64个核心)。我们提出一个新的度量:NUMA访问速率,它允许我们比较不同程序对内存系统的负载,并使用它来对比基准测试。我们证明了显着的差异,在NUMA的使用之间的计算和数据密集型的基准,例如本地内存访问率分别为23%和30%。我们发现,协调行为的小变化可以显着改变NUMA的使用,并首次量化的GHC 8.2 NUMA adaption.We的有效性识别信息不可用从现有的profilers和扩展的numaprof分析器,和GHC运行时系统,以获得三个新的NUMA配置文件:操作系统线程分配的地方,GC计数(每个区域和代)和GC线程的地方。新的配置文件不仅提供了对程序内存使用的更深入的理解,它们还建议了可以调整GHC以更好地利用NUMA体系结构的方法。
As the number of cores increases Non-Uniform Memory Access (NUMA) is becoming increasingly prevalent in general purpose machines. Effectively exploiting NUMA can significantly reduce memory access latency and thus runtime by 10-20%, and profiling provides information on how to optimise. Language-level NUMA profilers are rare, and mostly profile conventional languages executing on Virtual Machines. Here we profile, and develop new NUMA profilers for, a functional language executing on a runtime system.We start by using existing OS and language level tools to systematically profile 8 benchmarks from the GHC Haskell nofib suite on a typical NUMA server (8 regions, 64 cores). We propose a new metric: NUMA access rate that allows us to compare the load placed on the memory system by different programs, and use it to contrast the benchmarks. We demonstrate significant differences in NUMA usage between computational and data-intensive benchmarks, e.g. local memory access rates of 23% and 30% respectively. We show that small changes to coordination behaviour can significantly alter NUMA usage, and for the first time quantify the effectiveness of the GHC 8.2 NUMA adaption.We identify information not available from existing profilers and extend both the numaprof profiler, and the GHC runtime system to obtain three new NUMA profiles: OS thread allocation locality, GC count (per region and generation) and GC thread locality. The new profiles not only provide a deeper understanding of program memory usage, they also suggest ways that GHC can be adapted to better exploit NUMA architectures.
平衡 NUMA 架构上的共享堆和分布式堆
DOI: 10.1007/978-3-319-14675-1_1
发表时间: 2014
期刊: Proceedings of the 9th ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing
影响因子: --
作者:
M. Aljabri;Hans;P. Trinder
通讯作者: P. Trinder
DOI: 10.1145/1993478.1993481
发表时间: 2011-06
影响因子: 3.2
作者:
Z. Majó;T. Gross
通讯作者: Z. Majó;T. Gross
无法隐藏,无法运行:NUMA 机器上托管应用程序的性能评估
DOI: 10.1145/3426182.3426189
发表时间: 2020
期刊: Proceedings of the 17th International Conference on Managed Programming Languages and Runtimes
影响因子: --
作者:
Orion Papadakis;Foivos S. Zakkak;N. Foutris;Christos Kotselidis
通讯作者: Christos Kotselidis
NUMA 堆中连接对象局部性的研究
DOI: 10.1145/2618128.2618132
发表时间: 2014
期刊: --
影响因子: --
作者:
Alnowaiser K
通讯作者: Alnowaiser K
NUMAPROF,NUMA 内存分析器
DOI: 10.1007/978-3-030-10549-5_13
发表时间: 2018
期刊: Proceedings of the 2018 International Conference on Supercomputing
影响因子: --
作者:
S. Valat;O. Bouizi
通讯作者: O. Bouizi