MemProf: A Memory Profiler for NUMA Multicore Systems


Renaud Lachaize, UJF; Baptiste Lepers, CNRS; Vivien Quéma, GrenobleINP


Modern multicore systems are based on a Non-Uniform Memory Access (NUMA) design. Efficiently exploiting such architectures is notoriously complex for programmers. One of the key concerns is to limit as much as possible the number of remote memory accesses (i.e., main memory accesses performed from a core to a memory bank that is not directly attached to it). However, in many cases, existing profilers do not provide enough information to help programmers achieve this goal.

This paper presents MemProf, a profiler that allows programmers to choose and implement efficient application-level optimizations for NUMA systems. MemProf builds temporal flows of interactions between threads and objects, which help programmers understand why and which memory objects are accessed remotely. We evaluate MemProf on Linux using four applications (FaceRec, Streamcluster, Psearchy, and Apache) on three different machines. In each case, we show how MemProf helps us choose and implement efficient optimizations, unlike existing profilers. These optimizations provide significant performance gains (up to 161%), while requiring very lightweight modifications (10 lines of code or less).


Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

@inproceedings {180813,
author = {Renaud Lachaize and Baptiste Lepers and Vivien Quema},
title = {MemProf: A Memory Profiler for {NUMA} Multicore Systems},
booktitle = {2012 {USENIX} Annual Technical Conference ({USENIX} {ATC} 12)},
year = {2012},
isbn = {978-931971-93-5},
address = {Boston, MA},
pages = {53--64},
url = {},
publisher = {{USENIX} Association},
month = jun,

Presentation Video

Presentation Audio