虚拟化桌面3D虚拟化 GPU技术详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VDI 桌面3D虚拟化技术详解

目录

一.3D虚拟化技术透析及竞争分析 (2)

1名词解释 (2)

2不同技术的适用场景分析 (2)

2.1sVGA的原理:VMware设计的虚拟的WDDM驱动程序 (3)

2.2vSGA的原理:多个虚拟机均分安装在物理服务器上的显卡资源 (3)

2.3vDGA的原理:为每个虚拟机分配独立的安装在物理服务器上的物理显卡 (6)

2.4GPUPass-through的原理:为每个虚拟机分配独立的安装在物理服务器上的物理

显卡 (8)

2.5SharedGPU的原理:将GPU卡透传给Hypervisor之上的XenApp平台 (8)

2.6vGPU技术出场:将GPU卡资源切片分给Hypervisor之上运行的VM (12)

3竞争分析 (14)

二、vGPU技术详解及配置要求 (16)

1vGPU的实现条件 (16)

1.1 Citrix组件包括如下: (16)

1.2NVidia组件包括如下: (17)

1.3硬件使用需求: (18)

GRIDK1 (18)

GRIDK (18)

1.4操作系统支持: (19)

2 vGPU相关文档 (19)

3 NVidiaKeplerGRID卡支持的vGPU数量和适用场景 (19)

4 vGPU配置步骤 (21)

5 vGPU配置注意事项 (22)

三、Citrix3D解决方案一览 (22)

1客户群体分类 (23)

2不同使用者对应3D处理技术 (24)

2.1图形工作站级别用户 (25)

2.2中度图形用户对应的3D虚拟化技术 (28)

2.3知识型用户对应的3D虚拟化技术 (30)

四、Citrix3D技术StepbyStep配置指导手册 (31)

一.3D虚拟化技术透析及竞争分析

sVGA、vSGA、vDGA、vGPU、GPUPass-through,的含义。

1名词解释

●sVGA:VMware公司技术缩写,意思是:软件3D模拟渲染技术;

●vSGA:VMware公司技术缩写,意思是:虚拟共享图形加速技术

●vDGA:VMware公司技术缩写,意思是:虚拟专用图形加速技术

●GPUPass-through:Citrix公司技术缩写,意思是:GPU透传技术

●SharedGPU:Citrix公司技术缩写,意思是:GPU共享技术;

●vGPU:业内统一术语,意思是:以类似于服务器虚拟化上将CPU虚拟化的技

术,将GPU卡虚拟化后,提供给虚拟机使用。

目前,Citrix公司和NVIDIA公司合作,开发出了业界首个vGPU技术!

2不同技术的适用场景分析

2.1sVGA的原理:VMware设计的虚拟的WDDM驱动程序(WindowsDisplayDriverModel)1.1版本兼容驱动。原理图如下:

简单地说,就是通过软件模拟出软件GPU卡的能力,实际上还是消耗CPU的负荷,只能;目前sVGA技术只能支持到DirectX9.0和OpenGL2.1的渲染技术,利用服务器内存模拟技术最大只能虚拟512M显存。

这种技术只适用于改善普通用户桌面使用体验。至于渲染技术只支持DirectX9.0和OpenGL2.1有什么问题,请参见2.5章节的解释。

2.2vSGA的原理:多个虚拟机均分安装在物理服务器上的显卡资源

原理图如下:

事实上,vSGA的工作原理上是基于API的共享,即用于欺骗应用程序API的虚拟显卡驱动程序安装于guestOS中并运行于内核模式。这个vGPUDriverAPI事实上功能分为前向接口和后向接口两个功能,他们的功能分别是:

1)FrontEnd(前向接口)功能:

●GPU操作的API拦截,包括:

⏹parameterspassed传递过来的GPU调用参数

⏹ordersemantics传递过来的GPU调用语义

●包装以上的函数调用,并将数据传给后向接口

●终结虚拟仿真的显卡驱动的GPU调用,并提供向真实显卡的互操作和执行结

2)BackEnd(后向接口)功能:

●负责将前向接口传来的数据交给真实的GPUdriver进行处理

●解包前向接口传来的函数调用

●映射内存指针

●执行真实的GPU操作

●返回执行结果

●将执行结果返回前向接口

下图就是这个API的原理示意图:

好吧,按照VMware的说法,这种技术是用户共享GPU处理能力,貌似确实实现了类似vGPU的能力,但是事实如此吗?

我们上面分析了vSGA的实际工作原理,了解到这种技术实际上是欺骗应用程序API的虚拟显卡驱动程序。那么结果也就一目了然了,做过图形设计的码农们应该更清楚:

●“APIRemoting”看似很简单,但它的处理是极其复杂,需要消耗大量的额外资源

来做驱动的模拟仿真、API截获、API传递、API队列等待、API真实驱动处理、

结果回传等多种复杂的软件计算过程

●虚拟显卡驱动的设计需要对所支持的所有GPU的API进行仿真,但行业标准的

API规范也在不断改进和更新,这种设计需要不断持续的支持.

●另外,还需要面对不同的API标准,如:OpenGL,DirectX,CUDA,OpenCL…

就目前该技术的实际应用来看,vSGA和sVGA一样,也只是支持DirectX9.0和OpenGL2.1的渲染技术,已经够旧了吧。此外,vSGA支持的最大虚拟显存听起来是是512M,事实上虚拟的GPU显存,其中一半为GPU提供,一半为服务器内存模拟,因此,最大只能使用到256M 的真实GPU显存。

从用户反馈来看,vSGA对改善部分情形图形软件体验还是有所帮助的。

至于和Citrix的对比,请参见2.5章节。

2.3vDGA的原理:为每个虚拟机分配独立的安装在物理服务器上的物理显卡

这个技术和我们后文中介绍的来自Citrix的GPUPass-Through技术是类似的,只是我弄不明白,V公司非要弄这么多简写差不多的名词吗?

下图就是vDGA的技术原理图:

相关文档
最新文档