
在虚拟GPU领域的三大竞争对手,NVIDIA AMD和Intel,各自都有什么关键特性,他们都是如何虚拟GPU的呢?
首先声明这并不是一篇评测文章。三个平台的比较是希望大家在了解这个领域时能够更加便捷快速。
GPU的组成
在我们进入GPU之前,我们来讨论下我们所关心的这张卡上的部件,总的来说,流处理器是GPU上最大的部件,它将执行运算,在屏幕上画出模型以及3D图像。你有越多的处理器,你就能够做更多的处理,它们越快,你处理速度就更好。很大程度上,流处理器就是GPU。
流处理器并非只用于图形计算,你可能还听说过通用GPU。因为GPU包含很多流处理器,这些流处理器都是浮点处理器,它们能够同时执行并行计算操作。这一点上,厂商的做法区分为物理实现和虚拟实现。当你听到CUDA或者OpenCL时,就是说GPU的流处理器能够处理GPGPU任务,也就是能够通过CUDA或者OpenCL并行编程API访问。
这是传统的GPU负载,已经与我们无关了。
除了流处理器,GPU上还有视频解码器和编码器。总的来说,它们占据芯片相当小的一部分。具体如何适应取决于你所使用的应用或媒体播放器是否支持硬件加速编码、解码,GPU是否支持CODEC。
虚拟GPU的实现
总的来说,虚拟GPU有三种类型:API拦截、虚拟GPU、直通
API拦截
这是一种最古老的实现方法,工作在OpenGL和DirectX级。它通过一个API拦截命令,将命令发送给GPU,然后将结果返回用户。由于全部由软件实现,并没有体现任何GPU特性。考虑到所要支持的API,这也意味着软件能力会落后于GPU。
API拦截通常性能都不错,但是对中等到强3D应用的支持还不能很好的兼容,到现在它是唯一支持vMotion的方法。
虚拟GPU
这是如今桌面虚拟化领域最热的话题。虚拟GPU让用户直接访问GPU的一部分。相比API拦截更具优势,因为操作系统使用真正AMD、NVIDIA和Intel的驱动,这意味着应用能够使用本地图形调用而不是一个泛化的子集。
虚拟GPU相比API拦截性能更优。尽管它能够支持应用直接存取CPU,单用户只得到CPU的一部分空间,因此仍旧受限于特定情形。这就是说,它的应用兼容不错,但不支持vMotion。
直通
如果没记错的话,这种方法要比虚拟GPU更为长久,它直接将虚拟机与GPU相连。如果你的服务器中有两张卡,你可以将它们连到两台虚拟机,而其他人就没有资源了。这对于最高的工作负载来说非常好,因为虚拟机能够访问所有的GPU,并且其特性和应用兼容性都很好。
也就是说,直通是目前为止最昂贵的,除了最高的用户案例,再有就是GPGPU或者是对工作的奖励了!
GPU的类型
我们关注vGPU,因为这是今天桌面虚拟化最广泛关注的GPU技术。共有三家公司制造生产虚拟GPU:Intel(GVT-g)、AMD(MxGPU)和NVIDIA(vGPU)。他们都各有不同的称谓,但是真的只是产品名称不同而已。将它们区分开来还要看他们的虚拟化实现。
总结
当谈到虚拟GPU时总有太多的东西需要手机和总结。未来我们还将讨论哪一种GPU方法对于不同类型应用、性能数据、总体成本以及对DaaS提供商的选择具有意义。
(免责声明:本文来源于“TechTarget”,版权归原作者所有)


