Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compliant System

Published: 25 March 2016 Publication History

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.

References

[1]
General-Purpose Computation on Graic Hardware, http://gpgpu.org/.
[2]
Nvidia CUDA, http://www.nvidia.com/object/cuda_home_new.html.
[3]
J.E. Stone, D. Gohara, G. Shi, OpenCL: a parallel program-ming standard for heterogeneous computing systems, Comput. Sci. Eng. 12 (2010) 66--73.
[4]
Heterogeneous System Architecture (HSA), http://www.hsafoundation.com/
[5]
AMD Kaveri, http://www.amd.com/en-us/products/processors/desktop/a-series-apu.
[6]
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.
[7]
AMD I/O Virtualization Technology (IOMMU) Specification, http://developer.amd.com/wordpress/media/2012/10/488821.pdf, 2012.
[8]
Kernel Fusion Driver source code, https://github.com/HSAFoundation/HSA-Drivers-Linux-AMD.
[9]
Rusty Russel. virtio: towards a de-facto standard for virtual I/O devices. In Operating Systems Review, 2008.
[10]
AMD. AMD64 Virtualization Codenamed "Pacifica" Technology: Secure Virtual Machine Architecture Reference Man-ual, May 2005.
[11]
IRQFD, https://lwn.net/Articles/329837/.
[12]
Y. Dong, J. Dai, Z. Huang, H. Guan, K. Tian, Y. Jiang, To-wards high-quality I/O virtualization. SYSTOR 2009.
[13]
AMD OpcnCL APP SDK, http://developer.amd.com/tools-and-sdks/opencl-zone/.
[14]
Portable Computing Language (pocl) for HSA, http://pocl.sourceforge.net/docs/html/hsa.html.
[15]
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.
[16]
TIAN, K., DONG, Y., AND COWPERTHWAITE, D. A full gpu virtualization solution with mediated pass-through. In Proc. USENIX ATC (2014).
[17]
NVIDIA. NVIDIA GRID VGX SOFTWARE. http://www.nvidia.com/object/grid-vgx-software.html, 2014.
[18]
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.
[19]
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.
[20]
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.
[21]
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.
[22]
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.
[23]
H. A. Lagar-Cavilla, N. Tolia, M. Satyanarayanan, and E. D. Lara. VMM-independent graics acceleration. In Proc. VEE (2007), pp. 33--43
[24]
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.
[25]
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.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 51, Issue 7
VEE '16
July 2016
167 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/3007611
Issue’s Table of Contents
  • cover image ACM Conferences
    VEE '16: Proceedings of the12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
    March 2016
    186 pages
    ISBN:9781450339476
    DOI:10.1145/2892242
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 March 2016
Published in SIGPLAN Volume 51, Issue 7

Check for updates

Badges

  • Best Paper

Author Tags

  1. gpu virtualization
  2. heterogeneous system architecture (hsa)
  3. hsa virtualization
  4. kernel-based virtual machine (kvm)

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)23
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media