当前位置:   article > 正文

【架构】GPU虚拟化

gpu虚拟化

GPU虚拟化方法

在这里插入图片描述

远程调用API

在这里插入图片描述

在这里插入图片描述

半虚拟化和全虚拟化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

硬件划分

在这里插入图片描述
局限:授权付费
在这里插入图片描述

    1. Hardware Partition:Ampere 架构的 A100 GPU 所支持的 MIG,即是一种 Hardware Partition。它的问题是不灵活: 只有高端 GPU 支持;只支持 CUDA 计算;A100 只支持 7 个 MIG 实例。
    1. nVidia MPS:它通过将多个进程的 CUDA Context,合并到一个 CUDA Context 中,省去了 Context Switch 的开销,也在 Context 内部实现了算力隔离。导致了额外的故障传播,在工业界和多租户场景不常使用。
    1. Time Sharing:不管是哪一代的 GPU,其 Engine 都是支持多任务调度的。一个 OS 中同时运行多个 CUDA 任务,这些任务就是在以 Time Sharing 的方式共享 GPU。鉴于 MIG 的高成本和不灵活、MPS 故障隔离方面的致命缺陷,事实上就只剩下一种可能:Time Sharing。唯一的问题是,如何在原厂不支持的情况下,利用 Time Sharing 支持好算力隔离、以保证 QoS。

挑战和方向

轻量级虚拟化

容器提供了进程级的轻量级虚拟化,不需要额外的包装库,虚拟化能接近原始性能,需要高效的调度配合使用。

可扩展性

虚拟化目的是提高资源利用率和减少使用者的开销,一个物理机器中整合大量VM可以达成目的,但是CPU和GPU大的整合能力不同,需要从GPU设备内存、GPU上下文切换频率和缓存占用等方面研究VGPU数量对性能的影响。

安全性

hypervisor提供安全隔离,防止一个VM映射到其他VM的地址空间;还有拒绝服务攻击,有文章检查可疑VM并kill来解决,这会导致部分正常VM服务暂停;为了避免GPU重置,需要细粒度的访问控制机制,有方法使用远程API调用,vCUDA,VOCL等,但没有实现隔离,存在安全问题。

参考

[1] https://www.zhihu.com/zvideo/1359813304349667328
[2] https://dl.acm.org/doi/pdf/10.1145/3068281

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/590160
推荐阅读
相关标签
  

闽ICP备14008679号