GPU-Assisted Memory Expansion
Recent graphic processing units (GPUs) often come with large on-board physical memory to accelerate diverse parallel program executions on big datasets with regular access patterns, including machine learning (ML) and data mining (DM). Such a GPU may underutilize its physical memory during lengthy ML model training or DM, making it possible to lend otherwise unused GPU memory to applications executed concurrently on the host machine. This work explores an effective approach that lets memory-intensive applications run on the host machine CPU with its memory expanded dynamically onto available GPU on-board DRAM, called GPU-assisted memory expansion (GAME). Targeting computer systems equipped with the recent GPUs, our GAME approach permits speedy executions on CPU with large memory footprints by harvesting unused GPU on-board memory on-demand for swapping, far surpassing competitive GPU executions. Implemented in user space, our GAME prototype lets GPU memory house swapped-out memory pages transparently, without code modifications for high usability and portability. The evaluation of NAS-NPB benchmark applications demonstrates that GAME expedites monotasking (or multitasking) executions considerably by up to 2.1× (or 3.1×), when memory footprints exceed the CPU DRAM size and an equipped GPU has unused VDRAM available for swapping use.
Publication Source (Journal or Book title)
2021 IEEE International Conference on Networking, Architecture and Storage, NAS 2021 - Proceedings
Srinuan, P., Sigdel, P., Yuan, X., Peng, L., Darby, P., Aucoin, C., & Tzeng, N. (2021). GPU-Assisted Memory Expansion. 2021 IEEE International Conference on Networking, Architecture and Storage, NAS 2021 - Proceedings https://doi.org/10.1109/NAS51552.2021.9605372