GPUvm: GPU Virtualization at the Hypervisor

Yusuke Suzuki, Shinpei Kato, Hiroshi Yamada, Kenji Kono · IEEE Transactions on Computers · 2015

Graphic processing units (GPUs) provide a massively-parallel computational power and encourage the use of general-purpose computing on GPUs (GPGPU). The distinguished design ofdiscrete GPUshelps 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.$\sf{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.$\sf{GPUvm}$offers three virtualization modes: the full-, naive para-, and high-performance para-virtualization.$\sf{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$\sf{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.

Read the paper · More papers on PaperTik