NumaMMA: NUMA MeMory Analyzer
Résumé
Non Uniform Memory Access (NUMA) architectures are nowadays common for running High-Performance Computing (HPC) applications. In such architectures, several distinct physical memories are assembled to create a single shared memory. Nevertheless, because there are several physical memories, access times to these memories are not uniform depending on the location of the core performing the memory request and on the location of the target memory. Hence, threads and data placement are crucial to efficiently exploit such architectures. To help in taking decision about this placement, profiling tools are needed. In this work, we propose NUMA MeMory Ana-lyzer (NumaMMA), a new profiling tool for understanding the memory access patterns of HPC applications. NumaMMA combines efficient collection of memory traces using hardware mechanisms with original visualization means allowing to see how memory access patterns evolve over time. The information reported by NumaMMA allows to understand the nature of these access patterns inside each object allocated by the application. We show how NumaMMA can help understanding the memory patterns of several HPC applications in order to optimize them and get speedups up to 28% over the standard non optimized version.
Mots clés
Performance analysis
CCS CONCEPTS • General and reference → Performance
General and reference → Performance
Software and its engineering → Software performance
• Software and its engineering → Software performance
NUMA architectures
KEYWORDS Performance analysis
Memory sampling
Data and threads placement
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...