MemProf: A Memory Profiler for NUMA Multicore Systems

Abstract : 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).
Document type :
Conference papers
Complete list of metadatas

Cited literature [5 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-00945731
Contributor : Renaud Lachaize <>
Submitted on : Thursday, March 9, 2017 - 11:28:45 PM
Last modification on : Thursday, April 18, 2019 - 5:00:05 PM

File

atc12-final229.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-00945731, version 2

Collections

Citation

Renaud Lachaize, Baptiste Lepers, Vivien Quéma. MemProf: A Memory Profiler for NUMA Multicore Systems. Proceedings of the 2012 USENIX Annual Technical Conference, Jun 2012, Boston, United States. pp.53--64. ⟨hal-00945731v2⟩

Share

Metrics

Record views

280

Files downloads

123