当前位置:首页 > 虚拟化 > 正文

gpu虚拟化授权(gpu虚拟化解决方案)


一、GPU虚拟化上一篇文章讲解了计算机虚拟化的CPU虚拟化和内存虚拟化。从某种意义上来说,GPU也用于计算。但相比CPU用于通用计算的应用,GPU主要用于图形图像要求较高的场景,例如高清视频编解码、3D游戏等。物理模拟等本文将带您了解GPU虚拟化技术。
GPU技术在芯片行业的发展速度与CPU技术一样快,越来越多的用户开始实施虚拟桌面解决方案。因此,GPU技术与虚拟化技术的融合成为近年来虚拟化行业的热门技术话题。这样,将大大降低用户的图形图像成本,提高数据处理效率和数据安全性。所谓GPU虚拟化,就是将GPU卡的算力划分为多个逻辑上虚拟的GPU,即vGPU,并将GPU算力分配给vGPU单元。单个GPU卡可以分配给vGPU单元中的多个虚拟机,允许虚拟机运行3D软件、播放高清视频等,大大提高用户体验。
目前GPU虚拟化主要有以下技术:
DeviceSimulation
APIForwarding
GPUPass-Through
FullGPUView
设备模拟直接将设备分配给指定的虚拟机。模拟是使用类似于CPU虚拟化中使用的二进制转换方法来执行的。然而,与CPU相比,GPU具有复杂的特性,并且不同设备供应商之间的GPU规格差异很大。GPU资源难以划分,仿真效率低。因此,典型的QEMU软件仅模拟VGA设备的基本功能。它通过半虚拟化图像缓冲区来加速对2D图像的特定访问,这不能满足高效和共享虚拟化的要求。由于设备模拟没有允许虚拟机访问图形硬件的特定机制,因此这些虚拟显示设备相应地使用CPU和内存来处理图形数据。
API转发将OpenGL等图形指令从Guest虚拟机转发到VMM虚拟机监视器,实现虚拟化环境中的GPU共享。这种方法目前广泛应用于VMWare、VirutalBox等软件中。基于Chromium的VMGL和Oracle的VirtualBox,使用自定义的OpenGL库替换原来的OpenGL库,将虚拟机中的OpenGL指令转发到虚拟机监视器执行。针对GPU在通用计算中的应用,rCUDA、vCUDA、gVirtuS都利用CUDA指令转发和OpenGL来解决通用GPU计算程序在虚拟化环境中运行的问题。但是API转发受到平台的限制。例如,Windows使用的接口是DirectX,它与OpenGL或CUDA不兼容。因此,Linux主机无法执行Windows客户端传递的DirectX命令。同时,API转发会导致大量的上下文切换,造成显着的性能损失。
显卡直通,也叫显卡直通,是指绕过虚拟机管理系统,将GPU分配给特定的虚拟机。只有虚拟机才有权使用GPU,这种独特的设备分配方式保留了GPU的完整性和独立性,接近非虚拟化条件下的性能,可用于通用计算。但显卡透传需要利用显卡的一些特殊细节,兼容性较差。它只能在某些GPU设备上使用。同时GPU透明广播只能将GPU分配给一台虚拟机,不能在多台虚拟机之间共享。其他虚拟机无法使用GPU提供的计算能力。由于图形直通实际上使用本机客户操作系统驱动程序和硬件,因此它缺乏监视和维护GPU运行状况所需的中间层,并且不支持实时迁移等高级虚拟机功能。
显卡虚拟化就是将你的显卡进行拆分,并将这些显卡时隙分配给虚拟机使用的过程。由于支持显卡虚拟化的显卡一般可以根据需要划分为不同规格的时隙,从而可以分配给多个虚拟机使用。GPU全虚拟化允许虚拟机直接访问性能敏感资源(例如GPU访问显存),从本质上解决了透传与共享之间的矛盾。例如SR-IOV技术,类似于IO虚拟化,通过影子页表隔离每个虚拟GPU的访问空间,使得大部分命令的执行不受虚拟机监视器的干扰,从而虚拟GPU可以接近优化条件下的非虚拟性能。
不同的显卡厂商实现全虚拟化的方式不同。例如,AMD在其最新的GPU上使用SR-IOV(单根虚拟化)技术,Intel使用KVMGT技术来实现,Nvidia使用GPUvm/GRID技术来实现;


二、虚拟化/超融合中的GPU直通与vGPU

虚拟化与超融合的GPU革命:直通与vGPU之战


随着技术的快速发展,GPU已经从图形处理专属领域转向AI和大数据领域,以及区块链计算的基础知识。在现代企业数据中心中,GPU的并行计算能力在图像处理、AI训练和推理,甚至高性能计算(HPC)任务中发挥着关键作用。例如,NVIDIA的CUDA平台提供了惊人的性能改进,包括:Xeon8180不带GPU。在STAC-2Benchmark中,该服务器的性能仅比配备GPU的服务器快1/8.9倍,并且低延迟且节能,挑战传统CPU的地位。


在虚拟化/超融合领域,GPU使用策略主要可以分为两种模式:GPU直通和vGPU。


GPU直通(PCIePass-through):该方法性能损失很小(小于5%),但不支持多个虚拟机之间共享,因此可能需要GPU。不支持在线迁移,适用于性能要求非常高的场景。
vGPU(虚拟GPU):利用NVIDIA的Timeslicing、MIG等GPU资源分割技术,允许多个虚拟机并行运行,但增加了管理复杂度,需要分配显存。NVIDIA的vGPU系列A、B、C和Q专为各种工作负载而设计。例如,A系列针对vCSV进行了优化,但实时迁移存在可能影响服务连续性的限制。

例如,NVIDIA的A40提供了丰富的vGPU解决方案,可以适应各种用户需求,包括虚拟工作站、AI培训、虚拟桌面和虚拟应用程序。使用vGPU需要NVIDIAGRID软件许可证。硬件要求包括支持IOMMU的CPU(例如AMD、Intel或海光/鲲鹏SMMU)和可能的SR-IOV功能。选择正确的vGPU系列(A系列与vCS、C系列与vPC等)很重要,但必须仔细解决实时迁移限制。


许可证和系列匹配:
A系列:vCS
C系列:vPC
B系列:vWS
Q系列、C系列、B系列:vWS
硬件要求:
支持IOMMU的CPU
开启SR-IOV可能需要
限制:
实时迁移限制
直通GPU和vGPU虚拟机的迁移导致服务中断

SMTXOS5.1更新引入了GPU直通和vGPU支持,特别适合实时渲染和AI训练,用户可以通过CloudTower轻松配置。目前支持的NVIDIA显卡包括T4、V100和A30,vGPU分割模式根据GPU型号的具体特性而有所不同。有关NVIDIA显卡的vGPU支持的更多信息,请参阅官方文档。


详细了解CPU和GPU之间的竞争,以及如何在虚拟化环境中明智地选择和管理GPU资源,为您的企业提供前所未有的计算性能。有关更多信息,请参阅英特尔比较、NVIDIA详细技术指南TeslaV100应用程序性能指南和vGPU用户手册虚拟GPU类型参考。


三、显卡带gpu虚拟化授权使虚拟机能够使用硬件显卡的加速功能。显卡穿透,也叫显卡直通,是指绕过虚拟机管理系统,将GPU分配给特定的虚拟机。仅允许虚拟机使用GPU。这种独特的设备分配方法保留了GPU性能的完整性,接近于非虚拟化条件下的性能。