UMap: An application-oriented user level memory mapping libraryShow others and affiliations
2025 (English)In: The international journal of high performance computing applications, ISSN 1094-3420, E-ISSN 1741-2846, Vol. 39, no 2, p. 269-282Article in journal (Refereed) Published
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.
Place, publisher, year, edition, pages
SAGE Publications , 2025. Vol. 39, no 2, p. 269-282
Keywords [en]
Memory mapping, mmap, page fault, page management, user-space paging, userfaultfd
National Category
Computer Systems
Identifiers
URN: urn:nbn:se:kth:diva-362548DOI: 10.1177/10943420241303145ISI: 001370462800001Scopus ID: 2-s2.0-105002054781OAI: oai:DiVA.org:kth-362548DiVA, id: diva2:1952996
Note
QC 20250422
2025-04-162025-04-162025-04-22Bibliographically approved