虚拟机均质化以实现跨异构型计算机的迁移的制作方法

上传人:ting****789 文档编号:310043643 上传时间:2022-06-14 格式:DOCX 页数:7 大小:27.63KB
返回 下载 相关 举报
虚拟机均质化以实现跨异构型计算机的迁移的制作方法_第1页
第1页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《虚拟机均质化以实现跨异构型计算机的迁移的制作方法》由会员分享,可在线阅读,更多相关《虚拟机均质化以实现跨异构型计算机的迁移的制作方法(7页珍藏版)》请在金锄头文库上搜索。

1、虚拟机均质化以实现跨异构型计算机的迁移的制作方法专利名称:虚拟机均质化以实现跨异构型计算机的迁移的制作方法技术领域: 本申请涉及虚拟机,具体而言,涉及虚拟机在跨异构型计算机上的迁移。背景技术: 虚拟机(VM)包括在主机计算机系统上执行的的软件,该软件好像它是物理机器那样运作。一个计算机系统可以主控多个虚拟机,每个虚拟机运行在一个虚拟机监视器 (VMM)上,该虚拟机监视器也被称为系统管理程序,它控制主机资源在诸虚拟机之间的共享。通常运行虚拟机来以比传统的程序更加充分的方式利用物理机器的硬件资源,和/或在同一时间在同一物理机器上运行不同的操作系统。当创建了虚拟机,虚拟机监视器通常会将底层硬件特征、

2、拓扑和其它特性展示给该虚拟机。这就允许该虚拟机充分利用其运行的平台的能力。出于各种理由,有时希望或必须将虚拟机从一个物理机器迁移到另一物理机器, 而不要停止该虚拟机的执行(虽然在某些持续时间该虚拟机是不可用的)。这样的理由包括负载平衡、维护、故障转移等等。然而,当在异构型计算环境中迁移虚拟机时,也就是,在具有不同能力的计算平台之间,可能会出现许多硬件相关和软件相关的问题。例如,新平台可能并不支持与该虚拟机先前所使用的特定处理器特征相关联的指令集,从而导致应用程序或操作系统崩溃。另一个问题是当缓存拓扑不同时,例如,在新平台上存在更小的缓存线性转储清除大小(cache line flush siz

3、e),这就会导致数据恶化的问题。还有另一个问题是虚拟机可能被优化以使用一物理机器的非均勻存储器访问(NUMA)拓扑和/或非均勻I/O访问拓扑。如果这些拓扑中的一个不同或两者都不同,就会导致下降的性能。对于软件而言,在新机器上的虚拟机监视器的版本可能与先前平台的版本不同, 从而导致了兼容性问题。还有,当虚拟机迁移到不同的平台时,会存在操作系统或应用程序许可证激活的问题。总之,在异构型计算环境中,迁移虚拟机会导致硬件资源利用不足、低下性能、系统停机时间和/或数据丢失。发明内容 提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些代表性概念。本发明内容不旨在标识出所要求保护的主题

4、的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。简要地,在此描述的主题的各个方面都旨在基于虚拟机所需的能力和/或计算机系统上可用的能力将虚拟机迁移至具有不同平台的计算机系统的技术。这样的能力包括处理器特征集、处理器缓存特性、控制寄存器特性、模型特定寄存器特性、存储器类型范围寄存器特性、地址范围寄存器特性、非均勻存储器访问拓扑、非均勻I/O访问拓扑、虚拟机监视器版本数据和/或许可证相关的数据。在一个方面,在允许迁移之前检查兼容性。在另一个方面,虚拟机的平台相关的能力被故意限定为计算机系统之间可用的平台相关的能力的最低公共集,以使得虚拟机与多个计算机系统中的任意计算机系

5、统相兼容。例如,返回给虚拟机的CPU特征可以是每个机器都能支持的最低CPU特征,该特征基于不同的CPU体系结构和/或步进而不同,包括在体系结构之间的步进和/或单个处理器厂商的和/或不同处理器厂商的步进。在一个方面中,可以基于相似的能力将诸计算机系统分组为迁移池,例如,较新的计算机系统并不受限于较老的计算机系统的能力,而仅受限于它们的迁移池中最低的能力。在另一个方面中,可以基于虚拟机所需的能力,诸如基于性能、故障容差和/或灵活性, 将该虚拟机映射到某些计算机系统。结合附图阅读以下详细描述,本发明的其他优点会变得显而易见。 作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似

6、的元素,附图中 图1是示出以维护跨不同平台的兼容性的方式来迁移虚拟机的示例组件的框图。图2是表示虚拟化处理器特征集以匹配在不同平台中的公共的那些从而确保兼容性的示例步骤的流程图。图3是示出基于公共能力如何将不同的平台汇合在一起,以便在池内的迁移避免了兼容性相关的问题的框图。图4表示了如何基于每个虚拟机所需能力和与之相对的每个平台所提供的能力可将虚拟机映射到不同的平台的框图。图5是示出在虚拟机迁移期间采取的保持跨平台兼容性的示例步骤的流程图。图6示出可以将本发明的各方面并入其中的计算环境的说明性示例。具体实施例方式在此所描述的技术的各个方面总体来说旨在便于以避免由平台中的不同的硬件和/或软件所导

7、致的各种问题的方式在异构型计算平台中的虚拟机迁移。为此,描述了一组异构型平台的能力的标识,虚拟机所需能力的说明以及对使用这些能力的虚拟机的创建,包括由虚拟机监视器对底层硬件和/或软件的虚拟化以支持这些能力。还描述了当迁移或重启虚拟机时的虚拟机能力的持续以及兼容性验证。在一个方面中,描述了在迁移虚拟机之后将任何已改变的能力通知该虚拟机。应当理解,此处的任何示例都是非限制性的示例。如此,本发明不限于此处所描述的任何特定实施例、方面、概念、结构、功能或示例。相反,这里所描述的任何一个实施例、方面、概念、结构、功能或示例都是非限制性的,且本发明可以按一般而言在计算和/或虚拟机技术中提供好处和优点的各种

8、方式来使用。图1示出了有关虚拟机10 从具有一个平台106的源主机104到具有另一个平台Iio的目标主机108的迁移的各个方面。可以很容易地理解,如果平台是相同的,则不存在兼容性问题,因此,此处的描述针对于关于它们各自的硬件和/或软件能力(包括在此描述的各种特征和/或特性)的不同的平台106和110。注意,在目标主机上的虚拟机实例在图1中标注为102b,尽管除了其位置之外,该虚拟机实例在本质上并没有被改变。如所知的,每个主机运行一个虚拟机监视器,在图1中标注为112和114。在其它操作中,虚拟机监视器允许不同类型的虚拟机,例如配置有不同操作系统、版本等,以运行在平台上。通常,每个虚拟机操作系统

9、可以没有察觉到它运行在虚拟机监视器之上,并且可以如同它就是在物理主机计算机系统上运行的唯一的操作系统那样操作。如在此所述,结合虚拟机监视器112和114的系统管理器116以确保兼容性的方式处理迁移。为此,系统管理器116包括兼容性逻辑118,该兼容性逻辑118检查虚拟机是否能被迁移,并且如果不能就放弃所请求的迁移。此外,虚拟机监视器112和114分别包括兼容性管理器120和122,它们能够控制虚拟机的兼容性配置以提供跨平台的兼容性。更加具体地,每个兼容性管理器能够基于在异构型平台之间可用的特征和特性,将虚拟机的能力设定为最低的公共特征集/特性集。 这种兼容性相关的信息可以作为兼容性数据124由

10、系统管理器116维护。一组兼容性与每个平台的CPU相关。它们包括处理器特征,例如指令集、控制寄存器特性、缓存特性等等,并随处理器厂商和执行而改变。如所知的,CPUID指令返回数据,可以通过这些数据来为给定平台确定这些特征中的许多特征。相对于处理器缓存,处理器缓存体系结构对应于CPUID叶2和4。如果虚拟机正在运行在源主机上的缓存优化应用程序,将该虚拟机迁移到目标主机导致性能的降低。此外,如果在目标主机上的缓存线性转储清除大小小于源,则会发生数据恶化。这样,源和目标主机处理器的特性需要匹配。CL 转储清除大小(CPUID 80000001. ebx. 16-23) 如上所述,一个选择是如果,例如

11、由于较旧的CPU或来自不同厂商的CPU的原因, 目标主机不能支持CPU特性,则放弃迁移。然而,一个替换方式是在源主机上虚拟化所述特征集以便与参与将来迁移的目标主机匹配。为此,系统管理器确定对于给定虚拟机可能进行迁移的每个平台的CPU特征(这可依赖于虚拟机所需的能力,如以下将描述的)。从这些特征中,系统管理器基于任意给定处理器不能支持的那个或那些特征来选择最低的公共特征集。可以为不同的体系结构/同一处理器厂商的步进来完成所述最低的公共特征集选择,但也可以跨不同的厂商处理器来完成所述最低的公共特征集选择。这样,例如,如果在诸处理器中,所有的处理器都支持SSE4. 1,但一个或多个处理器不支持SSE

12、4. 2,则最低的公共特征集为SSE4. 1。无论在哪里创建或启动虚拟机,要迁移到不支持SSE4. 2的机器的任意虚拟机都将不会看到SSE4. 2CPUID位。然而,注意这仅应用于将被迁移的虚拟机;主机可具有固定在主机并不会被迁移的一个或多个虚拟机。为了限制虚拟机对超过在最低的公共特征集中所标识的对应的一个特征的任何特征的使用,由系统管理器将该最低的公共特征集告知其各自的虚拟机监视器的兼容性管理器。当首先在主机上创建虚拟机时,创建者(例如管理员或自动过程)具有在处理器兼容模式中创建该虚拟机的能力。如果在此模式下被创建,主机虚拟机监视器截取用于确定处理器特征的虚拟机CPUID请求,并且用合适的最

13、低公共特征集进行基本响应。为了实现此目标,如果任意位并没有设置在例如公共特征集中,虚拟机监视器就将对CPUID请求的实际响应中设置的该位清除。图2概括了虚拟机监视器的最低的公共特征集操作,从步骤202开始,在那里虚拟机(VM)执行CPUID指令,请求特征信息。在步骤204,虚拟机监视器截取CPUID指令的执行。步骤206估计该虚拟机是否正以选择的处理器兼容模式选项被创建。如果不是, 在步骤212将结果返回给虚拟机。如果选择了处理器兼容模式选项,则步骤208和210表示了在步骤212返回结果之前,基于最低的公共特征集改变任何不同的特征。一些处理器提供了无需截取CPUID指令执行,通过写入专用的模

14、式特定寄存器 (MSR)来直接无视CPUID值的能力。虚拟机监视器可以使用这种机制来清除当虚拟处理器运行时的任意CPUID位。些处理器提供了使得与处理器特征相关联的指令集无效的能力。除了清除 CPUID位之外,虚拟机监视器可以使用其来使得相关联的指令集无效以强迫使用该特征。类似于当创建虚拟机时,现有的虚拟机可以被重新配置为处理器兼容模式。注意,对于一些特征操作,虚拟机监视器可以模拟指令集。例如,在一个实现中,虚拟机监视器模拟预取(prefetch)和预取写(prefetch)指令。任何虚拟机迁移所允许的在平台间模拟的这样的指令不需要由虚拟化来限定。除了处理器特征,还可以虚拟化其它处理器特性。例

15、如,如果两个平台具有不同的缓存线性转储清除大小,则返回最小的缓存线性转储清除大小作为最低的公共特性/特征。模型特定寄存器、存储器类型范围寄存器(MTRR)以及地址范围寄存器(ARR)也能够类似地匹配于例如最低的公共特性,以仅将寄存器展示给跨平台公共的虚拟机。还可以将处理器的XSAVE (有关处理器扩展状态)能力,例如是否支持XSAVE并且如果支持则扩展, 与最低公共能力进行匹配。此外,保存的控制寄存器(例如CR4)位可能需要被设置为零, 因为虚拟机尝试将保存的位设置为1会导致取决于处理器的处理器异常。例如,一个平台可以使用CR位,而另一个却不能。作为更加具体的实例,启用XSAVE的平台将CR4

16、定义为 0SXSAVE,而未启用XSAVE的平台保存这个位。不同非均勻存储器访问(NUMA)拓扑引起其它硬件有关的兼容性问题。通常,对于 NUMA,处理器和存储器被配置在不同的节点,使得每个处理器到其自身节点的存储器比到另一节点的存储器更近。为了更好的性能,当使用存储器时如果通过调度同一节点中的处理器上的线程可能的话,则操作系统尝试使用离处理器更近的存储器,并且只有在必须的时候才从其它节点分配存储器。应用程序可以使用NUMA API来确定节点拓扑以便优化调度和存储器使用。类似于NUMA,操作系统/应用程序还可以,例如,通过精炼(affinitizing)中断或使用直接耦合 I/O控制器等来对非均勻I/O访问进行优化。然而,这个或这些拓扑可以跨平台不同,当其虚拟机被迁移到另一平台时,这会使得配置用于一个拓扑的操作系统/应用程序变得低效。一种避免这种问题的方法是告诉在虚拟机中运行的操作系统/应用程序

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号