GPU 直通 & vGPU:超融合为 GPU 应用场景提供高性能支持
近些年,随着大数据、区块链、AI 等技术快速兴起,越来越多的企业在生产场景中使用人工智能、机器学习、高性能计算等前沿应用,加速企业现代化发展。由于这些应用普遍需要强大的并行计算能力,相较于擅长处理串行任务的 CPU,具备更多核心、可并发处理多个任务的 GPU 成为了支撑高性能应用的不二之选,企业对 GPU 算力的需求也水涨船高。
然而,GPU 芯片在国内市场上非常稀缺,且价格高昂,为了尽可能提高 GPU 资源的利用效率,不少企业选择将 GPU 资源虚拟化,或在虚拟化(或超融合)环境中使用 GPU。那么,如何在虚拟化架构上充分发挥 GPU 能力和优势?怎样以一套架构支持资源的灵活发放,在满足多种 GPU 应用计算需求的同时,为应用提供稳定、高性能存储支持?
针对企业的 GPU 应用场景需求,SmartX 在全新发布的超融合软件 SMTX OS 5.1 版本中新增了原生虚拟化 ELF 平台 GPU 直通和 vGPU 支持能力。目前,SmartX 超融合可为 ELF 集群提供完整的 GPU 支持能力,并为多种虚拟化环境(包括 VMware ESXi 和 Citrix XenServer)的 GPU 应用提供高性能的存储资源池,帮助企业实现人工智能、机器学习、图像识别处理、VDI(如三维建模、图像渲染)等多种高性能应用的生产级使用。
SMTX OS 5.1 GPU 直通和 vGPU 功能
功能特性
为了满足不同用户和应用场景需求,SMTX OS 5.1 支持两种虚拟化环境中 GPU 使用模式:
GPU 直通:将主机上的物理 GPU 设备透传给虚拟机使用,GPU 的全部资源由一台虚拟机独占。
vGPU:单个物理的 GPU 切割成多个逻辑的 vGPU,并将 vGPU 分配给虚拟机作为虚拟显卡,可实现多个虚拟机共享 GPU 计算/图形处理能力。
两种模式下,每个主机上可以使用多个不同型号的 GPU 设备*,每个虚拟机可挂载多个 GPU 或 vGPU。
*兼容列表见文末附录。
GPU 直通
GPU 直通模式是利用 PCIe Pass-through 的技术,将 SMTX OS 主机上的整块 GPU 显卡透传挂载到虚拟机上使用。这种模式适用广泛,可支持大部分的 GPU 卡型号。直通模式具有良好的兼容性,虚拟机识别到 GPU 型号与实际一致,直接安装官方驱动,可无损使用 GPU 的各项特性和功能。同时,由于虚拟机操作系统可直接访问 GPU 设备,绕过了 SMTX OS 超融合操作系统,使得它能获得接近裸金属使用 GPU 的性能。
不过需要注意的是,该模式下一张 GPU 卡不能同时直通给多个虚拟机使用,如果多个虚拟机需要同时使用 GPU,需要在服务器中安装多块 GPU 卡,分别直通给不同的虚拟机使用。另外,拥有直通 GPU 的虚拟机不支持 HA、在线迁移和分段迁移功能。
vGPU
vGPU 模式允许多台虚拟机共享一张 GPU 物理卡资源,进一步提高资源利用率,节约成本。同时,管理员可以按照用户的实际需求分配不同 GPU 资源,例如 ⅛ GPU、¼ GPU 等,使得 GPU 资源分配更加灵活。
不过,由于 GPU 拥有多种切分方式和切分粒度,不同 GPU 型号对切分方式的支持情况有所区别,适用的工作负载也不尽相同,需要用户注意。同时,NVIDIA 要求 vGPU 搭配相应系列的 NVIDIA GRID vGPU 软件许可才能使用,对应关系如下表所示。
适用场景
基于以上对比,我们分别整理了 GPU 直通和 vGPU 两种模式的适用场景,供用户参考:
优势与价值
快速置备开发环境:通过虚拟机克隆和 vGPU 功能可快速置备多套 GPU 开发环境,提升开发效率。
灵活的资源发放:用户可根据自身需求,自由切换 GPU 直通和 vGPU 模式,灵活切分 GPU 资源,满足不同业务场景对 GPU 使用的需求,提升资源使用率的同时降低成本。
高性能的存储支持:三维建模、深度学习等依赖 GPU 的应用场景,通常对存储 I/O 也有较高的要求。例如:在深度学习的训练和推理场景,经常需要访问大量图像、视频、音频、文本以及结构化数据,涉及多种不同的 I/O 类型,对存储的带宽和 IOPS 都有较高的要求,存储延时也会直接影响训练算法的性能。SmartX 超融合内置自主研发的存储引擎 ZBS,能为 GPU 应用场景提供稳定、高性能、低延时存储服务。
配置方式
GPU 直通
1. 配置主机
首先确保主机上的 GPU 设备符合 SMTX OS 兼容要求,详细型号可参考文末附录。然后登录 CloudTower,为 GPU 设备所在主机开启 IOMMU 支持,并重启 SMTX OS 主机。
2. 挂载 GPU 设备
登录 CloudTower,先将 GPU 用途选择为直通,然后编辑指定虚拟机,选择对应的 GPU 设置直通挂载到虚拟机上。
3. 配置虚拟机
在配备了 GPU 直通的虚拟机上安装 NVIDIA vGPU 软件图形驱动并重启。
vGPU
1. 配置主机
首先确保主机上的 GPU 设备符合 SMTX OS 兼容要求,详细型号可参考文末附录。然后需在 SMTX OS 主机中安装 vGPU 驱动(NVIDIA Virtual GPU Manager),并登录到 CloudTower,为 GPU 设备所在主机开启 IOMMU 并重启主机。
2. 部署 License Server
根据业务需要,从 NVIDIA 购买对应类型和数量的 vGPU 授权。准备一个虚拟机,在其中部署并配置 NVIDIA vGPU software license server。部署及配置方式可参考 NVIDIA 用户指南(文末附链接)。
3. 选择 GPU 切分方案
GPU 卡一般可支持多种切分方案,通过登录 CloudTower ,选择合适的切分方案,如下图所示:
4. 挂载 vGPU 设备
登录 CloudTower ,然后编辑指定虚拟机,选择 vGPU模式,挂载对应的 vGPU 到虚拟机上,如下图所示:
5. 配置虚拟机
在虚拟机中安装 GPU 驱动(NVIDIA vGPU 软件图形驱动)并重启。部署及配置方式可参考 NVIDIA 用户指南。
除了对 GPU 场景的支持,SMTX OS 5.1 还通过 DRS、USB 跨节点访问、PCI 设备直通、大页内存分配、存储并发访问机制、I/O 逻辑优化等多项技术,进一步提升虚拟化和存储能力。欲了解更多 SmartX 超融合最新版本功能与性能,请阅读:SmartX HCI 5.1 发布:是超融合,更是虚拟化与容器生产级统一架构,或扫码下载《SmartX 超融合技术原理与特性解析合集(含 VMware、Nutanix 对比详情)》。
附录:SMTX OS 5.1 GPU 兼容列表
参考文章:
1. NVIDIA Virtual GPU Client Licensing User Guide. (此处以 15.3 版本为例,请根据具体使用的 vGPU Manager 版本查看对应文档)
https://docs.nvidia.com/grid/15.0/grid-licensing-user-guide/index.html#abstract
推荐阅读: