GPU Virtualization using PCI Direct Pass-Through

Article Preview

Abstract:

Machine virtualization and cloud computing environment have highlighted for last several years. This trend is based on the endeavor to enhance the utilization and reduce the ownership cost of machines. On the other hand, in aspect of high performance computing, graphics processing unit (GPU) has proved its capability for general purpose computing in many research areas. Evolving from traditional APIs such as the OpenGL and the Direct3D to program GPU as a graphics device, the CUDA of NIVDIA and the OpenCL provide more general programming environment for users. By supporting memory access model, interfaces to access GPUs directly and programming toolkits, users can perform parallel computation using the hundreds of GPU cores. In this paper, we propose a GPU virtualization mechanism to exploit GPU on virtualized cloud computing environment. Differently from the previous work which mostly reimplemented GPU programming APIs and virtual device drivers, our proposed mechanism uses the direct pass-through of PCI-E channel having GPU. The main limitation of previous approaches is virtualization overhead. Since they were focused on the sharing of GPU among virtual machines, they reimplemented GPU programming APIs at virtual machine monitor (VMM) level, and it incurred significant performance overhead. Moreover, if APIs are changed, they need to reengineer the most of APIs. In our approach, bypassing virtual machine monitor layer with negligible overhead, the mechanism can achieve similar computation performance to bare-metal system and is transparent to the GPU programming APIs.

You might also be interested in these eBooks

Info:

Periodical:

Pages:

15-19

Citation:

Online since:

February 2013

Export:

Price:

Permissions CCC:

Permissions PLS:

Сopyright:

© 2013 Trans Tech Publications Ltd. All Rights Reserved

Share:

Citation:

[1] D.T. Meyer, G. Aggarwal, B. Cully, G. Lefebvre, M.J. Feeley, N.C. Hutchinson, and A. Warfield, Parallax: Virtual Disks for Virtual Machines, European Conf. Computer Systems (Eurosys), 2008.

DOI: 10.1145/1352592.1352598

Google Scholar

[2] A. Traeger, E. Zadok, N. Joukov, and C.P. Wright, A Nine Year Study of File System and Storage Benchmarking, ACM Transactions on Storage, vol. 4, no. 2, pp.1-56, 2008.

DOI: 10.1145/1367829.1367831

Google Scholar

[3] The Apache Software Foundation, http://www.apache.org/, 2010.

Google Scholar

[4] NVIDIA, http://www.nvidia.com/docs/IO/105880/DS_Tesla-M2090_LR.pdf.

Google Scholar

[5] Khronos OpenCL Working Group, The OpenCL 1.0 Specification. Khronos Group, December 2008.

Google Scholar

[6] GPGPU, http://gpgpu.org.

Google Scholar

[7] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, Xen and the Art of Virtualization, Proc. ACM Symp. Operating Systems Principles (SOSP), 2003.

DOI: 10.1145/945445.945462

Google Scholar

[8] Giunta G., R. Montella, G. Agrillo, and G. Coviello, A gpgpu transparent virtualization component for high performance computing clouds, Euro-Par 2010 - Parallel Processing, vol. 6271, chap. 37, pp.379-391, 2010.

DOI: 10.1007/978-3-642-15277-1_37

Google Scholar

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

DOI: 10.1145/1519138.1519141

Google Scholar

[10] L. Shi, H. Chen, and J. Sun, vCUDA: GPU accelerated high performance computing in virtual machines, IEEE International Symposium on Parallel & Distributed Processing (IPDPS'09), pp.1-11, 2009.

DOI: 10.1109/ipdps.2009.5161020

Google Scholar