很多行业都需要用到 3D 设计,如建筑、汽车、船舶、飞机、动漫设计等,3D 设计需要消耗大量的运算资源,应用 GPU (Graphics Processing Unit) 可以大大加速 3D 渲染的速度,提高 3D 设计的效率。

3D 设计选用桌面虚拟化方案除了具有 VDI 的常见好处之外,主要的驱动力来自于 3D 设计中的一些特殊需求:

  • GPU 可以大大提高三维模型的渲染速度,提高工作效率,但是成本比较高,采用 vGPU 方案可以大幅降低成本;
  • 3D设计的数据文件都很大,在工作站之间传递文件比较费时,完全放在后台服务器上可以提高数据共享的访问效率;

各种 GPU 技术

首先来科普一下桌面虚拟化环境下各种 GPU 技术:

1、SOFTWARE 3D

就是完全用软件来模拟 GPU 的功能,对于 3D 设计软件来说还是可以在虚机中调用 3D 图形驱动程序来实现各种 3D 运算,但这些运算都是由宿主机的 CPU 来完成的,当然速度比 GPU 差远了,而且会占用 CPU 资源。这种方式只是作为一种权宜之计,作为 GPU 资源不够(或根本没有)时的一种补充,但对用户来说好歹可以在虚拟桌面中运行那些 3D 设计软件了。

2、VSGA

vSGA (Virtual Shared Graphics Acceleration) 是可以把物理 GPU 分享给多个用户的,每个虚拟桌面中的 SVGA 驱动会通过安装在 ESXi 中的 GPU 驱动程序来调用 GPU 的运算功能,但这种共享通过 Hypervisor 中的驱动程序转了一道手,效率比起下面介绍的 vGPU 要低一些。
在这里插入图片描述

3、VDGA

vDGA (Virtual Dedicated Graphics Acceleration) 也称之为直通 (Pass Through) 模式,物理 GPU 被分配给一个特定的虚拟桌面,是供一个用户专用的,特别适用于一些重度使用 GPU 资源的用户,如动漫制作、石油勘探等领域。vDGA 是所有 GPU 模式中性能最高的,当然成本也最贵,因为 GPU 是被一个用户独占使用的。
在这里插入图片描述

4、VGPU

vGPU (Virtualized GPU) 技术把一块物理 GPU 虚拟化成几块虚拟的 vGPU,每个虚拟桌面都有一块 vGPU 卡,所有的 3D 图形运算请求都是交给 vGPU 来完成,vGPU 直接跟物理 GPU 通讯完成相关任务,所以这种方式要比上面提到的 vSGA 模式效率高很多。vGPU 跟 vSGA 相比,除了性能更高,也支持更新版本的 DirectX 和 OpenGL;跟 vDGA 相比,vGPU 的均摊使用成本要低很多。
在这里插入图片描述

Horizon 7 中新增的 GPU 方案

Horizon 6 中支持 vDGA 技术的 GPU 方案有 NVIDIA 和 AMD 两家,支持 vGPU 的就只有 NVIDIA 一家了。在此基础上,Horizon 7 中又增加了两种 GPU 方案:Intel vDGA 和 AMD GPU 虚拟化。

1、INTEL VDGA

Horizon 7 开始支持 Intel CPU 的内置显卡,具体支持 Broadwell 和 Haswell 系列 CPU,利用 vDGA 直通技术来使用服务器 CPU 内置的 GPU 处理器,同时支持虚拟桌面和托管应用两种模式。

2、AMD GPU 虚拟化

AMD 采用了 SR-IOV 技术来支持 GPU 的虚拟化。SR-IOV 叫作单根虚拟化(Single Root I/O Virtualization),是 Intel 从硬件上支持虚拟化的技术,Intel 在 CPU 和PCI 总线上提供了三层虚拟化技术:

  • 基于处理器的虚拟化技术VT-x
  • 基于PCI总线实现的IO虚拟化技术VT-d
  • 基于网络的虚拟化技术VT-c

SR-IOV 就是应用 VT-d 来实现硬件虚拟化的一种技术。大家见得比较多的就是各种支持 SR-IOV 的网卡,能把一个网口虚拟化成几个网口,分配给多个虚拟机使用。

这次,AMD 通过 SR-IOV 技术来把 GPU 虚拟化了,并且用到了 AMD 的多用户 GPU (Multiuser GPU) 技术。 AMD 宣布最高可支持15个用户(为什么是15个,而不是16个?VMware ESXi 6.0的系统是15个,而VMware ESXi 6.5的系统中是16个),并且支持 OCL 2.0、OpenGL 4.4 和 DirectX 12 这些标准。

各种方案的优缺点

GPU方案 处理能力 用户数 成本
SOFTWARE 3D -
VSGA 较高 - GPU成本
VDGA 1用户/1GPU GPU成本
VGPU 多用户/1GPU GPU+授权/年
AMD GPU 15-16用户/1GPU GPU成本

这里以普通办公开发环境为例,日常GPU主要处理的是简单的图形加速问题。通过以上的对比,可以选择的方案是VGPU和AMDGPU,但是VGPU除了硬件成本外,还需要额外的授权并且授权是每年收费的。所以从成本上来讲AMD GPU是最适合的,那么下面就以AMD GPU来从零搭建一套云桌面系统。

通过查询VMware兼容性列表可以知道,支持AMD GPU的系统只有ESXi 6.5的系统且同时支持VDI,如下图所示:
在这里插入图片描述

同时通过ADM GPU官方文档,我们选择的GPU型号为:AMD FirePro S7150X2。这里需要注意的是在选择GPU时,还需要考虑服务器安装和电源的问题,空间足够的话可以考虑AMD FirePro S7150X2,空间不足或者电源功率问题可以考虑AMD FirePro S7150,前者需要接电源,后者无需接电源。我这里是安装在Dell R740服务器上,如下图所示:
在这里插入图片描述