在讨论这个问题之前,我们首先要先明确一下 VGPU 完全分配模式和 GPU 透传的概念
我们知道 VGPU 就是按照一定的切割比例对物理 GPU 的切割,我们在 M 系列的 GPU 上常
见的有 1:4,1:8 的切割模式,也就是把一个物理 GPU 切割成 4 份和 8 份。其实 VGPU 还
有一种比较极端的切割方式,也就是 1:1 切割。 换句话说就是把一个完整的 GPU 通过
GRID 技术进行进行 1:1 的分配。这种模式和在 GPU 透传的技术非常相似,但又有一些技
术上的差异,接下来我们来讨论这两种模式有哪些差异。在讨论之前,我们也需要再重温
下 GPU 透传的概念,其实 GPU 透传是基于 Intel VT-D 技术实现的对底层 PCI 设备映射到虚
拟机的一种技术,由于多数 GPU 卡是基于 PCI 总线的,所以很多服务器虚拟化平台
(VMware vSphere、Microsoft Hyper-v、Citrix XenServer 也包括开源 Xen、KVM 以及基于
KVM 的商业版本)很早就对 GPU 透传的技术进行了支持。所以在 2013 年底 VGPU 解决方
案发布之前,多数的虚拟机的 GPU 解决方式基本上是采用 GPU 透传的解决方案。
通过上面这张图,我们可以清晰的看到 VGPU 的解决方案相比 GPU 透传(Pass-through)
解决方案,在显卡驱动和物理 GPU 之间的服务器虚拟化层多了 NVIDIA VGPU Manger 组
件,VGPU Manager 组件是实现 VGPU 功能的核心组件。
接下来,我们再讨论一个被经常问到的问题,在基于 M6,10 以及 M60 的 GPU 进行透传是
否需要购买 VGPU 的 License。
答案是肯定的, 我们判断 GPU 是否需要 License,是判断其使用的驱动是否是 GRID 驱动,
而基于 M6,10 以及 M60 的透传解决方案,也需要 GRID NVIDIA 的显卡驱动,所以也是需要
GRID License 的。
接下来我们来看官方对 VGPU 完全分配模式和 GPU 透传的说法:
从官方的角度来说,在绝大多数场景下两种解决方案对于用户来说没有特别大的差别。但
是在一些极端场景(比如性能测试),由于 GPU 透传解决方案不会受到 VGPU Manager 的
控制,所以在性能测试过程中可以达到很高的显示帧率,在这种情况下会比 VGPU 的性能
得分更高。而 VGPU 解决方案为了多用户更加公平的分享 GPU 的资源,所以利用了 FRL
(Frame Rate Limiter)的功能对帧率进行控制,每用户最大可用帧率为 60 帧每秒。如果我们
在性能测试的场景,可用把 FRL 限制禁用,从而可以测试出真实的硬件性能,但是生产环
境不建议禁用 FRL,因为在绝大多数场景,每秒 60 帧已经完全可用满足要求,过高的帧率
反而会导致资源的浪费。
此外由于 VGPU 通过虚拟化层对硬件信息进行了隔离,也为后续的虚拟化高级功能奠定基
础,比如 Motion with VGPU 等等。如果采用 GPU 透传的方式,完全和底层的 PCI 总线捆
绑,很难实现虚拟化的一些高端功能。
NVIDIA SA: Zhang Jie
2017-07-10
针对此文有任何疑问和建议欢迎发送邮件到 jiez@nvidia.com