ABSTRACT
Heterogeneous System Architecture (HSA) is an archi-tecture developed by the HSA foundation aiming at reduc-ing programmability barriers as well as improving commu-nication efficiency for heterogeneous computing. For ex-ample, HSA allows heterogeneous computing devices to share the same virtual address space. This feature allows programmers to bypass explicit data copying between devices, as was required in the past. HSA features such as job dispatching through user level queues and memory based signaling help to reduce communication latency between the host and other computing devices. While the new features in HSA enable more efficient heterogeneous computing, they also introduce new chal-lenges to system virtualization, especially in memory virtu-alization and I/O virtualization. This work investigates the issues involved in HSA virtualization and implements a KVM-based hypervisor that supports the main features of HSA inside guest operating systems. Furthermore, this work shows that with the newly introduced hypervisor for HSA, system resources in HSA-compliant AMD Kaveri can be effectively shared between multiple guest operating sys-tems.
- General-Purpose Computation on Graic Hardware, http://gpgpu.org/.Google Scholar
- Nvidia CUDA, http://www.nvidia.com/object/cuda_home_new.html.Google Scholar
- J.E. Stone, D. Gohara, G. Shi, OpenCL: a parallel program-ming standard for heterogeneous computing systems, Comput. Sci. Eng. 12 (2010) 66--73.Google ScholarDigital Library
- Heterogeneous System Architecture (HSA), http://www.hsafoundation.com/Google Scholar
- AMD Kaveri, http://www.amd.com/en-us/products/processors/desktop/a-series-apu.Google Scholar
- A. Kivity, Y. Kamay, D. Laor, U. Lublin, and A. Liguori. kvm: the Linux virtual machine monitor. In OLS 2007: Proceedings of the 2007 Ottawa Linux Symposium.Google Scholar
- AMD I/O Virtualization Technology (IOMMU) Specification, http://developer.amd.com/wordpress/media/2012/10/488821.pdf, 2012.Google Scholar
- Kernel Fusion Driver source code, https://github.com/HSAFoundation/HSA-Drivers-Linux-AMD.Google Scholar
- Rusty Russel. virtio: towards a de-facto standard for virtual I/O devices. In Operating Systems Review, 2008.Google Scholar
- AMD. AMD64 Virtualization Codenamed "Pacifica" Technology: Secure Virtual Machine Architecture Reference Man-ual, May 2005.Google Scholar
- IRQFD, https://lwn.net/Articles/329837/.Google Scholar
- Y. Dong, J. Dai, Z. Huang, H. Guan, K. Tian, Y. Jiang, To-wards high-quality I/O virtualization. SYSTOR 2009.Google Scholar
- AMD OpcnCL APP SDK, http://developer.amd.com/tools-and-sdks/opencl-zone/.Google Scholar
- Portable Computing Language (pocl) for HSA, http://pocl.sourceforge.net/docs/html/hsa.html.Google Scholar
- D. Abramson, J. Jackson, S. Muthrasanallur, G. Neiger, G. Regnier, R. Sankaran, I. Schoinas, R. Uhlig, B. Vembu, and J. Wiegert. Intel virtualization technology for directed I/O. In-tel Technology Journal, 10, August, 2006.Google Scholar
- TIAN, K., DONG, Y., AND COWPERTHWAITE, D. A full gpu virtualization solution with mediated pass-through. In Proc. USENIX ATC (2014).Google Scholar
- NVIDIA. NVIDIA GRID VGX SOFTWARE. http://www.nvidia.com/object/grid-vgx-software.html, 2014.Google Scholar
- DUATO, J., PENA, A. J., SILLA, F., MAYO, R., AND QUINTANA-ORTI, E. rCUDA: Reducing the number of GPU-based accelerators in high performance clusters. In Proc. of IEEE Int'l Conf. on High Performance Computing Simula-tion (2010), pp. 224--231.Google Scholar
- SHI, L., CHEN, H., SUN, J., AND LI, K. vCUDA: GPU-Accelerated High-Performance Computing in Virtual Ma-chines. IEEE Transactions on Computers 61, 6 (2012), 804--816.Google Scholar
- GUPTA, V., GAVRILOVSKA, A., SCHWAN, K., KHARCHE, H., TOLIA, N., TALWAR, V., AND RANGANATHAN, P. GViM: GPU-Accelerated Virtual Ma-chines. In Proc. of ACM Workshop on System-level Virtual-ization for High Performance Computing (2009), pp. 17--24.Google Scholar
- Tien, Tsan-Rong, and Yi-Ping You. "Enabling OpenCL sup-port for GPGPU in Kernel-based Virtual Machine." Software: Practice and Experience 44.5 (2014): 483--510.Google ScholarDigital Library
- C. Smowton. Secure 3D graics for virtual machines. In EuroSEC'09: Proceedings of the Second European Workshop on System Security. ACM, 2009, pp. 36--43.Google ScholarDigital Library
- H. A. Lagar-Cavilla, N. Tolia, M. Satyanarayanan, and E. D. Lara. VMM-independent graics acceleration. In Proc. VEE (2007), pp. 33--43Google Scholar
- M. Dowty and J. Sugerman. GPU Virtualization on VMware's Hosted I/O Architecture. ACM SIGOPS Operat-ing Systems Review, 43:73--82, July 2009.Google ScholarDigital Library
- SUZUKI, Y., KATO, S., YAMADA, H., AND KONO, K. GPUvm: why not virtualizing gpus at the hypervisor? In Pro-ceedings of the 2014 USENIX conference on USENIX An-nual Technical Conference (2014), USENIX Association, pp. 109--120.Google Scholar
Index Terms
- Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compliant System
Recommendations
KVM/ARM: the design and implementation of the linux ARM hypervisor
ASPLOS '14As ARM CPUs become increasingly common in mobile devices and servers, there is a growing demand for providing the benefits of virtualization for ARM-based devices. We present our experiences building the Linux ARM hypervisor, KVM/ARM, the first full ...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compliant System
VEE '16Heterogeneous System Architecture (HSA) is an archi-tecture developed by the HSA foundation aiming at reduc-ing programmability barriers as well as improving commu-nication efficiency for heterogeneous computing. For ex-ample, HSA allows heterogeneous ...
Enabling OpenCL support for GPGPU in Kernel-based Virtual Machine
The importance of heterogeneous multicore programming is increasing, and Open Computing Language OpenCL is an open industrial standard for parallel programming that provides a uniform programming model for programmers to write efficient, portable code ...
Comments