VDI越来越热络,部署也越来越广泛,但有一个问题一直困扰着虚拟桌面:虚拟显卡的处理能力

这个困扰导致VDI曾经很长一段时间只能适用于一般的办公解决方案部署,符合不了对于高清/图形密集应用的VDI需求,因此虚拟化厂商一直都在努力想要解决这个问题,时至今日,在硬件厂商的配合下,曙光渐露。。。


VMware 虚拟显卡的发展历程:


1. 初代3D虚拟显卡: Software 3D

VDI部署在高性能较高的x86服务器之上,但无论性能多高,这些服务器默认都只带一块性能极其普通的、显存只有8MB or 16MB的板载显卡,靠这种显卡来负担起普通图形密集应用的需求,别说大量的虚拟桌面,连一个虚拟桌面都不可能。即使如此,VMware还是带来了Software 3D。

在当时硬件资源支持不上的情况下,想出办法通过软件来解决,Software 3D的基本原理就是将虚拟机对显卡的3D图形处理需求交由CPU来运算处理,即使3D处理能力仍然很低,但走出了从无到有的第一步。

Software 3D可以支持较低的DirectX和OpenGL的处理需求,例如1080P高清播放/Aero UI效果等。


wKiom1NHtDXSR8-aAAKZfVuhhxI291.jpg


wKioL1NHoJjgqnqGAAKLy6Sp-qw867.jpg



2. 进阶3D虚拟显卡:vSGA (Virtual Shared Graphics Acceleration)

vSGA 可以通过安装在每台ESXi主机上的专业物理GPU来为虚拟桌面提供硬件加速3D图形的能力。

vSGA是View 5.2开始引入的技术,提供了较高性能的图形处理能力,由于与Software 3D同样使用VMware SVGA 3D驱动,得以保持最大限度的兼容性和可迁移性,vSGA支持DirectX v9和OpenGL 2.1的应用需求,开始能够承担一些轻量级的3D和CAD工作负载。

vSGA对于需要比普通显卡需求更高一级的VDI用户是一个很好的解决方案。


wKioL1NHtufjXk4lAAHUjzIqhX4183.jpgwKioL1NHtw_wR3DoAANjCm2Och8939.jpg


wKiom1NHt2ThToK2AAHjvPdpMx4390.jpg


vSGA支持的物理GPU有:

AMD

FirePro S7000 /S9000/S10000

FirePro v7800P/V9800P

NVIDIA

Nvidia GRID K1

NvidiaGRID K2

Nvidia Quadro 4000

Nvidia Quadro 5000

Nvidia Quadro 6000

Nvidia Tesla M2070Q


3. 情义难两全的vDGA (Virtual Direct Graphics Acceleration)

vDGA就将vSphere中的硬件直通(Direct Pass Through)技术引入到VDI桌面中,由View 5.3开始正式提供支持。

vDGA通过为每个虚拟桌面配备一个专用的专业物理GPU,向VDI用户提供了真正的高端工作站级3D图形处理性能。

但vDGA的优缺点也非常明显,优点:实现真正的高端图形工作站级的虚拟桌面 。 缺点:由于vDGA需要将虚拟桌面与专用物理GPU进行1比1配比,因此成本较高昂,受物理限制能够实现此类虚拟桌面的数量非常有限,而且由于使用了DirectPath I / O分配绑定,因此vDGA虚拟桌面不能支持 vMotion、DRS和 HA等虚拟化特性。


wKioL1NHwYqCEzMIAAHQqYL5irg475.jpg

vDGA支持的物理GPU有:

AMD

FirePro S7000 /S9000/S10000

FirePro v7800P/V9800P

NVIDIA

Nvidia GRID K1

Nvidia GRID K2

Nvidia Quadro K2000

Nvidia Quadro K4000

Nvidia Quadro K5000

Nvidia Quadro K6000

Nvidia Quadro 1000M

Nvidia Quadro 2000

Nvidia Quadro 3000M

Nvidia Quadro 4000

Nvidia Quadro 5000

Nvidia Quadro 6000

Nvidia Tesla M2070Q



三种虚拟显卡技术的对比与总结:


wKioL1NHwvnzIXjpAAJKgeiX4Iw853.jpg



Software  3D renderingvSGAvDGA
使用情况一般任务工作者知识工作者/高级用户图型工作站用户
实现模式软件共享硬件共享专用硬件
特定硬件不需要需要需要
桌面密度非常高
DirectX有限支持支持 (9 only)支持 (9, 10, 11)
OpenGL有限支持支持( (2.1 only)支持 (2.1, 3.x, 4.1x)
CUDA不支持不支持支持
Video encode不支持不支持支持
DriverVMware  SVGA 3D graphics driverVMware  SVGA 3D graphics driverSpecific  Nvidia client driver
vMotion支持支持不支持
HA支持支持不支持
DRS支持支持不支持
Linked clones支持支持不支持



那目前到底有没有一种能兼顾vSGA和vDGA两者优势的虚拟显卡技术呢?

答案是:已经存在,它就是 NVIDIA GRID VIRTUAL GPU (vGPU)  NVIDIA网格虚拟GPU技术

NVIDIA GRID vGPU是业界最先进的虚拟GPU硬件加速技术,可以在不影响高端图形体验的情况下,在多个虚拟桌面之间真正地实现共享GPU硬件加速。


wKiom1NH29exfIgLAAH7wMDDZjs217.jpg


wKiom1NH2_ThNKNtAABm9jEyW70621.jpg


使用NVIDIA GRID vGPU技术,每个物理GPU可以向多达8个用户配置GPU共享。

Nvidia GRID K1 GPU加速卡集成了4个物理GPU,因此一张K1卡最多可以为32个虚拟桌面提供GPU硬件加速。

Nvidia GRID K2 GPU加速卡集成了2个物理GPU,因此一张K2卡最多可以为16个虚拟桌面提供GPU硬件加速。


可惜的是目前只有Citirx的XenServer / Xendesktop / Xenapp能够支持NVIDIA GRID vGPU技术,

而VMware据闻要等到2014年底才提供能够支持NVIDIA GRID vGPU的技术预览版本,等到2015年上半年才能提供正式支持的版本,目前看来VMware在这方面大大落后于主要竞争对手啊,希望正式支持版本发布的时候能为大家带来惊喜吧。


最后,附上一张VDI厂商的虚拟显卡实现情况表给大家参考,从表中可以看出目前citrix在虚拟显卡技术方面确实走在了领先的位置:wKiom1NH4D6DRPsvAAPJoaI5qr8689.jpg