实现远程内存交换的方法、装置及系统制造方法及图纸

技术编号:2916216 阅读:168 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种实现远程内存交换的方法、装置及系统,所述方法包括:从虚拟机的机器内存中释放机器页面,所述机器页面映射有物理页面;将映射了所述机器页面的物理页面的内容传送到远程交换空间,其中,所述远程交换空间建立在远程物理主机上。本发明专利技术实施例公开的实现远程内存交换的装置包括页面回收模块及远程发送模块。采用本发明专利技术实施例,将虚拟机的部分内存交换到远程物理主机的空闲内存上,提高在一组物理主机上聚合虚拟机的数量和执行效率,使得在充分保证虚拟机页面交换性能的前提下,实现对物理主机更高的利用率,降低总体拥有成本。

【技术实现步骤摘要】

本专利技术涉及计算机内存共享技术,尤其涉及一种实现虚拟机的远程内存交换的方法、装置及系统。
技术介绍
虚拟机技术源于上世纪60年代,其核心思想是:在一台物理主机上虚拟出多个虚拟计算机,其上能同时运行多个独立的操作系统,这些客户操作系统Guest OS通过VMM(Virtual Machine Monitor,虚拟机管理器)访问实际的物理资源。多机聚合虚拟化的目标是使得一个虚拟机能够利用多台物理主机的计算资源,实现对虚拟机能力的提升和对物理主机资源的有效利用。在多机聚合虚拟化中,如何使得一个虚拟机能够使用宿主物理主机以外的内存资源提高虚拟机的性能,是一个很有意义的问题。目前,虚拟内存是解决系统峰值内存需求量大于主机物理内存的主要技术。但把虚拟内存技术直接应用于虚拟机中时,会存在一些问题。首先,如果直接在虚拟机内采用虚拟内存技术,由于虚拟机使用的硬盘为虚拟设备,在页面交换上效率会比较低;其次,如果在VMM层次也采用虚拟内存技术,则因为VMM不能获得虚拟机内部对内存使用的有效信息,使其对页面交换的决策存在无法最优、重复交换、冗余回写等问题。在现有技术中,通过Ballooning技术,VMWare和Xen都实现了在虚拟机之间暂时的转借内存,使得在同一台物理主机上的多个虚拟机可使用超出物理主机内存总量的内存。Ballooning技术是通过在虚拟机的客户操作系统中安装专用的驱动程序,通过驱动程序申请并锁定一定数量的内存并返还给虚拟机管理器,这些返还的内存可被VMM通过其他虚拟机的Ballooning驱动程序分配使用。专利技术人在实施本专利技术的过程中,发现上述现有的虚拟机之间的转借内存技-->术具有如下缺点:这种技术要求在客户操作系统中安装特定的驱动(修改客户操作系统)才能实现,这对客户操作系统而言是非透明的;同时,它仍然依赖于客户操作系统的虚拟内存页面交换机制,而向虚拟硬盘进行页面交换效率较低;如果每个虚拟机同时需要大量内存时,其对内存需求的总量会超过物理内存限制,从而无法得到满足一个物理主机上聚合多个虚拟机的需求。
技术实现思路
本专利技术实施例提供一种实现远程内存交换的方法、装置及系统,可提高物理主机上虚拟机的数量。为了解决上述技术问题,本专利技术实施例提供了一种实现远程内存交换的方法,包括:从虚拟机的机器内存中释放机器页面,所述机器页面映射有物理页面;将映射了所述机器页面的物理页面的内容传送到远程交换空间,其中,所述远程交换空间建立在远程物理主机上。相应地,本专利技术实施例还提供了一种实现远程内存交换的装置,包括:页面回收模块,用于从虚拟机的机器内存中释放机器页面,所述机器页面映射有物理页面;远程发送模块,用于将映射了所述页面回收模块所释放的机器页面的物理页面的内容传送到远程交换空间。相应地,本专利技术实施例还提供了一种实现远程内存交换的系统,包括第一物理主机和第二物理主机;所述第一物理主机上创建有远程交换空间,用于存储所述第二物理主机上的虚拟机的内存交换文件;所述第二物理主机上设有虚拟机,从虚拟机的机器内存中释放机器页面,所述机器页面映射有物理页面,将映射了所述机器页面的物理页面的内容传送到所述第一物理主机的远程交换空间上。实施本专利技术实施例提供的实现远程内存交换的方法、装置及系统,具有以下有益效果:利用远程物理主机的内存资源作为虚拟机的内存交换文件的存储介质,通-->过高速网络将虚拟机的部分内存交换到所述远程物理主机的空闲内存上,提高在一组物理主机上聚合虚拟机的数量和执行效率,使得在充分保证虚拟机页面交换性能的前提下,实现对物理主机更高的利用率,降低总体拥有成本。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的实现远程内存交换的系统的组成示意图;图2是本专利技术实施例提供的实现远程内存交换的装置的组成示意图;图3是本专利技术实施例提供的页面回收模块的组成示意图;图4是本专利技术实施例提供的页面状态转移示意图;图5是本专利技术实施例提供的远程交换协议格式示意图;图6是本专利技术实施例提供的实现远程内存交换的方法的流程示意图;图7是本专利技术实施例提供的实现远程内存交换的系统的一个实施例的组成示意图;图8是如图7所示系统实现远程内存交换实施例的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,是本专利技术实施例提供的实现远程内存交换的系统的组成示意图。所述系统包括第一物理主机和第二物理主机。虚拟机系统中存在着三个地址概念:机器地址(Machine Address),指真实硬件的物理地址,即地址总线上应该出现的地址信号。物理地址(Guest Physical Address),指经过虚拟机管理器VMM抽象的、虚-->拟机所看到的伪物理地址。虚拟地址(Guest Virtual Address),指客户操作系统Guest OS提拱给其应用程序使用的线性地址空间。基于以上概念,在本专利技术实施例中,将虚拟机管理器管理的物理主机的实际内存称为机器内存(以“页面”为单位),其中的页面称为机器页面;将虚拟机中客户操作系统管理的内存称为物理内存(以“页面”为单位),其中的页面称为物理页面。如图1所示,所述第一物理主机上创建有远程交换空间,用于存储所述第二物理主机上的虚拟机的内存交换文件;所述远程交换空间的大小与虚拟机的物理内存相等,以保证每一个物理页面都能交换到远程交换空间上;为了提高内存交换的执行效率,将远程交换空间建立在第一物理主机的内存上。所述第二物理主机上部署有虚拟化环境,其上运行至少一个虚拟机。在创建虚拟机时,为该虚拟机分配一定数量的机器内存。在初始化时,机器内存中的页面不与任何物理页面绑定,只有在客户操作系统访问物理页面时,再为所要访问的物理页面分配机器页面。在某一时刻,虚拟机上的客户操作系统访问物理页面时,虚拟机管理器确定机器内存中的空闲页面是否足以分配给虚拟机所要访问的物理页面,即判断空闲页面的数量是否大于所需页数;若所述空闲页面不足,则从机器内存的活动页面(即已分配给物理页面的机器内存)中释放非活跃的(即最近没有访问过的和/或暂时不用的)机器页面,并将映射了所述机器页面的物理页面的内容传送到所述第一物理主机的远程交换空间上。其中,当机器页面被释放时,所述机器页面成为空闲页面。所述第二物理主机在确定机器内存中的空闲页面充裕时,为虚拟机所要访问的物理页面分配机器页面,建立所述分配的机器页面与所要访问的物理页面之间的映射关系,所述机器页面成为活动页面;进一步的,虚拟机管理器判断所要访问的物理页面的内容是否在所述第一物理主机的远程交换空间上,若是,则从所述远程交换空间中读取所述物理页面的内容,并写入分配给所述物理页面的机器页面中。所述第二物理主机包括实现远程内存交换的装置,如图1本文档来自技高网
...

【技术保护点】
一种实现远程内存交换的方法,其特征在于,包括: 从虚拟机的机器内存中释放机器页面,所述机器页面映射有物理页面; 将映射了所述机器页面的物理页面的内容传送到远程交换空间,其中,所述远程交换空间建立在远程物理主机上。

【技术特征摘要】
1、一种实现远程内存交换的方法,其特征在于,包括:从虚拟机的机器内存中释放机器页面,所述机器页面映射有物理页面;将映射了所述机器页面的物理页面的内容传送到远程交换空间,其中,所述远程交换空间建立在远程物理主机上。2、如权利要求1所述的实现远程内存交换的方法,其特征在于,还包括:从机器内存的空闲页面中,为虚拟机所要访问的物理页面分配机器页面,建立所述分配的机器页面与所要访问的物理页面之间的映射关系。3、如权利要求2所述的实现远程内存交换的方法,其特征在于,还包括:确定所述虚拟机所要访问的物理页面的内容是否在远程交换空间中;若是,从所述远程交换空间中读取所述物理页面的内容,并写入分配给所述物理页面的机器页面中。4、如权利要求1所述的实现远程内存交换的方法,其特征在于,所述从虚拟机的机器内存中释放机器页面具体包括:扫描虚拟机的机器内存中的活动页面,确定各个活动页面的活跃级别;释放处于非活跃级别的机器页面,删除所述释放的机器页面与对应的物理页面之间的映射关系。5、如权利要求1所述的实现远程内存交换的方法,其特征在于,所述远程交换空间建立在所述远程物理主机的内存上。6、如权利要求1所述的实现远程内存交换的方法,其特征在于,所述远程交换空间的大小与所述虚拟机的物理内存相等。7、一种实现远程内存交换的装置,其特征在于,包括:页面回收模块,用于从虚拟机的机器内存中释放机器页面,所述机器页面映射有物理页面;远程发送模块,用于将映射了所述页面回收模块所释放的机器页面的物理页面的内容传送到远程交换空间。8、如权利要求7所述的实现远程内存交换的装置,其特征在于,所述装置还包括:页面绑定模块,用于从机器内存的空闲页面中,为虚拟机所要访问的物理页面分配机器页面,建立所述分配的机器页面与所要访问的物理页面之间的映射关系。9、如权利要求7或8所述的实现远程内存交换的装置,其特征在于,所述装置还包括:页面内容确定模块,用于确定虚拟机所要访问的物理页面的内容是否在远程交换空...

【专利技术属性】
技术研发人员:罗英伟全小飞
申请(专利权)人:华为技术有限公司北京大学
类型:发明
国别省市:94[中国|深圳]

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

1