浅谈GPU虚拟化技术(五):GPU图形渲染虚拟化的业界难题-VDI的用户体验

简介: 此节为第三章上节GPU SRIOV及VDI的一个补充,简短介绍一下。 添加上一节地址:https://www.atatech.org/articles/104757 VDI的用户体验问题 无论是AMD的GPU SRIOV还是Nvidia的M60等直通设备虚拟化,亦或者是GVT-g这样的分片虚拟化,在处理图形渲染为主的虚拟化方案都会定位于VDI客户。

此节为第三章上节GPU SRIOVVDI的一个补充,简短介绍一下。

添加上一节地址:https://yq.aliyun.com/articles/590916

VDI的用户体验问题

无论是AMD的GPU SRIOV还是Nvidia的M60等直通设备虚拟化,亦或者是GVT-g这样的分片虚拟化,在处理图形渲染为主的虚拟化方案都会定位于VDI客户。但都会面临一个问题:图形渲染的远程显示。而这些虚拟机以windows guest为主。如何解决远程显示的问题(既以前提到的remote display的问题),在很大程度上决定着用户体验和用户粘性。

然而即便是现在云计算服务非常成熟的情况下,依然没有一款通用的,适合大多数场景的解决方案。

那么VDI用户体验的问题主要体现在哪里呢?

  1. 支持GPU图形渲染的虚拟机,通过KVM SPICE 你很有可能看到的是黑屏。
  2. 要发挥图形渲染的能力,你将要在虚拟机内部安装额外的软件来支持远程显示的问题

在绝大多数传统客户都已经非常熟悉KVM SPICE VNC这个方式远程连接客户机的情况下,在支持图形渲染的虚拟机,竟然无一例外的提供一个黑屏给客户。这使得客户在虚拟机启动过程中一旦加载SeaBIOS结束后,将无法操作客户机,因为你看不到屏幕显示。

 

更让人无语的是问题2的解决,你需要在客户机内部安装一些支持远程连接的协议。由于问题1的存在,你将看不到屏幕。你没办法安装软件!!!是不是开始觉得头疼了?

所以很多时候用户(公用云服务厂商都会有解决方法去避免这种情况的发生),在自己搭建VDI环境的时候,是先把GPU虚拟化功能禁止。然后在虚拟机内部安装自己想要的远程连接工具,并配置成自启动方式。然后才能开启GPU虚拟化功能。

如此用户体验已经被诟病多年,而各方貌似也没有要去解决它的意愿。所以只能使用第三方远程显示协议来弥补了。为什么没有人去解决?因为就算解决了你也未必会为此付费。

选几个用的比较多的方法和Display Remote Protocol远程显示的效果。

远程桌面连接(RDP)

在不带vGPU的虚拟机上,QEMU会自带一个全模拟的VGA设备(cirrus or qxl),这些设备与KVM的SPICE配合默契,可以通过VNC查看虚拟机桌面。但是一旦安装了vGPU的驱动,由于显示被vGPU驱动接管,那么用户往往在这个VNC看到的是黑屏。用户体验相当差。

这个时候用户需要通过windows自带的远程桌面连接(RDP)来连接虚拟机。这在一定程度上解决了客户需求。然而RDP并不能解决所有问题。RDP在对2D的支持上不错,但在需要用到overlay的情况下windows RDP就没有办法显示。另外在全屏模式下的3D显示有会有问题。

当然优点是windows guest自带。但你至少需要登陆一次虚拟机并打开远程协助共享功能。

Tightvnc

为数不多的开源vnc软件,可以远程显示2D,3D渲染结果,体验也不错。但是需要客户在Window guest内部安装一个tightvnc server。不能像RDP一样原生支持。

X11vnc:

X11vnc是用于Linux客户端的一个远程桌面协议。支持3D,2D。目前为止是用于Linux唯一一个还不错的开源免费软件。

更多的远程桌面协议可以参考:https://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software

用户痛点的解决:图形工作站:

阿里云图形工作站

由于上述问题的存在,很多虚拟化大厂都开始研发远程连接协议。商用协议比如Citrix的HDX,HP的RGS等等。这些协议被公有云产品包装起来提供VDI完整显示支持而不需要让客户去考虑如何远程显示的问题,提升了用户体验。

比如最近阿里云提供的云图站的功能就是一个很好的例子。做了用户所有不愿意接触的技术细节,只提供用户最关心的业务。请查看阿里云图形工作站介绍。

阿里云图形工作站采用的是Citrix HDX协议。通过CitrixReceiver远程显示,效果如下:

XenApp and XenDesktop

在传统VDI的基础上,Citrix很早就开始了远程协助的另类服务:XenApp与XenDesktop。XenApp/XenDesktop不再以虚拟机为服务对象,而是把远程运行链接APP或者Desktop作为服务对象。并把远程APP在Citrix HDX协议的基础上派发给客户端。用户按需使用XenAPP上面部署的App而无须关注背后的虚拟机及其服务器。XenApp等服务在混合云及私有云范围内应用广泛。IT服务部门在对大规模应用程序作集中部署和应用更新。交付的时候只需要在XenAPP服务器端注册添加服务就可以。而同一个公司的成千上万的客户通过瘦客户机或者web页面来访问该更新应用。并且收费模式也以按需收费为主。

XenApp的App部署和交付并非简单的VDI重定向,而是在系统层面做了极大的应用优化:比如memory,CPU,GPU渲染等等。作为一个商用产品Citrix各方面的宣传中对技术细节语焉不详。我们也无从得知更多的信息。

看一个例子:

AWS AppStream

AppStream是与XenApp/XenDesktop同类型的应用。如果XenApp是在私有云上面应用广泛的化,那么AppStream其在AWS上面部署,提供的是公用云上的服务。

AppStream采用了AWS自己开发的STX协议,STX协议以低延时高压缩比的H264作为基础。其协议针对公用云网络环境,在720p的显示分辨率的情况下带宽可以缩小到500kbps以下。

容器化的GPU图形渲染

不好意思,目前没有看到这样的产品与技术。只有NGC这样的GPU容器化的计算服务。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
郑晓
+关注
目录
打赏
0
0
0
0
201
分享
相关文章
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
虚拟化技术:实现资源高效利用和灵活管理的利器
虚拟化技术作为实现资源高效利用和灵活管理的重要手段,在数字化时代背景下,正逐步改变传统IT架构模式。本文概述了虚拟化技术的概念、原理及其在数据中心管理、云计算平台、企业信息化建设、科研教育及医疗行业的应用,并探讨了其面临的挑战与未来发展趋势。
367 3
弹性算力革命:企业级GPU云服务如何重构AI与图形处理的效能边界
企业级GPU云服务基于云计算技术,为企业提供强大的GPU资源,无需自购硬件。它广泛应用于人工智能、大数据、3D建模、动画制作、GIS及医疗影像等领域,加速深度学习训练、图形处理和科学计算,提升效率并降低成本。企业可按需获取计算资源,灵活应对业务高峰,优化成本结构,推动业务发展。
30 1
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显。作为Windows Server的核心组件,Hyper-V具备卓越的技术性能,支持高可用性、动态迁移等功能,确保虚拟机稳定高效运行。它与Windows深度集成,管理便捷,支持远程管理和自动化部署,降低管理成本。内置防火墙、RBAC等安全功能,提供全方位安全保障。作为内置组件,Hyper-V无需额外购买软件,降低成本。其广泛的生态系统支持和持续增长的市场需求,使其成为企业虚拟化解决方案的首选。
阿里云当选UALink联盟董事会成员,推进新一代GPU互连技术!
阿里云当选UALink联盟董事会成员,推进新一代GPU互连技术!
54 2
|
4月前
|
Linux虚拟化技术:从Xen到KVM
Xen和KVM是Linux平台上两种主要的虚拟化技术,各有优缺点和适用场景。通过对比两者的架构、性能、安全性、管理复杂性和硬件依赖性,可以更好地理解它们的适用场景和选择依据。无论是高性能计算、企业虚拟化还是云计算平台,合理选择和配置虚拟化技术是实现高效、稳定和安全IT环境的关键。
188 8
|
8月前
|
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
393 0
Siemens NX何时支持GPU光线追踪与图形加速?
NX的Ray Tracing Studio在NX 1847及更早版本中不支持NVIDIA RTX板的GPU加速,仅依赖CPU,性能较慢。从NX 1872起支持GPU加速。自2023年6月版起,若无GPU,NX将显示图形配置错误并记录到syslog文件,建议使用支持的GPU以避免未定义行为。更多支持的硬件和图形信息,请参阅鼎森电脑整理的文件“NX-Graphics-Certification-Table_20241207.xlsx”。链接:https://pan.baidu.com/s/1_FpOoJU_IrExnhVXyzB4cw?pwd=676s 提取码: 676s
111 1
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
226 64

热门文章

最新文章