skip to main content
10.1145/2892242.2892246acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
research-article
Best Paper

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

Published:25 March 2016Publication 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/.Google ScholarGoogle Scholar
  2. Nvidia CUDA, http://www.nvidia.com/object/cuda_home_new.html.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Heterogeneous System Architecture (HSA), http://www.hsafoundation.com/Google ScholarGoogle Scholar
  5. AMD Kaveri, http://www.amd.com/en-us/products/processors/desktop/a-series-apu.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  7. AMD I/O Virtualization Technology (IOMMU) Specification, http://developer.amd.com/wordpress/media/2012/10/488821.pdf, 2012.Google ScholarGoogle Scholar
  8. Kernel Fusion Driver source code, https://github.com/HSAFoundation/HSA-Drivers-Linux-AMD.Google ScholarGoogle Scholar
  9. Rusty Russel. virtio: towards a de-facto standard for virtual I/O devices. In Operating Systems Review, 2008.Google ScholarGoogle Scholar
  10. AMD. AMD64 Virtualization Codenamed "Pacifica" Technology: Secure Virtual Machine Architecture Reference Man-ual, May 2005.Google ScholarGoogle Scholar
  11. IRQFD, https://lwn.net/Articles/329837/.Google ScholarGoogle Scholar
  12. Y. Dong, J. Dai, Z. Huang, H. Guan, K. Tian, Y. Jiang, To-wards high-quality I/O virtualization. SYSTOR 2009.Google ScholarGoogle Scholar
  13. AMD OpcnCL APP SDK, http://developer.amd.com/tools-and-sdks/opencl-zone/.Google ScholarGoogle Scholar
  14. Portable Computing Language (pocl) for HSA, http://pocl.sourceforge.net/docs/html/hsa.html.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  16. TIAN, K., DONG, Y., AND COWPERTHWAITE, D. A full gpu virtualization solution with mediated pass-through. In Proc. USENIX ATC (2014).Google ScholarGoogle Scholar
  17. NVIDIA. NVIDIA GRID VGX SOFTWARE. http://www.nvidia.com/object/grid-vgx-software.html, 2014.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. H. A. Lagar-Cavilla, N. Tolia, M. Satyanarayanan, and E. D. Lara. VMM-independent graics acceleration. In Proc. VEE (2007), pp. 33--43Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar

Index Terms

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

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        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

        Copyright © 2016 ACM

        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

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        VEE '16 Paper Acceptance Rate10of29submissions,34%Overall Acceptance Rate80of235submissions,34%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader