GPUvm: Why Not Virtualizing GPUs at the Hypervisor?
Keio University
USENIX Annual Technical Conference, 2014
@inproceedings{suzuki2014gpuvm,
author={Yusuke Suzuki and Shinpei Kato and Hiroshi Yamada and Kenji Kono},
title={GPUvm: Why Not Virtualizing GPUs at the Hypervisor?},
booktitle={2014 USENIX Annual Technical Conference (USENIX ATC 14)},
year={2014},
month={Jun},
isbn={978-1-931971-10-2},
address={Philadelphia, PA},
pages={109–120},
url={https://www.usenix.org/conference/atc14/technical-sessions/presentation/suzuki},
publisher={USENIX Association}
}
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.
July 4, 2014 by hgpu