GPU全虚拟化的方式由于其性能和多虚拟机共享性方面的优势,一直是GPU厂家所努力支持的方向。本文通过几张架构图,看一下GPU全虚拟化中的Intel GVT-g和NVIDIA vGPU以及他们的统一架构Mediated Device。
我们知道GPU虚拟化的方案有:
设备模拟;2. API图形指令转发;3. 物理GPU指定给虚拟机独占;4. GPU全虚拟化(与本文相关的)。
Linux内核4.10中对VFIO添加了Mediated Device(vfio-mdev) Interface,用来支持Intel GVT-g, NVIDIA vGPU,并提供统一的框架。具体作用为通过软件调度的方式在Host与Guest之间提供一个中间的mediated device来允许Guest虚拟机访问Host中的物理GPU。
Mediated device的架构如下:
Linux内核中对VFIO Mediated devices的介绍:
NVIDIA vGPU 部分架构原理如下:
Intel GVT-g 架构如下:
openstack对intelGVT-g和nvidia vGPU的支持:
-----------------------------------------------------------------------
领取专属 10元无门槛券
私享最新 技术干货