六种GPU虚拟化:除了直通、全虚拟化 (vGPU)还有谁?
创作时间:
作者:
@小白创作中心
六种GPU虚拟化:除了直通、全虚拟化 (vGPU)还有谁?
引用
CSDN
1.
https://blog.csdn.net/zhengmx100/article/details/136809717
在大类上计算虚拟化技术有这3种: 软件模拟、直通独占(如网卡独占、显卡独占)、直通共享(如vCPU 、vGPU)。但对于显卡GPU而言我总结细化出至少这6种分类(其中第四、五种都是第三种的具体实现):
- 第一种、软件模拟(eg sGPU), 又叫半虚拟化。
- 第二种、直通独占(pGPU) , 有的文章翻译为透传 。Openstack/KVM/ESX等IaaS场景用到。
- 第三种、直通共享(基于SR-IOV技术虚拟出vGPU) , 在技术上分类叫全虚拟化 。三个大厂有部分型号GPU支持,具体型号见 https://open-iov.org/index.php/GPU_Support 。这是AMD首先搞出来的,但似乎他们后来也转向GPU分片虚拟化了,这个网站AMD的产品反而没几款。
- 第四种、GPU分片虚拟化(mediated passthrough),也属于全虚拟化技术。其热度很高,基于VFIO mediated passthrough framework的GPU虚拟化方案。该方案由NVIDIA提出,并联合Intel一起提交到了Linux kernel 4.10代码库,该方案的kernel部分代码简称mdev模块。把会影响性能的访问直接passthrough给虚拟机,把性能无关,功能性的MMIO访问做拦截并在mdev模块内做模拟。商业产品有NVIDIA GRID vGPU 与Intel的GVT-g系列,前者不开源,后者大部分开源。
- 第五种、多实例 GPU (MIG)技术,也属于全虚拟化技术。MIGNvidia 搞出的新技术,可将单个 GPU 分区为最多 7个完全的隔离vGPU实例,减少资源争抢的延时,提高物理 GPU 利用率。但可惜目前仅昂贵和国内禁售的NVIDIA A100 GPU 支持。
- 第六种。Time-Slicing GPU(时间共享GPU)。把本来再空间上并行(时间独占)的成百上千的GPU流水线进行的时间维度的分割和共享。各个GPU厂家都有类似的技术。英伟达的技术文档:https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/gpu-sharing.html 。
注意,以上第四种是收费的,所以企业用户要去英伟达官网购买license。英伟达又卖硬件又卖软件license,赚钱能力真强。
第五种MIG则是买到昂贵的A100卡就能用了,不需要license。
普通玩k8s的企业,则用免费的Time-Slicing GPU (时间分片共享GPU)。
多扯淡一句,深度思考下,是否还有其他分类呢?比如上面的第六种是不是进程虚拟化呢?在docker出现后, 人们突然发现以前使用冯·诺依曼架构的 CPU/GPU 的方式也是一种虚拟化: - CPU 原理上是pipeline流水线上的时间维度分片的算力虚拟化,
- GPU原理是空间维度分片的算力虚拟化。
eg.一台电脑只有一块CPU、一块GPU, 但多个程序(进程)都可以使用它们,对于进程而言难道不算虚拟化? 我想起当年“云计算(cloud computing)”这个词被创造后,以前在网页上提供购物、E-mail 、CRM等的,都说自己也在做云计算。现在第六种GPU虚拟化方式出来了,也就算它是进程虚拟化~
GPU软件模拟模式 (sGPU)
软件虚拟化就不讲了,因为真实场景太少,做做实验还将就用,没法用在生产环境,毕竟性能损失太多。
GPU 直通模式 (pGPU)
几种GPU的虚拟化技术,直通是最早出现,即技术上最简单和成熟的方案。厂家(Nvidia ,AMD ,Intel等 )的GPU,只要支持IOMMU的理论上都可以,即直通模式的实现依赖于IOMMU的功能。
优点:
- 原理简单。GPU直通模式的技术方案与虚拟化领域其他PCI直通(eg.网卡直通 ,USB 直通)原理相同
- 兼容性好
- 硬件驱动无需修改,不依赖GPU厂商,技术简单。所以小型GPU集群的运维的技术成本低,
缺点 - 不支持热迁移/在线迁移(Live Migration)
- 不支持GPU资源的分割(即对显存的分割,所以出现了下文的几种技术),不能充分利用高价买的GPU
- 缺少物理机层面的GPU性能监控API接口,在大型GPU集群中,这又导致运维成本上升。
安全性:
由于GPU的复杂性和安全隔离的要求,GPU直通技术相对于任何其他设备来说,会有额外的PCI 配置空间模拟和MMIO的拦截(参见QEMU VFIO quirk机制)。比如Hypervisor或者Device Module 不会允许虚拟机对GPU硬件关键寄存器的完全的访问权限,
GPU 全虚拟化(vGPU)
原理:在硬件实现GPU全虚拟化,将虚拟图形处理单元(vGPU)透传给虚拟机使用。
本文开头介绍过,GPU全虚拟化技术先后有SR-IOV(开源技术) 。还有vGPU 、MIG。它们虚拟出来的GPU都是vGPU。
GPU虚拟化的实现原理简介:
物理GPU虚拟化为多个虚拟机GPU,每个虚拟GPU直接分配给虚拟机使用,通过软件调度的方式在主机(Host)与计算机的来宾账户(Guest)之间提供一个中间设备来允许Guest虚拟机访问Host中的物理GPU。
NVIDIA 官网说的Grid vGPU优势:
- 安全性高。具有完全输入输出内存管理单元( IOMMU )保护的虚拟机能够同时直接访问单个物理 GPU 。
- 通过实时虚拟机迁移进行虚拟机管理
- 支持运行混合的 VDI 和计算工作负载,以及与许多行业虚拟机监控程序的集成。
Grid vGPU劣势:使用NVIDIA 的vGPU需要license,这块费用需要考虑在技术选型里面。
英伟达GPU虚拟化技术的对比
后三种比较常见:
热门推荐
高邮两日游:盂城驿、文游台打卡攻略
曹丕篡汉逼刘备称帝,三国鼎立局势骤变
刘备称帝建蜀汉,三国鼎立格局定
跟着汪曾祺的脚步,高邮两日游打卡攻略
告别单身狗,北宫雨泽教你花式表白指南
早晨的一杯牛奶,温暖TA的心
解码女性的非言语信号:那些藏不住的悸动
雾霾天不开窗,你真的懂吗?
杭州茶山:年轻人的徒步新选择,茶文化的创新传承
朱春阳教授谈城市蓝绿空间设计:优化生态功能的关键路径
新质生产力引领城市规划新潮流
电动车轮胎更换攻略:让你秒变维修达人
双十一电动代步车轮胎更换攻略
杭州迈入超大城市行列,2025年五大产业将破1.3万亿元
龙血竭治疗溃疡性结肠炎获新突破
龙血竭:养生界的“神药”?
枸杞是热性还是凉性,盆栽枸杞的也能泡水喝吗?
生姜与干姜功效大不同!三伏前选对姜,才能吃出健康
规则变动下的风险管理:从规则怪谈到企业实践
连翘:消肿界的网红草药
狮马龙活络油:消肿止痛的居家必备良药
央行降息后,你的理财方式变了吗?
过期食品:从健康隐患到法律规制的全面解析
国航乘客食物中毒,再次敲响过期食品警钟
探访长春哈尔滨工业遗址,感受历史韵味
2024ESC房颤指南:AF-CARE模式引领管理新趋势
冬季心血管疾病高发,六大措施预防房性心律失常
1957年高考语文题曝光:比现代高考简单得多
乳果糖过量小心腹泻和电解质失衡
公积金贷款利率下调,楼市迎暖春?