GPU虚拟化:英伟达&AMD技术分析

科技   2024-10-24 07:49   四川  
GPU虚拟化就是将一个物理GPU切分为多个虚拟CPU以供不同虚拟机使用(GPU切分)。

下载链接:


NVIDIA vGPU方案(软切分)

  1. 方案组成
  • 硬件:显卡需要支持GPU虚拟化
  • 软件:虚拟化层和VM中分别有两类不同的驱动来实现
  • 授权:通过授权来限制或者部分限制vGPU卡的使用
  1. 性能指标
  • GPU架构,架构越新代表制程更先进和更大的晶体管规模
  • CUDA核心:越大越好
  • 显存:显存是虚拟机独占的
  1. 英伟达本身硬件是不做切分做工,通过虚拟化层和虚机中的驱动来完成切分


vGPU资源调度机制

  1. GPU的主要资源:
    1. CUDA核心,
    2. 显存,
    3. BAR(Base Address Register 是一种寄存器,用于指示设备(如显卡)在物理内存中的基地址,BAR通常用来配置设备的I/O端口或内存映射,并告诉系统在哪里可以找到设备的寄存器、缓冲区或其他资源。),
    4. channel(内存通道,通信通道等)
  2. 虚拟机的独占资源:显存,虚拟BAR,channel
  3. 虚拟机共享资源:计算核心,所有虚拟机分时共享(自己时间片内享受到所有的计算资源)
  4. 三种调度策略
    1. Best effort (抢占),任务量大的分的资源多
    2. Equal share:无论有没有任务,只要开机就能拿到相应的计算资源
    3. Fixed Share:无论有没有任务,有没有开机,都预留给VM


    vGPU资源切分说明

    1. 一般一个GPU只能跑一种profile,包括显存容量和授权模式(可能是因为硬件设计或者稳定性,兼容性的考虑)
      1. 比如8核,只能切成2222或者44,不能224
      2. 虚机漂移,只能在相同GPU型号之间实现,也不是所有虚拟机都支持
    1. 部分显卡支持GPU直通,允许虚拟机直接访问物理GPU,而不是通过虚拟层介入。这种直通模式也被称为GPU Passthrough。

    在传统的虚拟化环境中,虚拟机通常使用虚拟的图形适配器,而不是直接访问物理GPU。这样的虚拟适配器通过宿主操作系统的图形驱动程序提供图形输出。然而,对于某些工作负载,特别是需要高性能图形加速的应用程序(如游戏、计算机辅助设计等),虚拟适配器的性能可能不足以满足要求。

    GPU直通模式通过将整个物理GPU分配给虚拟机,使得虚拟机能够直接控制GPU,获得接近原生性能的图形加速。这样,虚拟机中的应用程序就能够利用GPU进行计算和图形处理,而不受虚拟适配器的性能限制。

    1. 单张GPU可分配的vGPU是32个,(分片,如果太多可能轮询时间就太长,延迟就明显)


    授权检测

    1. 多种授权类型
    2. 需要独立的授权服务器,开机占用授权,关机释放授权


    AMD MxGPU(硬切分)

    它允许将物理GPU资源划分为多个逻辑部分,每个部分可以分配给一个独立的虚拟机。这样,每个虚拟机就能够独享一定比例的GPU性能,而不会受到其他虚拟机的影响。

    以下是AMD MxGPU的一些切分方案和特点:

    1. 硬件资源切分: MxGPU通过硬件支持,将物理GPU切分为多个虚拟GPU。每个虚拟GPU拥有自己的显存、计算单元等硬件资源。这种硬件级的切分有助于提供较好的性能隔离,确保一个虚拟机的工作不会影响其他虚拟机。
    2. vGPU Profiles: MxGPU引入了不同的vGPU profiles,每个profile对应不同的GPU性能级别和硬件资源。这允许管理员根据实际需求为虚拟机选择适当的性能水平,以满足不同用户或工作负载的需求。
    3. 动态分配: AMD MxGPU支持动态分配GPU资源。这意味着管理员可以在运行时动态调整每个虚拟机的GPU性能水平,以适应不同的工作负载和用户需求。
    4. GPU共享: AMD MxGPU还支持GPU共享,允许多个虚拟机在需要时动态共享未使用的GPU资源。这种灵活性有助于提高整个系统的资源利用率。
    AMD MxGPU的切分方案为虚拟化环境提供了一种有效管理和分配GPU资源的方法,尤其适用于需要在虚拟化环境中运行图形密集型工作负载的场景。


    方案组成

    1. 硬件:搭载的显卡支持GPU虚拟化
    2. 软件:非常小,不通过驱动进行切分
    3. 无需授权:基于硬件实现,不需要软件授权
    4. SR-IOV(Single Root I/O Virtualization)是一种用于虚拟化的技术,旨在提高网络和存储设备在虚拟化环境中的性能。该技术允许物理设备在多个虚拟机之间进行硬件级别的切分,而不会牺牲性能。(PF -> VF -> IOMMU直通)


    资源调度原理

    1. PF拓展出的每个VF就是一个实例,相当于一个独立的PCIE设备,对主板而言,有多少VF就有多少个物理卡。
    2. 独享资源:显存独占,有独立的PCI配置
    3. 共享资源:流处理(存疑),也查到用户在所有时间占用部分计算资源

    不像英伟达,需要经过很多层,通过IOMMU(i/o memory unit)可以将物理设备地址对应到不同的虚机中。也就是说物理设备在划分为相应的VF之后,每个VF只能寻址虚机0所涉及的地址范围,无法访问其他虚机地址(安全),同时不需要经过中间那么多层的翻译和信息传递,CPU消耗也较小。

    硬件虚拟化的价值

    1. 虚拟化对硬件损耗小,不需要VMM(虚拟化层)翻译,节省CPU资源
    2. 每个虚拟机获得的性能更平均,更稳定
    3. 安全性更好(IOMMU)


    限制说明

    1. 单块GPU切分的桌面数必须是偶数(一张卡有两个GPU,但是只能有一个配置文件)
    2. 整个服务器无论有几张卡,都只能有一个配置

    硬件切分 vs 软件切分


    硬件虚拟化 vs 软件虚拟化


    硬件虚拟化软件虚拟化
    优点
    价格低资源消耗小性能更稳定更好的安全性
    上市后依然可以通过软件升级进行迭代可满足的场景多CUDA生态更好
    缺点
    上市后无法继续迭代切分限制更多不支持VM漂移
    价格高稳定性低虚拟化导致的性格损耗多
    作者:脑容量不足
    链接:
    https://juejin.cn/post/7321410893680787493

    GPU技术篇

    下载链接:

    《2024 云栖大会技术分享合集(4)》

    《2024 云栖大会技术分享合集(3)》

    《2024 云栖大会技术分享合集(2)》

    《2024 云栖大会技术分享合集(1)》

    《2024年中国AI Agent研究合集》

    1、2024年中国AI Agent研究:创新驱动,智能技术革新 

    2、中国AI Agent行业研究:智能体落地千行百业,引领智能化革命的新引擎

    AI Agent在解决大模型应用难题中的关键作用

    AI Agent行业词条报告:驱动智能交互变革,重塑服务生态

    AI Agent在企业生产中的技术实践

    《AI Agent技术应用合集》

    1、面向办公自动化领域的 AI Agent 建设思考与分享 

    2、AI Agent 在企业经营分析场景的落地 

    3、LLM和Multi-Agent在运维领域的实验探索

    2024年AI Agent行业研究报告




    免责申明:本号聚焦相关技术分享,内容观点不代表本号立场,可追溯内容均注明来源,发布文章若存在版权等问题,请留言联系删除,谢谢。

    推荐阅读
    更多架构相关技术知识总结请参考“架构师全店铺技术资料打包(全)”相关电子书(41本技术资料打包汇总详情可通过“阅读原文”获取)。
    全店内容持续更新,现下单“架构师技术全店资料打包汇总(全)”一起发送“服务器基础知识全解(终极版)和“存储系统基础知识全解(终极版)pdf及ppt版本,后续可享全店内容更新“免费”赠阅,价格仅收249元(原总价339元)。


    温馨提示:

    扫描二维码关注公众号,点击阅读原文链接获取架构师技术全店资料打包汇总(全)电子书资料详情


    架构师技术联盟
    分享项目实践,洞察前沿架构,聚焦云计算、微服务、大数据、超融合、软件定义、数据保护、人工智能、行业实践和解决方案。
     最新文章