UMap: Enabling Application-driven Optimizations for Page Management
Ivy B. Peng, Marty McFadden, Eric Green, Keita Iwabuchi, Kai Wu, Dong, Li, Roger Pearce, Maya Gokhale

TL;DR
Umap introduces a user-space page management system that adapts to application-specific access patterns and storage types, significantly improving performance in diverse storage environments.
Contribution
Umap provides a flexible, application-driven page management framework using userfaultfd, supporting dynamic load balancing, I/O decoupling, and application hints for optimized storage access.
Findings
Achieved 1.25 to 2.5 times performance improvement over system defaults.
Effectively supports diverse storage tiers and access patterns.
Demonstrated scalability and adaptability in real-world benchmarks.
Abstract
Leadership supercomputers feature a diversity of storage, from node-local persistent memory and NVMe SSDs to network-interconnected flash memory and HDD. Memory mapping files on different tiers of storage provides a uniform interface in applications. However, system-wide services like mmap are optimized for generality and lack flexibility for enabling application-specific optimizations. In this work, we present Umap to enable user-space page management that can be easily adapted to access patterns in applications and storage characteristics. Umap uses the userfaultfd mechanism to handle page faults in multi-threaded applications efficiently. By providing a data object abstraction layer, Umap is extensible to support various backing stores. The design of Umap supports dynamic load balancing and I/O decoupling for scalable performance. Umap also uses application hints to improve the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Cloud Computing and Resource Management · Distributed and Parallel Computing Systems
