{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,10]],"date-time":"2026-01-10T07:59:00Z","timestamp":1768031940566,"version":"3.49.0"},"reference-count":30,"publisher":"SAGE Publications","issue":"2","license":[{"start":{"date-parts":[[2025,12,5]],"date-time":"2025-12-05T00:00:00Z","timestamp":1764892800000},"content-version":"vor","delay-in-days":365,"URL":"http:\/\/www.sagepub.com\/licence-information-for-chorus"}],"funder":[{"DOI":"10.13039\/100006227","name":"Lawrence Livermore National Laboratory","doi-asserted-by":"publisher","award":["DE-AC52-07NA27344, LLNL-JRNL-860428"],"award-info":[{"award-number":["DE-AC52-07NA27344, LLNL-JRNL-860428"]}],"id":[{"id":"10.13039\/100006227","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Exascale Computing Project","award":["17-SC-20-SC"],"award-info":[{"award-number":["17-SC-20-SC"]}]}],"content-domain":{"domain":["journals.sagepub.com"],"crossmark-restriction":true},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2025,3]]},"abstract":"<jats:p> 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\u2019ed 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. <\/jats:p>","DOI":"10.1177\/10943420241303145","type":"journal-article","created":{"date-parts":[[2024,12,5]],"date-time":"2024-12-05T09:32:16Z","timestamp":1733391136000},"page":"269-282","update-policy":"https:\/\/doi.org\/10.1177\/sage-journals-update-policy","source":"Crossref","is-referenced-by-count":1,"title":["UMap: An application-oriented user level memory mapping library"],"prefix":"10.1177","volume":"39","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4158-3583","authenticated-orcid":false,"given":"Ivy","family":"Peng","sequence":"first","affiliation":[{"name":"Department of Electrical Engineering and Computer Science, KTH Royal Institute of Technology, Stockholm, Sweden"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1669-7714","authenticated-orcid":false,"given":"Jacob","family":"Wahlgren","sequence":"additional","affiliation":[{"name":"Department of Electrical Engineering and Computer Science, KTH Royal Institute of Technology, Stockholm, Sweden"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4544-9613","authenticated-orcid":false,"given":"Karim","family":"Youssef","sequence":"additional","affiliation":[{"name":"Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9395-0843","authenticated-orcid":false,"given":"Keita","family":"Iwabuchi","sequence":"additional","affiliation":[{"name":"Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-6449-6568","authenticated-orcid":false,"given":"Roger","family":"Pearce","sequence":"additional","affiliation":[{"name":"Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4229-5735","authenticated-orcid":false,"given":"Maya","family":"Gokhale","sequence":"additional","affiliation":[{"name":"Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA"}]}],"member":"179","published-online":{"date-parts":[[2024,12,5]]},"reference":[{"key":"bibr1-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2018.00024"},{"key":"bibr2-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378504"},{"key":"bibr3-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2016.46"},{"key":"bibr4-10943420241303145","unstructured":"Chen Y, Lu Y, Zhu B, et al. (2021) Scalable persistent memory file system with kernel-userspace collaboration. In: 19th USENIX conference on file and storage technologies. (FAST 21)."},{"key":"bibr5-10943420241303145","unstructured":"Gu J, Lee Y, Zhang Y, et al. (2017) Efficient memory disaggregation with infiniswap. In: 14th {USENIX} symposium on networked systems design and implementation ({NSDI} 17), pp. 649\u2013667."},{"key":"bibr6-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2022.102905"},{"key":"bibr7-10943420241303145","first-page":"397","volume":"24","author":"Jalalian S","year":"2024","journal-title":"ExtMEM: enabling Application-Aware virtual memory management for Data-Intensive applications"},{"key":"bibr8-10943420241303145","doi-asserted-by":"crossref","unstructured":"Kadekodi R, Lee SK, Kashyap S, et al. (2019) Splitfs: reducing software overhead in file systems for persistent memory. In: Proceedings of the 27th ACM symposium on operating systems principles, pp. 494\u2013508.","DOI":"10.1145\/3341301.3359631"},{"key":"bibr9-10943420241303145","unstructured":"Kalia A, Kaminsky M, Andersen DG (2016) Design guidelines for high performance RDMA systems. In: 2016 USENIX annual technical conference (USENIX ATC 16), pp. 437\u2013450."},{"key":"bibr10-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1080\/15427951.2009.10129177"},{"key":"bibr11-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1145\/3318265.3318272"},{"key":"bibr12-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1109\/TVCG.2014.2346458"},{"key":"bibr13-10943420241303145","unstructured":"Linux (2021) Userfaultfd. https:\/\/www.kernel.org\/doc\/html\/latest\/admin-guide\/mm\/userfaultfd.html."},{"key":"bibr14-10943420241303145","unstructured":"McFadden M, Peng I, Gokhale M, et al. (2022) Umap. https:\/\/github.com\/LLNL\/umap and https:\/\/github.com\/LLNL\/umap-apps."},{"key":"bibr15-10943420241303145","unstructured":"Minutoli M, Halappanavar M, Kalyanaraman A (2019a) Ripples: open source software. https:\/\/github.com\/pnnl\/ripples."},{"key":"bibr16-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1109\/CLUSTER.2019.8890991"},{"key":"bibr17-10943420241303145","volume-title":"Unifyfs: A Distributed Burst Buffer File system-0.1. 0. Technical Report","author":"Moody A","year":"2017"},{"key":"bibr18-10943420241303145","first-page":"813","volume":"20","author":"Papagiannis A","year":"2020","journal-title":"Optimizing memory-mapped I\/O for fast storage devices"},{"key":"bibr19-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1109\/MCHPC49590.2019.00017"},{"key":"bibr20-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1109\/SBAC-PAD49847.2020.00034"},{"key":"bibr21-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2021.3086302"},{"key":"bibr22-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1007\/s11390-020-9802-0"},{"key":"bibr23-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1145\/2517327.2442530"},{"key":"bibr24-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1145\/2846100"},{"key":"bibr25-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1007\/s10586-013-0309-0"},{"key":"bibr26-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1109\/MCHPC56545.2022.00007"},{"key":"bibr27-10943420241303145","doi-asserted-by":"crossref","unstructured":"Wahlgren J, Schieffer G, Gokhale M, et al. (2023) A quantitative approach for adopting disaggregated memory in hpc systems. In: Proceedings of the international conference for high performance computing, networking, storage and analysis, pp. 1\u201314.","DOI":"10.1145\/3581784.3607108"},{"key":"bibr28-10943420241303145","first-page":"1239","volume":"24","author":"Wang R","year":"2024","journal-title":"Efficient large graph processing with Chunk-Based graph representation model"},{"key":"bibr29-10943420241303145","unstructured":"Xu J, Swanson S (2016) NOVA: a log-structured file system for hybrid volatile\/non-volatile main memories. In: 14th USENIX conference on file and storage technologies (FAST 16), pp. 323\u2013338."},{"key":"bibr30-10943420241303145","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS53621.2022.00017"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/10943420241303145","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/full-xml\/10.1177\/10943420241303145","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/10943420241303145","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/10943420241303145","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,4]],"date-time":"2025-03-04T18:13:54Z","timestamp":1741112034000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/10943420241303145"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,12,5]]},"references-count":30,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2025,3]]}},"alternative-id":["10.1177\/10943420241303145"],"URL":"https:\/\/doi.org\/10.1177\/10943420241303145","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"value":"1094-3420","type":"print"},{"value":"1741-2846","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,12,5]]}}}