云计算供应商正在投资于不同供应商的基于GPU的功能,因此企业应尝试了解AMD和Nvidia产品之间的区别。
在Microsoft Ignite 2019大会上,微软透露其正在与半导体供应商AMD合作,以在基于AMD GPU的Azure上提供一组新的虚拟机。仅在Azure中,微软现在就有7种不同的虚拟机实例类型,这些实例类型具有AMD和Nvidia的不同GPU卡。亚马逊和谷歌的云服务也有大致相同的选项数量。
IT部门应该了解AMD与Nvidia的技术差异,以及它们最适合哪种工作负载。
从虚拟化的角度来看,基于GPU的产品主要针对远程可视化和编码。这些产品为远程最终用户提供基于GPU的桌面或应用程序。AMD和Nvidia一直在开发GPU卡,专门适用于AI以及基于深度学习的工作负载,例如流行的机器学习引擎Tensorflow。这些GPU也非常适合于硬件,以加速基于现代高性能计算的产品中的计算工作负载。
对于传统虚拟机管理程序上的远程可视化工作负载,可以使用以下三个选项为虚拟机提供GPU功能:直通。通过虚拟机管理程序将物理GPU卡直接映射到虚拟机。使用此方法的技术包括VMware DirectPath I / O、XenServer GPU Passthrough和Hyper-V Discrete Device Assignment。 虚拟共享图形。基于虚拟机管理程序共享GPU到虚拟机。使用此方法的技术包括VMware vSGA和Hyper-v RemoteFX vGPU中的先前功能。虚拟GPU(vGPU)。基于GPU的虚拟化,将虚拟GPU配置文件附加到每个虚拟机。使用此方法的技术包括Nvidia vGPU和AMD MxGPU。
这三种交付模型之间的主要区别在于规模和与虚拟机的不同GPU功能的兼容性。
直通模式提供完全的图形兼容性,这意味着最终用户可以访问GPU的全部功能。但是,由于GPU卡已锁定到一台虚拟机,因此这种方法无法提供扩展性。这也可能意味着资源没有得到最有效的利用。企业通常将直通模式用于特定工作负载,它们需要更多专用容量。
通过第二个共享vGPU的选项,GPU容量被分为多个虚拟化实例,这些实例可以连接到多个虚拟机。vGPU方法也提供全部功能,并且,它可以确保每个虚拟机都可以访问一定数量的基础GPU资源。
第三种选择是常规vGPU,它是可视化工作负载的最常见部署模型。例如,IT部门可以运行Citrix Virtual Apps和Desktop或VMware Horizon,以向多个最终用户提供GPU功能。
AMD和Nvidia均提供基于vGPU的产品,但他们的交付模型有所不同,企业在选择供应商之前必须了解他们之间的差异。Nvidia的vGPU产品基于在虚拟机管理程序中安装主机驱动程序,该程序将虚拟图形卡分配给来宾VM。而AMD的MxGPU产品是完全基于硬件的方法,基于被称为单根输入/输出虚拟化(SR-IOV)的硬件功能。
这两家厂商在硬件方面也采取不同的方法。Nvidia在其GPU中部署Timeshare Scheduling(分时调度)。这意味着访问GPU的每个用户都可以访问GPU上的所有物理核心,以进行时间分段。另一方面,AMD将一部分GPU内核直接分配给每台计算机。
Nvidia的方法适用于这样的情况:所有用户始终不需要完全访问GPU。这种方法允许用户以较少的摩擦来共享资源。Nvidia的架构还允许实时迁移运行vGPU的虚拟机,这是AMD的MxGPU无法实现的功能,但是此功能需要付出一定的代价。
在发布vGPU产品数年后,Nvidia公司改变了销售模式,要求在其GPU卡上需要软件许可。除Nvidia硬件外,客户还需要购买许可证才能访问软件升级并激活vGPU功能。另一方面,AMD不需要客户购买任何其他许可证来激活其MxGPU产品。此外,MxGPU产品基于硬件,因此允许客户在不同的云提供商之上提供虚拟化的图形。