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

合集下载

GPU虚拟化相关技术研究综述

GPU虚拟化相关技术研究综述

GPU虚拟化相关技术研究综述GPU虚拟化是一项关键技术,用于实现将GPU资源虚拟化并在多个虚拟机之间共享。

随着云计算和虚拟化技术的发展,GPU虚拟化逐渐被广泛应用于云计算、大数据分析、机器学习等领域。

本文将对GPU虚拟化的基本原理和常用的技术进行综述。

首先,GPU虚拟化的基本原理是将物理GPU资源抽象为多个虚拟机可以访问的逻辑GPU,每个虚拟机可以独立地使用这些逻辑GPU。

实现GPU 虚拟化的关键技术包括虚拟显存管理、调度器和驱动层的修改等。

一种常见的GPU虚拟化技术是通过在宿主机上运行虚拟化软件,如VMware和Xen,来实现虚拟机对物理GPU的访问。

这种技术可以在宿主机上创建多个虚拟机,并将物理GPU资源分配给这些虚拟机,每个虚拟机都可以独立地使用GPU资源。

虚拟机中的应用程序通过GPU虚拟化驱动程序与物理GPU进行通信。

另一种常见的GPU虚拟化技术是基于SR-IOV(Single Root I/O Virtualization)的GPU虚拟化。

SR-IOV是一种硬件虚拟化技术,通过在物理硬件上划分虚拟功能来实现虚拟机对物理设备的直接访问。

在基于SR-IOV的GPU虚拟化中,物理GPU被划分为多个虚拟GPU,每个虚拟GPU 可以被分配给不同的虚拟机使用。

虚拟机通过虚拟PCIe总线与虚拟GPU 进行通信,实现对物理GPU的直接访问。

除了上述两种技术,还有一些其他的GPU虚拟化技术,如基于软核的GPU虚拟化、基于容器的GPU虚拟化等。

这些技术各有特点,可以根据具体需求选择适合的方案。

总结起来,GPU虚拟化是一项重要的技术,提供了在虚拟环境下共享GPU资源的能力。

目前有多种GPU虚拟化技术可供选择,包括基于虚拟化软件的技术、基于SR-IOV的技术以及其他一些较新的技术。

随着云计算和虚拟化技术的不断发展,GPU虚拟化将在各个领域得到更广泛的应用。

云计算中的GPU虚拟化技术分析

云计算中的GPU虚拟化技术分析

云计算中的GPU虚拟化技术分析近年来,随着大数据、物联网和人工智能等技术应用的广泛发展,计算机的计算能力需求逐渐增大。

其中,图形处理器(GPU)因其强大的计算能力,被广泛应用于机器学习、深度学习等领域。

然而,GPU的高昂价格和不易购买等问题,限制了GPU在个人及企业中的应用范围。

为了解决这些问题,云计算中的GPU虚拟化技术应运而生。

一、GPU虚拟化技术的基本概念GPU虚拟化技术是通过将物理GPU资源在多个虚拟机间进行切分,将一个物理GPU资源划分成多个虚拟GPU资源,以满足多用户并发使用GPU的需求。

这种技术的应用,可以让用户在云端使用虚拟机进行GPU计算,而无需实际拥有GPU硬件设备,大大降低了购买和维护GPU硬件的成本和难度。

与CPU虚拟化技术相比,GPU虚拟化技术的实现过程更加复杂。

CPU虚拟化技术只需在宿主机器上运行虚拟机,将硬件资源划分成多个虚拟资源即可。

而GPU虚拟化技术不仅需要对GPU硬件进行虚拟化,还需要开发虚拟GPU驱动程序,并应对虚拟GPU的直通技术、性能优化等各类问题,使其在多个虚拟GPU实例中同步运行,从而实现多用户并发使用硬件资源。

二、GPU虚拟化技术的发展历程自从2012年NVIDIA发布了GPU虚拟化技术以来,GPU虚拟化技术越来越成熟,并且逐渐扩展到了云计算和大数据等领域。

在发展历程中,GPU虚拟化技术也经历了不同的阶段。

1.第一代GPU虚拟化技术第一代GPU虚拟化技术主要采用PCI passthrough的方式实现,即将整个GPU物理设备通过虚拟化技术分配给单个虚拟机。

该技术虽然能够解决GPU资源共享的问题,但同时也限制了GPU的可用性,因为每个虚拟机只能访问单独的物理GPU设备,而且在大量虚拟机并发使用GPU资源时,会产生大量的上下文切换,影响系统的性能。

2.第二代GPU虚拟化技术第二代GPU虚拟化技术主要采用虚拟GPU(vGPU)技术,通过将物理GPU资源在多个虚拟机之间进行切分,划分成多个抽象的虚拟GPU资源,实现了多用户共享一个GPU设备的需求,并且可以更加精细地分配GPU资源,提高了GPU设备的利用率。

gpu虚拟化解决方案

gpu虚拟化解决方案

gpu虚拟化解决方案
《GPU虚拟化解决方案:实现多用户共享GPU计算资源》
随着人工智能、大数据分析和深度学习等领域的不断发展,对图形处理单元(GPU)的需求也越来越大。

然而,传统上GPU资源的分配是以物理设备为单位的,这就导致了在多用户环境中存在着资源浪费和冗余的问题。

为了解决这一难题,GPU虚拟化技术应运而生。

GPU虚拟化解决方案是指通过虚拟化技术将一台物理GPU资源划分成多个虚拟GPU资源,实现多用户共享GPU计算资源的一种方法。

这种解决方案可以更有效地利用GPU设备,降低成本并提高资源利用率。

在企业中,这种技术能够满足不同部门或团队对GPU资源的需求,同时保护数据的安全性和隔离性。

GPU虚拟化解决方案的实现需要结合硬件和软件两方面的技术。

在硬件方面,需要GPU设备本身支持虚拟化技术,如NVIDIA的vGPU技术。

而在软件方面,需要虚拟化管理平台和GPU虚拟化软件的支持,如VMware的vSphere和NVIDIA 的GRID软件。

通过GPU虚拟化解决方案,用户可以在虚拟机上运行图形密集型应用程序,享受和使用独立的GPU资源,而不会受到物理GPU资源的限制。

这对于需要大量图形计算或并行计算的场景非常有用,比如科学计算、虚拟桌面基础设施(VDI)、云计算等领域。

总的来说,GPU虚拟化解决方案是一种能够有效提高GPU资源利用率、降低成本、增强数据安全性的技术。

随着GPU虚拟化技术的发展,相信它将会在越来越多的场景中得到广泛应用并发挥出更大的价值。

服务器虚拟化技术深度介绍

服务器虚拟化技术深度介绍

服务器虚拟化技术深度介绍目录1.前言 (3)2.CPU虚拟化发展 (4)3.虚拟化软件架构分类 (7)4.各种架构对比 (8)5.内存虚拟化 (9)6.I/O虚拟化技术 (12)7.Intel硬件对虚拟化支持 (14)8.GPU及GPU虚拟化技术 (16)1.前言服务器虚拟化技术要追述到IBM大型机的虚拟化 z/VM,在z系列大型机(非虚拟化操作系统是z/OS)上实现服务器虚拟化。

基于z/VM可以运行上百个虚拟机。

后来在Power上的KVM技术是PowerKVM;以及AIX虚拟化PowerVM,支持vSCSI和NPIV两种技术(虚拟出系统叫VIOS)。

今天的内容覆盖了CPU虚拟化、内存虚拟化、Intel硬件辅助技术、IO虚拟化和GPU虚拟化等,技术深度科普文章;请老司机们让车,忽略今天的内容。

很多读者可能认为服务器虚拟化技术遭到了容器技术的冲击,可能已经过时了,事实上在很多场景下,虚拟化技术并非容器所能够替代的。

所以作为要踏入云计算领域的初学者们,还是有必要深入了解服务器虚拟化。

下面我们看看虚拟化发展历程和外在因素和推动力。

分区技术使得虚拟化层为多个虚拟机划分服务器资源的能力;使您能够在一台服务器上运行多个应用程序,每个操作系统只能看到虚拟化层为其提供的虚拟硬件。

虚拟机隔离让虚拟机是互相隔离,一个虚拟机的崩溃或故障(例如,操作系统故障、应用程序崩溃、驱动程序故障等等)不会影响同一服务器上的其它虚拟机。

封装意味着将整个虚拟机(硬件配置、BIOS 配置、内存状态、磁盘状态、CPU 状态)储存在独立于物理硬件的一小组文件中。

这样,您只需复制几个文件就可以随时随地根据需要复制、保存和移动虚拟机。

2.CPU虚拟化发展服务器虚拟化按照虚拟化程度可分为全虚拟化、半虚拟化、硬件辅助虚拟化。

CPU虚拟化的条件和技术难点,CPU本身有不同运行级别,这些级别对应不同权限。

虚拟机执行到这些敏感指令的时候,很有可能出现错误,将会影响到整个机器的稳定,所以不允许VM直接执行。

gpu虚拟化方案

gpu虚拟化方案

gpu虚拟化方案GPU虚拟化方案:解放计算能力,实现高效并行计算随着人工智能、大数据分析和科学计算的不断发展,GPU(图形处理器)已成为处理大规模复杂计算任务的重要组件。

然而,传统上,每个GPU只能供一台计算机使用,这限制了计算资源的充分利用。

为了突破这一瓶颈,GPU虚拟化方案应运而生。

什么是GPU虚拟化?GPU虚拟化是指将一台物理GPU分割成多个虚拟GPU,使每个虚拟GPU可以为多台计算机提供计算能力。

这种虚拟化方案通过一系列软件和硬件技术,将计算任务分发给不同的虚拟GPU,使得多个计算机可以同时进行高性能并行计算,提高计算效率和资源利用率。

GPU虚拟化的实现方式1. 基于软件的虚拟化方案基于软件的虚拟化方案通过在主机操作系统上部署虚拟化软件,实现对GPU的虚拟化。

这种方案通常采用在宿主机和虚拟机之间的驱动层或者应用层添加中间件,来实现GPU资源的共享和分配。

其中,NVIDIA的虚拟GPU(vGPU)是目前应用最广泛的基于软件的虚拟化方案之一。

2. 基于硬件的虚拟化方案基于硬件的虚拟化方案通过在GPU硬件上增加虚拟化支持,实现对GPU资源的虚拟化。

这种方案通常需要硬件厂商对GPU芯片进行特殊设计,以支持虚拟化相关的功能,如多个虚拟GPU的隔离、调度和管理等。

目前,Intel的GVT-g和AMD的MxGPU是常见的基于硬件的虚拟化方案。

GPU虚拟化的优势1. 提高计算资源利用率通过GPU虚拟化,可以将一台物理GPU资源有效地共享给多个计算机,使得计算资源得到最大化的利用。

这对于诸如云计算、虚拟桌面基础设施等场景来说尤为重要,可以节省硬件投资,降低能源成本。

2. 实现高效并行计算GPU是并行计算的强大工具,通过GPU虚拟化,可以将大规模的计算任务分解为多个子任务并行执行,提高计算效率。

特别是对于需要大量矩阵运算、图像处理等计算密集型工作负载来说,GPU虚拟化可以显著加速计算过程。

3. 支持多租户环境GPU虚拟化可以将GPU资源划分为多个虚拟GPU并分配给不同的租户,实现租户之间的资源隔离和安全性。

GPU虚拟化的应用实践

GPU虚拟化的应用实践

本文根据Xen 虚拟化架构下GPU 工作原理,结合太原广播电视台云制作、云媒资项目,介绍了GPU 虚拟化的使用经验,依据调试得出的各项数据结果,阐述不同应用场景GPU 的调优方法。

GPU 虚拟化 调优一 Xen 虚拟化太原广播电视台2018年投入使用的节目制作和媒资系统使用华为FusionSphere 云桌面解决方案,其虚拟化底层使用Xen Server 。

Xen 的虚拟化层(Xen Hypervisor )位于操作系统和硬件之间,负责为上层运行的操作系统内核提供虚拟化的硬件资源,负责管理和分配这些资源,并确保上层虚拟机(称为域,Domain )之间的相互隔离。

在Xen 在特权域中建立后端设备(Backend ),所有的用户域操作系统像使用普通设备一样向前端设备发送请求,而前端设备通过IO 请求描述符(IO descripror ring )和设备通道(Device Channel )将这些请求以及用户域的身份信息发送到处于特权域中的后端设备。

所有的真实硬件访问都由特权域的后端设备调用本地设备驱动(Native Device Drive )发起。

二 GPU 虚拟化广电行业的电视节目制作系统对图形处理能力的需求较高,GPU 资源如何配置以及使用何种应用模式,对节目生产效率有着重要的影响。

GPU 虚拟化在太原台应用场景中有两种模式,一是GPU 硬件虚拟化(Mediated Pass-through ),二是GPU 直GPU硬件虚拟化就是使用单个显卡为多个图形桌面提供显卡能力,虚拟化平台将一块物理显卡虚拟化成多个虚拟显卡,每个GPU划分成多个vGPU,每个VM(虚拟机)绑定一个vGPU。

2. GPU直通显卡虚拟化就是将显卡进行切片,并将这些显卡时间片分配给虚拟机使用的过程。

我们现在使用3D桌面虚拟化解决方案中,大部分是使用nVIDIA公司提供的显卡虚拟化技术,即是Vcuda(virtual CUDA)技术。

VDI架构下的虚拟GPU技术研究

VDI架构下的虚拟GPU技术研究

VDI架构下的虚拟GPU技术研究虚拟桌面基础架构(VDI)为企业带来了更高的生产力和更好的用户体验。

VDI架构中,将多个用户的桌面操作系统运行在单个硬件平台上,因此需要一种有效的方法来管理虚拟显卡,这便是虚拟GPU技术的价值所在。

在传统的VDI中,为用户分配虚拟显卡的过程比较困难,因为企业需要承受昂贵的硬件成本。

当然,如果使用基于“本地模式”的VDI实现,那么分配虚拟显卡的任务会更容易一些,但也会导致维护成本的增加。

幸运的是,虚拟GPU技术可以消除这些问题。

虚拟GPU是一种软件驱动程序,可以将多个虚拟机的显卡资源合并在一起,从而实现硬件资源的共享。

这意味着,企业可以在不增加硬件成本的情况下,为每个用户分配独立的虚拟显卡,提供更好的用户体验。

虚拟GPU技术如此强大的原因是,它可以将多个显卡资源集成在一起,并创建一个虚拟GPU。

这个虚拟GPU可以向多个虚拟机分配显卡资源。

这样,VDI架构可以在多个虚拟机之间动态分配显卡资源,以满足用户需求。

虚拟GPU技术有两种方案:一种是基于硬件的GPU(vGPU),另一种是基于软件的GPU(vSGA)。

前者需要硬件支持,而后者则可以在硬件平台上实现。

vGPU技术需要运行在NVIDIA Grid平台上,并使用分区的GPU技术,从而在物理GPU上创造多个虚拟GPU。

这就允许每个虚拟机都有一块独立的显卡。

然而,目前仅支持少数的厂商授权NVIDIA Grid使用其GPU。

因此,如果您选择vGPU技术,您需要寻找普及的硬件平台。

另一方面,vSGA技术更加普及,因为它可以不需要特殊硬件平台,而在通用硬件平台上实现。

使用vSGA技术,VDI架构可以高效地共享GPU资源,将其划分为虚拟GPU。

然后,这些虚拟GPU可以动态分配给各个虚拟机。

使用vSGA技术的优点之一是减少硬件开销,并提供更高的系统可用性。

此外,它的部署也相对容易,我们可以通过VMware Horizon vSGA来实现。

深度解析GPU技术_PPT模板.pptx

深度解析GPU技术_PPT模板.pptx

学习,GPU的发展经历了从简单到复杂,从单一
功能到多功能的转变,其强大的计算能力正在改
变我们的生活和工作方式。
02 GPU的工作原理解 析
GPU的工作原理解析
GPU的基本构造
GPU的工作模式
GPU与CPU的关系
GPU主要由核心处理器、显 存、供电模块等组成,这些 部分协同工作,实现图像的 快速处理和渲染。
深度解析GPU技术
从原理到应用全面掌握GPU
作者: 智文 汇报时间: 2023/12/05
目录
01 GPU的定义和发展历程 03 GPU的主要组成部分介绍 05 GPU在各领域的应用展示
02 GPU的工作原理解析 04 GPU与CPU的区别对比 06 GPU的未来发展趋势预测
01 GPU的定义和发展 历程
随着技术的进步,未来的 GPU在提供更高性能的同时 ,其功耗也将得到有效控制 ,这将使得GPU在更多的设 备上得到应用。
谢谢大家
1 GPU与CPU的工作原理对比
GPU是并行运算处理器,而CPU则是串行运算处
GPU与CPU的性能特点对比 2 理器。在处理大量数据时,GPU可以同时处理多
GPU擅长大规模并行计算,能够快速完成复杂数
个任务,而CPU则需要依次处理每个任务。
学运算,适用于图形渲染、深度学习等领域;而
CPU则更适合处理复杂的逻辑控制和少量数据的
GPU的定义和发展历程
1 GPU的定义
GPU,全称为图形处理器,是一种专门处理图像
GPU的功能特性
2
和影像的微处理器,它的主要任务是进行图形计
GPU具有大量的并行处理单元,使其在处理大规
算。
模数据时具有极高的效率,特别是在3D图形渲染
  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的技术原理图:关于这种技术的原理,我们在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●DirectX是DirecteXtension的简写,可以进一步简写成DX。

为微软公司开发的多媒体编程接口,目前只支持Windows平台。

●DirectX发展到现在已经有11代产品了,目前最常用的有两个DirectX11.1和Direct9.0c。

前者是Windows7/8的标准配置,后者是WindowsXP的标准。

对于很多新游戏而言都以DirectX11为接口。

2)OpenGL●OpenGL是由开源社区提供的免费开源的多媒体编程接口,全称是OpenGraphicsLibrary。

OpenGL功能非常强大,但是使用起来也是相当的复杂,开源社区为任何操作系统提供OpenGL支持,所以适用范围也是相当的广。

很多游戏开发采用OpenGL作为渲染方式,这样可以方便的向Linux和OSX等平台移植。

●在非Windows平台下,目前仅能使用OpenGL进行加速,而在Windows平台下视频功能可以由DirectX或者OpenGL完成。

由于开发商的选择不同,通常的硬件都是支持者两种加速方式的。

客观的来说在超高端硬件上对OpenGL的支持更好。

好吧,看完DirectX和OpenGL的解释后你应该知道2.1的sVGA和2.2的vSGA技术有多弱了吧。

VMware自吹vSGA技术可以支持多少种3D设计软件,还有一个办法戳破他们的谎言就是去Nvidia主页上看看有多少种应用程序是在vSGA技术下得到认证的,我这里有个图可以分享一下:OK,真相大白,我们继续。

相关文档
最新文档