NumaMMA: NUMA MeMory Analyzer

被引:14
|
作者
Trahay, Francois [1 ]
Selva, Manuel [2 ]
Morel, Lionel [3 ]
Marquet, Kevin [4 ]
机构
[1] Univ Paris Saclay, SAMOVAR, Telecom SudParis, CNRS, Evry, France
[2] Univ Grenoble Alpes, LIG, Grenoble INP, CNRS,Inria, Grenoble, France
[3] Univ Grenoble Alpes, List, CEA, Grenoble, France
[4] Univ Lyon, CITI, INRIA, INSA Lyon, Villeurbanne, France
关键词
Performance analysis; NUMA architectures; Data and threads placement; Memory sampling; PLACEMENT; THREAD;
D O I
10.1145/3225058.3225094
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 Analyzer (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.
引用
收藏
页数:10
相关论文
共 50 条
  • [1] NUMA Distance for Heterogeneous Memory
    Williams, Sean
    Ionkov, Latchesar
    Lang, Michael
    PROCEEDINGS OF MCHPC'17: WORKSHOP ON MEMORY CENTRIC PROGRAMMING FOR HPC, 2017, : 30 - 34
  • [2] NUMAPROF, A NUMA Memory Profiler
    Valat, Sebastien
    Bouizi, Othman
    EURO-PAR 2018: PARALLEL PROCESSING WORKSHOPS, 2019, 11339 : 159 - 170
  • [3] NUMAlloc: A Faster NUMA Memory Allocator
    Yang, Hanmei
    Zhao, Xin
    Zhou, Jin
    Wang, Wei
    Kundu, Sandip
    Wu, Bo
    Guan, Hui
    Liu, Tongping
    PROCEEDINGS OF THE 2023 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT, ISMM 2023, 2023, : 97 - 110
  • [4] NUMA POLICIES AND THEIR RELATION TO MEMORY ARCHITECTURE
    BOLOSKY, WJ
    SCOTT, ML
    FITZGERALD, RP
    FOWLER, RJ
    COX, AL
    SIGPLAN NOTICES, 1991, 26 (04): : 212 - 223
  • [5] Challenges of memory management: On modern numa systems
    Gaud, Fabien
    Lepers, Baptiste
    Funston, Justin
    Dashti, Mohammad
    Fedorova, Alexandra
    Quéma, Vivien
    Lachaize, Renaud
    Roth, Mark
    2015, Association for Computing Machinery (13): : 99 - 124
  • [6] Nap: Persistent Memory Indexes for NUMA Architectures
    Wang, Qing
    Lu, Youyou
    Li, Junru
    Xie, Minhui
    Shu, Jiwu
    ACM TRANSACTIONS ON STORAGE, 2022, 18 (01)
  • [7] SIMPLE BUT EFFECTIVE TECHNIQUES FOR NUMA MEMORY MANAGEMENT
    BOLOSKY, WJ
    FITZGERALD, RP
    SCOTT, ML
    OPERATING SYSTEMS REVIEW, VOL 23, NO 5, SPECIAL ISSUE: PROCEEDINGS OF THE TWELFTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, 1989, : 19 - 31
  • [8] Challenges of Memory Management on Modern NUMA Systems
    Gaud, Fabien
    Lepers, Baptiste
    Funston, Justin
    Dashti, Mohammad
    Fedorova, Alexandra
    Quema, Vivien
    Lachaize, Renaud
    Roth, Mark
    COMMUNICATIONS OF THE ACM, 2015, 58 (12) : 59 - 66
  • [9] A Review on Memory Allocators for NUMA Based RTOS
    Shah, Vatsalkumar
    Shah, Apurva
    INTERNATIONAL CONFERENCE ON INTELLIGENT DATA COMMUNICATION TECHNOLOGIES AND INTERNET OF THINGS, ICICI 2018, 2019, 26 : 668 - 675
  • [10] NUMA Awareness: Improving Thread and Memory Management
    Patrou, Maria
    Kent, Kenneth B.
    Dueck, Gerhard W.
    Gracie, Charlie
    Micic, Aleksandar
    44TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2018), 2018, : 119 - 123