分布式虚拟机访问异常的处理方法以及虚拟机监控器技术

技术编号:7313978 阅读:237 留言:0更新日期:2012-05-03 18:59
本发明专利技术实施例公开了一种分布式虚拟机访问异常的处理方法以及虚拟机监控器,涉及计算机技术领域,能够减少假共享的产生,从而提高了分布式虚拟机内存的性能。本发明专利技术实施例的分布式虚拟机访问异常的处理方法,包括:根据虚拟机执行当前指令并访问虚拟机内存时出现访问异常的物理页的地址,找到出现访问异常的子页;判断虚拟机是否具有出现访问异常的子页的访问权限,若虚拟机没有访问权限,修复出现访问异常的子页,使虚拟机内存能够访问出现访问异常的子页并重新执行当前指令,若所述虚拟机具有访问权限,执行当前指令,并将执行结果返回给虚拟机执行上下文,使虚拟机完成所述当前指令的执行。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机
,尤其涉及一种分布式虚拟机访问异常的处理方法以及虚拟机监控器
技术介绍
虚拟机(Virtual Machine,简称VM)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。分布式虚拟化技术是一种将来自多台物理机器的资源以虚拟的方式重新组合成一台虚拟机的技术,当安装在虚拟机上的操作系统运行和使用这些虚拟资源时,部署在每台物理机器上的分布式虚拟机监控器 (Distributed Virtual Machine Monitor,简称DVMM)会截获敏感的访问行为,以保证虚拟机对虚拟资源使用的正确性。由于每台物理机器上的处理器只能访问本地的内存,因此,DVMM需要截获虚拟机对远程内存或远程内存对本地缓存(cache)的访问,并将这些访问事件交给分布式共享内存(Distributed Shared Memory,简称DSM)处理,以维护本地缓存与远程内存的正确性和一致性(Consistent and Coherent)。一般情况下,DVMM捕获处理器对远程内存或本地缓存的访问需要使用处理器的页面异常(Page Fault,简称PF)或嵌套的页异常(NestedPage Fault)等机制,而这些异常是以物理页大小为单位(例如4KB、2MB或1GB)产生,即处理器访问此物理页内的任一数据都会产生异常,这就导致了假共享问题(False faring)。又如极端的情况,两个不同物理节点上的处理器需要访问同一内存地址的一个字节,DSM为了维护这个字节的内存对两个处理器是一致的,需要截获处理器对这个内存地址的访问,又因为内存截获是以物理页为单位的,导致处理器对此物理页中实际共享的地址之外的其他字节的访问也产生内存异常 (无权限访问),使DSM触发处理维持共享内存一致性的过程。假共享降低了 DVMM中缓存的利用率,增加了无意义的网络通信,加重远程内存访问迟延,进而影响分布式虚拟机内存性能。
技术实现思路
本专利技术的实施例所要解决的技术问题在于提供一种分布式虚拟机访问异常的处理方法以及虚拟机监控器,能够减少假共享的产生,从而提高了分布式虚拟机内存的性能。为解决上述技术问题,本专利技术的实施例采用如下技术方案一种分布式虚拟机访问异常的处理方法,包括根据虚拟机执行当前指令并访问虚拟机内存时出现访问异常的物理页的地址,获得出现访问异常的物理页的子页的页内偏移地址,并根据所述页内偏移地址,找到出现访问异常的子页,所述物理页包括若干个子页;判断所述虚拟机是否具有所述出现访问异常的子页的访问权限,若所述虚拟机没有所述出现访问异常的子页的访问权限,修复所述出现访问异常4的子页,使虚拟机内存能够访问所述出现访问异常的子页并重新执行当前指令,若所述虚拟机具有所述出现访问异常的子页的访问权限,执行所述当前指令,并将执行结果返回给虚拟机执行上下文,使所述虚拟机完成所述当前指令的执行。一种虚拟机监控器,包括子页查找模块,用于根据虚拟机执行当前指令并访问虚拟机内存时出现访问异常的物理页的地址,获得出现访问异常的物理页的子页的页内偏移地址,并根据所述页内偏移地址,找到出现访问异常的子页,所述物理页包括若干个子页;访问权限判断模块,用于判断所述虚拟机是否具有所述出现访问异常的子页的访问权限,分布式共享内存,用于在判断所述虚拟机没有所述出现访问异常的子页的访问权限,修复所述出现访问异常的子页,使虚拟机内存能够访问所述出现访问异常的子页并重新执行当前指令,指令模拟执行模块,用于在判断所述虚拟机具有所述出现访问异常的子页的访问权限,执行所述当前指令,并将执行结果返回给虚拟机执行上下文,使所述虚拟机完成所述当前指令的执行。一种分布式虚拟机,包括多个通过网络连接的物理服务器,每台所述物理服务器上均设有虚拟机监控器,所述虚拟机监控器包括子页查找模块,用于根据虚拟机执行当前指令并访问虚拟机内存时出现访问异常的物理页的地址,获得出现访问异常的物理页的子页的页内偏移地址,并根据所述页内偏移地址,找到出现访问异常的子页,所述物理页包括若干个子页;访问权限判断模块,用于判断所述虚拟机是否具有所述出现访问异常的子页的访问权限,分布式共享内存,用于在判断所述虚拟机没有所述出现访问异常的子页的访问权限,修复所述出现访问异常的子页,使虚拟机内存能够访问所述出现访问异常的子页并重新执行当前指令,指令模拟执行模块,用于在判断所述虚拟机具有所述出现访问异常的子页的访问权限,执行所述当前指令,并将执行结果返回给虚拟机执行上下文,使所述虚拟机完成所述当前指令的执行。本专利技术实施例的分布式虚拟机访问异常的处理方法以及虚拟机监控器,通过将物理页划分为若干个子页,在物理页出现访问异常时,使出现访问异常的子页以外的其他子页能够被正常访问,减少了假共享的发生,并在判断虚拟机没有所述子页的访问权限时,出现访问异常的子页,使虚拟机内存能够访问所述出现访问异常的子页;在判断具有所述子页的访问权限时,模拟执行当前所述访问异常的指令,并将执行结果返回给虚拟机执行上下文,使所述虚拟机完成所述当前指令的执行,能够有效解决访问异常问题,提高了虚拟机内存的性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中分布式虚拟机访问异常的处理方法的流程示意图;图2为本专利技术实施例中虚拟机监控器的示意图;图3为本专利技术实施例中指令模拟执行模块的示意图;图4为本专利技术实施例中分布式虚拟机中虚拟机监控器的示意图。具体实施例方式本专利技术实施例提供一种分布式虚拟机访问异常的处理方法以及虚拟机监控器,能够减少假共享的产生,从而提高了分布式虚拟机内存的性能。下面结合附图对本专利技术实施例做详细描述。实施例一分布式虚拟机从硬件层面上由分布式虚拟化环境下运行的多个物理服务器组成, 具体包括处理器(Central Processing Unit,简称CPU)、虚拟机内存、网卡和高速输入输出(I/O)设备。此外,每个物理服务器上均设有虚拟机监控器,通过虚拟机监控器之间相互通信,使得每个物理服务器的处理器可以访问其他物理服务器的资源,进而组成一个虚拟的聚合的硬件平台。虚拟机内存对于虚拟机来说是一个隔离的、从零开始且具有连续性的伪物理内存空间,这个内存空间分别对应各物理服务器分配的一段物理内存。虚拟机监控器在每个物理服务器上为分布式虚拟机建立一个PZMG^seudo-physical Address to Machine Physical Address,虚拟机伪地址到机器物理地址的映射关系)表,将GFN转换成MFN。P2M 表中一部分GFN映射到本地服务器的内存;由于本地物理服务器的处理器不能直接访问其他物理服务器的内存,因此映射其他物理服务器内存的GFN映射在本地缓存,这个缓存存储了远程物理服务器上内存的内容。为了保证本地缓存和远程内存的一致性,需要在虚拟机监控器中设置分布式共享内存。本实施例提供一种分布式虚拟机访问异常的处理方法,如图1所示,该方法包括步骤101、根据虚拟机执行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:邱军
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1
相关领域技术