基于同质内存扫描的合并方法及装置制造方法及图纸

技术编号:15690712 阅读:287 留言:0更新日期:2017-06-24 03:19
本发明专利技术涉及虚拟化集群系统的内存优化技术领域,特别是一种基于同质内存扫描的合并方法及装置,针对虚拟化集群系统的内存优化需要,构建一种利用虚拟化技术来无缝聚合同质内存资源的方法及装置,对系统中的空闲内存资源进行统一管理,为在全局内搜寻同质内存提供基础。包括:将内存页面存入动态内存池;查找动态内存池中的内存页面是否在稳定树中存在同质内存页面,若是,则将动态内存池中的内存页面添加到稳定树中;若否,则进行下一步;查找动态内存池中的内存页面是否在非稳定树中存在同质内存页面,若是,则将动态内存池中的内存页面添加到稳定树中;若否,则将动态内存池中的内存页面添加到非稳定树中。

Method and device for merging based on homogeneous memory scanning

The invention relates to the technical field of memory optimization of virtual cluster system, especially a merging method and device for homogeneous memory scanning based on the virtual cluster system memory optimization, and construction of a device using virtualization technology to seamless aggregation method of homogeneous memory resources, unified management of the system of free memory resources, provide the basis for the search of homogeneous memory in the global scope. Including: the memory page to find the dynamic memory pool; dynamic memory pool memory page exists in homogeneous memory pages, the tree will be stable if, dynamic memory pool of memory pages to add to the stability of the tree; if not, the next step is to find the dynamic memory pool; the memory page exists homogeneous memory pages in the unstable tree, if the dynamic memory pool of memory pages to add to the stability of the tree; if not, the dynamic memory pool of memory pages to add to the unstable tree.

【技术实现步骤摘要】
基于同质内存扫描的合并方法及装置
本专利技术涉及虚拟化集群系统的内存优化
,特别是一种基于同质内存扫描的合并方法及装置。
技术介绍
每个虚拟机上的内存会完整的映射到物理内存上,由于一台服务器上的多个虚拟机运行同一操作系统,因此物理内存中存在大量相同的内存页面,在这里称之为同质内存。现代操作系统设计中,共享内存己经成为一个普遍采用的技术,正是通过这一特点,我们可以将这些同质内存让多个虚拟机共享,通过扫描内存中的页,找到不同虚拟机之间的相同的内存页,然后将相同的内存页进行合并,当某个虚拟机需要修改内存页时,重新申请一个内存页,拷贝原来页数据到此内存页,将此内存页给需要改变内存页的虚拟机,从而达到降低总体内存需求,通过资源复用提高单台服务器内的资源优化,我们将这种方法称之为“节流”。虽然同质内存共享技术大大节省了内存的使用量,但是为了充分利用服务器的各资源,管理员通常将不同类型的服务器应用,如计算密集型,通信密集型,密集型等,放在同一台服务器上以提高单台服务器的利用率,由于单台服务器上的同构虚拟机数量的减少,又会影响的使用效果。同时虚拟机中数据可分为读频繁和写频繁,因此对于某些内存页并且对内存也数据进行不加区分的进行共享,这就导致了对于写频繁的内存页频繁的被分离出去,而由于分页造成的开销远远大于实用同质内存复用带来的性能提升。
技术实现思路
鉴于此,本专利技术提供一种基于同质内存扫描的合并方法及装置,针对虚拟化集群系统的内存优化需要,构建一种利用虚拟化技术来无缝聚合同质内存资源的方法及装置,对系统中的空闲内存资源进行统一管理,为在全局内搜寻同质内存提供基础。为了达到上述目的,本专利技术是通过以下技术方案实现的:本专利技术提供一种基于同质内存扫描的合并方法,包括:将内存页面存入动态内存池;查找动态内存池中的内存页面是否在稳定树中存在同质内存页面,若是,则将动态内存池中的内存页面添加到稳定树中;若否,则进行下一步;查找动态内存池中的内存页面是否在非稳定树中存在同质内存页面,若是,则将动态内存池中的内存页面添加到稳定树中;若否,则将动态内存池中的内存页面添加到非稳定树中。进一步地,将内存页面存入动态内存池之前,还包括:创建动态内存池。进一步地,将内存页面存入动态内存池,包括:为发生读写操作的内存页面添加去重标识;将添加了去重标识的内存页面存入动态内存池。进一步地,将添加了去重标识的内存页面存入动态内存池,包括:将添加了去重标识的内存页面存入有限环形栈,有限环形栈最上层放置最新存入的内存页面。进一步地,将动态内存池中的内存页面添加到非稳定树中,包括:计算动态内存池中的内存页面的哈希值;将动态内存池中的内存页面添加到非稳定树。进一步地,将动态内存池中的内存页面添加到非稳定树中之后,还包括:将添加到非稳定树中的内存页面标记为只读。本专利技术还提供一种基于同质内存扫描的合并装置,包括:内存页面存入模块,用于将内存页面存入动态内存池;第一查找模块,用于查找动态内存池中的内存页面是否在稳定树中存在同质内存页面;第二查找模块,用于查找动态内存池中的内存页面是否在非稳定树中存在同质内存页面;第一添加模块,用于将动态内存池中的内存页面添加到稳定树中;第二添加模块,用于将动态内存池中的内存页面添加到非稳定树中。进一步地,还包括:动态内存池创建模块,用于创建动态内存池。进一步地,还包括:去重标识添加模块,用于为发生读写操作的内存页面添加去重标识。进一步地,还包括:哈希计算模块,用于计算动态内存池中的内存页面的哈希值;进一步地,还包括:内存页面属性更改模块,用于将添加到非稳定树中的内存页面标记为只读。本专利技术提供一种基于同质内存扫描的合并方法,具有如下有益效果:根据读写顺序对内存页面进行无序的扫描以查找同质内存页面,并将其合并到稳定树中,把内存服务器对虚拟文件系统的读操作的对象以及虚拟文件系统写操作的目标做为扫描的主要内存页面,在动态内存池中捕获所有内存读写的提示,然后在动态内存池中全局查找同质内存页面,可以大大提高单个页面的共享度,从而节省更多的内存页面。基于同质内存扫描的合并装置的有益效果与基于同质内存扫描的合并方法类似,不再赘述。附图说明图1为本专利技术实施例所提供的基于同质内存扫描的合并方法的流程示意图;图2为本专利技术实施例所提供的基于同质内存扫描的合并方法的流程示意图的另一种实施方式;图3为本专利技术实施例所提供的基于同质内存扫描的合并装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。以下结合具体情况说明本专利技术的示例性实施例:请参考图1,图1为本专利技术实施例所提供的基于同质内存扫描的合并方法的流程示意图;本专利技术提供一种基于同质内存扫描的合并方法,包括:步骤S101、将内存页面存入动态内存池;步骤S102、查找动态内存池中的内存页面是否在稳定树中存在同质内存页面,若是,则进行步骤S103;步骤S103、将动态内存池中的内存页面添加到稳定树中;若否,则进行步骤S104;步骤S104、查找动态内存池中的内存页面是否在非稳定树中存在同质内存页面,若是,则进行步骤S103;若否,则进行步骤S105;步骤S105、将动态内存池中的内存页面添加到非稳定树中。请参考图2,图2为本专利技术实施例所提供的基于同质内存扫描的合并方法的流程示意图的另一种实施方式;本实施例提供一种基于同质内存扫描的合并方法,包括:步骤S201、创建动态内存池;步骤S202、为发生读写操作的内存页面添加去重标识;步骤S203、将添加了去重标识的内存页面存入动态内存池;在本实施例中,将添加了去重标识的内存页面存入有限环形栈,有限环形栈最上层放置最新存入的内存页面。步骤S204、查找动态内存池中的内存页面是否在稳定树中存在同质内存页面,若是,则进行步骤S205;步骤S205、将动态内存池中的内存页面添加到稳定树中;若否,则进行步骤S206;步骤S206、查找动态内存池中的内存页面是否在非稳定树中存在同质内存页面,若是,则进行步骤S205;若否,则进行步骤S207;步骤S207、计算动态内存池中的内存页面的哈希值;步骤S208、将动态内存池中的内存页面添加到非稳定树;步骤S209、将添加到非稳定树中的内存页面标记为只读;值得说明的是,原生的KSM处理流程可以从以下KSM的原理中得到解释:KSM即KernelSamePageMerging,同时也被称为是一个内核模块,KSM作为内核中的守护进程定期执行页面扫描,识别副本页面并合并副本,释放这些页面以供它用。执行上述操作的过程对用户透明。例如,副本页面被合并(然后被标记为只读),但是,如果这个页面的其中一个用户由于某种原因更改该页面,该用户将收到自己的副本。KSM使用的方法与内存去親合中使用的方法不同。在传统的去稱合中,对象被散列化,然后使用散列值进行初始相似性检查。当散列值一致时,下一步是进行一个实际对象比较,以便正式确定这些对象是否一致。KSM在它的第一个实现中采用这种本文档来自技高网...
基于同质内存扫描的合并方法及装置

【技术保护点】
一种基于同质内存扫描的合并方法,其特征在于,包括: 将内存页面存入动态内存池; 查找动态内存池中的内存页面是否在稳定树中存在同质内存页面,若是,则将动态内存池中的内存页面添加到稳定树中;若否,则进行下一步; 查找动态内存池中的内存页面是否在非稳定树中存在同质内存页面,若是,则将动态内存池中的内存页面添加到稳定树中;若否,则将动态内存池中的内存页面添加到非稳定树中。

【技术特征摘要】
1.一种基于同质内存扫描的合并方法,其特征在于,包括:将内存页面存入动态内存池;查找动态内存池中的内存页面是否在稳定树中存在同质内存页面,若是,则将动态内存池中的内存页面添加到稳定树中;若否,则进行下一步;查找动态内存池中的内存页面是否在非稳定树中存在同质内存页面,若是,则将动态内存池中的内存页面添加到稳定树中;若否,则将动态内存池中的内存页面添加到非稳定树中。2.根据权利要求1所述的基于同质内存扫描的合并方法,其特征在于,将内存页面存入动态内存池之前,还包括:创建动态内存池。3.根据权利要求1所述的基于同质内存扫描的合并方法,其特征在于,将内存页面存入动态内存池,包括:为发生读写操作的内存页面添加去重标识;将添加了去重标识的内存页面存入动态内存池。4.根据权利要求3所述的基于同质内存扫描的合并方法,其特征在于,将添加了去重标识的内存页面存入动态内存池,包括:将添加了去重标识的内存页面存入有限环形栈,有限环形栈最上层放置最新存入的内存页面。5.根据权利要求1所述的基于同质内存扫描的合并方法,其特征在于,将动态内存池中的内存页面添加到非稳定树中,包括:计算动态内存池中的内存页面的哈希值;将动态内存池...

【专利技术属性】
技术研发人员:戚勇
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1