Abstract

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.

Highlights

  • Introduction & BackgroundSince the start of 21st century, High Processing Computing (HPC) programmers and researchers have embraced a new computing model combining two architectures: (i) multi-core processors with powerful and generalpurpose cores, and (ii) many-core application accelerators

  • Since the Graphic Processing Units (GPU) virtualization efficiency depends on communication between guest Virtual Machine (VM) and GPU host, to gain maximum performance, GVirtuS utilize communication channel offered by hypervisors i.e. VMSocket is used for Kernal-based virtual machine (KVM), XenLoop [37] for Xen and VMCI [38] for VMware

  • It introduced the concept of an accelerator virtual central processing unit (CPU) which is similar to virtual CPUs, and it manifests the state of a guest executing calls over general-purpose GPU (GPGPU). aVCPU is first-class schedulable component that have call buffer at guest VM, polling process on GPU host, and runtime application programming interface (API) for compute unified device architecture (CUDA)

Read more

Summary

Introduction

Introduction & BackgroundSince the start of 21st century, HPC programmers and researchers have embraced a new computing model combining two architectures: (i) multi-core processors with powerful and generalpurpose cores, and (ii) many-core application accelerators. Since launch of NVIDIA’s CUDA, GPUs are being used widely as GPGPU to accelerate applications as CUDA allows programmers to exploit GPU’s power for general-purpose computations, which increased the need of GPGPU’s virtualization to be used in cloud environment and sharing between VMs [3]. It use shared memory concept to share address spaces of application on guest VM & host GPU, which eliminates the need to copy data between user and kernel spaces, that boost the processing performance.

Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call