arrow
Return

UMap: An application-oriented user level memory mapping library

delete2024-12-05
delete0
PRE
AI
I
Ivy Peng
J
Jacob Wahlgren
K
Karim Youssef
K
Keita Iwabuchi
R
Roger Pearce
M
Maya Gokhale *
DOI:10.1177/10943420241303145delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Exploiting the prominent role of complex memories in exascale node architecture, the UMap page fault handler offers new capabilities to access large memory-mapped data sets directly. UMap provides flexible configuration options to customize page handling to each application, including analysis of massive observational and simulation data sets. The high-performance design features I/O decoupling, dynamic load balancing, and application-level controls. Page faults triggered by application threads and processes accessing data mapped to a UMapp'ed region are handled via the Linux userfaultfd protocol, an asynchronous message-oriented kernel-user communication mechanism that avoids the context switch penalty of traditional signal fault handlers. UMap is fully open source. In this paper, we give an overview of the UMap library architecture, its extensible plugin architecture, and the use/performance of UMap in emerging heterogeneous memory hierarchies such as near-node Non-volatile Memory (NVM) and network attached memories. We highlight new capabilities in two pagefault management plugins, the NetworkStore and SparseStore. We demonstrate the integration between UMap and multiple ECP products including Caliper, Metall, ZFP, Mochi, and Ripples.
Keywords:
Memory mapping
mmap
page fault
user-space paging
userfaultfd
page management

Journal

International Journal of High Performance Computing Applications cover
International Journal of High Performance Computing Applications
IF:
2.5
Papers:
1.1K
Citations:
1.3K

Organization

R
Royal Institute of Technology
Scholars:
1.8W
Papers: 1.8W
Citations: 25
U
united states department of energy (doe)
Scholars:
11.3W
Papers: 9.6W
Citations: 246