浅谈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容器化的计算服务。

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
虚拟化 数据中心 异构计算
GPU 虚拟化技术MIG简介和安装使用教程
使用多实例GPU (MIG/Multi-Instance GPU)可以将强大的显卡分成更小的部分,每个部分都有自己的工作,这样单张显卡可以同时运行不同的任务。本文将对其进行简单介绍并且提供安装和使用的示例。
1839 0
|
11月前
|
存储 人工智能 编解码
阿里云GPU云服务器深度评测:算力怪兽如何重塑AI与图形处理的未来?
在AI与高性能计算需求激增的今天,传统CPU已难满足“暴力计算”需求。阿里云GPU云服务器依托NVIDIA顶级显卡算力,结合专为GPU优化的神行工具包(DeepGPU),为深度学习、科学计算、图形渲染等领域提供高效、弹性的算力支持。本文全面解析其产品优势、工具链及六大真实应用场景,助你掌握AI时代的算力利器。
阿里云GPU云服务器深度评测:算力怪兽如何重塑AI与图形处理的未来?
|
机器学习/深度学习 人工智能 并行计算
弹性算力革命:企业级GPU云服务如何重构AI与图形处理的效能边界
企业级GPU云服务基于云计算技术,为企业提供强大的GPU资源,无需自购硬件。它广泛应用于人工智能、大数据、3D建模、动画制作、GIS及医疗影像等领域,加速深度学习训练、图形处理和科学计算,提升效率并降低成本。企业可按需获取计算资源,灵活应对业务高峰,优化成本结构,推动业务发展。
332 1
|
存储 监控 安全
【探索嵌入式虚拟化技术与应用】— 虚拟化技术深入浅出自学系列
【探索嵌入式虚拟化技术与应用】— 虚拟化技术深入浅出自学系列
520 2
|
图形学 异构计算
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
894 1
|
并行计算 API 数据处理
GPU(图形处理单元)因其强大的并行计算能力而备受关注。与传统的CPU相比,GPU在处理大规模数据密集型任务时具有显著的优势。
GPU(图形处理单元)因其强大的并行计算能力而备受关注。与传统的CPU相比,GPU在处理大规模数据密集型任务时具有显著的优势。
|
安全 Devops 虚拟化
【专栏】虚拟化技术与云计算平台 OpenStack:硬件虚拟化、操作系统级虚拟化和容器化
【4月更文挑战第28天】本文探讨虚拟化技术原理,如硬件虚拟化、操作系统级虚拟化和容器化,以及开源云计算平台OpenStack如何利用这些技术提供优势。OpenStack支持多种虚拟化技术,具备开源灵活性、多租户架构、可扩展性、插件式设计和成本效益。未来,OpenStack将在容器化、DevOps、跨云策略和安全合规性方面发挥更大作用,助力企业数字化转型。
1218 4
|
Linux 虚拟化 云计算
虚拟化技术及实时虚拟化概述
本文探讨了实时虚拟化技术,它是虚拟化技术的一种,旨在保证严格的时间约束和高可靠性。文章介绍了虚拟化的起源、分时系统的历史以及虚拟化技术在云计算时代的复兴。内容涵盖分时系统、虚拟化技术的定义、类型(全虚拟化、半虚拟化、硬件辅助完全虚拟化和操作系统级虚拟化)及其优缺点。此外,还讨论了不同类型虚拟化技术的实现方式,如Type-1和Type-2虚拟化,以及容器技术。文章强调了实时虚拟化在工业实时控制、汽车、通信等领域的应用,并预告后续将重点讨论实时虚拟化技术。
1394 0
虚拟化技术及实时虚拟化概述
|
存储 缓存 算法
龚大视频学习笔记:上帝视角看GPU(1)-图形流水线基础
龚大视频学习笔记:上帝视角看GPU(1)-图形流水线基础
754 0
龚大视频学习笔记:上帝视角看GPU(1)-图形流水线基础
|
缓存 并行计算 算法
上帝视角看GPU(5):图形流水线里的不可编程单元
上帝视角看GPU(5):图形流水线里的不可编程单元
1008 0