
In June and July, almost twenty companies reached out to us, interested in virtual GPU capabilities. One of the major subsidiaries of Sberbank is already using Cloud4Y's 'Graphics', but overall, this service is not very popular. So, this level of interest was quite encouraging for us. Seeing the growing interest in the technology, we decided to provide a bit more detail about vGPU.
The 'data lakes' generated from scientific experiments and research, Deep Learning, and other AI work, along with the modeling of large and complex objects—all this requires high-performance hardware. It's great if such resources are available to quickly solve current tasks. However, due to the increasing computational complexity of these tasks (particularly concerning business analytics, rendering, DL algorithms, and frameworks), the processing power of consumer and even server CPUs is becoming increasingly inadequate.
The solution was found in the use of GPU computing. This graphics acceleration technology allows the resources of a single graphics processor to be shared among multiple virtual machines. GPUs were originally designed for graphics processing, and thus consist of thousands of smaller cores used for efficiently handling parallel tasks. Meanwhile, the GPU performs some of the most resource-intensive computations, while the CPU manages the rest.

GPU computing was pioneered by back in 2007. Today, this technology has reached a new level and is being applied in the data centers of major enterprises and research laboratories. However, the traditional approach has one significant downside: purchasing physical equipment can be quite expensive. When considering the rapid obsolescence of hardware, the situation becomes even more concerning.
The solution to this problem is the technology of virtual graphics processors: vGPU. With it, users can remotely run heavy applications like AutoCAD, 3DS Max, Maya, and Sony Vegas Pro. Virtualization has quickly captured its share of the market. After all, what Russian data scientist doesn't appreciate fast computations on NVidia Tesla GPUs?
It is worth noting that prior to the emergence of vGPU, other methods were used to accelerate graphics processing: Virtual Shared Graphics Acceleration (vSGA) and Virtual Dedicated Graphics Acceleration (vDGA). The vGPU solution combines the best of both technologies. As with vSGA, in a vGPU environment, multiple virtual desktops share the GPU and RAM, but each VM sends commands directly to the GPU, as in the case of vDGA.
Why do we need vGPU at all?
Cloud computing using vGPU enables companies to tackle tasks that were previously impossible to solve. Or possible, but required an unrealistic amount of resources. One modern GPU server can replace up to 100 typical CPUs. There are also other, . This is no joke: Nvidia solutions process petabytes of data several times faster than classic CPU servers. Google Cloud offers virtual machines with GPUs that deliver up to 960 teraflops.
Many specialists need powerful devices capable of performing parallel computations. Architects and engineers use vGPU technology in design systems (the same Autodesk, for example). Designers work with digital photo and video content (Photoshop, CorelDraw). with graphics processors are required by medical institutions that accumulate and analyze data about patients and diseases. It works with GPUs and "».
Think that's all? Not at all. The technology is also used for automated , and for , , modeling and . And there's also a great in the Unity3D environment from .
Despite this, vGPU-based solutions have not yet gained widespread adoption worldwide. In 2018, NetApp conducted a among companies using graphics processors. The results showed that 60% of organizations still operate on their own IT infrastructure. Only 23% use the "Cloud." In Russia, the penetration of cloud computing technology is less significant. However, thanks to new hardware and software solutions, the number of companies using virtual machines with GPUs is steadily increasing.
Solutions for vGPU

Many companies are engaged in the development of virtualization technologies for graphics accelerators, but there are undisputed leaders among them.
One of the most authoritative developers of cloud solutions, the company VMware offers companies a hypervisor , under which the performance of virtual graphics processors is comparable to that of bare-metal implementations. In a recent update, the developer disabled the vMotion load balancer and added support for DirectPath I/O technology, which connects the CUDA driver directly to the VM, bypassing the hypervisor and accelerating data transmission.
Nvidia is also striving to meet market expectations, and to this end has released the open-source platform . The solution combines several libraries for working with CUDA architecture, simplifying data handling during neural network training and allowing automation with Python code. Using Rapids with the XGBoost machine learning algorithm provides a 50-fold increase in performance compared to CPU-based systems.
There is also a technology from AMD. The platform is called . It utilizes SR-IOV technology, which divides the hardware capabilities of a physical device among multiple virtual machines. The resources of one accelerator can be shared among sixteen users while maintaining equal performance for each. This accelerates data transfer between cloud CPUs and GPUs. A special C++ dialect called HIP is also used, which simplifies the execution of mathematical operations on the GPU.
Intel builds its technology based on the cross-platform hypervisor XenServer 7, which received FSTEC compliance certification in 2017. The solution integrates the work of the standard GPU driver and the virtual machine. In other words, the virtual machine can the operation of heavy applications on devices with a large number of users (several hundred).
Market Prospects

Independent analysts believe that sales of solutions for HPC systems will reach $45 billion by 2022. Platform developers also expect an increase in demand for high-performance systems. This expectation is bolstered by the popularity of Big Data and the often arising need to process large volumes of data.
The increasing demand for vGPU may also stimulate the development of hybrid technologies that combine GPU and CPU in one device. In such integrated solutions, the two types of cores use shared cache, which speeds up data transfer between graphics and traditional processors.
Hybrids fundamentally change the approach to virtualization and the distribution of virtual resources within data centers. Open source solutions like ROCm and Rapids allow data center operators to utilize computational resources more efficiently, boosting equipment performance.
There is another opinion. For example, that virtual GPUs will be displaced by optical chips with photon data coding. Such solutions already exist and are used for machine learning. Moreover, they seem than ordinary GPUs. However, the technology is still immature.
What conclusion can be drawn? Despite the potential emergence of alternatives, vGPU is a quite promising direction capable of solving a large number of tasks. But it is not suitable for everyone. So you can place the comma in the heading yourself.
P.S.
Subscribe to our -channel so you won’t miss another article! We write no more than twice a week and only when necessary.
Only registered users can participate in the survey. , please.
Are you using vGPU?
Yes, virtual resources are often required.
No, and we are unlikely to plan for it.
23 users voted. 11 users abstained.
Source: habr.com
