GPGPU Virtualization Techniques a Comparative Survey

M Alyas, Hamid Hassan


The Graphic Processing Units (GPU) are being adopted in many High Processing Computing (HPC) facilities because of their massively parallel and extraordinary computing power, which makes it possible to accelerate many general purpose implementations from different domains. A general-purpose GPU (GPGPU) is a GPU that performs computations that were traditionally handled by central processing unit (CPU) to accelerate applications along with handling traditional computations for graphics rendering. However, GPUs have some limitations, such as increased acquisition costs as well as larger space requirements, more powerful energy supplies, and their utilization is usually low for most workloads. That results in the need of GPU virtualization to maximize the use of an acquired GPU to share between the virtual machines for optimal use, to reduce power utilization and minimize the costs. This study comparatively reviews the recent GPU virtualization techniques including API remoting, para, full and hardware based virtualization, targeted for general-purpose accelerations.

Full Text:



Reaño, C., Peña, A. J., Silla, F., Duato, J., Mayo, R., & Quintana-Ortí, E. S. (2012, December). Cu2rcu: Towards the complete rcuda remote gpu virtualization and sharing solution. In High Performance Computing (HiPC), 2012 19th International Conference on (pp. 1-10). IEEE.

Montella, R., Giunta, G., & Laccetti, G. (2014). Virtualizing high-end GPGPUs on ARM clusters for the next generation of high performance cloud computing. Cluster computing, 17(1), 139-152.

Hong, C. H., Spence, I., & Nikolopoulos, D. S. (2017). GPU virtualization and scheduling methods: A comprehensive survey. ACM Computing Surveys (CSUR), 50(3), 35..

Yang, C. T., Liu, J. C., Wang, H. Y., & Hsu, C. H. (2014). Implementation of GPU virtualization using PCI pass-through mechanism. The Journal of Supercomputing, 68(1), 183-213.

Hsu, H. C., & Lee, C. R. (2016, December). G-KVM: A Full GPU Virtualization on KVM. In Computer and Information Technology (CIT), 2016 IEEE International Conference on (pp. 545-552). IEEE.

Kirk, D. B., & Wen-Mei, W. H. (2016). Programming massively parallel processors: a hands-on approach. Morgan kaufmann.

Asanovic, K., Bodik, R., Catanzaro, B. C., Gebis, J. J., Husbands, P., Keutzer, K., ... & Yelick, K. A. (2006). The landscape of parallel computing research: A view from berkeley (Vol. 2). Technical Report UCB/EECS-2006-183, EECS Department, University of California, Berkeley.

Crago, S., Dunn, K., Eads, P., Hochstein, L., Kang, D. I., Kang, M., ... & Walters, J. P. (2011, September). Heterogeneous cloud computing. In Cluster Computing (CLUSTER), 2011 IEEE International Conference on (pp. 378-385). IEEE.

Schadt, E. E., Linderman, M. D., Sorenson, J., Lee, L., & Nolan, G. P. (2011). Cloud and heterogeneous computing solutions exist today for the emerging big data problems in biology. Nature Reviews Genetics, 12(3), 224.

Lee, G., & Katz, R. H. (2011, June). Heterogeneity-Aware Resource Allocation and Scheduling in the Cloud. In HotCloud.

Hong, C. H., Spence, I., & Nikolopoulos, D. S. (2017). GPU virtualization and scheduling methods: A comprehensive survey. ACM Computing Surveys (CSUR), 50(3), 35.

Chaubal, C. (2008). The architecture of vmware esxi. VMware White Paper, 1(7).

Kivity, A., Kamay, Y., Laor, D., Lublin, U., & Liguori, A. (2007, July). kvm: the Linux virtual machine monitor. In Proceedings of the Linux symposium (Vol. 1, pp. 225-230).

Velte, A., & Velte, T. (2009). Microsoft virtualization with Hyper-V. McGraw-Hill, Inc..

Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., ... & Warfield, A. (2003, October). Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No. 5, pp. 164-177). ACM.

Goldberg, R. P. (1974). Survey of virtual machine research. Computer, (6), 34-45.

Nvidia, C. U. D. A. (2007). Compute unified device architecture programming guide.

Mason Woo, Jackie Neider, Tom Davis, and Dave Shreiner. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.2. 1999. Addison-Wesley Longman Publishing Co., Inc.

Khronos OpenCL Working Group et al. The opencl specification. 2008. Version 1, 29 (2008), 8.

Blythe, D. (2006). The direct3d 10 system. ACM Transactions on Graphics (TOG), 25(3), 724-734.

Eftekharypour, Y., Ong, H., & Yong, K. K. (2016, August). Enhanced XMLRPC-based GPU virtualization. In Computer and Information Sciences (ICCOINS), 2016 3rd International Conference on (pp. 459-464). IEEE.

Li, T., Narayana, V. K., El-Araby, E., & El-Ghazawi, T. (2011, September). GPU resource sharing and virtualization on high performance computing systems. In Parallel Processing (ICPP), 2011 International Conference on (pp. 733-742). IEEE.

Menychtas, K., Shen, K., & Scott, M. L. (2014, February). Disengaged scheduling for fair, protected access to fast computational accelerators. In ACM SIGPLAN Notices (Vol. 49, No. 4, pp. 301-316). ACM.

Dowty, M., & Sugerman, J. (2009). GPU virtualization on VMware's hosted I/O architecture. ACM SIGOPS Operating Systems Review, 43(3), 73-82.

Gupta, V., Gavrilovska, A., Schwan, K., Kharche, H., Tolia, N., Talwar, V., & Ranganathan, P. (2009, March). GViM: GPU-accelerated virtual machines. In Proceedings of the 3rd ACM Workshop on System-level Virtualization for High Performance Computing (pp. 17-24). ACM.

Cho, Y. C., & Jeon, J. W. (2007, October). Sharing data between processes running on different domains in para-virtualized xen. In Control, Automation and Systems, 2007. ICCAS'07. International Conference on (pp. 1255-1260). IEEE.

Shi, L., Chen, H., Sun, J., & Li, K. (2012). vCUDA: GPU-accelerated high-performance computing in virtual machines. IEEE Transactions on Computers, 61(6), 804-816.

Cerami, E. (2002). Web services essentials: distributed applications with XML-RPC, SOAP, UDDI & WSDL. " O'Reilly Media, Inc.".

Shi, L., Chen, H., Sun, J., & Li, K. (2012). vCUDA: GPU-accelerated high-performance computing in virtual machines. IEEE Transactions on Computers, 61(6), 804-816.

Chen, H., Shi, L., & Sun, J. (2010, June). VMRPC: A high efficiency and light weight RPC system for virtual machines. In Quality of Service (IWQoS), 2010 18th International Workshop on (pp. 1-9). IEEE.

Patni, S., George, J., Lahoti, P., & Abraham, J. (2015, September). A zero-copy fast channel for inter-guest and guest-host communication using VirtIO-serial. In Next Generation Computing Technologies (NGCT), 2015 1st International Conference on (pp. 6-9). IEEE.

Duato, J., Pena, A. J., Silla, F., Mayo, R., & Quintana-Ortı, E. S. (2010, January). Modeling the CUDA remoting virtualization behaviour in high performance networks. In First Workshop on Language, Compiler, and Architecture Support for GPGPU.

Jos´e Duato, Antonio J. Pe ˜ na, Federico Silla, Rafael Mayo, and Enrique S. Quintana-Ort´ı. 2010b. rCUDA: Reducing the number of GPU-based accelerators in high performance clusters. In Proceedings of the 2010 International Conference on High Performance Computing and Simulation (HPCS’10). IEEE, 224–231.

Reaño, C., Silla, F., Castelló, A., Peña, A. J., Mayo, R., Quintana‐Ortí, E. S., & Duato, J. (2015). Improving the user experience of the rCUDA remote GPU virtualization framework. Concurrency and Computation: Practice and Experience, 27(14), 3746-3770.

Giunta, G., Montella, R., Agrillo, G., & Coviello, G. (2010, August). A GPGPU transparent virtualization component for high performance computing clouds. In European Conference on Parallel Processing (pp. 379-391). Springer, Berlin, Heidelberg.



  • There are currently no refbacks.