这篇重要的博客描述了在公共云和本地部署中Frame的用例和GPU选项。本文还将介绍如何调整gpu驱动的工作负载虚拟机的大小、使用的工具以及在使用gpu与Frame时要避免的常见错误。
Playstation 5、RPi、Chromebook、Macbook和苹果iPhone——它们的共同点是什么?!
现在,每个现代终端用户设备都有一个图形处理单元(GPU)和一个基于硬件的解码器,或者两者兼有。当你在Chromebook, RPi, Windows Ultrabook, Playstation 5, Tesla Model S, Apple Watch, Oculus VR set和最新的Android智能手机的技术封面下寻找它们时,你会发现它们。但是为什么gpu和基于硬件的编码器/解码器在按实际使用量付费Desktop-as-a-Service ()?
尽管gpu和编码器/解码器最终有不同的用途,但这一切都是为了提供最佳的图形用户体验,支持DirectX、OpenGL等应用程序api,并减少编码/解码的CPU,以优化资源消耗。
这里的目标是提供最好的用户体验对于那些运行操作系统,比如Windows 10和它的Windows应用程序在两个物理pc和“云工作站”通过DaaS解决方案,比如Nutanix框架,亚马逊工作区,Citrix虚拟应用程序和桌面服务,Microsoft Windows虚拟桌面(项),VMware Horizon Cloud。
图形处理器是热门的-游戏,VR, AI,设计师和DaaS
每一个技术极客都想在他们的游戏pc上使用最新最好的AMD或NVIDIA gpu。虚拟现实,具有实时光线追踪能力的gpu,以及用于商业和娱乐的基于ai降噪的统一通信,今天都是真实的!加密货币挖矿爱好者也经常使用GPU,由于数据、云和GPU的发展,机器和深度学习的最新发展正在飞速发展。
在专业图形环境中,设计师在运行Adobe、Autodesk、Siemens、PTC、Dassault Systemes等公司的工作站应用程序时,知道gpu的价值。此外,当前的Windows 10操作系统、浏览器、视频会议工具(如Teams和Zoom)以及Microsoft Office 365都可以从配备GPU的物理机或虚拟机中受益。
gpu -耶! ?
那么,为什么全世界数百万的虚拟桌面和应用程序用户不是都在使用gpu呢?gpu只适用于特殊的“云工作站”用例吗?(提示:没有)。它们是否能够使用远程协议交付能够使用GPU并提供最佳用户体验的虚拟桌面和应用程序?(提示:是的)。
现代DaaS远程协议,如Nutanix框架远程桌面协议(FRP)能够使用基于硬件(GPU)的编码,提供了令人敬畏的用户体验,“在浏览器中运行任何应用程序”,同时卸载CPU。这是利用gpu或vgpu的一个巨大好处,另一个好处是支持应用程序api(如OpenGL、DirectX和CUDA)的能力。
客户经常会问这样一个问题,“我的所有应用程序和用例,包括单个任务和知识工作者,真的需要gpu吗?”
有人说,“GPU4All”,但在我看来,总是有一些细微差别。事实上,在Windows 10操作系统下,使用最新的AMD和Intel处理器的DaaS可以在没有gpu的情况下很好地工作。实际上,有使用虚拟桌面和仅使用cpu配置的应用程序的大型90K+客户部署。
当然,使用常见的实践调整基础设施和虚拟机的大小是必要的。更多关于尺码的见解可以在下面找到这篇博客.
主要的问题有:
- “仅使用CPU”配置是否能提供最佳的用户体验?使用了哪些应用程序,它们是否从GPU中受益?
- 用户体验和成本之间的正确平衡是什么?当前和提议的成本是什么?
- 只使用cpu的配置是否可以在将来使用?Windows操作系统期待“GPU内置”,而且越来越多的应用程序,包括Windows、浏览器、Microsoft Teams、Zoom和Microsoft Office都从GPU功能中受益。
CPU, GPU, vGPU,直通GPU -选择什么?
框架桌面即服务解决方案为您的“云PC”和“云工作站”用例提供了几个强大的处理选项。这些包括cpu, NVIDIA的虚拟GPU (vGPU又名GRID), AMD的GPU (MxGPU)和虚拟功能(VF),以及从AMD和NVIDIA的直通GPU选项。
根据用户体验、用例、应用需求和业务用例,选择最优的GPU选项。(注:要了解为什么gpu对虚拟桌面和应用程序很重要,请查看这篇文章解决方案简单).
专用和虚拟gpu
让我们更深入地研究Nutanix Frame在公共云和本地部署中可以使用的GPU选项。从GPU的角度来看,有两个技术方向:
- 专用的gpu
- 虚拟gpu (vGPUs)
专用的gpu
专用GPU也被称为GPU“直通”或“DDA”(离散设备分配)。这意味着虚拟机(VM)有一个专用的“完全GPU”供其使用。
如果GPU单板有多个可用的GPU,则每个虚拟机都可以访问自己的专用GPU。例如,NVIDIA Tesla M10有4个可用的GPU,这意味着4个虚拟机可以上电并访问一个1:1映射的GPU。当GPU单板上只有一个可用的GPU时,一台虚拟机可以上电并使用该GPU。常用的图形处理器如NVIDIA Tesla T4, P40和RTX8000都是功能强大的图形处理器,但每个板都有一个可用的图形处理器。
公有云专用GPU选项
到目前为止,微软Azure、AWS和谷歌Cloud上典型的基于gpu的实例都使用专用gpu。常见的实例系列有Azure NV(基于NVIDIA)、AWS G4(基于AMD和NVIDIA gpu)和GCP(基于NVIDIA)实例。这些实例都使用专用的“直通/DDA”gpu,而基于NVIDIA的实例包括NVIDIA vGPU许可证。其中一些实例家族的机器具有多个专用gpu,支持高端工作站应用程序,如带有RealTime光线跟踪的Autodesk VRED。
(图1:带有4个专用NVIDIA TESLA T4 gpu的框架实例)
这些专用的GPU实例提供一致和高性能,因为GPU不与其他GPU共享。GPU帧缓冲器(内存)、核心和编码器/解码器都是专用于实例的。其缺点是,从基础设施的角度来看,您不能与其他用户共享GPU,从而与其他用户共享运行成本。
总体而言,在公共云中,适用于DaaS的GPU选项和可用GPU板的运行速度低于本地选项。例如,NVIDIA的vgpu在Azure、AWS、谷歌Cloud上是不可用的,而且GPU板也落后了几年。也就是说,许多客户将这些实例用于DaaS,受益于即付即用定价、多个云区域、在几分钟或几小时内启动数百或数千个vm的灵活性,等等。
值得注意的是,微软Azure、AWS和谷歌云提供了对最新一代gpu的访问,但这些实例针对的是“深度学习”和“计算”,而不是“虚拟化/DaaS”,因为它们不包括灵活的桌面作为服务所需的NVIDIA许可。
On-prem部署的专用GPU选项
在内部部署的DaaS场景中,很少使用专用gpu,因为灵活性和可伸缩性有限。使用工作站级GPU配置文件特性的vgpu更为常见。
On-prem部署的虚拟gpu
“虚拟gpu”这个术语对不同的人有不同的含义。在这种情况下,这意味着虚拟机将接收GPU的“一块”,该GPU是由较低级别的软件或硬件组件处理的。
“切片”、“分区”或虚拟化GPU的设计可以在软件、硬件或两者的结合中完成,从而形成一种混合方式。例如,NVIDIA vGPU Manager软件结合SR-IOV,在Nutanix AHV上运行就是一个混合设置的例子。在此场景下,vGPU配置文件中预置了不同的vGPU配置文件虚拟机监控程序(如Nutanix AHV)级别,可被虚拟机使用。
AMD使用的切片技术利用SR-IOV,为虚拟机创建虚拟函数。对于每个虚拟机应该提供多少GPU帧缓冲区和GPU核,以及GPU调度程序配置应该有多严格,这些问题都超出了本文的讨论范围。关键是要了解vGPU概要文件和虚拟函数的性能和能力,并了解NVIDIA vGPU许可选项。
如果您想了解更多关于NVIDIA vGPU软件授权和软件提供的功能,请参阅NVIDIA vGPU授权和打包指南是一个不可不读。
公有云虚拟GPU选项
此时,在公有云中只有一个可用的虚拟GPU选项。这个选项可以在微软Azure上使用,并由AMD提供支持。Azure NVv4实例家族由AMD Radeon Instinct MI25 gpu和AMD EPYC Rome CPU驱动。更详细的信息可以在这篇博客文章中找到。介绍Azure NVv4和Nutanix Frame(一定要看看这个博客里的视频;你将看到在WAN - 100ms延迟场景下NVv4机器运行的帧)。不幸的是,在微软Azure、AWS或谷歌云上没有NVIDIA vGPU。但是,阿里云支持NVIDIA vGPU。
工具箱的大小和GPU工具
了解远程协议、操作系统和应用程序如何使用GPU是很重要的。关键是在相当长的一段时间内捕捉GPU核、帧缓冲区和编码器的利用率。有了这些信息,就可以开始合理调整工作负载机器的大小。
幸运的是,合作伙伴提供了各种解决方案,可以帮助您轻松地监控和捕获GPU/应用程序的使用情况。例子包括ControlUP,LiquidWare,湖边,UberAgent.
除了这些解决方案之外,还有一些免费的社区工具,例如RD分析仪,GPU分析器,GPU-Z,以及Windows10和Server2019/2022+的Windows性能监视器
图2:在Windows10/Server 2019+中使用任务管理器提供GPU利用率洞察
(图3:使用GPU分析器运行的帧,提供GPU利用率的见解)
常见的GPU错误和避免它们的提示
坏消息是有很多可能的错误。好消息是,我将分享一些简单的方法来避免它们!
- 错误:在没有了解任何操作系统和应用程序使用情况的情况下对gpu进行分级。
小贴士:不了解使用情况的尺码就像在黑暗中开车而不开灯;这既危险又愚蠢。使用工具来获取这些数据。 - 错误:使用物理PC或工作站的规格,并将它们1:1映射到DaaS工作负载虚拟机。
提示:物理资源的利用率通常很低——不要为峰值大小。同样,使用工具了解这些利用率,以改进您的分级。通常情况下,帧缓冲区是你在使用gpu时会遇到的第一个限制。 - 错误:捕获GPU使用1小时是可以的;我赶时间。
提示:捕获较长一段时间的利用率,以确保数据集是完整的,并且您已经捕获了足够的信息。 - 错误:如果您的VM中有两个gpu,那么应用程序的运行速度应该是前者的两倍。
提示:99%的应用程序都不支持多gpu。最好使用最先进的GPU。 - 错误:我买了NVIDIA TESLA gpu用于我的基于Nutanix AHV部署的框架-我很好去!
提示:不要忘记正确的NVIDIA vGPU软件许可证,硬件+软件是完整的解决方案。 - 错误:我们对Windows 10和使用NVIDIA vGPU配置文件的1gb帧缓冲器完全满意。
小贴士:也许你是,但你确定吗?当您使用多个显示器,更高的分辨率,当然,要求“高级用户”应用程序1 GB的帧缓冲区可能是不够的。一个好的开始是:对于Windows 10的生产力应用程序,有1gb的帧缓冲;2 GB帧缓冲双监视器设置;4gb vGPU帧缓冲用于中高端图形。 - 错误:终端设备对用户体验没有影响,因为应用程序是虚拟运行的;端点只是一个显示设备。
提示:端点的功能确实对实际用户体验有影响。硬件解码能力有哪些?关于多显示器和更高分辨率的功能是什么?是否可能在终端上运行最新的浏览器或框架应用程序? - 错误:公有云中gpu的性能和可用性。确定。没有问题。
提示:了解不同的GPU选项和GPU硬件特性,并了解资源的可用性和保证容量并不总是给定的!在你需要GPU资源的时候,一定要提前向你的云提供商提高GPU的限制。有时可能需要几天甚至更长的时间来提高你的极限。
阅读的快乐!
您想从Nutanix了解更多关于DaaS的信息吗?想了解Frame与Amazon、Citrix、Microsoft或VMware有什么不同吗?好吧,一定要退房这个博客!对DaaS和Frame的广泛和深入的观点感兴趣?我的博客在一个简单的概述中是可用的和可见的在这里.
鲁本·斯普鲁特-高级技术专家,Nutanix -ruben.spruijt@nutanix.com@rspruijt
©2021 Nutanix公司保留所有权利。本协议中提到的Nutanix、Nutanix标识和所有Nutanix产品和服务名称均为Nutanix, Inc.在美国和其他国家的注册商标或商标。此处提及的其他品牌名称仅供识别之用,且可能为其各自持有人的商标。这篇文章可能包含链接到外部网站,不是Nutanix.com的一部分。Nutanix不控制这些网站,并对任何外部网站的内容或准确性不负任何责任。这篇文章可能包含明确和隐含的前瞻性陈述,这些陈述不是历史事实,而是基于我们当前的预期、估计和信念。这些声明的准确性涉及风险和不确定性,并取决于未来的事件,包括那些可能超出我们控制的事件,而实际结果可能与这些声明的预期或暗示有实质性和不利的不同。本协议中所包含的任何前瞻性陈述仅在本协议日期生效,除法律要求外,我们不承担更新或以其他方式修改任何此类前瞻性陈述以反映随后的事件或情况的义务。