Mosaic: An Application-Transparent Hardware-Software Cooperative Memory Manager for GPUs
Rachata Ausavarungnirun, Joshua Landgraf, Vance Miller, Saugata Ghose,, Jayneel Gandhi, Christopher J. Rossbach, Onur Mutlu

TL;DR
Mosaic is a GPU memory manager that supports multiple page sizes without costly data migration by leveraging applications' bulk memory allocation patterns, improving address translation and demand paging efficiency.
Contribution
It introduces a novel, application-transparent memory management policy for GPUs that enables multiple page sizes without data migration, enhancing performance.
Findings
Reduces address translation overhead with large pages
Supports multiple page sizes without costly page migrations
Improves demand paging efficiency in GPU applications
Abstract
Modern GPUs face a trade-off on how the page size used for memory management affects address translation and demand paging. Support for multiple page sizes can help relax the page size trade-off so that address translation and demand paging optimizations work together synergistically. However, existing page coalescing and splintering policies require costly base page migrations that undermine the benefits multiple page sizes provide. In this paper, we observe that GPGPU applications present an opportunity to support multiple page sizes without costly data migration, as the applications perform most of their memory allocation en masse (i.e., they allocate a large number of base pages at once). We show that this en masse allocation allows us to create intelligent memory allocation policies which ensure that base pages that are contiguous in virtual memory are allocated to contiguous…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
