GPU虚拟化是什么意,具体怎么实现?
的有关信息介绍如下:现如今虚拟GPU(也称为GPU虚拟化)已经被应用到不同领域。在虚拟GPU这一概念提出以前,应用程序和桌面虚拟化技术已经存在很长时间,这些技术虽然有用,但是并非如宣传中所说得那般天花乱坠,其中糟糕的用户体验是其最大的缺陷之一。虚拟GPU之路的开启,解决了之前技术存在的一系列性能和体验问题。
虚拟GPU简单来说是通过对数据中心GPU进行虚拟化,实现用户在多个虚拟机中对该GPU的共享。
而虚拟GPU是如何运行的呢?驱动虚拟GPU运行的是软件。虚拟GPU软件使每台虚拟机都能像物理桌面一样利用GPU,将通常由CPU完成的工作转移到了GPU。虚拟GPU软件还可以转换服务器上安装的物理GPU,以创建可在多个虚拟机中共享的虚拟GPU。GPU与用户之间的关系不再是一对一,而是一对多。
通过技术人员的不懈努力,现在虚拟化平台的强大功能已经可以将GPU扩展至公司中的知识工作者、移动业务专员、设计师和工程师等成员,为他们的工作带来便利。
其中,基本办公应用程序对计算机图形性能的要求比以往更高,导致企业用户对显卡的要求越来越高, 虚拟GPU能够满足虚拟化数字工作环境和企业的基本要求。
而对于每天需要通过各种设备访问要求极高的应用程序、需要随时随地开展工作并处理大型数据集的创意和技术专业人士来说,基于虚拟GPU的虚拟工作站可以帮助这些人完成工作任务。
带有监控功能的虚拟GPU可为IT部门提供各种工具和见解,从而帮助他们节省错误排查的时间,并将更多时间用于战略性项目。除此之外,IT人员还能够更好地理解用户的需求并调整资源分配。这样可以节省运营成本,同时实现更好的用户体验。
GPU虚拟化指的就是显卡虚拟化,这种显卡并不是一般的显卡,通常是服务器专用的显卡,比如英伟达的tesla系列显卡。
要实现GPU虚拟化还需要虚拟化产品的支持,只有在虚拟化环境里才能实现GPU虚拟化。它可以把一块显卡虚拟成多个显卡供虚拟机使用,虚拟环境也可以把显卡直通给虚拟机使用,这样性能更强。
GPU虚拟化通常是用在桌面云环境里,现在常用的桌面云环境有:华为桌面云、VMware桌面云、Citrix桌面云,实现技术大同小异。
显卡虚拟化(GPU虚拟化)
显卡虚拟化就是将显卡进行切片,并将这些显卡时间片分配给虚拟机使用的过程。由于支持显卡虚拟化的显卡一般可以根据需要切分成不同的规格的时间片,因此可以分配给多台虚拟机使用。
其实现原理其实就是利用应用层接口虚拟化(API remoting),API重定向是指在应用层进行拦截与GPU相关的应用程序编程接口(Application ProgrammingInterface,API),通过重定向(仍然使用GPU)的方式完成相应功能,再将执行结果返回应用程序。
我们现在使用3D桌面虚拟化解决方案中,大部分是使用NVIDIA公司提供的显卡虚拟化技术,即是vCUDA(virtual CUDA)技术,前面我们说过了CUDA框架。vCUDA采用在用户层拦截和重定向CUDA API的方法,在虚拟机中建立物理GPU的逻辑映像――虚拟GPU,实现GPU资源的细粒度划分、重组和再利用,支持多机并发、挂起恢复等虚拟机高级特性。
其vCUDA的实现原理大概如下:包括三个模块:CUDA客户端、CUDA服务端和CUDA管理端。以XenServer为例,在物理硬件资源上运行着一个VMM用于向上提供硬件映像,在VMM上运行着若干个虚拟机。其中一个虚拟机为特权虚拟机(Host VM),即为XenServer中的Domain 0,在虚拟机中运行的操作系统称为Host OS。Host OS能够直接控制硬件,系统内安装着原生的CUDA库以及GPU驱动,使得Host OS可以直接访问GPU和使用CUDA。其它的虚拟机属于非特权虚拟机(Guest VM),其上运行的操作系统(Guest OS)不能直接操纵GPU。在这里我们将CUDA客户端称之为客户端驱动,CUDA服务端称之为宿主机的驱动,CUDA管理端称之为GPU管理器。
以下内容为大家详解:GPU虚化与技术实现及应用
GPU(图形处理器单元)主要进行浮点运算和并行运算,其浮点运算和并行运算速度可以比CPU强上百倍之多,使用GPU虚拟化技术之后,可以让运行在数据中心服务器上的虚拟机实例共享使用同一块或多块GPU处理器进行图形运算,这种安全且高效的桌面访问方式,被越来越多的用户追捧,图形工作站硬件厂商的生意可能会因此而有所下滑,按捺不住也是可以理解的哦。
一、技术现状
主流的服务器虚拟化厂商VMware和Microsoft,都在GPU虚拟化技术方面有所进展和突破。VMware许诺在近一年内发布支持GPU虚拟化的Vsphere产品,而Microsoft在最近发布的Windows 7/2008 R2 SP1上已经提供了RemoteFX技术的支持,不过因为有比较多的技术限制,导致还停留在技术评估阶段,真正规模使用的案例很少。主要的限制包括:
·支持的GPU型号有限
·仅支持winnows 7虚拟机
·仅支持Hyper-V
·GPU支持的虚拟机数量有限,导致每虚拟机成本过高。支持的3D应用有限,仅支持DirectX 3D应用,仅支持局域网访问。
在当前版本的VMware View中,如果后台使用虚拟机来作为虚拟桌面,其PCOIP协议的压缩和加密主要靠CPU来完成。在PCOIP专用卡发布之后,所有的压缩加密工作将由PCOIP卡来完成,其速度将会是当前版本的数倍以上。
二、应用意义
数据中心配备英伟达 VGX 平台后,员工就能使用精简客户端、笔记本、平板电脑、智能手机等任何设备访问一台真正的云端 PC,无论此类设备使用了何种操作系统。员工能够方便地使用先前仅能在办公室 PC 上使用的各类应用程序。
英伟达 VGX 首次令知识工作者能够访问类似于传统本地 PC 的 GPU加速台式机。该平台的管理选项和超低延迟远程显示功能为使用 3D 设计和模拟工具的用户带来巨大便利,而先前虚拟化台式机无法胜任此类任务。
将VGX平台集成到企业网络中后,困扰企业IT部门的 BYOD 问题便迎刃而解了,员工不必再将自己的计算工具带到工作场合。VGX平台提供了一个远程台式机,使用户能像操作自己的台式机终端那样以相同的方式使用此类工具。与此同时,它也有助于降低整体IT开销,提高数据安全性并最大程度地降低数据中心复杂性。
三、数据中心作用
GPU的核心数量非常多,这和CPU有本质的区别,一般GPU都内置了数百个内核,甚至上千个,GPU的工作原理就是并行计算,在并行处理特定数据的时候,GPU比CPU高效非常多。但在复杂指令计算方面,GPU远远不及CPU,所以GPU和CPU是一种互补的关系,而不是互相代替的关系。
IT部门的建设者应该在建设初期就全面考虑好规划,一些适合GPU计算的地方就利用GPU并行计算的优势去部署,而不是单单考虑提升CPU的性能。高性能的GPU处理器不是普通的计算处理过程。GPU是用利用高度序列化的处理模式和CPU配合使用,并不是使用高性能GPU就可以搭配低性能的CPU。由于它们的工作侧重点不同,是一种并行处理的方式,所以不能因为GPU的并行处理能力很强就忽略了CPU的重要性。
VGX议会专为接待大量用户的节能途径。第一个Nvidia VGX板配置有四个GPU和16GB内存,并符合行业标准——PCI Express接口在服务器。
VGX GPU的管理程序这个软件层集成到商业管理程序,如思杰虚拟化,图形处理器等。
用户可选择机(USMs)这个管理选项允许企业配置的图形功能,根据客户要求,在网络上传送到个人用户处。从真正的PC体验到与Nvidia的标准一致且采用NVIDIA Quadro或NVIDIA NVS GPU的专业三维设计和工程经验或制药公司的GPU仪,都在其能力范围之内。
四、技术与设计
英伟达 VGX 显卡是全球首款针对数据中心设计的显卡。最初的英伟达 VGX 显卡具有四颗GPU,每一颗均具有192个基于英伟达 (NVIDIA®) CUDA 架构的核心和4GB的显存。该显卡采用主动散热方式,适用于基于服务器的各类现有平台。该显卡采用了多种先进技术,包括让运行主机虚拟桌面的许多用户共享一颗单独的GPU并体验丰富的互动图形体验的硬件虚拟化技术;可极大减少画面迟滞现象的低延迟远程显示技术;具有较高功率效率、经过全新设计的着色器技术。
五、英伟达 VGX GPU管理程序
英伟达 VGX GPU管理程序是一个集成到商业管理程序中的软件层,能实现对虚拟化GPU资源的访问。这样,多个用户便能够共享公共硬件,让运行于单一服务器上的虚拟机能够安全地访问关键资源。这样单一服务器就能在提供本地图形和GPU计算性能的同时以较低成本支持更大数量的用户。
Citrix等业界领先的虚拟化技术公司正在将这种新技术集成到他们的全系列VDI产品中,以便能够增添全硬件图形加速功能。
六、英伟达用户可选计算机
英伟达用户可选计算机使英伟达 VGX 平台能为有迫切需求的企业员工提供媲美专业GPU的使用体验。这使得IT部门仅通过一个单一服务器便能很容易地支持各类用户。
用户可选计算机可更好地利用硬件资源,更灵活地根据不断变化的企业需求来配置和使用新用户的台式机。这对于提供基础设施服务的公司非常有价值,因为他们能在一天、一周或一个季度内将经过GPU加速的服务器重新部署,以便满足不断变化的需求。
1。主要看到公有云的主要规格是cpu,内存和存储,没有gpu,但大家提到CPU计算能力和gpu计算能力有很大差异,有必要归入不同的资源,也应该提供不同的虚拟化资源。但是目前还没看到,为什么? 2。如果应用者编写了某些基于神经网络的算法,希望利用gpu运行,那是否在目前公有云租用的虚拟主机或集群里是实现不了的? 3。另外当前主流服务商如aws,微软,提供的数据挖掘算法服务,这些服务是在传统的CPU资源上运行,还是有后台的gpu资源支撑运行。