Abstract
Unified Virtual Memory (UVM) relieves programmers of the burden of memory management between CPU and GPUs. However, the use of UVM can lead to performance degradation due to its on-demand page migration scheme, especially under memory oversubscription. In this research, we conduct various analyses on real hardware, NVIDIA RTX 3090, to examine such performance degradation with an NVIDIA opensource GPU driver. Our analysis shows that the effectiveness of prefetching highly correlates with the relative number of page faults on a group of contiguous pages, which NVIDIA refers to as a Virtual Address Block (VABlock) spanning across a 2MB virtual address range. Also, the risk of page thrashing is determined by the total number of VABlocks that consistently generate page faults during kernel execution. Hence, the performance impact of the prefetch threshold varies across different workloads. These observations indicate that an adaptive prefetching scheme can resolve the performance bottleneck of memory oversubscription. To this end, we propose the Early-Adaptor (EA) framework, which automatically controls the prefetching aggressiveness based on the page fault history. During runtime, the EA framework monitors patterns of page faults in per-VABlock and in a global scope. After analyzing page fault generation rates and the possibility of page thrashing, the EA framework dynamically controls the prefetching aggressiveness by changing the prefetch threshold. The EA framework requires only minor changes to GPU drivers and needs no changes to the GPU hardware. Experiments on real hardware show that when GPU memory is oversubscribed, the EA framework achieves an average speedup of 1. 74x over the conventional GPU prefetcher.
Original language | English |
---|---|
Title of host publication | Proceedings - 2023 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2023 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 248-258 |
Number of pages | 11 |
ISBN (Electronic) | 9798350397390 |
DOIs | |
State | Published - 2023 |
Event | 2023 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2023 - Raleigh, United States Duration: 23 Apr 2023 → 25 Apr 2023 |
Publication series
Name | Proceedings - 2023 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2023 |
---|
Conference
Conference | 2023 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2023 |
---|---|
Country/Territory | United States |
City | Raleigh |
Period | 23/04/23 → 25/04/23 |
Bibliographical note
Publisher Copyright:© 2023 IEEE.
Keywords
- GPGPU
- memory management
- prefetching
- Unified Virtual Memory