【技术实现步骤摘要】
【国外来华专利技术】利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移
本公开涉及计算领域。更具体地,本公开涉及利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移。
技术介绍
本文所提供的背景描述是为了一般地呈现本公开的上下文的目的。除非本文另外指出,否则本节中所描述的材料对于本申请的权利要求书而言并非现有技术,并且不因为包括在本节中而被承认是现有技术。虚拟机(VM)的传统实时迁移通常涉及存储器内容的增量迁移,因为迁移整个系统存储器的成本是巨大的和不切实际的。整个系统停机一段持续很久的时间以使整个系统存储器迁移的是不能忍受的。代替地,系统通常会在系统仍在运行的同时通过若干次迭代只迁移存储器的经修改部分。在此期间,新标记的存储器页面被标记为“脏”、并在随后的迭代中被迁移。虚拟化和图形技术的最新进展使得主机计算机上的多个VM之间能够实现更高效的图形虚拟化。高级图形虚拟化现在通常支持在VM内部运行的本机图形驱动器,以使虚拟机的用户应用能够访问主机计算机的图形处理单元(GPU)所支持的全面的图形能力。通常,GPU设备模型在主机计算机的虚拟机监视器(VMM)内实现,用于模拟对诸如存储器映射输入输出(MMIO)的GPU资源的访问。GPU能够在处理GPU命令时操控主机计算机的系统存储器,并且对系统存储器的操控对于VMM的存储器管理器是未知的。因此,当涉及最新的GPU虚拟化时,现有技术的VM的实时迁移不再起作用。此外,当实时迁移的目标主机计算机具有的GPU不同于实时迁移的源主机计算机的GPU时,迁移变得更加复杂。传统的实时迁移方法无法处理这样的实时迁移,因为源主机计算机和目标主机计算机的两个 ...
【技术保护点】
一种用于计算的装置,包括:一个或多个通用处理器;图形处理单元;系统存储器,所述系统存储器与所述一个或多个通用处理器和所述图形处理单元耦合;以及虚拟机监视器,所述虚拟机监视器用于管理由所述一个或多个通用处理器托管的多个虚拟机,其中,所述虚拟机监视器包括:存储器管理器,所述存储器管理器用于管理由所述虚拟机的有待由所述一个或多个通用处理器执行的应用的指令进行的对所述系统存储器的访问,其中,对访问的管理包括跟踪所述系统存储器的经修改的存储器页面;以及图形命令解析器,所述图形命令解析器用于:分析由所述应用向所述图形处理单元发布的图形命令以检测由所述图形命令引起的对所述系统存储器的写入;以及增强由所述存储器管理器对经修改的存储器页面的所述跟踪。
【技术特征摘要】
【国外来华专利技术】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.一种用于计算的装置,包括:一个或多个通用处理器;图形处理单元;系统存储器,所述系统存储器与所述一个或多个通用处理器和所述图形处理单元耦合;虚拟机监视...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。