GPUvm: GPU Virtualization at the Hypervisor

Yusuke Suzuki, Shinpei Kato, Hiroshi Yamada, Kenji Kono

Research output: Contribution to journalArticle

16 Citations (Scopus)

Abstract

Graphic processing units (GPUs) provide a massively-parallel computational power and encourage the use of general-purpose computing on GPUs (GPGPU). The distinguished design of discrete GPUs helps them to provide the high throughput, scalability, and energy efficiency needed for GPGPU applications. Despite the previous study on GPU virtualization, the tradeoffs between the virtualization approaches remain unclear, because of a lack of designs for or quantitative evaluations of the hypervisor-level virtualization for discrete GPUs. Shedding light on these tradeoffs and the technical requirements for the hypervisor-level virtualization would facilitate the development of an appropriate GPU virtualization solution. GPUvm, which is an open architecture for hypervisor-level GPU virtualization with a particular emphasis on using the Xen hypervisor, is presented in this paper. {GPUvm} offers three virtualization modes: the full-, naive para-, and high-performance para-virtualization. {GPUvm} exposes low-and high-level interfaces such as memory-mapped I/O and DRM APIs to the guest virtual machines (VMs). Our experiments using a relevant commodity GPU showed that {GPUvm} incurs different overheads as the level of the exposed interfaces is changed. The results also showed that a coarse-grained fairness on the GPU among multiple VMs can be achieved using GPU scheduling.

Original languageEnglish
Article number7349172
Pages (from-to)2752-2766
Number of pages15
JournalIEEE Transactions on Computers
Volume65
Issue number9
DOIs
Publication statusPublished - 2016 Sep 1
Externally publishedYes

Keywords

  • GPGPU
  • GPU
  • virtual machines
  • virtualization

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics

Fingerprint Dive into the research topics of 'GPUvm: GPU Virtualization at the Hypervisor'. Together they form a unique fingerprint.

  • Cite this