当前位置: 首页 > 专利查询>英特尔公司专利>正文

利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移制造技术

技术编号:16112578 阅读:29 留言:0更新日期:2017-08-30 05:55
本文公开了与利用图形虚拟化从/向主机计算机进行VM的实时迁移相关联的装置、方法和存储介质。在实施例中,一种装置可以包括虚拟机监视器(VMM),所述VMM具有用于管理对所述装置的系统存储器的访问的存储器管理器,所述管理包括跟踪所述系统存储器的修改的存储器页面。另外,所述VMM可以包括图形命令解析器,所述图形命令解析器用于对向所述装置的图形处理单元(GPU)发布的图形命令进行分析以检测由所述图形命令引起的对所述系统存储器的写入,并且增强对经修改的存储器页面的所述跟踪。进一步地,所述VMM可以包括用于将VM实时迁移到另一装置的实时迁移功能,所述实时迁移功能包括利用如由所述图形命令解析器增强的由所述存储器管理器跟踪的经修改的存储器页面来提供所述VM的当前存储器内容。可描述和/或要求保护其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移
本公开涉及计算领域。更具体地,本公开涉及利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移。
技术介绍
本文所提供的背景描述是为了一般地呈现本公开的上下文的目的。除非本文另外指出,否则本节中所描述的材料对于本申请的权利要求书而言并非现有技术,并且不因为包括在本节中而被承认是现有技术。虚拟机(VM)的传统实时迁移通常涉及存储器内容的增量迁移,因为迁移整个系统存储器的成本是巨大的和不切实际的。整个系统停机一段持续很久的时间以使整个系统存储器迁移的是不能忍受的。代替地,系统通常会在系统仍在运行的同时通过若干次迭代只迁移存储器的经修改部分。在此期间,新标记的存储器页面被标记为“脏”、并在随后的迭代中被迁移。虚拟化和图形技术的最新进展使得主机计算机上的多个VM之间能够实现更高效的图形虚拟化。高级图形虚拟化现在通常支持在VM内部运行的本机图形驱动器,以使虚拟机的用户应用能够访问主机计算机的图形处理单元(GPU)所支持的全面的图形能力。通常,GPU设备模型在主机计算机的虚拟机监视器(VMM)内实现,用于模拟对诸如存储器映射输入输出(MMIO)的GPU资源的访问。GPU能够在处理GPU命令时操控主机计算机的系统存储器,并且对系统存储器的操控对于VMM的存储器管理器是未知的。因此,当涉及最新的GPU虚拟化时,现有技术的VM的实时迁移不再起作用。此外,当实时迁移的目标主机计算机具有的GPU不同于实时迁移的源主机计算机的GPU时,迁移变得更加复杂。传统的实时迁移方法无法处理这样的实时迁移,因为源主机计算机和目标主机计算机的两个GPU的状态不完全匹配。附图说明结合附图,借助于下面的详细描述将很容易理解实施例。为了方便本描述,相同的参考标号指代相同的结构元件。在附图的各图中通过示例的方式而非限制的方式展示了实施例。图1根据所公开的实施例展示了适合用于实践本公开的示例计算安排。图2根据所公开的实施例展示了源主机计算机和目标主机计算机的示例对。图3根据所公开的实施例展示了图1和图2的图形解析器的示例操作方法。图4根据所公开的实施例展示了图1和图2的实时迁移功能的示例操作方法。图5根据所公开的实施例展示了图1和图2的图形代理库的示例操作方法。图6根据所公开的实施例展示了适合用于实践本公开的各个方面的示例计算机系统。图7根据所公开的实施例展示了具有用于实践参照图1-5所描述的方法的指令的存储介质。具体实施方式本文公开了与利用图形虚拟化从/向主机计算机进行VM的实时迁移相关联的装置、方法和存储介质。在实施例中,一种用于计算的装置可以包括VMM,所述VMM用于管理由所述装置的一个或多个通用处理器(CPU)托管的VM。VMM可以包括存储器管理器,所述存储器管理器用于管理通过由CPU执行的VM的应用的指令进行的对所述装置的系统存储器的访问。对访问的管理可以包括跟踪所述系统存储器的经修改的存储器页面。另外,所述VMM可以包括图形命令解析器,所述图形命令解析器用于:对由所述应用向所述装置的图形处理单元(GPU)发布的图形命令进行分析以检测由所述图形命令引起的对所述系统存储器的写入;以及增强对经修改的存储器页面的所述跟踪。进一步地,所述VMM可以包括用于选择性地将所述VM中的一者或多者实时迁移到另一用于计算的装置的实时迁移功能,所述实时迁移功能包括:利用如由所述图形命令解析器增强的由所述存储器管理器跟踪的经修改的存储器页面将正被实时迁移的VM的当前存储器内容提供到所述另一装置。在实施例中,命令解析器可以被进一步配置为分析所述图形命令以判定GPU是否支持所述图形命令。进一步地,所述图形命令解析器可以被配置为用于:在确定了所述GPU不支持所述图形命令中的第一图形命令时,进一步判定所述第一图形命令是否可以被修改为所述GPU所支持的形式,或者替换为所述GPU所支持的功能等效图形命令。更进一步地,所述图形命令解析器可以被进一步配置为用于:在确定了所述第一图形命令可以被修改为所述GPU所支持的形式时,进一步将所述第一图形命令修改为所述GPU所支持的形式;或者在确定了其他功能等效图形命令存在时,将所述第一图形命令替换为所述GPU所支持的所述其他功能等效图形命令。在实施例中,所述装置可以进一步包括图形代理库,所述图形代理库用于在所述VM中的至少第一VM中被实例化,其中,所述图形代理库用于维护针对所述第一VM对所述GPU进行抽象的图形应用编程接口(API)的上下文。另外,图形代理库可以被配置为检测所述上下文是否被维护用于对另一装置的另一GPU进行的抽象(两个GPU是功能上不同的GPU)。进一步地,图形代理库可以被配置为在检测到所述上下文被维护用于不同的GPU的抽象时,重新创建用于GPU的图形上下文。在以下详细描述中,参考形成其一部分并且通过可实践的说明实施例示出的附图,其中,相同的标号指示相同的部件。应当理解,可以在不脱离本公开的范围的情况下利用其他实施例并且可以进行结构或逻辑上的改变。因此,下面的详细说明不应被认为具有限制意义,并且实施例的范围由所附权利要求书及其等效物限定。在所附的说明中公开了本公开的多个方面。可以在不脱离本公开的精神或范围的情况下设计本公开的替代实施例及其等效物。应注意的是,在附图中由类似的参考数字来表示在下文中公开的类似元素。可以以对理解要求保护的主题最有帮助的方式将各种操作依次描述为多个分立动作或操作。然而,描述的顺序不应被解释为暗示这些操作一定是顺序相关的。具体地,可以不按所呈现的顺序来执行这些操作。可以按与所描述的实施例不同的顺序来执行所描述的操作。可以执行各种附加的操作和/或可以在附加实施例中省略所描述的操作。为了本公开的目的,短语“A和/或B”是指(A)、(B)或(A和B)。为了本公开的目的,短语“A、B和/或C”是指(A)、(B)、(C)、(A和B)、(A和C)、(B和C),或(A、B和C)。本说明可能使用短语“在实施例中(inanembodiment)”或“在实施例中(inembodiments)”,这些短语可以各自是指相同或不同的实施例中的一个或多个。此外,如关于本公开的实施例使用的术语“包括(comprising)”、“包括(including)”、“具有(having)”等是同义的。本文所使用的术语“模块”可以指的是包括运行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、处理器(共享、专用或编组)和/或存储器(共享、专用或编组)、组合逻辑电路和/或提供所述功能性的其他适当组件或者作为其中,一部分。现在参考图1,其中,示出了根据各种实施例的与本公开的教导相结合的示例计算安排。如图所示,计算安排100可以包括多个主机计算机102,所述主机计算机通过缆线直接地相互耦合、或通过一个或多个网络162间接地耦合。每个主机计算机102可以配置有硬件112和VMM114,所述VMM用于管理和托管多个VM116。然而,如将在下面更详细地描述的,主机计算机102中的至少一些被配置为支持如前所述的高级图形虚拟化、并且结合本公开的教导以实现所托管虚拟机的实时迁移。更具体地,在一些实施例中,这些主机计算机102可以结合本公开的教导以使所托管虚拟机能够在源主机计算机与本文档来自技高网...
利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移

【技术保护点】
一种用于计算的装置,包括:一个或多个通用处理器;图形处理单元;系统存储器,所述系统存储器与所述一个或多个通用处理器和所述图形处理单元耦合;以及虚拟机监视器,所述虚拟机监视器用于管理由所述一个或多个通用处理器托管的多个虚拟机,其中,所述虚拟机监视器包括:存储器管理器,所述存储器管理器用于管理由所述虚拟机的有待由所述一个或多个通用处理器执行的应用的指令进行的对所述系统存储器的访问,其中,对访问的管理包括跟踪所述系统存储器的经修改的存储器页面;以及图形命令解析器,所述图形命令解析器用于:分析由所述应用向所述图形处理单元发布的图形命令以检测由所述图形命令引起的对所述系统存储器的写入;以及增强由所述存储器管理器对经修改的存储器页面的所述跟踪。

【技术特征摘要】
【国外来华专利技术】1.一种用于计算的装置,包括:一个或多个通用处理器;图形处理单元;系统存储器,所述系统存储器与所述一个或多个通用处理器和所述图形处理单元耦合;以及虚拟机监视器,所述虚拟机监视器用于管理由所述一个或多个通用处理器托管的多个虚拟机,其中,所述虚拟机监视器包括:存储器管理器,所述存储器管理器用于管理由所述虚拟机的有待由所述一个或多个通用处理器执行的应用的指令进行的对所述系统存储器的访问,其中,对访问的管理包括跟踪所述系统存储器的经修改的存储器页面;以及图形命令解析器,所述图形命令解析器用于:分析由所述应用向所述图形处理单元发布的图形命令以检测由所述图形命令引起的对所述系统存储器的写入;以及增强由所述存储器管理器对经修改的存储器页面的所述跟踪。2.如权利要求1所述的装置,其中,所述虚拟机监视器进一步包括用于选择性地将所述虚拟机中的一者或多者实时迁移到另一用于计算的装置的实时迁移功能,所述实时迁移功能包括:利用如由所述图形命令解析器增强的由所述存储器管理器跟踪的经修改的存储器页面将正被实时迁移的虚拟机的当前存储器内容提供到所述另一装置。3.如权利要求1所述的装置,其中,所述图形命令解析器用于在检测到对系统存储器的写入时获得所述对系统存储器的写入的客户机图形存储器地址。4.如权利要求3所述的装置,其中,所述图形命令解析器进一步用于:至少部分地基于针对所述对系统存储器的写入而获得的所述客户机图形存储器地址来计算所述对系统存储器的写入的主机图形存储器地址。5.如权利要求4所述的装置,其中,所述图形命令解析器进一步用于:至少部分地基于针对所述对系统存储器的写入而计算出的所述主机图形存储器地址来获得所述对系统存储器的写入的系统存储器地址。6.如权利要求5所述的装置,其中,所述图形命令解析器进一步用于:将所述存储器页面中包含所述系统存储器地址的一个存储器页面标记为脏。7.如权利要求1-6中任一项所述的装置,其中,所述图形命令解析器进一步用于:在确定了所述图形处理单元不支持所述图形命令中的第一图形命令时,判定所述第一图形命令是否可以被修改为所述图形处理单元所支持的形式,或者替换为所述图形处理单元所支持的功能等效图形命令。8.如权利要求7所述的装置,其中,所述图形命令解析器进一步用于:在确定了所述第一图形命令可以被修改为所述图形处理单元所支持的形式时,将所述第一图形命令修改为所述图形处理单元所支持的形式;或者在确定了其他功能等效图形命令存在时,将所述第一图形命令替换为所述图形处理单元所支持的所述其他功能等效图形命令。9.如权利要求1-6中任一项所述的装置,进一步包括图形代理库,所述图形代理库用于在所述虚拟机中的至少第一虚拟机中被实例化,其中,所述图形代理库用于维护针对所述第一虚拟机对所述图形处理单元进行抽象的图形应用编程接口的上下文。10.一种用于计算的装置,包括:一个或多个通用处理器;图形处理单元;系统存储器,所述系统存储器与所述一个或多个通用处理器和所述图形处理单元耦合;以及虚拟机监视器,所述虚拟机监视器用于管理由所述一个或多个通用处理器托管的多个虚拟机,其中,所述虚拟机监视器包括:存储器管理器,所述存储器管理器用于管理由所述虚拟机的由所述一个或多个通用处理器执行的应用的指令进行的对所述系统存储器的访问;以及图形命令解析器,所述图形命令解析器用于分析由所述应用向所述图形处理单元发布的图形命令以判定所述图形处理单元是否支持所述图形命令。11.如权利要求10所述的装置,其中,所述图形命令解析器进一步用于:在确定了所述图形处理单元不支持所述图形命令中的第一图形命令时,判定所述第一图形命令是否可以被修改为所述图形处理单元所支持的形式,或者替换为所述图形处理单元所支持的功能等效图形命令。12.如权利要求11所述的装置,其中,所述图形命令解析器进一步用于:在确定了所述第一图形命令可以被修改为所述图形处理单元所支持的形式时,将所述第一图形命令修改为所述图形处理单元所支持的形式;或者在确定了其他功能等效图形命令存在时,将所述第一图形命令替换为所述图形处理单元所支持的所述其他功能等效图形命令。13.如权利要求10-12中任一项所述的装置,进一步包括图形代理库,所述图形代理库用于在所述虚拟机中的至少第一虚拟机中被实例化,其中,所述图形代理库用于维护针对所述第一虚拟机对所述图形处理单元进行抽象的图形应用编程接口的上下文。14.一种用于计算的装置,包括:一个或多个通用处理器;图形处理单元;系统存储器,所述系统存储器与所述一个或多个通用处理器和所述图形处理单元耦合;虚拟机监视...

【专利技术属性】
技术研发人员:Y·Z·董Z·吕
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1