来源:IT之家 作者:汪淼
近日,麒麟软件研发中心虚拟化技术研发团队推出虚拟 GPU 方案 V2.0,该方案采用 vhost-user-gpu、3D 渲染同步优化、基于动态数据的云桌面刷新等技术,将虚拟机 GPU 的 3D 渲染性能提升到后端 GPU 3D 渲染性能的 80% 以上。麒麟软件表示,该方案无需专业显卡支持,通过消费级显卡即可使虚拟机满足图像处理、平面设计、3D 建模以及游戏等场景的需求,同时可实现 1:N 的灵活性和隔离性,大大降低了用户使用成本。附麒麟软件虚拟 GPU 方案 V2.0 版技术框图:据介绍,随着云桌面技术的发展和广泛应用,用户在云桌面进行图像处理、平面设计、3D 建模以及游戏等场景需求增多,这对云桌面的图像渲染能力提出了越来越高的要求。在 2022 年 5 月,麒麟软件基于开源 virtio-gpu 半虚拟化显卡技术和 api 转发方案,开发了自己的虚拟 GPU 方案 V1.0。该方案对 virtio-gpu 虚拟显卡进行了深度优化,在有后端 GPU 支持的情况下,可将 virtio-gpu 的渲染性能提升到后端 GPU 性能的 60%(采用 glmark2 渲染基准测试)。
然而,与 GPU 硬件虚拟化方案相比,麒麟软件虚拟 GPU 方案 V1.0 的渲染转发过程开销仍比较大,后端物理 GPU 没能得到充分利用,损失近 40% 的渲染性能。针对该问题,对虚拟 GPU 方案进一步升级优化,推出麒麟软件虚拟 GPU 方案 V2.0,使得渲染过程中的性能损耗降低到两成以内,3D 综合渲染性能可以达到后端 GPU 性能的八成以上。
麒麟软件表示,GPU 方案 V2.0 采用新技术框架,使用 vhost-user-gpu 虚拟显卡(基于 vhost-user 技术实现)替换了 V1.0 方案采用的 virtio-gpu 虚拟显卡。vhost-user-gpu 虚拟显卡无需经由宿主机内核 kvm 模块和用户态切换,可以通过共享内存直接与虚拟机进行数据面通信,减少了大量的用户态(vm exit 和 vm entry)切换开销,V1.0 版本额外开销更小,性能更好。此外,GPU 方案 V2.0,还突破了渲染命令执行实时监听技术与快速命令反馈技术,在渲染命令执行过程中,实现实时监听,提升命令执行监听精确度,减少物理 GPU 的空闲等待;在命令执行完毕前,预先准备好反馈数据,提升反馈速度和减少反馈时间开销。实现了由完整桌面刷新改为动态区域刷新,即只刷新桌面显示数据有变化的区域,降低云桌面刷新时,读取物理 GPU 中未变化图像数据所造成的额外开销。
为验证方案效果,基于英特尔集显、AMD RX 550 以及英伟达 RTX 2060 三种不同厂商的显卡,以及 glmark2 和 gputest 两种不同的基准测试程序对 vhost-user-gpu 的 3d 渲染性能进行了测试,结果如下:在 glmark2 基准测试下,vhost-user-gpu 在分别以三种不同类型的 GPU 作为后端渲染加速 GPU 的情况下,测试得分均达到甚至超过物理 GPU 的原始测试得分的 80%。在 gputest 基准测试下,对比 vhost-user-gpu 与物理 GPU 在 7 个不同测试场景下的得分,结果显示,在大多数情况下,优化后的 vhost-user-gpu 的性能同样可以达到物理 GPU 原始性能的 80% 以上。此外,麒麟软件虚拟化 GPU 方案 V2.0 还进行了广泛的架构适配和显卡适配,在商用 x86、arm 架构下,采用主流显卡厂商 GPU 作为后端 GPU 时,该方案均能正常运行。官方站点:www.linuxprobe.com
Linux命令大全:www.linuxcool.com
刘遄老师QQ:5604215
Linux技术交流群:2636170
(新群,火热加群中……)
想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!