当前位置: 首页 > 专利查询>微软公司专利>正文

用于对启用GPU的虚拟机进行负载平衡的技术制造技术

技术编号:7245923 阅读:534 留言:0更新日期:2012-04-11 18:40
本文描述了用于对启用GPU的虚拟机进行负载平衡的技术。本文公开了用于对虚拟机之间的3D图形处理单元使用进行平衡的示例性技术。在一示例性实施方式中,虚拟化平台可为虚拟机加载图形渲染模块的实例;选择供图形渲染模块在其上运行的GPU;以及将虚拟机配置成向所选CPU进行渲染。除以上之外,在具体实施方式、权利要求书和附图中描述了其他方面。

【技术实现步骤摘要】

本专利技术涉及计算机显示技术,尤其涉及用于对启用GPU的虚拟机进行负载平衡的技术
技术介绍
虚拟机平台通过在每个操作系统自己的虚拟机内运行该操作系统来允许多个客操作系统在物理机上的同时执行。可由虚拟机中提供的一个示例性服务是虚拟桌面会话。 虚拟桌面会话在本质上是在虚拟机内运行的将其用户界面发送到远程计算机的个人计算机环境。这一体系结构类似于远程桌面环境,但改为将多个用户同时连接到服务器类操作系统,在虚拟桌面会话中,每一用户能够访问在虚拟机中执行的他们自己的商用操作系统。现代操作系统实施了用于3D应用/视频游戏的三维(3D)图形用户界面及其操作系统用户界面。用户享受与3D环境交互的体验,并且期望能够在虚拟桌面会话中将3D图形流传送给客户机;然而,由于多种原因而难以实现流传送3D图形。例如,流传送3D图形的动作需要带宽和/或压缩。此外,虚拟桌面服务器将需要包括3D图形处理单元(GPU), 其能够执行3D功能。3D图形处理是资源密集的,并且GPU通常每次仅能渲染几个3D图形用户界面。如果这些GPU不得不渲染过多图形用户界面,则它们会快速地变得过载。遗憾的是,在虚拟桌面部署中,GPU可能不得不同时渲染大量3D图形用户界面。这会导致一个或多个操作超时,并且图形驱动程序进而将重置图形处理单元——其会导致3D应用程序终止。因此,需要用于防止GPU变得过载且崩溃的技术。
技术实现思路
示例性实施方式包括一种系统。在该示例中,该系统包括但不限于处理器、以及在计算机系统可操作时与该处理器通信的存储器。在此示例中,存储器可包括计算机可读指令,该计算机可读指令在执行时使处理器指派一组虚拟机在第一 3D图形处理单元上渲染 3D图形;至少基于第一 3D图形处理单元用来对命令进行响应所花的时间量来确定第一 3D 图形处理单元(504)被过度使用;至少响应于对第一 3D图形处理单元被过度使用的判定, 将第一虚拟机从该组虚拟机移至第二图形处理单元。除以上之外,权利要求书具体实施方式和附图中描述了其他技术。另一示例性实施方式包括计算机可读存储介质。在此示例中,计算机可读存储指令包括计算机可读指令,该计算机可读指令在执行时使处理器估计用于为第一虚拟机渲染3D图形的图形存储器的量;响应于确定与由被指派在第一图形处理单元上渲染图形的5一组虚拟机所发出的直接存储器存取事务相关联的等待时间值小于第一阈值以及所估计的用于渲染3D图形的图形存储器的量小于第二阈值,从多个3D图形处理单元选择第一 3D 图形处理单元;以及指派所述第一虚拟机在第一 3D图形处理单元上渲染3D图形。除以上之外,权利要求书具体实施方式和附图中描述了其他技术。另一示例性实施方式包括一种方法。在此示例中,方法包括但不限于估计用于为虚拟机渲染图形的图形存储器的量;将所估计的图形存储器的量与所估计的由多个3D图形处理单元控制的可用图形存储器的量进行比较;根据比较从多个3D图形处理单元选择为虚拟机渲染3D图形的3D图形处理单元;以及指派所选3D图形处理单元来为虚拟机渲染 3D图形。除以上之外,权利要求书具体实施方式和附图中描述了其他技术。本领域技术人员将理解,本公开的一个或多个各种方面可包括但不限于用于实现此处所引用的方面的电路和/或编程;该电路和/或编程实质上可以是配置成实现本文所引用的方面的硬件、软件和/或固件的任何组合,这取决于系统设计者的设计选择。以上是概述,并且因此必然包含细节的简化、一般化及省略。本领域技术人员将明白,本概述只是说明性的并且决不旨在是限制性的。附图说明图1描绘了计算机系统的高级框图。图2描绘了虚拟机服务器的高级框图。图3描绘了虚拟机服务器的高级框图。图4描绘了虚拟桌面服务器的高级框图。图5描绘了虚拟桌面服务器的高级框图。图6描绘了虚拟桌面服务器的高级框图。图7描绘了数据中心的高级框图。图8描绘了用于平衡虚拟机之间的GPU使用的操作流程。图9示出了包括附加操作的图8的操作流程。图10描绘了用于平衡虚拟机之间的GPU使用的操作流程。图11示出了包括附加操作的图10的操作流程。图12描绘了用于平衡虚拟机之间的GPU使用的操作流程。图13示出了包括附加操作的图12的操作流程。具体实施例方式本专利技术可使用一个或多个计算机系统。图1及以下讨论旨在提供可在其中实现所公开的主题的合适计算环境的简要概括描述。贯穿本说明书使用的术语电路可包括诸如硬件中断控制器、硬盘驱动程序、网络适配器、图形处理器、基于硬件的视频/音频编解码器等硬件组件,以及用于操作这些硬件的固件。术语“电路”还可以包括由固件和/或软件来配置的进行指令读取和执行的微处理器、专用集成电路、以及处理器,例如多核通用处理单元的核。处理器可由从例如RAM、R0M、 固件和/或大容量存储等存储器加载的指令来配置,从而具体化可用于配置处理器来执行功能的逻辑。在其中电路包括硬件和软件的组合的示例实施方式中,实现者可以编写具体化逻辑的源代码,该源代码随后被编译成可由硬件执行的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件实现的功能或软件实现的功能之间几乎没有差别的地步,因而选择硬件还是软件来实现此处描述的功能只是一个设计选择。换言之,由于本领域的技术人员可以理解软件进程可被变换成等效的硬件结构,且硬件结构本身可被变换成等效的软件进程,因此选择硬件实现或是软件实现留给了实现者。现在参考图1,描绘了示例性计算系统100。计算机系统100可包括处理器102, 例如,执行核。尽管示出了一个处理器102,但在其他实施方式中,计算机系统100可具有多个处理器,例如每一处理器衬底有多个执行核,和/或各自可具有多个执行核的多个处理器衬底。如图所示,各种计算机可读存储介质110可由一个或多个系统总线互连,所述系统总线将各种系统组件耦合到处理器102。系统总线可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。在示例实施方式中,计算机可读存储介质110可以包括例如随机存取存储器 (RAM) 104、存储设备106 (例如电机硬盘驱动程序、固态硬盘驱动程序等)、固件108 (例如闪速RAM或ROM)、以及可移动存储设备118 (例如CD-ROM、软盘、DVD、闪速驱动程序、外部存储设备等)。本领域的技术人员应当理解,可使用其他类型的计算机可读存储介质,如磁带盒、闪存卡、和/或数字视频盘。计算机可读存储介质110可以提供对处理器可执行指令122、数据结构、程序模块以及诸如可执行指令之类的用于计算机100的其他数据的非易失性和易失性存储。基本输入/输出系统(BIOS) 120可被存储在固件108中,它包含帮助在诸如启动期间在计算机系统100内的各元件之间传递信息的基本例程。包括操作系统和/或应用程序的多个程序可被存储在固件108、存储设备106、RAM 104和/或可移动存储设备118上,并且可由处理器 102来执行。命令和信息可由计算机100通过输入设备116来接收,输入设备可包括但不限于键盘和定点设备。其他输入设备可以包括话筒、操纵杆、游戏手柄、扫描仪等等。这些和其他输入设备常通过耦合到系统总线的串行端口接口连接到处理器102,但也可通过其他接口连接,如本文档来自技高网...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:B·S·波斯特V·庞南潘P·辛格W·M·P·约翰斯顿E·Kh·韩P·查克拉博蒂
申请(专利权)人:微软公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术