z-logo
Premium
On the memory attribution problem: A solution and case study using MPI
Author(s) -
Gutiérrez Samuel K.,
Arnold Dorian C.,
Davis Kei,
McCormick Patrick
Publication year - 2019
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.5159
Subject(s) - computer science , message passing , message passing interface , shared memory , workload , distributed shared memory , distributed memory , software , implementation , memory management , operating system , distributed computing , computer architecture , parallel computing , uniform memory access , overlay , software engineering
Summary As parallel applications running on large‐scale computing systems become increasingly memory constrained, the ability to attribute memory usage to the various components of the application is becoming increasingly important. We present the design and implementation of memnesia , a novel memory usage profiler for parallel and distributed message‐passing applications. Our approach captures both application– and message‐passing library–specific memory usage statistics from unmodified binaries dynamically linked to a message‐passing communication library. Using microbenchmarks and proxy applications, we evaluated our profiler across three Message Passing Interface (MPI) implementations and two hardware platforms. The results show that our approach and the corresponding implementation can accurately quantify memory resource usage as a function of time, scale, communication workload, and software or hardware system architecture, clearly distinguishing between application and MPI library memory usage at a per‐process level. With this new capability, we show that job size, communication workload, and hardware/software architecture influence peak runtime memory usage. In practice, this tool provides a potentially valuable source of information for application developers seeking to measure and optimize memory usage.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here