深入计算机的世界分享 http://blog.sciencenet.cn/u/qizhwei 虚拟化、云计算、Dev-Test-Ops

博文

Intel GPU虚拟化方案 KVMGT 正式进入Linux 内核 4.10

已有 13717 次阅读 2017-2-25 12:29 |个人分类:学术探讨|系统分类:科研笔记| 虚拟化, GPU

Linus Torvalds 在内核邮件列表上宣布释出 Linux 4.10。Linux 4.10 的主要特性包括:加入了 GPU虚拟化方案 Intel GVT-g for KVM (a.k.a. KVMGT)的支持; 【参见 http://www.solidot.org/story?sid=51408】

A Full GPU Virtualization Solution with Mediated Pass-Through

KVMGT: a Full GPU Virtualization Solution


GPU 虚拟化起步比CPU虚拟化要晚,也更复杂,Intel 将其虚拟化方案开源,并在ATC‘14 发表了论文, 当时也有一篇NVIDIA的GPU虚拟化论文GPUvm。我们实验室和Intel 合作在ATC’15 ATC‘16 发表了GPU虚拟化方案的改进,对整个方案也比较了解,下面简单讲述一下。


目前在虚拟化环境下使用GPU资源主要有四种途径:设备模拟、API转发、设备直通访问和全虚拟化。

1. 设备模拟直接将设备分配给指定的虚拟机。采用类似于CPU虚拟化中二进制转换方法进行模拟。但相对于CPU,GPU的特性复杂,不同的设备提供商之间的GPU规格区别很大,GPU的资源很难被拆分,模拟的效率低。因此,典型的QEMU软件仅模拟了VGA设备的基本功能,它通过一个半虚拟化的图像缓冲区来加速特定的2D图像访问,不符合高效、共享的虚拟化要求。

2. API转发将图形指令如OpenGL从客户虚拟机转发到虚拟机监视器VMM中,实现虚拟化环境下GPU的共享。该方法目前被广泛应用在VMWare和VirutalBox等软件中。基于Chromium的VMGL和Oracle的VirtualBox,采用定制过的OpenGL库来替换原有的OpenGL库,将虚拟机中的OpenGL指令转发到虚拟机监视器中去执行。针对GPU运用于通用计算(GPGPU),rCUDA、 vCUDA和gVirtuS、都采用转发CUDA和OpenGL的指令来解决虚拟化环境下运行GPU通用计算程序的问题。然而API转发受限于平台,例如Windows采用的接口是DirectX,不兼容于OpenGL或CUDA。因此,一个Linux主机就不能执行Windows客户机转发过来的DirectX 命令。同时由于API转发引起大量的上下文切换,性能损失较大。

3. 设备直通访问将物理GPU指定给虚拟机独占访问。 上述API转发提供了优秀的GPU共享能力,但性能低。设备直通访问则相反,通过独占使用,提供了优异的性能,例如,基于Intel的VT-d技术,通过翻译DMA访问的内存地址的方法让GPU分配给一个虚拟机使用,能够达到与原生物理GPU相近的性能,但牺牲了共享。

4. GPU全虚拟化允许虚拟机直接访问对性能敏感的资源(如GPU访问显存),基本解决直通和共享的矛盾,类似于IO虚拟化的SR-IOV技术,通过影子页表隔离每个虚拟GPU的访问空间,从而大多数的命令执行会不受虚拟机监控器的干预,因此虚拟GPU就可以获得接近非虚拟化情况下的性能。


由于GPU结构复杂,技术限制多,直到2014年才提出了两种针对主流GPU平台的硬件辅助的全虚拟化方案:基于英伟达GPU的GPUvm和基于英特尔GPU的gVirt。GPUvm支持全虚拟化,也支持半虚拟化。在全虚拟化模式下运行开销比较高。gVirt是第一个针对英特尔平台的GPU全虚拟化开源方案,为每个虚拟机都提供了一个虚拟的GPU,并且不需要更改虚拟机的原生驱动。


这次发布的内核也是基于以前的成果,内核正式支持后,今后GPU虚拟化使用就比较方便了,通过统一的架构,例如VFIO,可以将目前常见的GPU虚拟化后进行高效管理,接下来也类似CPU,重点需要解决GPU虚拟化的高可用,例如checkpoint和在线迁移,便于和其他虚拟化资源统一进行管理。







https://blog.sciencenet.cn/blog-279072-1035996.html

上一篇:《程序员文史综合素质测试题,第一题就给跪了!》原创文章
下一篇:两个Android静态分析工具被Mobile Security Wiki收录
收藏 IP: 101.87.224.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 04:41

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部