开发者社区> 问答> 正文

SR-IOV 技术有哪些功能?

已解决

SR-IOV 技术有哪些功能?

展开
收起
阿阿里云 2022-04-05 09:38:46 1097 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    1)物理功能(Physical Function,PF) 宿主机上的物理主设备,宿主机上的 GPU 驱动安装在 PF 上。PF 的驱动是管理 者。它是一个完备的设备驱动,与一般 GPU 驱动的区别在于它管理了所有 VF 设备 的生命和调度周期,比如图 3-30 所示的 07:00.0 就是 S7150 的 PF 设备。

    2)虚拟功能(Virtual Function,VF) 也是一个 PCI 设备,如图 3-30 中的 07∶02.0 和 07∶02.1。图 3-30 中的一个 PF (S7150)划分出了 4 个 VF,理论上运行在 1 个 VF 上面的虚拟机 GPU 的图形渲染性能是 PF 的 1/4。

    在 GPU SR-IOV 方案中,把一个物理 GPU 设备(PF)拆分成多个小份虚拟机GPU(VF),这些 VF 依然是符合 PCI 规范的 PCIe 设备。GPU SR-IOV 方案在虚拟比 1 ∶ 1 的情况下性能上大概有 5% 的损失。VF 分时复用 GPU 硬件资源,GIM 模块负责时间片调度,支持 Round-Robin 和 QoS 两种调度策略。VF 的调度是 GPU SR-IOV 中的重点,涉及如何服务虚拟机,以 及如何确保 GPU 资源的公平分片等。

    GPU SR-IOV 也是一个分时复用的策略。GPU 分时复用与 CPU 在进程间的分时复用是一样的概念。一个简单的调度就是把一个 GPU 的时间按照特定时间段分片, 每 个 VF 拿到特定的时间片。在这些时间片段中,VFn 独自享有 GPU 硬件的全部 资源。

    目前所有的 GPU 虚拟化方案都采用了分时复用的策略。但不同的 GPU 虚拟化 方案在时间片的不同切片中会采用不同的方案。有些方案会在一个 GPU Context 的 当前 batch buffer/cmd buffer 执行结束之后启动调度,并把 GPU 交由下一个时间片的 所有者。有些方案则会严格要求在特定时间片结束的时候切换,强行打断当前 GPU 的工作,并交给下一个时间片的所有者。这种方案确保 GPU 资源被平均分摊到不同 VF。AMD 的 GPU SR-IOV 采用的是后一种方案。AMD 的 GPU 硬件设计保证了在任 何 GPU Batch Buffer 的执行过程中可以被安全抢占,保障每个 GPU VF 具有同等的性 能,理论上每个 GPU VF 的性能都是 GPU PF 的 1/N,N 是设定的虚拟比。

    《弹性计算:无处不在的算力》电子书可以通过以下链接下载:https://developer.aliyun.com/topic/download?id=7996"

    2022-04-06 08:47:17
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载