GPUVM: Why not virtualizing GPUs at the hypervisor?

Yusuke Suzuki, Shinpei Kato, Hiroshi Yamada, Kenji Kono

Research output: Chapter in Book/Report/Conference proceedingConference contribution

93 Citations (Scopus)


Graphics processing units (GPUs) provide orders-of-magnitude speedup for compute-intensive data-parallel applications. However, enterprise and cloud computing domains, where resource isolation of multiple clients is required, have poor access to GPU technology. This is due to lack of operating system (OS) support for virtualizing GPUs in a reliable manner. To make GPUs more mature system citizens, we present an open architecture of GPU virtualization with a particular emphasis on the Xen hypervisor. We provide design and implementation of full- and para-virtualization, including optimization techniques to reduce overhead of GPU virtualization. Our detailed experiments using a relevant commodity GPU show that the optimized performance of GPU para-virtualization is yet two or three times slower than that of pass-through and native approaches, whereas full-virtualization exhibits a different scale of overhead due to increased memory-mapped I/O operations. We also demonstrate that coarse-grained fairness on GPU resources among multiple virtual machines can be achieved by GPU scheduling; finer-grained fairness needs further architectural support by the nature of non-preemptive GPU workload.

Original languageEnglish
Title of host publicationProceedings of the 2014 USENIX Annual Technical Conference, USENIX ATC 2014
PublisherUSENIX Association
Number of pages12
ISBN (Electronic)9781931971102
Publication statusPublished - 2014
Event2014 USENIX Annual Technical Conference, USENIX ATC 2014 - Philadelphia, United States
Duration: 2014 Jun 192014 Jun 20

Publication series

NameProceedings of the 2014 USENIX Annual Technical Conference, USENIX ATC 2014


Conference2014 USENIX Annual Technical Conference, USENIX ATC 2014
Country/TerritoryUnited States

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'GPUVM: Why not virtualizing GPUs at the hypervisor?'. Together they form a unique fingerprint.

Cite this