SPRINT: Selective Partial Region-based Invalidation for Neutralizing Thrashing in GPU Unified Memory
Boyeol Choi, Jungrae Kim · 2025
Unified Memory (UM) simplifies memory management in CPU-GPU systems by providing a shared virtual address space. However, under memory oversubscription, UM suffers significant performance degradation. This occurs when applications allocate more memory than the physical capacity of the GPU. This overhead primarily stems from software-managed, fault-driven page migration, which serializes eviction and migration, leading to increased latency and frequent stalls.In this work, we propose SPRINT, a simple-lightweight invalidation mechanism that reduces unnecessary data movement in oversubscription. SPRINT retains a shadow copy of migrated pages in CPU memory and selectively invalidates clean regions in GPU memory without writing them back. To support this, we first adopt page shadowing mechanism in Unified Memory. Then, we implement a GMMU-resident Clean Region Monitor (CRM) to monitor the cleanness of virtual memory regions.Using the cycle-level GPU simulator, UVMSmart, we show that SPRINT reduces page evictions and improves performance under oversubscription. Compared to the baseline, SPRINT reduces eviction counts by 26%, 30%, and 34%, and improves performance by 5%, 8%, and 11% under 110%, 125%, and 150% oversubscription, respectively.