CN104346284B - 一种内存管理方法及内存管理设备 - Google Patents

一种内存管理方法及内存管理设备 Download PDF

Info

Publication number
CN104346284B
CN104346284B CN201310335408.XA CN201310335408A CN104346284B CN 104346284 B CN104346284 B CN 104346284B CN 201310335408 A CN201310335408 A CN 201310335408A CN 104346284 B CN104346284 B CN 104346284B
Authority
CN
China
Prior art keywords
page
virtual machine
virtualized environment
memory
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310335408.XA
Other languages
English (en)
Other versions
CN104346284A (zh
Inventor
董建波
张义
江涛
侯锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201310335408.XA priority Critical patent/CN104346284B/zh
Publication of CN104346284A publication Critical patent/CN104346284A/zh
Application granted granted Critical
Publication of CN104346284B publication Critical patent/CN104346284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例公开了一种内存管理方法及内存管理设备,其中,一种内存管理方法,包括:在虚拟机运行期间获取虚拟机的页面访问统计信息;根据页面访问统计信息,按照页面访问次数由大到小的顺序,确定第一目标页;若虚拟机满足重映射条件,则:将第一目标页的页面数据从PRAM迁移到所述虚拟机的DRAM存储空间;将第一目标页的逻辑地址映射到存储第一目标页的页面数据的DRAM存储空间;其中,所述重映射条件包括:虚拟机的准许重映射标识为有效值;其中,在同一物理计算机上,同一时刻只能有一台虚拟机的准许重映射标识被设为有效值。本发明提供的技术方案能够实现在虚拟化环境中使用DRAM和PRAM混合的存储结构提高系统存储性能。

Description

一种内存管理方法及内存管理设备
技术领域
本发明涉及虚拟机领域,尤其涉及一种内存管理方法及内存管理设备。
背景技术
随着国内外云计算市场的日益扩大,云计算平台的功耗问题开始受到多方关注。而云计算平台功耗的相当一部分来自于主存储器(即内存),所以对云计算平台的内存设计方法进行研究有着重要的意义。相变存储器(PRAM,Phase-change Random Access Memory)被认为是下一代主存储器的设计方案之一。PRAM具有很好的功耗特性,能够取代动态随机存取存储器(DRAM,Dynamic Random Access Memory),有效缓减云计算平台的功耗问题。
PRAM具有很好的功耗特性,使用PRAM取代DRAM作为数据中心主存,可以有效缓减数据中心的功耗问题。但PRAM的生命周期较短和读写性能较差,如果作为主存使用,必须通过PRAM的优化设计来解决上述问题。为了发挥PRAM的大容量、低功耗的优势,同时克服其生命周期较短、读写性能较差的缺点,设计者进行了如下PRAM的优化设计:
在非虚拟机环境中采用了将DRAM和PRAM混合的存储结构,即存储结构由DRAM和PRAM共同构成。DRAM占据少量物理地址空间,提供读写性能高、生命周期长的存储单元;PRAM占据大量物理地址空间,提供大容量、低功耗的存储单元。基于上述DRAM和PRAM混合的存储结构,设计者使用软、硬件方法获取程序访存行为特征,根据程序访存行为特征找出程序执行过程中访问量比较大的页面,将访问频繁的数据通过“分配或迁移”,放到DRAM的存储单元中,将访问不频繁的数据放到PRAM的存储单元来提升系统的性能和增强PRAM的生命周期,将读写不频繁的数据分配或迁移到PRAM的存储单元来降低系统的读功耗和静态功耗。这样,对于频繁访问的数据可以快速高效的读写DRAM,且DRAM生命周期较长;对于不频繁访问的数据则在PRAM中读写,提供大容量的同时,也保证了内存的低功耗。我们称该方法为基于程序读写行为预测的PRAM优化方法。
上述基于程序读写行为预测的PRAM优化方法能够很好的工作于传统的非虚拟化环境,但不适用于虚拟化环境中,这是因为虚拟化环境中存在多台虚拟机对资源使用的隔离性的因素。由于目前数据中心广泛使用虚拟化技术,因此,如何在虚拟化环境中使用DRAM和PRAM混合的存储结构提高系统存储性能成为亟待解决的问题。
发明内容
本发明各个方面提供了一种内存管理方法及内存管理设备,用于实现在虚拟化环境中使用DRAM和PRAM混合的存储结构提高系统存储性能。
为解决上述技术问题,提供以下技术方案:
本发明第一方面提供了一种内存管理方法,上述内存管理方法应用在虚拟化环境中,上述虚拟化环境包含一个或者两个以上虚拟机,上述虚拟化环境的主存储器采用动态随即存取存储器DRAM和相变存储器PRAM混合的存储结构,上述内存管理方法包括:
在虚拟机运行期间获取上述虚拟机的页面访问统计信息,其中,上述虚拟机的页面访问统计信息包含:上述虚拟机各个页面的页面访问次数;
根据上述页面访问统计信息,按照页面访问次数由大到小的顺序,确定第一目标页,其中,上述第一目标页的页面数据存在PRAM上,并且,当确定了两个以上第一目标页时,上述两个以上第一目标页的页面大小之和不大于上述虚拟机拥有的DRAM存储空间大小;
若上述虚拟机满足重映射条件,则:将上述第一目标页的页面数据从PRAM迁移到上述虚拟机的DRAM存储空间;将上述第一目标页的逻辑地址映射到存储上述第一目标页的页面数据的DRAM存储空间;
其中,上述重映射条件包括:虚拟机的准许重映射标识为有效值;
其中,在同一物理计算机上,同一时刻只能有一台虚拟机的准许重映射标识被设为有效值。
基于本发明第一方面,在第一种可能的实现方式中,上述重映射条件还包括:
虚拟机的访存均衡度不高于上述虚拟化环境的平均访存均衡度,其中,虚拟机的访存均衡度等于上述虚拟机的内存的读写次数除以上述内存的生命周期,虚拟化环境的平均访存均衡度等于上述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和。
基于本发明第一方面,或者本发明第一方面的第一种可能的实现方式,在第二种可能的实现方式中,上述在虚拟机运行期间获取上述虚拟机的页面访问统计信息,之前还包括:
确定当前上述虚拟机满足第一条件;
将上述虚拟机的准许重映射标识设为有效值;
其中,上述第一条件包括如下三个条件中的任一个:
上述虚拟化环境的平均访存均衡度高于预设的第一阈值,且上述虚拟机的访存均衡度低于上述第一阈值;
上述虚拟化环境的平均访存均衡度低于上述第一阈值,且上述虚拟机的访存均衡度低于上述虚拟化环境的平均访存均衡度,且上述虚拟化环境的平均访存均衡度与上述虚拟机的访存均衡度的差值超过预设的第二阈值;
距离上一次执行上述获取上述虚拟机的页面访问统计信息的步骤,上述虚拟机对上述虚拟机的内存进行的写操作次数达到预设的第一门限值;
其中,虚拟机的访存均衡度等于上述虚拟机的内存的读写次数除以上述内存的生命周期,虚拟化环境的平均访存均衡度等于上述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和。
基于本发明第一方面的第二种可能的实现方式,在第三种可能的实现方式中,若确定当前上述虚拟机不满足第一条件,且确定当前上述虚拟化环境满足第二条件,则上述方法还包括:
汇总上述虚拟化环境中所有虚拟机的页面访问统计信息;
根据上述所有虚拟机的页面访问统计信息,按照页面访问次数由大到小的顺序,确定第二目标页,其中,上述第二目标页的页面数据存在PRAM上,且,当确定了两个以上第二目标页时,上述两个以上第二目标页的页面大小之和不大于上述虚拟化环境的DRAM存储空间大小;
根据上述虚拟化环境中各台虚拟机占有上述第二目标页的比例,调整各台虚拟机的DRAM存储空间,其中,虚拟机占有上述第二目标页的比例越大,虚拟机得到的DRAM存储空间越多;
将上述第二目标页的页面数据从该页面数据所在虚拟机的PRAM迁移到该页面数据所在虚拟机的DRAM存储空间;
将上述第二目标页的逻辑地址映射到存储上述第二目标页的页面数据的DRAM存储空间;
其中,上述第二条件包括如下两个条件中的任一个:
上述虚拟化环境的平均访存均衡度低于上述第一阈值,且上述虚拟化环境中任意两个虚拟机的访存均衡度的差值均小于预设的第三阈值;
距离上一次执行上述汇总上述虚拟化环境中所有虚拟机的页面访问统计信息的步骤,上述虚拟化环境的所有虚拟机对各自内存进行的写操作次数之和达到预设的第二门限值,其中,上述第二门限值大于上述第一门限值。
基于本发明第一方面的第三种可能的实现方式,在第四种可能的实现方式中,上述第一门限值具体为:2*107;上述第二门限值具体为:2*1010
本发明第二方面提供了一种内存管理设备,上述内存管理设备应用在虚拟化环境中,上述虚拟化环境包含一个或者两个以上虚拟机,上述虚拟化环境的主存储器采用动态随即存取存储器DRAM和相变存储器PRAM混合的存储结构,上述内存管理设备包括:
获取单元,用于在虚拟机运行期间获取上述虚拟机的页面访问统计信息,其中,上述虚拟机的页面访问统计信息包含:上述虚拟机各个页面的访问次数;
第一确定单元,用于根据上述获取单元获取的页面访问统计信息,按照页面访问次数由大到小的顺序,确定第一目标页,其中,上述第一目标页的页面数据存在PRAM上,并且,当确定了两个以上第一目标页时,上述两个以上第一目标页的页面大小之和不大于上述虚拟机拥有的DRAM存储空间大小;
判断单元,用于判断上述虚拟机的准许重映射标识是否为有效值,其中,在同一物理计算机上,同一时刻只有一台虚拟机的准许重映射标识被设为有效值;
数据迁移单元,用于当上述判断单元的判断结果都为是时,将上述第一确定单元确定的第一目标页的页面数据从PRAM迁移到上述虚拟机的DRAM存储空间;
映射单元,用于当上述虚拟机满足重映射条件时,将上述第一确定单元确定的第一目标页的逻辑地址映射到存储上述第一目标页的页面数据的DRAM存储空间。
基于本发明第二方面,在第一种可能的实现方式中,上述判断单元还用于:判断上述虚拟机的访存均衡度是否不高于上述虚拟化环境的平均访存均衡度,其中,虚拟机的访存均衡度等于上述虚拟机的内存的读写次数除以上述内存的生命周期,虚拟化环境的平均访存均衡度等于上述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和。
基于本发明第二方面,或者本发明第二方面的第一种可能的实现方式,在第二种可能的实现方式中,上述内存管理设备还包括:
第二确定单元,用于确定当前上述虚拟机满足第一条件;
设置单元,用于将上述虚拟机的准许重映射标识设为有效值;
其中,上述第一条件包括如下三个条件中的任一个:
上述虚拟化环境的平均访存均衡度高于预设的第一阈值,且上述虚拟机的访存均衡度低于上述第一阈值;
上述虚拟化环境的平均访存均衡度低于上述第一阈值,且上述虚拟机的访存均衡度低于上述虚拟化环境的平均访存均衡度,且上述虚拟化环境的平均访存均衡度与上述虚拟机的访存均衡度的差值超过预设的第二阈值;
距离上一次执行上述获取上述虚拟机的页面访问统计信息的步骤,上述虚拟机对上述虚拟机的内存进行的写操作次数达到预设的第一门限值;
其中,虚拟机的访存均衡度等于上述虚拟机的内存的读写次数除以上述内存的生命周期,虚拟化环境的平均访存均衡度等于上述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和;
上述获取单元在上述第二确定单元确定后触发。
基于本发明第二方面的第二种可能的实现方式,在第三种可能的实现方式中,上述内存管理设备还包括:
第三确定单元,用于确定当前上述虚拟化环境满足第二条件,其中,上述第二条件包括如下两个条件中的任一个:
上述虚拟化环境的平均访存均衡度低于上述第一阈值,且上述虚拟化环境中任意两个虚拟机的访存均衡度的差值均小于预设的第三阈值;
距离上一次执行上述汇总上述虚拟化环境中所有虚拟机的页面访问统计信息的步骤,上述虚拟化环境的所有虚拟机对各自内存进行的写操作次数之和达到预设的第二门限值,其中,上述第二门限值大于上述第一门限值;
汇总单元,用于当上述第三确定单元确定时,汇总上述虚拟化环境中所有虚拟机的页面访问统计信息;
第四确定单元,用于根据上述汇总单元汇总的所有虚拟机的页面访问统计信息,按照页面访问次数由大到小的顺序,确定第二目标页,其中,上述第二目标页的页面数据存在PRAM上,且,当确定了两个以上第二目标页时,上述两个以上第二目标页的页面大小之和不大于上述虚拟化环境的DRAM存储空间大小;
调整单元,用于根据上述虚拟化环境中各台虚拟机占有上述第二目标页的比例,调整各台虚拟机的DRAM存储空间,其中,虚拟机占有上述第二目标页的比例越大,虚拟机得到的DRAM存储空间越多;
上述数据迁移单元,还用于将上述第二目标页的页面数据从该页面数据所在虚拟机的PRAM迁移到该页面数据所在虚拟机的DRAM存储空间;
上述映射单元,还用于将上述第二目标页的逻辑地址映射到存储上述第二目标页的页面数据的DRAM存储空间。
由上可见,本发明实施例中为虚拟机添加准许重映射标识,并使同一物理计算机上,同一时刻仅有一台虚拟机的准许重映射标识被设为有效值,保证了同一时刻只能有一台虚拟机能够进行目标页的页面数据迁移和逻辑地址重映射,从而避免了虚拟机在页面数据迁移过程中争用内存带宽的问题,为虚拟机对资源的使用提供了良好的隔离性,使得在虚拟化环境中对页面数据进行迁移成为可能,同时,通过在使用DRAM和PRAM混合的存储结构的虚拟化环境中,对目标页进行页面数据迁移和逻辑地址重映射,能够充分发挥DRAM访问速度快、生命周期长的优点,有效提高系统存储性能。综上,本发明技术方案实现了在虚拟化环境中使用DRAM和PRAM混合的存储结构提高系统存储性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1-a为本发明提供的一种内存管理方法一个实施例流程示意图;
图1-b为本发明提供的一种页表结构示意图;
图2为本发明提供的一种内存管理方法另一个实施例流程示意图;
图3为本发明提供的一种内存管理方法再一个实施例流程示意图;
图4为本发明提供的一种内存管理方法再一个实施例流程示意图;
图5为本发明提供的一种内存管理方法再一个实施例流程示意图;
图6为本发明提供的一种内存管理设备一个实施例结构示意图;
图7为本发明提供的一种内存管理设备另一个实施例结构示意图;
图8为本发明提供的一种内存管理设备再一个实施例结构示意图;
图9为本发明提供的一种内存管理设备再一个实施例结构示意图。
具体实施方式
本发明实施例提供了一种内存管理方法及内存管理设备。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的各个其他实施例,都属于本发明保护的范围。
下面对本发明实施例提供的一种内存管理方法进行描述,该内存管理方法应用在虚拟化环境中,上述虚拟化环境包含一个或者两个以上虚拟机,上述虚拟化环境的主存储器采用DRAM和PRAM混合的存储结构。
请参阅图1-a,本发明实施例中的内存管理方法,包括:
101、在虚拟机运行期间获取上述虚拟机的页面访问统计信息;
其中,上述虚拟机的页面访问统计信息包含:上述虚拟机各个页面的页面访问次数。
在本发明实施例中,虚拟化环境下的各个虚拟机对各自的页面访存行为进行统计,本发明实施例中可以通过在转换后备缓冲器(TLB,Translation Look aside Buffer)和页表中添加项来对各个虚拟机的页面访存行为进行统计。例如,在一种实现方式中,设计如图1-b的页表结构,其中,VMID为标识虚拟机的虚拟机编号,TID为标识线程的线程编号,PageNum为虚拟机逻辑地址的页号,FrameNum为虚拟机物理地址的页框号,Wr/MC表示每百万时钟周期进行的写操作次数。当CPU(即处理器)收到应用程序发来的虚拟机逻辑地址后,首先根据VMID、TID和PageNum到TLB中查找相应的页表数据,如果TLB中正好存放着所需的页表数据,则称为TLB命中(即TLB hit),此时可以直接根据TLB存放的页表数据进行访问。如果TLB中没有所需的页表,则称为TLB失败(即TLB Miss),接下来就必须访问物理内存中存放的页表,同时更新TLB的页表数据。基于图1-b所示的页表结构,对于某一个页而言,页面访问次数统计方法可以如下:1、在页面分配之初,将TLB中对应该页面的Wr/MC项赋初值0,并开始计时;2、当CPU对该页进行写操作且TLB命中时,将TLB中该页面的Wr/MC项的值加1;3、如果计时结束,将该页面的Wr/MC项的值作为该页面的页面访问统计信息发送给虚拟机管理器,同时将该值写回页表中该页面的相应位置,之后将TLB中该页面的Wr/MC项的值清0;4、当该页面被换出且计时未结束时,将TLB中该页面的Wr/MC项的值写回页表中该页面的相应位置,同时将TLB中该页面的Wr/MC项的值丢弃;5、如果发生页错误(即PageFault),则将页表中保存的该页面的表项重新写入(即TLB Refill)到TLB中相应的表项。通过上述设计,虚拟机管理器能够根据Wr/MC项的值获得页面访问次数。需要说明的是,上述方法只是一种实现方式,实际应用中也可以设计其它表项或者通过其它方式来统计虚拟机各个页面的页面访问次数,此处不作限定。
102、根据上述页面访问统计信息,按照页面访问次数由大到小的顺序,确定第一目标页;
其中,上述第一目标页的页面数据存在PRAM上,并且,当确定了两个也上第一目标页时,上述两个以上第一目标页的页面大小之和不大于上述虚拟机拥有的DRAM存储空间大小。
本发明实施例中,会为每台虚拟机预先分配相同大小的DRAM存储空间或者根据历史记录预先为每台虚拟机分配大小不同的DRAM存储空间,可选地,还可以允许虚拟机访问虚拟机管理器的内存信息,使该虚拟机能够察觉自身的DRAM区间信息和PRAM区间信息,其中,DRAM区间信息可以包括虚拟机拥有的DRAM存储空间的起始地址、终止地址和DRAM存储空间大小,PRAM区间信息可以包括虚拟机拥有的PRAM存储空间的起始地址、终止地址和PRAM存储空间大小。
可选地,在虚拟机页表中为各个页面添加存储位置标识,以便能够通过存储位置标识快速获知各页面的存储位置,例如,可以将存储在PRAM的页面的存储位置标识设定为“0”,将存储在DRAM或者磁盘的页面的存储位置标识设定为“1”,则通过存储位置标识便可获知一个页面是否存储在PRAM中,当然,在上述例子中,也可以将存储在PRAM的页面的存储位置标识设定为“1”,将存储在DRAM或者磁盘的页面的存储位置标识设定为“0”,此处不作限定。
若上述虚拟机满足重映射条件,则进入步骤103和步骤104。其中,上述重映射条件包括:虚拟机的准许重映射标识为有效值。在本发明实施例中,在同一物理计算机上,同一时刻只有一台虚拟机的准许重映射标识被设为有效值,即,在一个包含多台虚拟机的虚拟化环境中,当需要对某台虚拟机进行数据迁移和地址重映射时,将该台虚拟机的准许重映射标识设为有效值(例如设为“1”),并将其它虚拟机的准许重映射标识设为无效值(例如设为“0”)。可选地,虚拟机管理器可以定时修改各个虚拟机的准许重映射标识,以便让所有虚拟机能够轮流执行页面数据迁移和地址重映射。
103、将上述第一目标页的页面数据从PRAM迁移到上述虚拟机的DRAM存储空间。
104、将上述第一目标页的逻辑地址映射到存储上述第一目标页的页面数据的DRAM存储空间。
需要说明的是,本发明实施例是针对单台虚拟机进行说明,当虚拟化环境包含多台虚拟机时,可在每台虚拟机中执行本发明实施例中的内存管理方法。
由上可见,本发明实施例中为虚拟机添加准许重映射标识,并使同一物理计算机上,同一时刻仅有一台虚拟机的准许重映射标识被设为有效值,保证了同一时刻只能有一台虚拟机能够进行目标页的页面数据迁移和逻辑地址重映射,从而避免了虚拟机在页面数据迁移过程中争用内存带宽的问题,为虚拟机对资源的使用提供了良好的隔离性,使得在虚拟化环境中对页面数据进行迁移成为可能,同时,通过在使用DRAM和PRAM混合的存储结构的虚拟化环境中,对目标页进行页面数据迁移和逻辑地址重映射,能够充分发挥DRAM访问速度快、生命周期长的优点,有效提高系统存储性能。综上,本发明技术方案实现了在虚拟化环境中使用DRAM和PRAM混合的存储结构提高系统存储性能。
进一步,考虑虚拟机对资源使用的公平性的因素,本发明实施例增加访存均衡度的判定,即重映射条件中还包括:虚拟机的访存均衡度不高于虚拟化环境的平均访存均衡度,以使得虚拟机能够根据自身的访存均衡度判定是否执行PRAM优化,如图2所示,本发明实施例中的内存管理方法,包括:
201、在虚拟机运行期间获取上述虚拟机的页面访问统计信息;
步骤201的实现方法可以参照图1-a所示实施例中的步骤101,此处不再赘述。
202、根据上述页面访问统计信息,按照页面访问次数由大到小的顺序,确定第一目标页;
步骤202的实现方法可以参照图1-a所示实施例中的步骤102,此处不再赘述。
203、判断该虚拟机的访存均衡度是否不高于上述虚拟化环境的平均访存均衡度;
在本发明实施例中,虚拟机的访存均衡度等于上述虚拟机的内存的读写次数除以该内存的生命周期,虚拟化环境的平均访存均衡度等于上述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和。在本发明实施例中,生命周期指的就是内存在失效之前能够读写的次数,内存的生命周期的获得可以在内存生产出来后进行压力测试时获得,由于工艺问题,一般都是以一块存储单元为单位来测出生命周期,例如,对于PRAM而言,一般以一块PRAM单元为单位测出该PRAM单元的生命周期,一块内存的生命周期等于这块内存中具有最小生命周期的内存单元的生命周期,比如,假设一块内存包含4块PRAM单元,如果这4块PRAM单元的生命周期分别为X1、X2、X3和X4,且X1<X2<X3<X4,那么可以认为这块内存的生存周期是Xi,其中Xi是等于X1。
如果该虚拟机的访存均衡度不高于上述虚拟化环境的平均访存均衡度,则执行步骤204,则,可选地,返回步骤201,也即:立即、或等待预定时长后、或等待至预定时刻、或受到预定事件的触发时,执行步骤201,或者,结束本次流程。
204、判断该虚拟机的准许重映射标识是否为有效值;
举例说明,假设约定准许重映射标识的有效值为“1”,则此时判断该虚拟机的准许重映射标识是否为1,若为1,则表示当前虚拟化环境中没有其它虚拟机在进行页面数据迁移和地址重映射,若不为1,则表示当前虚拟化环境中可能有其它虚拟机在进行页面数据迁移和地址重映射。
当判断出该虚拟机的准许重映射标识为有效值时,执行步骤205和206,否则,可选地,返回步骤201,也即:立即、或等待预定时长后、或等待至预定时刻、或受到预定事件的触发时,执行步骤201,或者,结束本次流程。
205、将上述第一目标页的页面数据从PRAM迁移到上述虚拟机的DRAM存储空间。
206、将上述第一目标页的逻辑地址映射到存储上述第一目标页的页面数据的DRAM存储空间。
需要说明的是,本发明实施例是针对单台虚拟机进行说明,当虚拟化环境包含多台虚拟机时,可在每台虚拟机中执行本发明实施例中的内存管理方法。
在本发明的另一实施例中,在执行“intra-VM Remapping”之前先进行条件判决,只有当满足条件时才执行“intra-VM Remapping”,其中,“intra-VM Remapping”是指图1-a或者图2所示实施例的流程。如图3所示,本发明另一实施例,包括:
301、判断虚拟机是否满足第一条件;
其中,上述第一条件包括如下三个条件中的任一个:
上述虚拟化环境的平均访存均衡度高于预设的第一阈值,且该虚拟机的访存均衡度低于上述第一阈值;
上述虚拟化环境的平均访存均衡度低于上述第一阈值,且该虚拟机的访存均衡度低于上述虚拟化环境的平均访存均衡度,且上述虚拟化环境的平均访存均衡度与该虚拟机的访存均衡度的差值超过预设的第二阈值;
距离上一次获取该虚拟机的页面访问统计信息,该虚拟机对该虚拟机的内存进行的写操作次数达到预设的第一门限值。
其中,上述第一阈值、第二阈值以及第一门限值的具体取值可以根据实际情况进行设定,此处不作限定。
当判断虚拟机满足第一条件时,进入步骤302,否则,可选地,返回步骤301,也即:立即、或等待预定时长后、或等待至预定时刻、或受到预定事件的触发时,执行步骤301,或者,结束本次流程。
302、将该虚拟机的准许重映射标识设为有效值;
需要说明的是,若同一时刻步骤301判断出存在多个满足第一条件的虚拟机时,则从多个满足第一条件的虚拟机中选择其中一个虚拟机,将该虚拟机的准许重映射标识设为有效值,将虚拟化环境中的其它虚拟机的准许重映射标识都设为无效值。
303、执行intra-VM Remapping;
其中,intra-VM Remapping的具体流程可以参照图1-a所示实施例中的步骤101~104中的描述,或者,参照图2所示实施例中的步骤201~206中的描述,此处不再赘述。
本发明实施例还提供了在机器全局进行地址重映射的方案,为便于描述,将该方案表述为inter-VM Remapping。如图4所示,本发明实施例中的inter-VM Remapping,包括:
401、汇总上述虚拟化环境中所有虚拟机的页面访问统计信息;
其中,每台虚拟机的页面访问统计信息包含:该虚拟机各个页面的页面访问次数。虚拟机各个页面的页面访问次数的统计可以参照图1-a所示实施例步骤101中的描述,此处不再赘述。
402、根据上述所有虚拟机的页面访问统计信息,按照页面访问次数由大到小的顺序,确定第二目标页;
其中,上述第二目标页的页面数据存在PRAM上,且,当确定了两个以上第二目标页时,上述两个以上第二目标页的页面大小之和不大于上述虚拟化环境的DRAM存储空间大小。
403、根据上述虚拟化环境中各台虚拟机占有上述第二目标页的比例,调整各台虚拟机的DRAM存储空间;
在本发明实施例中,虚拟机管理器在会为每台虚拟机预先分配相同大小的DRAM存储空间或者根据历史记录预先为每台虚拟机分配大小不同的DRAM存储空间。虚拟机管理器在步骤403中再根据上述虚拟化环境中各台虚拟机占有上述第二目标页的比例,调整各台虚拟机的DRAM存储空间,以优化虚拟化环境全局性能。
在调整各台虚拟机的DRAM存储空间的过程中,若虚拟机占有上述第二目标页的比例越大,该虚拟机得到的DRAM存储空间越多。
404、将上述第二目标页的页面数据从该页面数据所在虚拟机的PRAM迁移到该页面数据所在虚拟机的DRAM存储空间。
405、将上述第二目标页的逻辑地址映射到存储上述第二目标页的页面数据的DRAM存储空间。
本发明实施例还提供内存管理的整体流程实施例,如图5所示,本发明另一个实施例包括:
501、为每台虚拟机分配相同大小的DRAM存储空间或者根据历史记录为每台虚拟机分配大小不同的DRAM存储空间。
502、判断是否满足第一条件或者第二条件;
其中,上述第一条件包括如下三个条件中的任一个:
上述虚拟化环境的平均访存均衡度高于预设的第一阈值,且该虚拟机的访存均衡度低于上述第一阈值;
上述虚拟化环境的平均访存均衡度低于上述第一阈值,且该虚拟机的访存均衡度低于上述虚拟化环境的平均访存均衡度,且上述虚拟化环境的平均访存均衡度与该虚拟机的访存均衡度的差值超过预设的第二阈值;
距离上一次获取该虚拟机的页面访问统计信息,该虚拟机对该虚拟机的内存进行的写操作次数达到预设的第一门限值。
上述第二条件包括如下两个条件中的任一个:
上述虚拟化环境的平均访存均衡度低于上述第一阈值,且上述虚拟化环境中任意两个虚拟机的访存均衡度的差值均小于预设的第三阈值;
距离上一次执行上述汇总上述虚拟化环境中所有虚拟机的页面访问统计信息的步骤,上述虚拟化环境的所有虚拟机对各自内存进行的写操作次数之和达到预设的第二门限值,其中,上述第二门限值大于上述第一门限值。
可选地,将第一门限值和第二门限值分别设置为2*107和2*1010
当然,上述第一阈值、第二阈值、第三阈值、第一门限值和第二门限值的具体取值可以根据实际情况进行设定,此处不作限定。
若满足第一条件,则执行步骤503,若满足第二条件,则执行步骤504,若不满足第一条件且不满足第二条件,则可选地,返回步骤502,也即:立即、或等待预定时长后、或等待至预定时刻、或受到预定事件的触发时,执行步骤502,或者,结束本次流程。
503、执行intra-VM Remapping;
其中,执行intra-VM Remapping的具体流程可以参照图1-a所示实施例中的步骤101~104中的描述,或者,参照图2所示实施例中的步骤201~206中的描述,此处不再赘述。
504、执行inter-VM Remapping;
其中,inter-VM Remapping的具体流程可以参照图4所示实施例中的步骤401~405中的描述,此处不再赘述。
本发明实施例提供了一种内存管理设备,该内存管理设备应用在虚拟化环境中,上述虚拟化环境包含一个或者两个以上虚拟机,上述虚拟化环境的主存储器采用DRAM和PRAM混合的存储结构。如图6所示,本发明实施例中的内存管理设备600,包括:获取单元601,第一确定单元602,判断单元603,数据迁移单元604和映射单元605。
其中:
获取单元601,用于在虚拟机运行期间获取上述虚拟机的页面访问统计信息,其中,上述虚拟机的页面访问统计信息包含:上述虚拟机各个页面的访问次数。
第一确定单元602,用于根据获取单元601获取的页面访问统计信息,按照页面访问次数由大到小的顺序,确定第一目标页,其中,上述第一目标页的页面数据存在PRAM上,并且,当确定了两个以上第一目标页时,上述两个以上第一目标页的页面大小之和不大于上述虚拟机拥有的DRAM存储空间大小。
判断单元603,用于判断上述虚拟机的准许重映射标识是否为有效值,其中,在同一物理计算机上,同一时刻只有一台虚拟机的准许重映射标识被设为有效值。
数据迁移单元604,用于当判断单元603的判断结果都为是时,将第一确定单元602确定的第一目标页的页面数据从PRAM迁移到上述虚拟机的DRAM存储空间。
映射单元605,用于当上述虚拟机满足重映射条件时,将第一确定单元602确定的第一目标页的逻辑地址映射到存储上述第一目标页的页面数据的DRAM存储空间。
可选地,判断单元603还用于判断上述虚拟机的访存均衡度是否不高于上述虚拟化环境的平均访存均衡度,其中,虚拟机的访存均衡度等于上述虚拟机的内存的读写次数除以上述内存的生命周期,虚拟化环境的平均访存均衡度等于上述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和。
在图6所示实施例的基础上,如图7所示,内存管理设备700还包括:
第二确定单元606,用于确定当前上述虚拟机满足第一条件,则获取单元601在第二确定单元606确定后触发;
设置单元607,用于将上述虚拟机的准许重映射标识设为有效值;
其中,上述第一条件包括如下三个条件中的任一个:
上述虚拟化环境的平均访存均衡度高于预设的第一阈值,且该虚拟机的访存均衡度低于上述第一阈值;
上述虚拟化环境的平均访存均衡度低于上述第一阈值,且该虚拟机的访存均衡度低于上述虚拟化环境的平均访存均衡度,且上述虚拟化环境的平均访存均衡度与该虚拟机的访存均衡度的差值超过预设的第二阈值;
距离上一次获取该虚拟机的页面访问统计信息,该虚拟机对该虚拟机的内存进行的写操作次数达到预设的第一门限值。
在图6所示实施例的基础上,如图8所示,内存管理设备800还包括:
第三确定单元608,用于确定当前上述虚拟化环境满足第二条件,其中,上述第二条件包括如下两个条件中的任一个:
上述虚拟化环境的平均访存均衡度低于上述第一阈值,且上述虚拟化环境中任意两个虚拟机的访存均衡度的差值均小于预设的第三阈值;
距离上一次执行上述汇总上述虚拟化环境中所有虚拟机的页面访问统计信息的步骤,上述虚拟化环境的所有虚拟机对各自内存进行的写操作次数之和达到预设的第二门限值,其中,上述第二门限值大于上述第一门限值。
汇总单元609,用于当第三确定单元608确定时,汇总上述虚拟化环境中所有虚拟机的页面访问统计信息;
第四确定单元610,用于根据汇总单元609汇总的所有虚拟机的页面访问统计信息,按照页面访问次数由大到小的顺序,确定第二目标页,其中,上述第二目标页的页面数据存在PRAM上,且,当确定了两个以上第二目标页时,上述两个以上第二目标页的页面大小之和不大于上述虚拟化环境的DRAM存储空间大小;
调整单元611,用于根据上述虚拟化环境中各台虚拟机占有上述第二目标页的比例,调整各台虚拟机的DRAM存储空间,其中,虚拟机占有上述第二目标页的比例越大,虚拟机得到的DRAM存储空间越多;
数据迁移单元604,还用于将上述第二目标页的页面数据从该页面数据所在虚拟机的PRAM迁移到该页面数据所在虚拟机的DRAM存储空间;
映射单元605,还用于将上述第二目标页的逻辑地址映射到存储上述第二目标页的页面数据的DRAM存储空间。
可选地,将第一门限值和第二门限值分别设置为2*107和2*1010
当然,上述第一阈值、第二阈值、第三阈值、第一门限值和第二门限值的具体取值可以根据实际情况进行设定,此处不作限定。
需要说明的是,本发明实施例中的内存管理设备可以是虚拟机管理器或者其它装置,可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
由上可见,本发明实施例中为虚拟机添加准许重映射标识,并使同一物理计算机上,同一时刻仅有一台虚拟机的准许重映射标识被设为有效值,保证了同一时刻只能有一台虚拟机能够进行目标页的页面数据迁移和逻辑地址重映射,从而避免了虚拟机在页面数据迁移过程中争用内存带宽的问题,为虚拟机对资源的使用提供了良好的隔离性,使得在虚拟化环境中对页面数据进行迁移成为可能,同时,通过在使用DRAM和PRAM混合的存储结构的虚拟化环境中,对目标页进行页面数据迁移和逻辑地址重映射,能够充分发挥DRAM访问速度快、生命周期长的优点,有效提高系统存储性能。综上,本发明技术方案实现了在虚拟化环境中使用DRAM和PRAM混合的存储结构提高系统存储性能。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的在一种内存管理方法的部分或全部布置。
本发明实施例提供另一个内存管理设备,如图9所示,本发明实施例中的内存管理设备900,包括:
输入装置901、输出装置902、存储器903以及处理器904(内存管理设备900的处理器904的数量可以是一个或者多个,图9以一个处理器为例)。在本发明的一些实施例中,输入装置901、输出装置902、存储器903以及处理器904可以通过总线或其它方式连接,如图9所示以通过总线连接为例。其中,存储器903中用来储存从输入装置901输入的数据,且还可以储存处理器904处理数据的必要文件等信息;输入装置901和输出装置902可以包括设备900与其他设备通信的端口,且还可以包括设备900外接的输出设备比如显示器、键盘、鼠标和打印机等,具体地输入装置901可以包括鼠标和键盘等,而输出装置902可以包括显示器等,在本实施例中输入装置901和输出装置902中与其他设备通信的端口可以为天线。
本发明实施例中的处理器904用于:
在虚拟机运行期间获取上述虚拟机的页面访问统计信息,其中,上述虚拟机的页面访问统计信息包含:上述虚拟机各个页面的页面访问次数;
根据上述页面访问统计信息,按照页面访问次数由大到小的顺序,确定第一目标页,其中,上述第一目标页的页面数据存在PRAM上,并且,当确定了两个也上第一目标页时,上述两个以上第一目标页的页面大小之和不大于上述虚拟机拥有的DRAM存储空间大小;
若上述虚拟机满足重映射条件,则:将上述第一目标页的页面数据从PRAM迁移到上述虚拟机的DRAM存储空间,将上述第一目标页的逻辑地址映射到存储上述第一目标页的页面数据的DRAM存储空间。
需要说明的是,本发明实施例中的内存管理设备可以是虚拟机管理器或者其它装置,可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,由处理器904完成,此处不再赘述。
由上可见,本发明实施例中为虚拟机添加准许重映射标识,并使同一物理计算机上,同一时刻仅有一台虚拟机的准许重映射标识被设为有效值,保证了同一时刻只能有一台虚拟机能够进行目标页的页面数据迁移和逻辑地址重映射,从而避免了虚拟机在页面数据迁移过程中争用内存带宽的问题,为虚拟机对资源的使用提供了良好的隔离性,使得在虚拟化环境中对页面数据进行迁移成为可能,同时,通过在使用DRAM和PRAM混合的存储结构的虚拟化环境中,对目标页进行页面数据迁移和逻辑地址重映射,能够充分发挥DRAM访问速度快、生命周期长的优点,有效提高系统存储性能。综上,本发明技术方案实现了在虚拟化环境中使用DRAM和PRAM混合的存储结构提高系统存储性能。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以理解上述实施例中的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质例如可以包括:只读存储器、随机存储器、磁盘或光盘等。
以上对本发明所提供的一种内存管理方法及内存管理设备进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种内存管理方法,其特征在于,所述内存管理方法应用在虚拟化环境中,所述虚拟化环境包含一个或者两个以上虚拟机,所述虚拟化环境的主存储器采用动态随即存取存储器DRAM和相变存储器PRAM混合的存储结构,所述内存管理方法包括:
在虚拟机运行期间获取所述虚拟机的页面访问统计信息,其中,所述虚拟机的页面访问统计信息包含:所述虚拟机各个页面的页面访问次数;
根据所述页面访问统计信息,按照页面访问次数由大到小的顺序,确定第一目标页,其中,所述第一目标页的页面数据存在PRAM上,并且,当确定了两个以上第一目标页时,所述两个以上第一目标页的页面大小之和不大于所述虚拟机拥有的DRAM存储空间大小;
若所述虚拟机满足重映射条件,则:将所述第一目标页的页面数据从PRAM迁移到所述虚拟机的DRAM存储空间;将所述第一目标页的逻辑地址映射到存储所述第一目标页的页面数据的DRAM存储空间;
其中,所述重映射条件包括:虚拟机的准许重映射标识为有效值;
其中,在同一物理计算机上,同一时刻只能有一台虚拟机的准许重映射标识被设为有效值。
2.根据权利要求1所述的方法,其特征在于,
所述重映射条件还包括:
虚拟机的访存均衡度不高于所述虚拟化环境的平均访存均衡度,其中,虚拟机的访存均衡度等于所述虚拟机的内存的读写次数除以所述内存的生命周期,虚拟化环境的平均访存均衡度等于所述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和。
3.根据权利要求1或2所述的方法,其特征在于,所述在虚拟机运行期间获取所述虚拟机的页面访问统计信息,之前还包括:
确定当前所述虚拟机满足第一条件;
将所述虚拟机的准许重映射标识设为有效值;
其中,所述第一条件包括如下三个条件中的任一个:
所述虚拟化环境的平均访存均衡度高于预设的第一阈值,且所述虚拟机的访存均衡度低于所述第一阈值;
所述虚拟化环境的平均访存均衡度低于所述第一阈值,且所述虚拟机的访存均衡度低于所述虚拟化环境的平均访存均衡度,且所述虚拟化环境的平均访存均衡度与所述虚拟机的访存均衡度的差值超过预设的第二阈值;
距离上一次执行所述获取所述虚拟机的页面访问统计信息的步骤,所述虚拟机对所述虚拟机的内存进行的写操作次数达到预设的第一门限值;
其中,虚拟机的访存均衡度等于所述虚拟机的内存的读写次数除以所述内存的生命周期,虚拟化环境的平均访存均衡度等于所述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和。
4.根据权利要求3所述的方法,其特征在于,
若确定当前所述虚拟机不满足第一条件,且确定当前所述虚拟化环境满足第二条件,则所述方法还包括:
汇总所述虚拟化环境中所有虚拟机的页面访问统计信息;
根据所述所有虚拟机的页面访问统计信息,按照页面访问次数由大到小的顺序,确定第二目标页,其中,所述第二目标页的页面数据存在PRAM上,且,当确定了两个以上第二目标页时,所述两个以上第二目标页的页面大小之和不大于所述虚拟化环境的DRAM存储空间大小;
根据所述虚拟化环境中各台虚拟机占有所述第二目标页的比例,调整各台虚拟机的DRAM存储空间,其中,虚拟机占有所述第二目标页的比例越大,虚拟机得到的DRAM存储空间越多;
将所述第二目标页的页面数据从该页面数据所在虚拟机的PRAM迁移到该页面数据所在虚拟机的DRAM存储空间;
将所述第二目标页的逻辑地址映射到存储所述第二目标页的页面数据的DRAM存储空间;
其中,所述第二条件包括如下两个条件中的任一个:
所述虚拟化环境的平均访存均衡度低于所述第一阈值,且所述虚拟化环境中任意两个虚拟机的访存均衡度的差值均小于预设的第三阈值;
距离上一次执行所述汇总所述虚拟化环境中所有虚拟机的页面访问统计信息的步骤,所述虚拟化环境的所有虚拟机对各自内存进行的写操作次数之和达到预设的第二门限值,其中,所述第二门限值大于所述第一门限值。
5.根据权利要求4所述的方法,其特征在于,
所述第一门限值具体为:2*107
所述第二门限值具体为:2*1010
6.一种内存管理设备,其特征在于,所述内存管理设备应用在虚拟化环境中,所述虚拟化环境包含一个或者两个以上虚拟机,所述虚拟化环境的主存储器采用动态随即存取存储器DRAM和相变存储器PRAM混合的存储结构,所述内存管理设备包括:
获取单元,用于在虚拟机运行期间获取所述虚拟机的页面访问统计信息,其中,所述虚拟机的页面访问统计信息包含:所述虚拟机各个页面的访问次数;
第一确定单元,用于根据所述获取单元获取的页面访问统计信息,按照页面访问次数由大到小的顺序,确定第一目标页,其中,所述第一目标页的页面数据存在PRAM上,并且,当确定了两个以上第一目标页时,所述两个以上第一目标页的页面大小之和不大于所述虚拟机拥有的DRAM存储空间大小;
判断单元,用于判断所述虚拟机的准许重映射标识是否为有效值,其中,在同一物理计算机上,同一时刻只有一台虚拟机的准许重映射标识被设为有效值;
数据迁移单元,用于当所述判断单元的判断结果都为是时,将所述第一确定单元确定的第一目标页的页面数据从PRAM迁移到所述虚拟机的DRAM存储空间;
映射单元,用于当所述虚拟机满足重映射条件时,将所述第一确定单元确定的第一目标页的逻辑地址映射到存储所述第一目标页的页面数据的DRAM存储空间。
7.根据权利要求6所述的内存管理设备,其特征在于,
所述判断单元还用于:判断所述虚拟机的访存均衡度是否不高于所述虚拟化环境的平均访存均衡度,其中,虚拟机的访存均衡度等于所述虚拟机的内存的读写次数除以所述内存的生命周期,虚拟化环境的平均访存均衡度等于所述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和。
8.根据权利要求6或7所述的内存管理设备,其特征在于,
所述内存管理设备还包括:
第二确定单元,用于确定当前所述虚拟机满足第一条件;
设置单元,用于将所述虚拟机的准许重映射标识设为有效值;
其中,所述第一条件包括如下三个条件中的任一个:
所述虚拟化环境的平均访存均衡度高于预设的第一阈值,且所述虚拟机的访存均衡度低于所述第一阈值;
所述虚拟化环境的平均访存均衡度低于所述第一阈值,且所述虚拟机的访存均衡度低于所述虚拟化环境的平均访存均衡度,且所述虚拟化环境的平均访存均衡度与所述虚拟机的访存均衡度的差值超过预设的第二阈值;
距离上一次执行所述获取所述虚拟机的页面访问统计信息的步骤,所述虚拟机对所述虚拟机的内存进行的写操作次数达到预设的第一门限值;
其中,虚拟机的访存均衡度等于所述虚拟机的内存的读写次数除以所述内存的生命周期,虚拟化环境的平均访存均衡度等于所述虚拟化环境中所有虚拟机的内存的读写次数之和除以所有虚拟机的内存的生命周期之和;
所述获取单元在所述第二确定单元确定后触发。
9.根据权利要求8所述的内存管理设备,其特征在于,
所述内存管理设备还包括:
第三确定单元,用于确定当前所述虚拟化环境满足第二条件,其中,所述第二条件包括如下两个条件中的任一个:
所述虚拟化环境的平均访存均衡度低于所述第一阈值,且所述虚拟化环境中任意两个虚拟机的访存均衡度的差值均小于预设的第三阈值;
距离上一次执行汇总所述虚拟化环境中所有虚拟机的页面访问统计信息的步骤,所述虚拟化环境的所有虚拟机对各自内存进行的写操作次数之和达到预设的第二门限值,其中,所述第二门限值大于所述第一门限值;
汇总单元,用于当所述第三确定单元确定时,汇总所述虚拟化环境中所有虚拟机的页面访问统计信息;
第四确定单元,用于根据所述汇总单元汇总的所有虚拟机的页面访问统计信息,按照页面访问次数由大到小的顺序,确定第二目标页,其中,所述第二目标页的页面数据存在PRAM上,且,当确定了两个以上第二目标页时,所述两个以上第二目标页的页面大小之和不大于所述虚拟化环境的DRAM存储空间大小;
调整单元,用于根据所述虚拟化环境中各台虚拟机占有所述第二目标页的比例,调整各台虚拟机的DRAM存储空间,其中,虚拟机占有所述第二目标页的比例越大,虚拟机得到的DRAM存储空间越多;
所述数据迁移单元,还用于将所述第二目标页的页面数据从该页面数据所在虚拟机的PRAM迁移到该页面数据所在虚拟机的DRAM存储空间;
所述映射单元,还用于将所述第二目标页的逻辑地址映射到存储所述第二目标页的页面数据的DRAM存储空间。
CN201310335408.XA 2013-08-02 2013-08-02 一种内存管理方法及内存管理设备 Active CN104346284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310335408.XA CN104346284B (zh) 2013-08-02 2013-08-02 一种内存管理方法及内存管理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310335408.XA CN104346284B (zh) 2013-08-02 2013-08-02 一种内存管理方法及内存管理设备

Publications (2)

Publication Number Publication Date
CN104346284A CN104346284A (zh) 2015-02-11
CN104346284B true CN104346284B (zh) 2017-10-24

Family

ID=52501943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310335408.XA Active CN104346284B (zh) 2013-08-02 2013-08-02 一种内存管理方法及内存管理设备

Country Status (1)

Country Link
CN (1) CN104346284B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908931B (zh) * 2016-08-26 2021-12-28 中科寒武纪科技股份有限公司 Tlb模块的更新方法
CN107562514B (zh) * 2017-08-03 2020-11-24 致象尔微电子科技(上海)有限公司 一种物理内存访问控制与隔离方法
CN107562515B (zh) * 2017-08-04 2021-09-07 海光信息技术股份有限公司 一种在虚拟化技术中管理内存的方法
CN110008140B (zh) * 2019-03-11 2021-08-17 深圳市广和通无线股份有限公司 内存管理方法、装置、计算机设备和存储介质
CN112559537B (zh) * 2019-09-25 2022-04-29 阿里巴巴集团控股有限公司 云存储区间更新方法、装置、电子设备及计算机存储介质
CN113590500A (zh) * 2020-04-30 2021-11-02 华为技术有限公司 一种内存管理方法及终端设备
CN112181870B (zh) * 2020-09-17 2022-10-28 重庆大学 内存页面管理方法、装置、设备及可读存储介质
CN114816749B (zh) * 2022-04-22 2023-02-10 江苏华存电子科技有限公司 一种用于内存的智能化管理方法及系统
CN117234432B (zh) * 2023-11-14 2024-02-23 苏州元脑智能科技有限公司 一种混合内存系统的管理方法、管理装置、设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100689762B1 (ko) * 2005-01-25 2007-03-08 심상엽 데이터베이스 시스템 및 그 데이터베이스 시스템의데이터베이스 컴포넌트를 메인 메모리에 저장하는 시스템및 방법

Also Published As

Publication number Publication date
CN104346284A (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
CN104346284B (zh) 一种内存管理方法及内存管理设备
Li et al. Identifying opportunities for byte-addressable non-volatile memory in extreme-scale scientific applications
US20150006788A1 (en) Techniques for Implementing Hybrid Flash/HDD-based Virtual Disk Files
US9740438B2 (en) Allocating memory on multiple types of main memory technologies from software application layer
CN105892955B (zh) 一种管理存储系统的方法及设备
Kim et al. Real-time cache management for multi-core virtualization
CN109791523A (zh) 支持巨页的内存管理
CN103455129A (zh) 计算机可读介质和计算处理装置
CN103116555B (zh) 基于多体并行缓存结构的数据访问方法
EP3769227A1 (en) Hybrid memory system
CN109710184A (zh) 瓦记录磁盘感知的分层式混合存储方法及系统
CN103631729A (zh) 一种基于块级的分级存储方法及系统
CN115904212A (zh) 数据处理的方法、装置、处理器和混合内存系统
Jung et al. Fass: A flash-aware swap system
WO2014051544A2 (en) Improved performance and energy efficiency while using large pages
CN103020077A (zh) 一种电力系统实时数据库内存管理方法
CN107544912A (zh) 一种日志记录方法、加载方法及其装置
CN106528453B (zh) 基于复合尺度页的页表分区管理装置和方法
CN101008923A (zh) 面向异构多核体系的分段式存储空间管理方法
CN105511798B (zh) 虚拟机缓存资源管理方法和系统
CN108228333A (zh) 一种多核系统的核间资源隔离方法
Liu et al. A space-efficient fair cache scheme based on machine learning for NVMe SSDs
CN101853219B (zh) 基于虚拟化平台的磁盘页面换入的方法
CN106293491B (zh) 写请求的处理方法和内存控制器
CN101013404A (zh) 面向异构多核体系的分页式存储空间管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant