GPU vs.CPU 虚拟桌面运行图形密集型应用的三种方式

云计算 虚拟化
相对于CPU只能执行单一计算操作而言,GPU是一个可以并行处理多个图像信息的中央处理单位。在桌面PC中,3D渲染是通过位于显卡上的专用GPU进行的,3D应用的性能需求越高所需配置的GPU性能越高。

  部分应用在VDI中运行不太好。

  在图形密集型应用系列的***部分中,我主要向用户解释3D和视频在虚拟桌面中的问题。第二部分,我们一起探讨如何更有效率地应对桌面显示图形需求。

  为了理解图形密集型应用的问题,您需要先知道GPU和CPU之间的区别。然后我们探讨把GPU计算资源提供给所需应用的解决方案。

  理解GPU vs.CPU

  相对于CPU只能执行单一计算操作而言,GPU是一个可以并行处理多个图像信息的中央处理单位。在桌面PC中,3D渲染是通过位于显卡上的专用GPU进行的,3D应用的性能需求越高所需配置的GPU性能越高。

  越来越多的应用需要3D影像支持。例如Windows 7的Aero Glass需要GPU操作,而IE现在也同时使用GPU和CPU计算资源来获得更好地性能表现。另外,视频产品和CAD(computer-aided design)应用的发展,也为更多采用VDI桌面方案的企业用户带来3D图形需求。

  问题在于多数VDI环境都是通过虚拟机和共享虚拟宿主机实现的,传统虚机不具备使用GPU资源的能力。相似的,远程桌面会话也不支持GPU。这两个问题通常导致3D用户无法使用VDI方案。

  使用专用硬件设备

  解决该问题的方法之一就是为每个用户部署专用机架或PC刀片。这些设备为每个用户提供专用GPU(CPU、硬盘和RAM同样都是独享的)。这种安装同时也确保了用户之间的隔离和资源占用。本质上,它只是把用户工作站放到数据中心,并通过远程显示连接。

  不过,支持GPU应用的成本是高昂的。机架和刀片式工作站成本至少要和普通桌面相当,需要为每个用户购买一台。工作站只能被一个用户使用,所以也存在很多潜在资源浪费。实现这种方式,你需要有很好地理由。

  共享硬件模式

  不久前,Citrix的服务器虚拟化hypervisor产品XenServer具备了可以把PCIe GPU显卡的资源传递给虚机的能力(六问六答释疑XenServer虚拟机与CPU资源共享)。该功能可以在虚拟宿主机PCIe卡可支持范围内,尽可能多地支持3D图形加速应用。实际上也意味着物理主机可支持多个用户,相比每个用户独占一台宿主机的方式已经有很大进步了,而相比3D应用较少时每个主机可以支持100用户还有很大差距。

  这种方式适合不需要提供独享硬件隔离的3D用户。VMware宣布和NVIDIA联合把这种能力引入其VDI产品(尽管这看起还不能称为一个产品——或许可以通过虚拟硬件的方式去克服)。

  虚拟硬件的优势

  过去的几年中,很多技术致力于为虚机和RDS(Remote Desktop Services)提供共享GPU。微软的RemoteFX显示协议允许RDSH(Remote Desktop Session Host-TS终端服务)或RDVH(Remote Desktop Virtualization Host-基于虚机的VDI)的多个用户共享GPU资源。

  通过每个PCIe插槽的GPU卡可以支持多个用户,您可以实现单台物理服务器支持多个用户。这允许用户运行主流的3D影像,例如用户界面。以及无需专用硬件的前提下支持非经常性3D用户。Citrix和VMware都努力在各自的VDI产品中引入该功能。

  CPU依然很关键

  所有这些解决图形显示问题的方案都是在虚拟桌面中引入GPU,实现对屏幕组件更快速地渲染。然而,决定去渲染哪个3D组件的工作依然是CPU来完成,例如CAD应用需要完成的很多数学计算。因此,在一台宿主机上有多个运行3D应用的用户,虽然通过GPU解决了显示渲染问题,可能依然会面临CPU性能瓶颈。

  这也意味着3D应用依然会影响每台宿主机可支持的用户数量,因为会增加CPU的负载,通常也包括对RAM的高占用。

  相比通常的office用户,用VDI满足图形密集型应用的用户要难一些,但是借助更好的设计,有很多方法可以满足各种桌面的需求。

责任编辑:贾隆 来源: TechTarget
相关推荐

2012-12-14 11:00:02

VDI桌面虚拟化

2018-03-22 09:16:06

密集型场景SSD

2011-11-11 09:11:09

云计算HPC集群

2020-09-07 07:33:01

NodejsCPU密集型

2012-10-23 09:30:18

计算应用虚拟机Java

2022-06-27 14:01:31

LZ4 分析数据密集型压缩算法

2011-11-14 13:29:22

移动应用开发移动开发移动互联网

2010-04-14 15:30:41

Oracle数据库

2011-07-25 12:41:38

接入方式布线

2012-05-08 10:58:50

虚拟桌面用户

2012-10-10 13:59:04

惠普虚拟化环境四插槽

2011-07-25 08:49:32

服务器整合虚拟化

2023-01-03 19:11:09

CPUI/O速度

2012-10-08 09:45:22

数据密集型处理系统

2021-09-09 14:31:02

物联网智能建筑IoT

2012-03-18 21:10:07

2012-07-17 09:16:16

SpringSSH

2012-03-21 17:18:41

2019-11-20 18:52:24

物联网智能照明智能恒温器
点赞
收藏

51CTO技术栈公众号