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

将虚拟高速缓存拓扑结构展示给客操作系统技术方案

技术编号:7103823 阅读:229 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及将虚拟高速缓存拓扑结构展示给客操作系统。在虚拟机环境中,系统管理程序被配置成将虚拟高速缓存拓扑结构展示给客操作系统,从而使得虚拟高速缓存拓扑结构可由相对应的物理高速缓存拓扑结构来提供。虚拟高速缓存拓扑结构可由系统管理程序确定,或者在数据中心环境的情况中,可由数据中心的管理系统确定。虚拟高速缓存拓扑结构可从系统的物理高速缓存拓扑结构中计算,从而使得虚拟机可用可映射到相对应的逻辑处理器和物理高速缓存的虚拟处理器和虚拟高速缓存来实例化。

【技术实现步骤摘要】
将虚拟高速缓存拓扑结构展示给客操作系统相关申请的交叉引用本申请在主题上与在2010年提交的题为“HypervisorScheduler(系统管理程序调度器)”的美国申请(代理人案号为MVIR-0631/329322.01)有关,该申请的内容通过引用整体结合于此。
本专利技术涉及计算机系统,尤其涉及计算机系统中的虚拟高速缓存拓扑结构。
技术介绍
虚拟机可具有作为单核处理器展示给客操作系统的一个或多个虚拟处理器。当客操作系统运行工作负载时,它将线程调度到这些虚拟处理器中的一个上。系统管理程序运行表示虚拟处理器的线程并将其调度到主存虚拟机的物理机的逻辑处理器上。运行线程中的工作负载,并且执行某些有希望有用的工作。系统管理程序随后在相同或不同的逻辑处理器上运行另一线程。系统管理程序调度器因此必须确定要调度特定虚拟处理器的时间和地点两者。虚拟处理器的正确布置是维持高水平性能的关键。虚拟处理器的正确布置可包括将线程移动到另一节点上的逻辑处理器。例如,系统管理程序可调度虚拟处理器在第一NUMA(非均匀存储器体系结构)节点中运行,然后将其移动至另一NUMA节点。该技术确保了尽可能快地运行工作负载并且容忍由于高速缓存未中而导致的任何开销。作出将虚拟处理器作为单核处理器来展示的决策以使主机的物理体系结构的虚拟化变得更容易。例如,客操作系统被这样编写以使得在引导时检查拓扑结构。如果客机被移动至带有不同拓扑结构的另一主机,则它可能低效地运作,因为它预期的资源不再存在。由于包括共享各种不同高速缓存的逻辑处理器的系统变得越来越常见,将系统管理程序配置成充分利用这些高速缓存共享的逻辑处理器将是有益的。此外,将某种高速缓存拓扑结构展示给客操作系统从而使得客操作系统中的调度器也可以作出明智的调度决策将是有益的。
技术实现思路
公开了由系统管理程序将虚拟高速缓存拓扑结构展示给虚拟机环境中的客操作系统的技术。将虚拟高速缓存拓扑结构展示给客操作系统允许客操作系统中调度器作出明智的调度决策同时维护硬件和虚拟硬件之间的抽象。虚拟高速缓存拓扑结构可由系统管理程序确定,或者在数据中心环境的情况中,可由数据中心的管理系统确定。从系统的物理高速缓存拓扑结构中计算虚拟高速缓存拓扑结构,从而使得虚拟机可以用可映射到相对应的逻辑处理器和物理高速缓存的虚拟处理器和虚拟高速缓存来实例化。公开了用于确定虚拟高速缓存拓扑结构的各实施例。在一个这样的实施例中,虚拟高速缓存拓扑结构由共享基数和共享级别组成。确定共享基数和共享级别从而使得虚拟处理器可被映射到逻辑处理器及其相关联的高速缓存。在另一实施例中,数据中心的管理系统可接收修改共享基数和/或共享级别的指令。在又一实施例中,如果使用虚拟高速缓存拓扑结构的虚拟处理器到逻辑处理器及其相关联的高速缓存的物理映射最初不成功,公开了一种修改虚拟处理器与逻辑处理器及其相关联的高速缓存的映射的方式的方法。在将虚拟高速缓存拓扑结构展示给客操作系统之后,客操作系统的调度器将进程的线程调度到虚拟处理器上。作为响应,系统管理程序调度器将指示虚拟处理器的线程调度到逻辑处理器上。在各实施例中,指示虚拟处理器的线程可被调度在与理想逻辑处理器共享一个级别的高速缓存的空闲逻辑处理器上;被调度在与当前正在执行虚拟处理器的最大数量的逻辑处理器共享高速缓存的空闲逻辑处理器上;基于多久以前该线程在逻辑处理器上运行来被调度在该逻辑处理器上;或者被排队来在该线程最近运行的逻辑处理器上运行。提供本
技术实现思路
是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本
技术实现思路
并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。附图说明图1描绘了其中可实现所公开的主题的示例计算机系统。图2描绘了用于实施本专利技术的各方面的操作环境。图3描绘了用于实施本专利技术的各方面的操作环境。图4示出用于说明本专利技术的各实施例的数据中心。图5描绘了用于实施本专利技术的各方面的操作环境。图6描绘了用于实施本专利技术的各方面的操作过程。图7描绘了图6的操作过程的替换实施例。图8描绘了用于实施本专利技术的各方面的操作过程。图9描绘了图8的操作过程的替换实施例。图10描绘了用于实施本专利技术的各方面的操作过程。图11描绘了图10的操作过程的替换实施例。图12描绘了图11的操作过程的替换实施例。图13描绘了图10的操作过程的替换实施例。图14描绘了用于实施本专利技术的各方面的操作过程。图15描绘了图14的操作过程的替换实施例。具体实施方式各实施例可在一个或多个计算机系统上执行。图1及以下讨论旨在提供可在其中实现所公开的主题的合适计算环境的简要概括描述。贯穿本说明书使用的术语“电路”可包括诸如硬件中断控制器、硬盘驱动器、网络适配器、图形处理器、基于硬件的视频/音频编解码器等硬件组件,以及用于操作这些硬件的固件。术语“电路”还可包括微处理器、专用集成电路、和/或一个或多个逻辑处理器,例如由固件和/或软件配置的多核通用处理单元的一个或多个核。逻辑处理器可由指令来配置,指令具体化可用于执行从例如RAM、ROM、固件和/或大容量存储等存储器加载的功能的逻辑。在其中电路包括硬件和软件的组合的示例实施例中,实现者可以编写具体化逻辑的源代码,该源代码随后被编译成可由逻辑处理器执行的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件实现的功能或软件实现的功能之间几乎没有差别的地步,因而选择硬件还是软件来实现此处描述的功能只是一个设计选择。换言之,由于本领域的技术人员可以理解软件进程可被变换成等效的硬件结构,且硬件结构本身可被变换成等效的软件进程,因此选择硬件实现或是软件实现留给了实现者。现在参考图1,描绘了示例性计算系统100。计算机系统100可包括逻辑处理器102,例如,执行核。尽管示出了一个逻辑处理器102,但在其他实施例中,计算机系统100可具有多个逻辑处理器,例如每一处理器基板有多个执行核,和/或各自可具有多个执行核的多个处理器基板。如图1所示,各种计算机可读存储介质110可由一个或多个系统总线互联,系统总线将各种系统组件耦合到逻辑处理器102。系统总线可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。在示例实施例中,计算机可读存储介质110可以包括例如随机存取存储器(RAM)104、存储设备106(例如电机硬盘驱动器、固态硬盘驱动器等)、固件108(例如闪速RAM或ROM)、以及可移动存储设备118(例如CD-ROM、软盘、DVD、闪速驱动器、外部存储设备等)。本领域的技术人员应当理解,可使用其他类型的计算机可读存储介质,如磁带盒、闪存卡、和/或数字视频盘。计算机可读存储介质110可提供对计算机100的处理器可执行指令122、数据结构、程序模块和其他数据的非易失性和易失性存储。基本输入/输出系统(BIOS)120可被存储在固件108中,它包含帮助在诸如启动期间在计算机系统100内的各元件之间传递信息的基本例程。包括操作系统和/或应用程序的多个程序可被存储在固件108、存储设备106、RAM104和/或可移动存储设备118上,并且可由逻辑处理器102来执行。命令和信息可由计算机100通过输入设备本文档来自技高网
...
将虚拟高速缓存拓扑结构展示给客操作系统

【技术保护点】
1.一种包括可执行指令的计算机可读存储介质(110),包括:用于获得基于多个计算机系统(404、406、408和/或410)的物理高速缓存拓扑结构的虚拟高速缓存拓扑结构信息的指令;用于实例化包括所述虚拟高速缓存拓扑结构的虚拟机(53)的指令;用于将所述虚拟高速缓存拓扑结构展示给客操作系统(532)的指令,其中所述虚拟高速缓存拓扑结构基于所获得的虚拟高速缓存拓扑结构信息;以及用于在所述虚拟机(532)中引导所述客操作系统(530)的指令。

【技术特征摘要】
2010.06.01 US 12/791,8001.一种用于将虚拟高速缓存拓扑结构展示给客操作系统的计算机实现的方法,包括:获得基于多个计算机系统(404、406、408和/或410)的物理高速缓存拓扑结构的虚拟高速缓存拓扑结构信息,所述虚拟高速缓存拓扑结构信息包括共享虚拟高速缓存的多个虚拟处理器;计算基于所获得的虚拟高速缓存拓扑结构信息的虚拟高速缓存拓扑结构,所述虚拟高速缓存拓扑结构由共享基数和共享级别组成;实例化包括所述虚拟高速缓存拓扑结构的虚拟机(532);将所述虚拟高速缓存拓扑结构展示给客操作系统(530);以及在所述虚拟机(532)中引导所述客操作系统(530),其中所述共享基数是共享最低级别的高速缓存的每一计算机系统的逻辑处理器的数量的最大公约数,所述共享级别是其上至少有共享基数个高速缓存来共享逻辑处理器的最高高速缓存级别。2.如权利要求1所述的方法,其特征在于,还包括:响应于接收到要调度指示虚拟处理器的线程的请求来从非均匀存储器体系结构(NUMA)节点中的逻辑处理器列表中生成空闲逻辑处理器列表。3.如权利要求1所述的方法,其特征在于,所述虚拟高速缓存拓扑结构信息包括所述虚拟高速缓存的高速缓存级别,其中所述高速缓存级别基于多个逻辑处理器之间共享的最低级别的高速缓存。4.如权利要求1所述的方法,其特征在于,还包括:将指示虚拟处理器的线程调度到与理想逻辑处理器共享一个级别的高速缓存的空闲物理处理器上。5.如权利要求1所述的方法,其特征在于,还包括:将指示虚拟处理器的线程调度到空闲物理处理器上,所述空闲物理处理器与当前正在执行所述虚拟机的虚拟处理器的最大数量的逻辑处理器共享高速缓存。6.如权利要求1所述的方法,其特征在于,还包括:基于自从指示虚拟处理器的线程最后一次运行以来的时间量与预定阈值的比较来调度指示所述虚拟处理器的线程...

【专利技术属性】
技术研发人员:A·巴哈德里D·梅舍昌尼诺夫S·甘古利
申请(专利权)人:微软公司
类型:发明
国别省市:US

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

1