GPUswap: Enabling Oversubscription of GPU Memory through Transparent Swapping

  • Author:

    Jens Kehne, Jonathan Metter, and Frank Bellosa

  • Source:

    Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE'15), Istanbul, Turkey, March 14-15, 2015

  • Date: 14.03.2015
  • Abstract:

    Over the last few years, GPUs have been finding their way into cloud computing platforms, allowing users to benefit from the performance of GPUs at low cost. However, a large portion of the cloud’s cost advantage traditionally stems from oversubscription: Cloud providers rent out more resources to their customers than are actually available, expecting that the customers will not actually use all of the promised resources. For GPU memory, this oversubscription is difficult due to the lack of support for demand paging in current GPUs. Therefore, recent approaches to enabling oversubscription of GPU memory resort to software scheduling of GPU kernels – which has been shown to induce significant runtime overhead in applications even if sufficient GPU memory is available – to ensure that data is present on the GPU when referenced.

    In this paper, we present GPUswap, a novel approach to enabling oversubscription of GPU memory that does not rely on software scheduling of GPU kernels. GPUswap uses the GPU’s ability to access system RAM directly to extend the GPU’s own memory. To that end, GPUswap transparently relocates data from the GPU to system RAM in response to memory pressure. GPUswap ensures that all data is permanently accessible to the GPU and thus allows applications to submit commands to the GPU directly at any time, without the need for software scheduling. Experiments with our prototype implementation show that GPU applications can still execute even with only 20 MB of GPU memory available. In addition, while software scheduling suffers from permanent overhead even with sufficient GPU memory available, our approach executes GPU applications with native performance.

    BibTex:

    @inproceedings{kehne15gpumm,
       author = {Kehne, Jens, Metter, Jonathan and Bellosa, Frank},
       title = {GPUswap: Enabling Oversubscription of GPU Memory through Transparent Swapping},
       booktitle = {Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE '15)},
       pages={65-77},
       doi={10.1145/2731186.2731192},
       address = {Istanbul, Turkey},
       year = 2015,
       month = mar # "~14--15",
     }