资源描述
VDI 桌面3D虚拟化技术详解
目录
一.3D虚拟化技术透析及竞争分析 2
1名词解释 2
2不同技术的适用场景分析 3
2.1sVGA的原理:VMware设计的虚拟的WDDM驱动程序 3
2.2vSGA的原理:多个虚拟机均分安装在物理服务器上的显卡资源 4
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名词解释
lsVGA:VMware公司技术缩写,意思是:软件3D模拟渲染技术;
lvSGA:VMware公司技术缩写,意思是:虚拟共享图形加速技术
lvDGA:VMware公司技术缩写,意思是:虚拟专用图形加速技术
lGPUPass-through:Citrix公司技术缩写,意思是:GPU透传技术
lSharedGPU:Citrix公司技术缩写,意思是:GPU共享技术;
lvGPU:业内统一术语,意思是:以类似于服务器虚拟化上将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(前向接口)功能:
lGPU操作的API拦截,包括:
nparameterspassed传递过来的GPU调用参数
nordersemantics传递过来的GPU调用语义
l包装以上的函数调用,并将数据传给后向接口
l终结虚拟仿真的显卡驱动的GPU调用,并提供向真实显卡的互操作和执行结果
2)BackEnd(后向接口)功能:
l负责将前向接口传来的数据交给真实的GPUdriver进行处理
l解包前向接口传来的函数调用
l映射内存指针
l执行真实的GPU操作
l返回执行结果
l将执行结果返回前向接口
下图就是这个API的原理示意图:
好吧,按照VMware的说法,这种技术是用户共享GPU处理能力,貌似确实实现了类似vGPU的能力,但是事实如此吗?
我们上面分析了vSGA的实际工作原理,了解到这种技术实际上是欺骗应用程序API的虚拟显卡驱动程序。那么结果也就一目了然了,做过图形设计的码农们应该更清楚:
l“APIRemoting”看似很简单,但它的处理是极其复杂,需要消耗大量的额外资源来做驱动的模拟仿真、API截获、API传递、API队列等待、API真实驱动处理、结果回传等多种复杂的软件计算过程
l虚拟显卡驱动的设计需要对所支持的所有GPU的API进行仿真,但行业标准的API规范也在不断改进和更新,这种设计需要不断持续的支持.
l另外,还需要面对不同的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的技术原理图:
关于这种技术的原理,我们在Citrix的GPUPass-Through部分也介绍过很多次了,此处不再详述它的原理。从功能上两者是高度相似的,毕竟V公司是抄袭Citrix的,想当年,Citrix的GPUPass-Through都发布多久了,vDGA才姗姗来迟。
功能相似,但是易用性就不一定了,去问问VMware,vDGA能把显卡透传给上面运行的什么操作系统平台上,如果回答者够老实,他就只能回答你说,只能运行在Windows764-bit平台。如果你的开发软件只能跑在XP上怎么办?I’msorry.
够清楚了吧。好了,V公司看到vDGA发布时间远晚于CitrixGPUPass-Through,功能也PK不过GPUPass-Through,他们只好说《VMware在性能上目前领先于竞争对手》(百度文库上可以找到这个ppt,名字就叫做VMwareGPU虚拟化技术介绍)。对于他们这种做法,就好象一个巨人和一个矮子,明明在外形上矮子已经落败,他偏偏嘴硬说:“他那么大个有什么用,我的力气比他大”。
哈哈,谁更威武,不是已经一目了然了嘛。当然,你有难处,我表示理解。
2.4GPUPass-through的原理:为每个虚拟机分配独立的安装在物理服务器上的物理显卡
这部分的原理我就不再详述了,基本上Citrix的GPUPass-through技术和VMware的vDGA技术如出一辙,但是在具体的功能上,双方还是有明显差距,Citrix功能更全面,也是被业界证明真正具有生产环境下实施能力的解决方案。
下图标就是两者技术的功能性对比。
2.5SharedGPU的原理:将GPU卡透传给Hypervisor之上的XenApp平台
SharedGPU技术实际上是将CitrixGPUPass-Through和CitrixXenApp技术完美结合的产物。
大家都知道CitrixXenApp的原理,我以一张简图为例再次解释一下:
XenApp的优势在于虽然只在一个操作系统上安装过一次应用程序,但是这个应用程序却可以被多个用户同时使用,如果GPU资源也能被这么分享,岂不是完美。这就是SharedGPU的原理。这就实现了多个用户同时分享一个GPU卡的能力。
我们看看下面的原理图:
在上面这张图中,底层服务器安装了一块GPU卡,在硬件平台之上我们安装了Hypervisor层,随机我们在此之上安装了三个XenApp虚拟机(都是WindowsServer操作系统),每个虚拟机上面都安装了CitrixVDA客户端软件,此外还有供最终用户使用的应用程序。随后运行在Hypervisor平台上的NVIDIA驱动程序直接将GPU资源发布给虚拟机使用。
请注意我上面使用的一个单词是:“直接”。为什么这么说?请注意2.2章节的vSGA是如何做到的?vSGA要消耗大量的额外资源来做驱动的模拟仿真,说到底,真正能使用到多少百分比的GPU资源还是个未知数。
我们首先来看看VMwarevSGA和CitrixSharedGPU技术在功能上的对比:
是骡子是马,拉出来溜溜就知道孰强孰弱了。我们还有必要就上面的DirectX和OpenGL技术做一个解释,在介绍2.1的sVGA和2.2的vSGA技术时我们都提到了这两种技术都是只支持DirectX9.0和OpenGL2.1的渲染技术,那么这有什么意义吗?我们来看看DirectX和OpenGL是干什么用的。
1)DirectX
lDirectX是DirecteXtension的简写,可以进一步简写成DX。为微软公司开发的多媒体编程接口,目前只支持Windows平台。
lDirectX发展到现在已经有11代产品了,目前最常用的有两个DirectX11.1和Direct9.0c。前者是Windows7/8的标准配置,后者是WindowsXP的标准。对于很多新游戏而言都以DirectX11为接口。
2)OpenGL
lOpenGL是由开源社区提供的免费开源的多媒体编程接口,全称是OpenGraphicsLibrary。OpenGL功能非常强大,但是使用起来也是相当的复杂,开源社区为任何操作系统提供OpenGL支持,所以适用范围也是相当的广。很多游戏开发采用OpenGL作为渲染方式,这样可以方便的向Linux和OSX等平台移植。
l在非Windows平台下,目前仅能使用OpenGL进行加速,而在Windows平台下视频功能可以由DirectX或者OpenGL完成。由于开发商的选择不同,通常的硬件都是支持者两种加速方式的。客观的来说在超高端硬件上对OpenGL的支持更好。
好吧,看完DirectX和OpenGL的解释后你应该知道2.1的sVGA和2.2的vSGA技术有多弱了吧。
VMware自吹vSGA技术可以支持多少种3D设计软件,还有一个办法戳破他们的谎言就是去Nvidia主页上看看有多少种应用程序是在vSGA技术下得到认证的,我这里有个图可以分享一下:
OK,真相大白,我们继续。
2.6vGPU技术出场:将GPU卡资源切片分给Hypervisor之上运行的VM
概念不做解释了,理解什么是vCPU就知道什么是vGPU。
正如第一节的名词解释所述,vGPU不是哪家公司的专有名字,而是业内通用术语。在去年NVIDIA公司宣布与Citrix公司合作后,最早现身的时间点是今年5月份在CitrixSynergy2013大会上,CitrixCEOMarkB.Templeton演示了NVIDIA的vGPU技术如何和CitrixXenDesktop产品结合,其流畅的渲染技术获得了满堂喝彩。此后NVIDIACEO黄仁勋也登台介绍了NVIDIA的GRID图形虚拟化处理平台以及vGPU技术。
在这次会议上,双方宣布思杰与NVIDIA将会在今年下半年推出业界首个为主机共享应用提供直接GPU共享的方案,并配合支持最新的OpenGL标准,此外还为开发提供远程性能的新代码。
有兴趣的朋友可以看看下面几个视频:
Citrix营销副总裁-KrishnaSubramanian说明CitrixXenServer如何透过NVIDIAGRIDVGPU提供最棒的服务。
也可以从NVIDIA主页上找到相关信息:
回到正题,在本月1日,哈,也就是我们的国庆节,Citrix发布了第一个技术预览版的vGPU解决方案,也是目前全球第一个真正实现该技术的商业化产品。大家可以访问下面的网址获取第一手的信息:
CitrixVirtualGPUSolutionTechPreview
这次发布的ReleaseNotes请参见下面的链接地址:
vGPUTechPreviewReleaseNotes
让我们也来看看它的原理图吧:
看到了吗?这才是真正的vGPU技术,虚拟机通过NVIDIADriver直接访问切片后的GPU资源,而不是像vSGA技术那样,通过欺骗应用程序API的虚拟显卡驱动程序来调用GPU,后者白白消耗掉大量的计算能力。
从图中我们可以看出,vGPU技术是需要Hypervisor层面支持的,目前就只有XenServer支持。vSphere?好像还要等不少时间吧。
3竞争分析
那到底我用那个技术好呢?VMware也说好,Citrix也说好?怎么办?
在2.4章节介绍CitrixGPU透传技术和2.5章节介绍SharedGPU技术时我们都分别针对这两项技术和VMware的对应方案作了onebyone的对比。有需要可以往上翻页看看细则。现在我们来一个大餐,看一个放大的图,把所有的技术中放在一起,看看各有什么优缺点。
你如果看不清楚,可以访问我的ShareFile云盘空间直接下载这个jpg文件:
从上面的具体分析可以看出以下几点:
1.Citrix是真正的跨平台技术,无论是那种3D解决方案,不但支持自己的XenServer,也支持VMware的Hypervisor平台;
2.就目前的技术来看,即使没有刚发布的vGPU技术,Citrix在GPU共享领域的能力都要远胜于VMware的技术;
3.Citrix的3D虚拟化技术无论是在操作系统支持层面还是显存支持,又或者是在对渲染技术的支持版本上,要远优于VMware的解决方案;
4.在实施能力上,Citrix的PVS技术能帮助用户批量实施,而不用像VMware那样只有预览技术而没有实施能力;
5.现在有了真正的vGPU技术,将会给设计行业的客户带来更多更好的选择
如上所述,目前vGPU技术还只能在CitrixXenServer平台和NVidiaGPU卡上实现。所以我们首先来看看要实现vGPU需要具体什么条件。
二、vGPU技术详解及配置要求
如上所述,目前vGPU技术还只能在CitrixXenServer平台和NVidiaGPU卡上实现。所以我们首先来看看要实现vGPU需要具体什么条件。
1vGPU的实现条件
1.1 Citrix组件包括如下:
lCitrixXenServer6.2,下载地址:
lHotfixXS62E004-ForXenServer6.2,下载地址:
n必须先安装这个补丁,再安装下面的HotfixXS62ETP001
lXenServervGPUTechPreview-HotfixXS62ETP001,下载地址:
n安装手册可以参考:HotfixXS62ETP001InstallationProcedure
n该技术预览版补丁只能用于测试环境,严禁用于生产环境
lCitrixXenDesktopTechPreview,下载地址:
n请使用你的Citrite帐号登录后下载;
lHDX补丁,下载地址:
n解决一些使用24-bit光标的应用程序程序(例如CATIAV6)出现光标消失的问题
1.2NVidia组件包括如下:
lNVidiaVirtualGPUManager:在XenServer补丁安装完成之后再安装此软件
n文件描述:Release312driver;buildversionR312.53
n文件名:NVIDIA-vgx-xenserver-6.2-312.53.i386.rpm
lNVidia设备驱动程序:安装在Windows7虚拟机上
n文件描述:312.56WHQLdriversforWindows32-/64-bitguests
n文件名:312.56_grid_win7_english.exe,12.56_grid_win7_64bit_english.exe
lGRIDVGPUFORCITRIXXENSERVERUserGuide[DU-06920-001]
lGRIDVGPUFORCITRIXXENSERVERReleaseNotes[RN-06927-001]
n上述两个文件的下载地址:
n需要注册一个NVidia的帐号
1.3硬件使用需求:
l基于NVIDIAKepler架构的GRIDK1和K2卡
GRIDK1
GRIDK2
GPU数量
4颗入门级KeplerGPU
2颗高端KeplerGPU
NVIDIACUDA核心总数量
768
3072
显存总容量
16GBDDR3
8GBGDDR5
最大功率
130W
225W
卡长度
10.5英寸
10.5英寸
卡高度
4.4英寸
4.4英寸
卡宽度
双槽
双槽
显示输入输出
无
无
Aux电源
6针连接器
8针连接器
PCIe
x16
x16
PCIe的代别
第三代(兼容第二代)
第三代(兼容第二代)
散热解决方案
被动式
被动式
技术规格参数
GRIDK1卡规格参数
GRIDK2卡规格参数
n具体信息可以参考链接:
l一台兼容于XenServerv6.2.0vGPUTechPreview的服务器,支持型号包括如下:
n注意事项:请确认服务器已经使用了最新的或者是推荐的BIOS版本;
n注意有些服务器可能需要额外的组件,或者是更大的电源适配器;
1.4操作系统支持:
lWindows7
lWindowsServer2008R2SP1
2 vGPU相关文档
大家可以访问下面的网址以获取相关息:CitrixVirtualGPUSolutionTechPreview
这次发布的ReleaseNotes请参见下面的链接地址:vGPUTechPreviewReleaseNotes
3 NVidiaKeplerGRID卡支持的vGPU数量和适用场景
每块NVIDIAKepler架构的GRIDK1和K2卡并不是可以无限细分到任意数量的vGPU卡,而是有数量限制。目前每块K1卡和K2卡所能支持的vGPU数量最小是4个vGPU,最大是32个vGPU。
由于vGPU不能像vCPU那样在不超过Hypervisor规定范围内想分多少就分多少,而是每个VM只能分配一个vGPU。所以请注意规划好你的GPU卡所能虚拟的vGPU数量;
对于K1卡来说它有四块GPU,所以你可以针对每块GPU而划分不同数量的vGPU。例如这块K1卡的第一第二块GPU做GPU透传,第三块GPU划分为4个vGPU给中度图形用户使用,第四块GPU划分为8个vGPU给知识型用户使用。
下图是Citrix推荐vGPU数量所对应使用人群的建议表格:
下图是Citrix推荐的针对不同人群所对应技术的推荐:
如我们上面的描述,你仍然可以把K1、K2卡的其中GPU核心做透传处理。
4 vGPU配置步骤
vGPU组件必须严格按照下列的顺序安装:
步骤1:安装XenServer6.2版本;
步骤2:安装XenServer两个补丁:先安装HotfixXS62E004,然后HotfixXS62TPE001
步骤3:XenServer安装NVIDIAVirtualGPUManagerforXenServerintotheControlDomain
步骤4:创建一个虚拟机
步骤5:创建一个vGPU,然后分配给上面的虚拟机
步骤6:重启虚拟机,然后安装NVidia驱动程序
步骤7:安装XenServerTools
步骤8:安装XenDesktopVirtualDeliveryAgent(VDA)客户端软件
关于如何通过命令行分配vGPU的步骤:
步骤1:查看XenServer中的物理GPU:xepgpu-list
步骤2:查看XenServer中的物理GPU可以分配成vGPU的类型:xepgpu-param-listuuid=物理GPU的UUID(通过xepgu-list获得),比如K1可以支持gpu-passthrough模式和分配8个k100或140q的vGPU
步骤3:如果你是k1/k2的卡可以列出gpugroup的uuid:xegpu-group-list
步骤4:查看VM的uuid:xevm-list
步骤5:分配GPU
xevgpu-creategpu-goup-uuid=k1ork2的uuid(通过步骤3获得)vgpu-type-uuid=(通过步骤2获得)vm-uuid=(通过步骤4获得)
注意:GPUPassthrough模式也是通过命令来分配,在vgpu-type中有一个uuid是gnupassthrough
5 vGPU配置注意事项
1.反复强调:严禁用于生产环境;
2.XenServer的这个技术预览版将来不能升级到其他任何版本,请谨慎使用
三、Citrix3D解决方案一览
除了我们上述介绍过的几种3D解决方案,是不是我们就只有这么多种选择了呢?
Citrix之所以做到了桌面虚拟化的老大,和后来者的差距并不是一点半点。其中最重要的就是FlexCast技术,下面就是他的一个概况介绍:
那么对于3D设计行业来说,我们用不上上面所有的技术。那么那些技术可以用上呢?我们先来分析一下看看3D用户都有哪些?
1客户群体分类
第一类:任务型工作者
这类用户的典型代表就是呼叫中心、营业厅、前台的用户。他们每天的职责相对比较固定,不会有太多个性化的要求,所以对电脑要求很低,只要能提供正常的访问和操作即可;
第二类:知识型使用者
这部分的用户典型代表就是OA办公用户,例如财务、行政、人事等部门。这些用户有大量个性化的需求,例如安装软件,生成数据,编写报表等等操作。这一类的用户还包括部分的研发用户,例如编写代码,可能他用不上多少3D功能,只是偶尔可能也会打开一些设计图纸,但不会进行修改,只是浏览而已;
第三类用户:桌面中度使用者
这部分用户开始进入到设计需求,平时的工作就是打开设计软件,但是这些设计软件主要是以2D渲染为主,例如AutoCAD机械设计等等,尚不需要大量3D渲染的计算。但是如果没有3D处理能力也会给工作效率带来影响,所以第三类用户是对GPU有中等要求的使用者;
第四类用户:工作站使用者
这部分的用户每天的工作就是进行工业设计,需要大量3D渲染操作。例如模型设计、电路板设计、汽车设计等,这部分的用户广泛分布在各行各业,例如手机设计、船舶制造、建筑设计等国民经济的方方面面。这部分用户你给他多少资源他都可以用尽,一般来说,很多企业都是给每个人分配一台图形工作站。所以,这部分的用户是要求最高的使用者。
2不同使用者对应3D处理技术
如果是VMware,那他也只有v呀、s呀、d呀等技术,但是在CitrixFlexCast模型下,你有了更多的选择,按照刚才我们对使用者的分类,每类用户所对应的3D虚拟化技术可以这么来分类:
首先我们来看一下左边,左边从下往上的人群分类分别是:知识性工作者、中等负荷用户,以及设计人员,分别对应着在上一节我们谈到的第二类知识型使用者、第三类桌面中度使用者,以及第四类工作站使用者。
为什么在我们上面这张图上没有第一类任务型使用者的摆放呢?因为这一类用户几乎不使用3D技术,所以我们只覆盖到了后面三类用户。上图我们就从上往下讲起。
2.1图形工作站级别用户
图形工作站级别的用户有一个共同特点,就是给多少资源都嫌少,所以在非虚拟化环境下,相当一部分的用户都是独占一台高端图形工作站,上面的显卡甚至到了NVidiaQ4000级别,一台工作站就价值不菲。
出于知识产权保护和管理的需要,很多现代企业会把这部分用户放在虚拟化步伐的第一步。但是往往也是这些用户,对性能体验的要求极高,例如拖尾、色差失真等问题即使只是程度非常轻,也会导致使用者的不满,所以,如果照搬VDI的方式,即使管理层有推广虚拟化的决心,往往会导致使用者的反对,可能连测试都无法通过。
要想一举两得,既能够得到使用者的赞同,又能够享受到虚拟化带来的管理能力上的提高,就要满足两个条件,第一是虚拟化的技术能够达到和原来物理图形工作站完全一致的体验,第二就是必须是真实的虚拟化技术,数据完全不保存在本地存放。
幸运的是你选择了Citrix,他的FlexCast模型不但提供了最先进的vGPU技术,也有完全零成本的无盘工作站方式。
1)PVS无盘工作站
PVS无盘方式将用户本地硬盘的操作系统、应用程序和用户文件整体打包,制作成镜像文件保存到后台存储中,拔除本地硬盘。在系统BIOS中改成使用网卡启动,利用PXE功能和后台ProvisioningServer取得联系,再将镜像文件通过Streaming技术加载到前端的PC中,所有的执行都发生在本地的CPU、内存,并调用本地的图形加速卡设备。其示意图如下:
这种方案在保证数据安全的前提下需要的投资最小,性能和传统的PC最接近,基本没有损耗。
但是由于在Streaming过程中,大量数据会在网络中传输,该方案对网络要求较高。同时如果客户端硬件配置不标准会带来很大的管理工作量。
2)HDX3DPro发布物理工作站
传统的刀片工作站解决方案往往使用硬件厂商专用的传输协议,这种协议占用网络资源很大,无法远程使用。CitrixXenDesktopFlexCast中的HDX3D方式可以代替使用ICA代替这些专用传输协议,在100Kbps左右的带宽条件下就可以使三维图形软件流畅工作。其示意图如下:
和前一种PVS无盘方案相比,使用ICA协议访问远程刀片工作站的解决方案可以提供最好的图形效果,因为CitrixXenDesktop的HDX3D代理可以有效利用刀片工作站上的图形加速卡,远程桌面的图像信息经过图形加速卡处理后再交由ICA协议传输到客户终端。和硬件厂商的专用传输协议相比,对网络资源的占用大大减少,但是性能基本上保持一致。
由于每个用户都需要占用一台刀片工作站,因此成本较高,管理工作量也比较大。
3)GPUPass-Through方式
GPUPass-through,即GPU透传模式就是将主机的多块物理GPU按照一比一的比例分配给此主机上运行的虚拟桌面,并且通过CitrixXenDesktop的HDX3DPro技术让此虚拟桌面里面的应用程序直接调用GPU板卡处理能力,实现三维运算工作站集中管理和维护。下图左边就是第三种模式的工作原理图,右边就是Multi-GPUPass-through的工作原理图。
4)vGPU方式
vGPU方式是最新的技术,他可以认为是第三种GPU透传技术的延伸版,既能提供高性能的3D云端能力,又解决了GPU透传和发布物理工作站的高成本问题,在发布密度上,一台部署了K2显卡的DellR720服务器如果将vGPU参数配置成GRIDK260Q,则这台服务器可以提供4台图形工作站的能力。要知道,K2的处理能力是非常惊人的,它提供了3072个CUDA核心数量,显存总容量达到了GDDR5的8GB,即使是拆分为4个虚拟机,也能为每个虚拟机提供768个CUDA核心数量和2GN显存。要知道,一块NVidiaQ6000的显卡的CUDA核心数量也只有448,而这块卡的市场公开报价是¥28500,一块Q4000显卡的CUDA核心数量也更小,只有256,显存是2GB,Q4000显卡的市场公开报价是¥4950。而一块K2显卡的报价也就是在¥25000左右。
下表就是K2显卡的vGUP的发布模式:
2.2中度图形用户对应的3D虚拟化技术
中度图形用户会使用一些图形应用,但是以查看操作方式居多,或者是操作一些平面的设计图纸,根据上面图形的分类,这部分用户根据使用场景不同,一般来说是不需要独享模式的GPU运算能力支持。所以将GPU卡的处理能力做复用化处理就是最经济的方式了。当然,如果用户觉得PVS的无盘方式或者是直接发布物理机的方式更适合,也是完全可以使用上面的这几种方式的。
1)SharedGPU方式
首先可以将用户需要使用3D处理技术的应用程序安装在XenApp服务器,再直接发布到用户的物理机桌面上,或者是智能设备上。这里注意的是,由于用户对图形运算已经有了一定的要求,所以XenApp服务器所能支撑的用户数量上要酌情减少,例如一台XenApp服务器只提供4-10个用户使用,取决于系统负荷的情况,这个数字根据实际情况调整。
如果用户已经在虚拟桌面环境中工作,那么也可以把XenApp发布的应用程序在透传到用户正在使用的VDI桌面中,这两种方法取决于用户的实际使用场景。
2)vGPU方式
第二种办法还是使用我们最新发布的vGPU技术,我们建议中等图形负荷的用户这个需求程度上可以采用NVidiaK2卡配置为4vGPU/GPU,一共8个vGPU,就是说一块K2卡支持8个中等图形负荷的用户使用;也可以采用NVidiaK1卡配置为4vGPU/GPU,一共16个vGPU,就是说一块K1卡支持16个中等图形负荷的用户使用。
下表是K1显卡和K2显卡的配置推荐方式:
2.3知识型用户对应的3D虚拟化技术
如我们在上面章节对这个群体所做的分类描述,知识型用户对3D技术需求甚少,和中度图形设计用户类似,也是使用同样的两种技术手段来满足他们的要求,不同的是密度的区别。
1)SharedGPU方式
第一个选择是将用户需要使用3D处理技术的应用程序安装在XenApp服务器,再直接发布到用户的物理机桌面上,或者是智能设备上。
如果用户已经在虚拟桌面环境中工作,那么也可以把XenApp发布的应用程序在透传到用户正在使用的VDI桌面中,这两种方法取决于用户的实际使用场景。
2)vGPU方式
第二种办法就是继续使用我们最新发布的vGPU技术,大家知道GPU被虚拟化之后就可以根据用户的需要来实际分配所需要的资源密度,所以在知识型用户这个需求程度上可以采用NVidiaK2卡配置为8vGPU/GPU,一共16个vGPU,即16个虚拟机用户使用;也可以采用NVidiaK1卡配置为8vGPU/GPU,一共32个vGPU,即32个虚拟机用户使用。
下表是K1显卡和K2显卡的配置推荐方式:
四、Citrix3D技术StepbyStep配置指导手册
介绍了这么多3D图形的虚拟化实现技术,也该来点干货了,就是该怎么去配置这些个方式呢?毕竟我们都是工程师,怎么落地最关键。
推荐给大家一个四件套手册,套件名称就是《Reviewer'sGuideforDelivering3DGraphicsApps》。
手册分为四个部分:
Part1:XenServerGPUPass-through
Part2:vSphereGPUPass–through(即vDGA)
Part3:XenServerGPUVirtualization(vGPU)
Part4:vSpheresoftwareGPU(vSGA)
这四部分指导手册的操作环境全部是在DellR720服务器硬件下NVidiaK1/K2显卡配置的XenDesktop7指导手册。其中Part1还图文并茂的告诉你如何拆装硬件服务器,如何拔插K1/K2显卡。
整个手册都是以截图的方式讲解每一种技术是如何配置出来的,是不可多得的POC指导手册。
展开阅读全文