Virtualization and Migration with GPGPUs
System Architecture Group, Karlsruhe Institute of Technology (KIT), Germany
Karlsruhe Institute of Technology (KIT), 2013
@mastersthesis{gottschlag13GPGPU,
author={Mathias Gottschlag},
title={Virtualization and Migration with GPGPUs},
type={Bachelor Thesis},
school={System Architecture Group, Karlsruhe Institute of Technology (KIT), Germany},
month={jun},
year={2013},
note={url{http://os.ibds.kit.edu/}}
}
Recently, cloud computing providers have started to offer virtual machines specifically for high performance computing as a service (HPCaaS). The cloud computing providers usually employ virtualization as an abstraction layer between the application software and the underlying hardware. Virtualization allows flexible migration between physical systems, which is a requirement for many load balancing techniques. In the area of high performance computing, graphics processing units (GPUs) play a large role due to their high degree of parallelism and their high performance. If GPUs are used in a HPCaaS environment, they need to be integrated into the virtualization system. This GPU virtualization solution needs to provide near-native performance and needs to support migration. However, previous approaches to GPU virtualization either do not support migration or suffer from significant virtualization overhead. In this work, we analyze existing GPU virtualization solutions. Based on this analysis, we present a GPU virtualization solution which exploits the features of the underlying GPU in order to significantly reduce virtualization overhead. In the proposed design, the virtual machine is given direct access to selected parts of the GPU so that it can directly execute programs on the GPU, without intervention of the hypervisor. We show that in the proposed design, the hypervisor is still able to transparently suspend and resume the GPU and can temporarily revoke direct access to it. This functionality can be used in order to implement transparent migration of the virtual machine as well as the GPU resources allocated to it. We propose a migration strategy which is designed to provide live migration for virtual machines with GPUs. We evaluate the proposed GPU virtualization solution using a prototype built on top of Linux, the kernel-based virtual machine (KVM) and a NVidia GPU. Our experiments show that the proposed design results in very low virtualization overhead. Also, our experiments show that the proposed migration strategy provides low virtual machine downtime and keeps the overall impact of migration on performance low.
June 22, 2013 by hgpu