Abstract

Graphics processing Units (GPUs), which originally designed for computer graphics applications, have been widely adopted to general purpose computing in many domains owing to their massive computational power. In the era of cloud computing, GPU virtualization becomes an important technique for the better management of GPUs in data centers. However, most of current solutions are not full virtualization. They either need to modify the guest drivers or libraries, or restrict the hardware sharing capability. The only full GPU virtualization solution is GPUvm, which however can only be executed on Xen hypervisors. In this paper, we present a full GPU virtualization solution on KVM (Kernel-based Virtual Machine), called G-KVM. Our work is not merely a direct porting of GPUvm to KVM, since Xen and KVM have fundamental differences in their system architectures. Two major changes of G-KVM are aggregator and QEMU device model. The experiments show that G-KVM has better performance for MMIO operations than GPUvm on Xen hypervisor. For the compute-extensive experiments, execution time of G-KVM can achieve nearly 82% of native performance, which is similar to GPUvm. The performance scaling experiment shows that the performance of single machine with G-KVM can be scaled up to multiple virtual machines.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call