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 language | English |
---|---|
Article number | 7349172 |
Pages (from-to) | 2752-2766 |
Number of pages | 15 |
Journal | IEEE Transactions on Computers |
Volume | 65 |
Issue number | 9 |
DOIs | |
Publication status | Published - 2016 Sept 1 |
Externally published | Yes |
Keywords
- GPGPU
- GPU
- virtual machines
- virtualization
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Hardware and Architecture
- Computational Theory and Mathematics