GPU虚拟化哪家强

2014年之前GPU虚拟化技术一直采用的是GPU直接passthrough技术,它分为GPU直接passthrough和使用VFIO的passthrough,后来出现了基于SRIOV的GPU虚拟化方案(AMD的GPU采用这种方案)和GPU分片虚拟化(mdev)的GPU虚拟化方案(Intel和NVDIA采用这种方案)

Intel的GPU虚拟化技术叫做GVT-g,NVDIA的GPU虚拟化技术叫做GRID vGPU。

现在Intel和NVIDIA的GPU虚拟化方案都是采用的VFIO mediated passthrough framework。该方案由NVIDIA提出,并联合Intel一起提交到了Linux kernel 4.10代码库,该方案的kernel部分代码简称mdev模块。Linux4.10内核中对VFIO添加了Mediated Device(vfio-mdev) Interface,用来支持Intel GVT-g, NVIDIA vGPU,并提供统一的框架。具体作用为通过软件调度的方式在Host与Guest之间提供一个中间的mediated device来允许Guest虚拟机访问Host中的物理GPU。

GPU直接passthrough以及AMD采用的SRIOV方式下,IOMMU是必备组件,直接使用IOMMU硬件完成GFN到PFN的地址转换。

Intel和NVDIA采用的VFIO mediated passthrough方式不依赖硬件IOMMU,只需要VFIO模块添加type1 IOMMU的驱动。kvmGT(Intel)或者NVIDIA-vgpu-vfio(NVIDIA)驱动模块实现对MMIO的访问拦截和模拟对MMIO的访问,并对DMA transfer的提交作GPA到HPA的翻译过程。

VFIO mediated passthrough的性能损耗主要在MMIO的模拟,而AMD的SRIOV方案,VM中对vGPU的MMIO访问完全没有虚拟化开销。

而VFIO mediated passthrough可以通过Host端对vGPU性能指标进行监控,因为VM对GPU的访问要绕道Host端。

关于VFIO mediated passthrough可以参考kernel的文档:

https://github.com/torvalds/linux/blob/master/Documentation/vfio-mediated-device.txt

关于GPU内部设计与运行原理,可用过Intel的设计和编程文档来了解,毕竟NVDIA是闭源的,而Intel是开源的。

链接地址如下:

https://01.org/linuxgraphics/documentation/hardware-specification-prms

图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值