NUMAPROF, A NUMA Memory Profiler

NUMAPROF, A NUMA Memory Profiler
复制标题

NUMAPROF,NUMA 内存分析器

DOI:
10.1007/978-3-030-10549-5_13
复制
发表时间:
2018
期刊:
Proceedings of the 2018 International Conference on Supercomputing
影响因子:
--
通讯作者:
O. Bouizi
O. Bouizi
中科院分区:
--
文献类型:
--
作者:
S. Valat;O. Bouizi

文献摘要

被引文献

相似文献

在过去的几年里,HPC系统和服务器的核心数量增加了很多。为了增加可用的内存带宽和容量,大多数系统都采用了NUMA(非统一内存访问),这意味着每个处理器都有自己的内存,并且可以共享内存。尽管对远程内存的访问对开发人员来说是透明的,但它带来了更低的带宽和更高的延迟。如果发生得太频繁,可能会严重影响应用程序的性能。在多线程应用程序中处理这种内存局部性是一项具有挑战性的任务。为了帮助开发人员,我们开发了NUMAPROF,这是一个内存分析工具,使用与内存分配分析工具MALT相同的方法精确定位对源代码的本地和远程内存访问。本文全面回顾了NUMAPROF在主流HPC工作负载上的性能。除了专用接口之外,该工具还提供了关于未固定内存访问(未固定线程或未固定页面)的提示,这可以帮助开发人员找到不安全处理NUMA绑定的代码部分。该工具还提供专用指标来跟踪访问代号为Knight 's Landing的Intel Xeon Phi的MCDRAM。为了操作,该工具通过使用Pin(来自英特尔的并行二进制检测框架)对应用程序进行检测。NUMAPROF还具有使用操作系统内存映射而不依赖于硬件计数器或操作系统模拟的特殊性。它允许在不需要专用硬件支持的情况下了解系统上实际发生的情况。
The number of cores in HPC systems and servers increased a lot for the last few years. In order to also increase the available memory bandwidth and capacity, most systems became NUMA (Non-Uniform Memory Access) meaning each processor has its own memory and can share it. Although the access to the remote memory is transparent for the developer, it comes with a lower bandwidth and a higher latency. It might heavily impact the performance of the application if it happens too often. Handling this memory locality in multi-threaded applications is a challenging task. In order to help the developer, we developed NUMAPROF, a memory profiling tool pinpointing the local and remote memory accesses onto the source code with the same approach as MALT, a memory allocation profiling tool. The paper offers a full review of the capacity of NUMAPROF on mainstream HPC workloads. In addition to the dedicated interface, the tool also provides hints about unpinned memory accesses (unpinned thread or unpinned page) which can help the developer find portion of codes not safely handling the NUMA binding. The tool also provides dedicated metrics to track access to MCDRAM of the Intel Xeon Phi codenamed Knight’s Landing. To operate, the tool instruments the application by using Pin, a parallel binary instrumentation framework from Intel. NUMAPROF also has the particularity of using the OS memory mapping without relying on hardware counters or OS simulation. It permits understanding what really happened on the system without requiring dedicated hardware support.