穷人的虚拟 GPU,使用多用户 OS + GPU,而不是专门的 vGPU 卡?

穷人的虚拟 GPU,使用多用户 OS + GPU,而不是专门的 vGPU 卡?

我曾在某处的白皮书中读到过有关此系统的信息,但不记得在哪里,也不记得任何细节,而且从那以后就再也没有找到它。

该评论涉及使用 1 型(裸机)虚拟机管理程序进行 GPU 虚拟化。它指出,某些系统使用了与 vGPU 硬件不同的路径。它不需要可以提供原生 vGPU 或共享 GPU 的卡,而是使用了不同的方法。从内存中,安装了一个操作系统,已经能够将多个桌面用户(建议使用 Windows Server 2016)作为一个虚拟机来支持,然后使用虚拟机管理程序+服务器虚拟机中的某种中介驱动程序或垫片,其他虚拟机可以重定向只是他们的 GPU 调用到该虚拟机,加速他们的 GPU 需求。

区别在正常的共享用户环境 (Windows Server/RDS) 中,多用户操作系统托管和管理用户会话+进程。如前所述,在此设计中,Windows Server VM 处理的唯一事情是虚拟机管理程序发起的请求,以便根据需要设置有效的“空”用户帐户(以利用 Windows Server 固有的多用户图形共享),以及代表 VM 从虚拟机管理程序中继的 GPU 调用,这些调用以来自这些用户的图形调用的形式呈现,其结果可能通过虚拟机管理程序转发回原始 VM,或者甚至可能通过 RDS 定向到 VM 操作员 - 我不确定,这部分没有描述。

(除此之外,Windows Server VM 的其他功能都根本没有用到。因此,它的作用听起来更像是被用来创建一个 GPU 共享设备,能够通过 Windows 原生的完整多用户 GPU 共享将单个用户 GPU“转换”为多用户 GPU;它并没有被用作实际的“服务器操作系统”。)

总体效益是为了提供听起来像“穷人的 vGPU”的东西,利用 Windows Server 中内置的现有 GPU 共享机制 - 一个可以使用 Windows Server 支持的几乎任何像样的消费级显卡并在其他虚拟机之间共享/虚拟化它的系统,而不需要一个内置有 sGPU/vGPU 的专业高端卡。

这种方法听起来也不太容易受到高昂的许可/硬件成本(AMD/nVidia vGPU)、EOL 驱动程序(nVidia K1/K2)、由于包含 GPU 核心(Iris Pro)而导致的主核心数量有限或图形 API 范围缩小的影响,而且还可以很好地适应未来发展。因此,对于小型家庭 VM 服务器/家庭实验室来说,这种方法听起来非常理想。

有人知道这指的是什么吗?或者像这样的系统?我想可能是在我研究 Xen/Citrix 的时候,但我也找不到具体的参考资料。

答案1

与供应商交谈,找到这份难以捉摸的文档,了解虚拟化 GPU 架构的真实面貌。Microsoft、Citrix、虚拟机管理程序、GPU。做好研究,如果 vGPU 现在对于您的测试实验室来说太贵了,请等到您有用例和预算。

我提到所有这些供应商是因为 vGPU 很可能昂贵且复杂。


现在对 Windows Server 上的多用户图形进行简要调查,从最少使用到最多使用图形硬件。

Windows 高级光栅化平台 (WARP)是一款软件光栅化器,无需 GPU 即可通过 Direct3D 提供图形。这是后备软件渲染器。

在半虚拟化类别中,有 Microsoft RemoteFX vGPU 和 VMware Virtual Shared Graphics Acceleration (vSGA)。我说的是由于两者都没有得到进一步开发,他们厌倦了维护 API 垫片

据称 Windows 上的 paravirt 将被标记GPU-PV 和 Windows 将把分区理解为 GPU-P。目前我找不到很多关于此的文档。

如果您获得受支持的 GPU 及其驱动程序,显卡供应商有自己的共享选项。检查虚拟机管理程序特定的 HCL,XenServer 明确指出 vGPU 仅适用于某些 Nvidia Tesla 型号. 在某些情况下,该技术需要为每个用户单独支付许可费。

最后直接设备分配 (DDA),将硬件专用于虚拟机。成本高昂,并且极大地增加了安全性、高可用性和实时迁移的复杂性。

相关内容