五分钟技术趣谈 | GPU虚拟化在云桌面上的应用

开发 开发工具
5G的应用领域越来越清晰,GPU的应用也日趋广泛,中国移动充分展现了在5G+AI融合创新应用上的探索与贡献。未来,基于领先的GPU虚拟化与一如既往的云实力,中国移动将持续推动行业融合创新,加速5G+AI规模化拓展。

Labs 导读

5G的应用领域越来越清晰,GPU的应用也日趋广泛,中国移动充分展现了在5G+AI融合创新应用上的探索与贡献。未来,基于领先的GPU虚拟化与一如既往的云实力,中国移动将持续推动行业融合创新,加速5G+AI规模化拓展。

作者:潘玮琛,单位:中国移动智慧家庭运营中心

咳咳,新课堂开讲啦!

来看看这次讲啥?

云桌面?

玩耍大型3D、播高清视频卡成翔的那种?

GPU虚拟化?

顶配物理显卡一步到位不香吗?

不要着急,存在即合理~

咱们花5分钟来了解下吧

说不定在这之后你也会欲欲跃试呢

Part 01并行计算天才——GPU

 

GPU(Graphic Processing Unit)即计算机图形处理器,具有数千个计算核心,可以并行、高效地处理工作负载,是硬件显卡的“心脏”。GPU与CPU的区别是CPU 由专为顺序串行处理而优化的几个核心组成,而 GPU 则拥有一个由数以千计的更小、更高效的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构,其相较于CPU的最大优势是更加适用于大量重复数据集运算和频繁内存访问等特点的应用场景,例如3D应用程序、视频和图像渲染这些大规模并行任务。

Part 02 GPU虚拟化

目前主流的商用GPU虚拟化方案主要有:GPU直通模式、GPU分片虚拟化、GPU SRIOV模式等。

(1)GPU直通模式:直通模式也称为穿透模式,即绕过虚拟机管理系统将物理显卡单独分配给某一虚拟机,保存了GPU的完整性和独立性,失去了设备复用的功能,具有性能损耗小、功能兼容性好的特性。例如Xenserver的直通模式就是利用英特尔设备虚拟化技术(Intel VT-d)技术将显示设备暴露给某个客户虚拟机。

(2)GPU分片虚拟化:GPU的分片虚拟化包含两个维度的含义:1. 对GPU的计算资源即算力进行时间片段的划分,由多个虚拟vGPU共享,调度时间片一般在1ms-10ms左右;2. 对GPU显存进行划分,以NVIDIA为例,一个16GB显存物理GPU,如果分配为8个vGPU, 则每个虚拟GPU独享2G显存。

总的来说显卡虚拟化就是将显卡进行时间切片和显存分块,并将这些显卡时间片和显存分片分配给虚拟机使用的过程。由于支持显卡虚拟化的显卡一般可以根据需要切分成不同的规格的时间片,因此可以分配给多台虚拟机使用。其实现原理其实就是在应用层进行拦截与GPU相关的应用程序编程接口(API),通过重定向(仍然使用GPU)的方式完成相应功能,再将执行结果返回应用程序。

以NVIDIA显卡虚拟化和Xenserver为例,服务端虚拟化驱动软件可以转换服务器上安装的物理GPU,以创建可在多个虚拟机中共享的虚拟GPU,各个虚拟机或者应用可通过客户端驱动在用户层提供针对CUDA API的库以及一个维护CUDA相关软硬件状态的虚拟GPU(vGPU),GPU与用户之间的关系不再是一对一,而是一对多。

Part 03 GPU虚拟化之于云桌面

云桌面即虚拟化桌面,目前其最大的缺陷在于糟糕的用户体验,因为在图像处理密集型的应用场景中要求虚拟化桌面存在较高的图形图像处理能力和图形图像远程输出能力,而GPU虚拟化为这两个核心能力提供了强力支撑。

(1)图形图像处理能力:为了满足各类用户的多样化需求,云桌面需要支持图形图像处理、工业设计及游戏等专业领域的应用场景,且云服务中心需要支持对显卡资源的动态调度管理,GPU虚拟化技术则能够根据需要为云桌面虚拟机提供匹配的显卡计算资源,加快虚拟机的图形图像处理能力,加强图像渲染能力,让大型单机游戏不再掉帧!

(2)图形图像远程输出能力:云桌面方案的另一重要环节则是远端虚拟机画面输出到终端屏幕的过程,画面质量和流畅度直接影响到前端桌面的交互体验。目前各类远程桌面传输协议都会涉及到音视频编解码及推流技术,由于网络带宽和时延的限制,远程桌面传输首先需要在本地进行音视频源的压缩、编码,而音视频编码也需要强大的计算能力。例如视频编解码中应用的H264编码技术,为现今视频编解码中应用最为广泛,最为高效省时、省流量的编码技术,实现此编码过程所需要的运算、编码、压缩等流程十分复杂,需要对视频流进行快速、实时编解码,此时虚拟GPU资源就可以提供充足的计算能力。

【本文为51CTO专栏作者“移动Labs”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

责任编辑:未丽燕 来源: 移动Labs
相关推荐

2023-07-02 16:34:06

GPU虚拟化深度学习

2023-09-02 20:15:46

VXLAN云网关

2023-08-29 06:55:43

2023-08-23 07:21:44

JsonSchema测试

2023-07-16 18:49:42

HTTP网络

2023-07-23 18:47:59

Docker开源

2023-08-06 06:55:29

数字可视化物联网

2023-06-03 21:06:05

2023-09-02 20:22:42

自动化测试软件开发

2021-05-17 15:17:42

Thread物联网IOT路由器

2023-09-03 19:21:07

大数据架构

2020-12-08 11:12:59

虚拟云桌面远程安全

2023-07-02 16:09:57

人工智能人脸识别

2023-07-12 15:50:29

机器学习人工智能

2023-08-29 06:50:01

Javamaven

2021-07-07 13:47:38

OCR游戏运行图像

2023-04-15 20:25:23

微前端

2023-07-02 16:43:24

云桌面云计算

2023-08-06 07:05:25

Android优化

2023-09-03 19:06:42

点赞
收藏

51CTO技术栈公众号