WO2015043376A1 - 一种页的访问方法和页的访问装置、服务器 - Google Patents
一种页的访问方法和页的访问装置、服务器 Download PDFInfo
- Publication number
- WO2015043376A1 WO2015043376A1 PCT/CN2014/086182 CN2014086182W WO2015043376A1 WO 2015043376 A1 WO2015043376 A1 WO 2015043376A1 CN 2014086182 W CN2014086182 W CN 2014086182W WO 2015043376 A1 WO2015043376 A1 WO 2015043376A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- page
- target page
- target
- virtual machine
- access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
Definitions
- Virtual Machine is a complete computer system that runs through a software and has a complete hardware system function and runs in a completely isolated environment. It can be used on a physical computer (such as a personal computer or server) through virtual machine software. Simulate one or more virtual machines that can do the same as real computers.
- the server can run more and more virtual machines, and each virtual machine accesses data with many similarities, such as having a large number of pages with the same page content in the memory (the physical address of the memory is divided into Discrete units, the memory corresponding to these discrete units is called a page, and most current systems have a page size of 4KB). Therefore, in order to improve the utilization of server memory, the prior art usually adopts technologies such as memory consolidation and memory replacement.
- a determining unit configured to determine a page fault type of the target page when the virtual machine access target page is out of page, the page fault type includes that the target page does not exist, or the target page is replaced;
- the feature parameter is a hash value of page content.
- the page fault processing unit includes:
- FIG. 1 is a schematic flowchart 1 of a method for accessing a page according to an embodiment of the present invention
- FIG. 7 is a schematic structural diagram of a server according to an embodiment of the present invention.
- target page does not exist, create a new target page, and fill the target page with the page content that the virtual machine needs to access.
- the feature parameter may be a hash value of the page content.
- the page mapping unit 24 is configured to obtain a physical address of the target page on the server according to the physical address of the target page on the virtual machine, and is further configured to query the target page in the page fault page table according to the physical address of the target page on the server.
- the executing the instruction by the processor 91 to obtain the hash value of the target page according to the physical address of the target page on the server includes:
- each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may be physically included separately, or two or more modules may be integrated into one module.
- the above integrated modules can be implemented in the form of hardware or in the form of hardware plus software function modules.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种页的访问方法和页的访问装置、服务器,涉及计算机领域,能够在提高内存利用率的同时,降低硬盘的开销。具体方案为:在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。该方案用于虚拟机间页的访问。
Description
本申请要求于2013年9月26日提交中国专利局、申请号201310446994.5、发明名称为“一种页的访问方法和页的访问装置、服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本发明涉及计算机领域,尤其涉及一种页的访问方法和页的访问装置、服务器。
虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统,通过虚拟机软件,在一台物理计算机(比如个人电脑或服务器)上可以模拟出一台或多台虚拟的计算机,这些虚拟机可以进行与真正的计算机一样的工作。在现有技术中,服务器能够运行的虚拟机越来越多,而每个虚拟机访问的数据有很多相似的地方,比如在内存中有大量的页内容相同的页(内存的物理地址被分成离散的单元,这些离散的单元对应的内存称为页,目前大多数系统的页面大小都为4KB)。因此,为了提高服务器内存的利用率,现有技术通常采用内存合并以及内存置换等技术。
其中,内存合并也可以称为内核相同页管理(Kernel Samepage Merging,KSM),该技术通过定期执行页扫描,识别相同页并将相同页合并为一页(该页标记为只读),合并后将除该页之外的相同页的空间释放以供他用,因此,该技术能够把多个处理器中相同的内存页合并为一页。
现有技术中至少存在如下问题:
如果在合并之后,合并的页被置换出内存(置换,是指为了节省内存的存储资源,将内存中的页置换到硬盘上的技术,通常会置换到硬盘中的数据交换分区),将会导致缺页(CPU从内存读取/写入数据,而数据未在内存,这种情况称之为缺页)的概率大大增加,此时虚拟机需要到硬盘才能够访问需要访问的页内容,进而导致了内存的利用率较低以及
硬盘的开销大的问题。
发明内容
本发明的实施例提供一种页的访问方法和页的访问装置、服务器,在提高内存利用率的同时,解决了内存的利用率较低以及硬盘的开销大的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种页的访问方法,所述方法包括:
在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;
若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;若所述目标页被置换,查找到与所述目标页的特征参数相同的页后,使所述虚拟机访问所述与所述目标页的特征参数相同的页。
结合第一方面,在第一种可能的实现方式中,所述特征参数是页内容的哈希值。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数包括:
新建所述目标页,向所述目标页填充所述虚拟机需要访问的页内容并使所述虚拟机访问所述新建的所述目标页;
获取所述目标页中填充的所述页内容的哈希值;
将所述目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述查找与所述目标页的特征参数相同的页包括:
根据所述目标页在所述虚拟机上的物理地址获取所述目标页在服务器上的物理地址;
根据所述目标页在服务器上的物理地址获取所述目标页的哈希值;
根据所述目标页的哈希值,查找与所述目标页具有相同哈希值的页。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述根据所述目标页在服务器上的物理地址获取所述目标页的哈希值包括:
根据所述目标页在服务器上的物理地址在缺页页表中查询与所述目标页在服务器上的物理地址对应的哈希值。
第二方面,提供一种页的访问装置,所述装置包括:
判断单元,用于在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;
缺页处理单元,用于若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;则查找与所述目标页的特征参数相同的页,查找到与所述目标页的特征参数相同的页后,使所述虚拟机访问所述与所述目标页的特征参数相同的页。
结合第二方面,在第一种可能的实现方式中,所述特征参数是页内容的哈希值。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述缺页处理单元包括:
创建单元,用于新建所述目标页,向所述目标页填充所述虚拟机需要访问的页内容并使所述虚拟机访问所述新建的所述目标页;
哈希值获取单元,用于获取所述目标页中填充的所述页内容的哈希值;
存储单元,用于将所述目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述缺页处理单元包括:
页映射单元,用于根据所述目标页在所述虚拟机上的物理地址获取所述目标页在服务器上的物理地址;
所述页映射单元还用于根据所述目标页在服务器上的物理地址获
取所述目标页的哈希值;
匹配单元,用于根据所述目标页的哈希值,查找与所述目标页具有相同哈希值的页。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述页映射单元具体用于:
根据所述目标页在服务器上的物理地址在缺页页表中查询与所述目标页在服务器上的物理地址对应的哈希值。
第三方面,提供一种服务器,所述服务器包括:
第二方面所述的任意一种页的访问装置;虚拟机管理平台,所述虚拟机管理平台上至少运行有两台虚拟机;所述页的访问装置设置在所述虚拟机管理平台上,所述页的访问装置与虚拟机之间独立,并行运行在虚拟机管理平台上。
本发明的实施例提供一种页的访问方法和页的访问装置、服务器,在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;若所述目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种页的访问方法的流程示意图一;
图2为本发明实施例提供的一种页的访问方法的流程示意图二;
图3为本发明实施例提供的一种页的访问装置的结构示意图一;
图4为本发明实施例提供的一种页的访问装置的结构示意图二;
图5为本发明实施例提供的一种页的访问装置的结构示意图三;
图6为本发明实施例提供的一种页的访问装置的结构示意图四;
图7为本发明实施例提供的一种服务器的结构示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种页的访问方法,如图1所示,该方法包括:
101、在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换。
102、若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数。
103、若目标页被置换,则查找与目标页的特征参数相同的页,查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。
本发明的实施例提供一种页的访问方法,在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,对本发明的实施例提供的一种页的访
问方法进行详细说明,在下面的实施例中,示例性的以哈希值作为页的特征参数,如图2所示,该方法包括:
201、在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换,若目标页不存在则执行202~204;若目标页被置换则执行205~207。
202、若目标页不存在,则新建目标页,并且向目标页填充虚拟机需要访问的页内容。
具体的,目标页是指虚拟机要访问的页,虚拟机要访问目标页需要在内存或者硬盘中的数据交换(Swap)分区中,虚拟机才可以访问该目标页。如果在内存或者Swap分区中没有虚拟机要访问的页,则认为虚拟机要访问的页不存在,即目标页不存在,此时就需要在内存中新建一个页,并将虚拟机需要访问的页的页内容填充到该页中,从而得到了一个新建的目标页,然后虚拟机才可以访问该新建的目标页。
另外,在上述的需要新建页的情况下,虚拟机要访问的页的页内容对于运行虚拟机的物理实体,比如服务器而言是已知的,但是没有存储在内存或者硬盘与内存的Swap分区中。示例性的,可以存储在硬盘中除Swap分区以外的硬盘空间或者云端服务器中。
203、使虚拟机访问新建的目标页。另外,指的注意的是,203和204没有固定的执行顺序,本实施例所呈现的顺序是其中一种情况,也可以执行204后再执行203,或者同时执行。
204、获取目标页中填充的页内容的哈希值,并将目标页的哈希值作为目标页的特征参数保存在缺页页表中。
示例性的,可以利用预设的哈希算法获取填充的页内容的哈希值,而后将得到的哈希值保存在缺页页表中。
其中,缺页页表的结构如表1所示,缺页页表的表项中包括虚拟机的编号(或者索引)、与虚拟机编号对应的页物理地址、页哈希值。其中,缺页页表的表项数目(比如表1中的n)可以根据服务器中的虚拟机数量、内存大小来计算,例如,假设一台服务器的内存为20G,在该服务器上建立有100台虚拟机,那么就需要20G/100/4k(4k为页大小)=50000个表项。表项中的页物理地址为页在服务器上的物理地址,该页物理地址可以根据虚拟机物理地址查询P2M(Physical to Machine,物
理到机器)表获得,上述P2M表是虚拟机物理地址与服务器物理地址的映射表。而表项中的页哈希值,具体是根据输入页内容通过哈希算法获取的,因此具有相同页内容的页的哈希值也相同,而页内容一旦修改需重新计算该页的哈希值。
表1
虚拟机编号 | 页物理地址 | 页的哈希值 |
1 | 0x01110 | 10006 |
2 | 0x01156 | 10006 |
… | … | … |
n | XXX | XXX |
205、若目标页被置换,根据目标页在虚拟机上的物理地址通过P2M表查找目标页在服务器上的物理地址。
206、根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值。
207、根据目标页的哈希值,在缺页页表中查找与目标页具有相同哈希值且在内存中的页,使虚拟机访问查找到的与目标页具有相同哈希值且在内存中的页。
示例性的,可以在缺页页表中的每一个表项中预设有一个指示字段,字段值可以为0或1,,其中,0表示该表项对应的页在硬盘中不在内存,1表示该表项对应的页在内存中的,例如表2所示:
表2
虚拟机编号 | 页物理地址 | 页的哈希值 | 指示字段 |
1 | 0x01110 | 10006 | 0 |
2 | 0x01156 | 10006 | 1 |
… | … | … | … |
n | XXX | XXX | 1 |
或者,在缺页页表中查找与目标页具有相同哈希值的页后,根据具有相同哈希值的页在P2M表中的存在(Present)标志位来判断该页的存在属性,若Present=1表示该页在内存中;若Present=0表示该页在硬盘中不在内存。
在查找到与目标页具有相同哈希值且在内存中的页之后,具体的,如果是虚拟机需要读该目标页,则由虚拟机直接读取查找到的与目标页具有相同哈希值且在内存中的页;如果是虚拟机需要写该目标页,则先要将查找到的与目标页具有相同哈希值且仍在内存中的页进行拷贝,而后对拷贝的页进行写操作,然后采用回写技术写到硬盘上。
举例说明:虚拟机1的进程A访问目标页1,发生缺页,在判断后确定缺页类型为目标页1不存在,则新建该目标页,并且填充该目标页的内容,根据该目标页的内容计算哈希值并保存在缺页页表中;虚拟机2进程B访问目标页2,发生缺页,判断后确定缺页类型为目标页2被置换到硬盘中,则在缺页页表中查询与目标页2相同哈希值的页,若查找到的与目标页2哈希值相同的页在缺页页表中的指示字段的值为1则说明该页在内存中,而后虚拟机就可以直接可以对该页进行读写操作,其中,如果是读操作则直接读取,如果是写操作,则拷贝该页后对对拷贝的页进行写操作,然后采用回写技术写到硬盘上;若缺页页表中的与目标页2哈希值相同的页的指示字段值都为0,则执行数据交换(Swap)操作,Swap操作可理解为内存与硬盘之间的数据交换。
另外,需要说明的是,若与目标页具有相同哈希值的页在内存中,则虚拟机可以直接对该页进行访问,如果与目标页具有相同哈希值的页不在内存,而在硬盘的数据交换分区中,则虚拟机需要到硬盘的数据交换分区访问需要的页。
综上所述,本发明的实施例提供的页的访问方法,通过在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,并且向目标页填充虚拟机需要访问的页内容,而后获得目标页中填充的页内容的哈希值,再将目标页的哈希值保存在缺页页表中;若目标页被置换,根据目标页在虚拟机上的物理地址获取目标页在服务器上的物理地址,根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值,根据目标页的哈希值,查找与目标页具有相同哈希值且在内存中的页,而后虚拟机访问查找到的与目标页具有相同哈希值且在内存中的页,相比现有技术在缺页时直接访问硬盘而言,大大降低了访问硬盘的次数,从而避免了内存与硬盘之间频繁的数据交换,降低了硬盘的开销。而且,在现有的内存
合并技术中,由于需要定期的扫描内存中的所有页以便找出相同页进行合并,但是内存中的有些页不会被经常访问,而且在系统空闲时也没有必要进行页扫描,所以定期的扫描内存中的所有页会使CPU的消耗非常大,而本发明不需要定期的扫描内存中的所有页,因此CPU的消耗低,能够节省系统开销。
本发明的实施例还提供一种页的访问装置00,如图3所示,装置包括:
判断单元10,用于在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换。
缺页处理单元20,用于若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。
其中,特征参数可以为页内容的哈希值。
可选的,如图4所示,缺页处理单元20可以包括:
创建单元21,用于新建目标页,向目标页填充虚拟机需要访问的页内容并使虚拟机访问新建的目标页。
哈希值获取单元22,用于获取目标页中填充的页内容的哈希值。
存储单元23,用于将目标页的哈希值作为目标页的特征参数保存在缺页页表中。
可选的,如图5所示,缺页处理单元020可以还包括:
页映射单元24,用于根据目标页在虚拟机上的物理地址获取目标页在服务器上的物理地址,还用于根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值。
匹配单元25,用于根据目标页的哈希值,查找与目标页具有相同哈希值的页。
可选的,页映射单元24可以具体用于:
根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值。
本发明的实施例提供一种页的访问装置,在虚拟机访问目标页发生
缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有技术在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
本发明实施例还提供了一种页的访问装置90,如图6所示,该装置90包括:总线94;以及连接到总线94的处理器91、存储器92和接口93,其中该接口93用于通信;该存储器92用于存储指令,处理器91用于执行该指令用于:
在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;
若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。
可选地,上述特征参数可以为页内容的哈希值。
可选地,处理器91执行该指令用于新建目标页,获取并保存目标页特征参数,具体可以包括:
新建目标页,向目标页填充虚拟机需要访问的页内容并使虚拟机访问新建的目标页;
获取目标页中填充的页内容的哈希值;
将目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
可选地,处理器91执行该指令用于查找与目标页的特征参数相同的页,具体可以包括:
根据目标页在虚拟机上的物理地址获取目标页在服务器上的物理地址;
根据目标页在服务器上的物理地址获取目标页的哈希值;
根据目标页的哈希值,查找与目标页具有相同哈希值的页。
可选地,处理器91执行该指令用于根据目标页在服务器上的物理地址获取目标页的哈希值具体包括:
根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值。
本发明的实施例提供一种页的访问装置,在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
本发明实施例还提供一种服务器000,如图7所示,服务器000包括:
页的访问装置00/90;
虚拟机管理平台11,用于在服务器操作系统上模拟虚拟机运行所需的环境并管理各个虚拟机,在虚拟机管理平台11上运行有至少两台虚拟机。
其中,页的访问装置00/90设置在虚拟机管理平台11上。
本发明的实施例提供一种服务器,在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所描述的装置和服务器实施例仅仅是示意性的,例如,模块的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另一点,所显示或讨论的模块相互之间的连接可以是通过一些接口,可以是电性,机械或其它的形式。所述各个模块可以是或者也可以不是物理上分开的,可以是或者也可以不是物理单元。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理包括,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能单元的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
- 一种页的访问方法,其特征在于,所述方法包括:在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;若所述目标页被置换,则查找与所述目标页的特征参数相同的页,查找到与所述目标页的特征参数相同的页后,使所述虚拟机访问所述与所述目标页的特征参数相同的页。
- 根据权利要求1所述的方法,其特征在于,所述特征参数是页内容的哈希值。
- 根据权利要求1或2所述的方法,其特征在于,所述新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数包括:新建所述目标页,向所述目标页填充所述虚拟机需要访问的页内容并使所述虚拟机访问所述新建的所述目标页;获取所述目标页中填充的所述页内容的哈希值;将所述目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
- 根据权利要求1或2所述的方法,其特征在于,所述查找与所述目标页的特征参数相同的页包括:根据所述目标页在所述虚拟机上的物理地址获取所述目标页在服务器上的物理地址;根据所述目标页在服务器上的物理地址获取所述目标页的哈希值;根据所述目标页的哈希值,查找与所述目标页具有相同哈希值的页。
- 根据权利要求4所述的方法,其特征在于,所述根据所述目标页在服务器上的物理地址获取所述目标页的哈希值包括:根据所述目标页在服务器上的物理地址在缺页页表中查询与所述目标页在服务器上的物理地址对应的哈希值。
- 一种页的访问装置,其特征在于,所述装置包括:判断单元,用于在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;缺页处理单元,用于若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;则查找与所述目标页的特征参数相同的页,查找到与所述目标页的特征参数相同的页后,使所述虚拟机访问所述与所述目标页的特征参数相同的页。
- 根据权利要求6所述的装置,其特征在于,所述特征参数是页内容的哈希值。
- 根据权利要求6或7所述的装置,其特征在于,所述缺页处理单元包括:创建单元,用于新建所述目标页,向所述目标页填充所述虚拟机需要访问的页内容并使所述虚拟机访问所述新建的所述目标页;哈希值获取单元,用于获取所述目标页中填充的所述页内容的哈希值;存储单元,用于将所述目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
- 根据权利要求6或7所述的装置,其特征在于,所述缺页处理单元包括:页映射单元,用于根据所述目标页在所述虚拟机上的物理地址获取所述目标页在服务器上的物理地址;所述页映射单元还用于根据所述目标页在服务器上的物理地址获取所述目标页的哈希值;匹配单元,用于根据所述目标页的哈希值,查找与所述目标页具有相同哈希值的页。
- 根据权利要求9所述的装置,其特征在于,所述页映射单元具体用于:根据所述目标页在服务器上的物理地址在缺页页表中查询与所述目标页在服务器上的物理地址对应的哈希值。
- 一种服务器,其特征在于,所述服务器包括:如权利要求6至10任意一项所述的页的访问装置;虚拟机管理平 台,所述虚拟机管理平台上运行有至少两台虚拟机;所述页的访问装置设置在所述虚拟机管理平台上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310446994.5A CN103488523A (zh) | 2013-09-26 | 2013-09-26 | 一种页的访问方法和页的访问装置、服务器 |
CN201310446994.5 | 2013-09-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015043376A1 true WO2015043376A1 (zh) | 2015-04-02 |
Family
ID=49828780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/086182 WO2015043376A1 (zh) | 2013-09-26 | 2014-09-10 | 一种页的访问方法和页的访问装置、服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103488523A (zh) |
WO (1) | WO2015043376A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966642A (zh) * | 2020-08-28 | 2020-11-20 | 维沃移动通信有限公司 | 图片管理方法、装置及电子设备 |
US11061711B2 (en) | 2019-09-23 | 2021-07-13 | Red Hat, Inc. | Storage deduplication for virtual machines with encrypted storage |
US11232030B2 (en) | 2019-09-27 | 2022-01-25 | Red Hat Inc. | Storage deduplication for virtual machines with encrypted storage |
CN114253458A (zh) * | 2020-09-21 | 2022-03-29 | 华为技术有限公司 | 内存缺页异常的处理方法、装置、设备及存储介质 |
US11656891B2 (en) | 2019-09-27 | 2023-05-23 | Red Hat, Inc. | Copy-on-write for virtual machines with encrypted storage |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095094B (zh) * | 2014-05-06 | 2018-11-30 | 华为技术有限公司 | 内存管理方法和设备 |
CN106970826B (zh) * | 2017-03-10 | 2020-05-08 | 浙江大学 | 一种基于大页的缺页异常解决方法 |
CN111427804B (zh) * | 2020-03-12 | 2022-05-20 | 深圳震有科技股份有限公司 | 一种减少缺页中断次数的方法、存储介质及智能终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158924A (zh) * | 2007-11-27 | 2008-04-09 | 北京大学 | 一种虚拟机管理器的动态内存映射方法 |
CN101477496A (zh) * | 2008-12-29 | 2009-07-08 | 北京航空航天大学 | 基于分布式内存虚拟化的numa结构的实现方法 |
CN101808141A (zh) * | 2010-04-19 | 2010-08-18 | 浙江大学 | 一种基于虚拟化平台的宿主客户机协同换页的方法 |
US20110320681A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Memory management computer |
US20120137045A1 (en) * | 2010-11-29 | 2012-05-31 | International Business Machines Corporation | Efficiently determining identical pieces of memory used by virtual machines |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7421533B2 (en) * | 2004-04-19 | 2008-09-02 | Intel Corporation | Method to manage memory in a platform with virtual machines |
CN101383781B (zh) * | 2008-10-30 | 2010-10-06 | 中国人民解放军国防科学技术大学 | 虚拟域间短信息通讯方法 |
CN101620573B (zh) * | 2009-07-03 | 2010-12-01 | 中国人民解放军国防科学技术大学 | X86体系结构内存管理单元虚拟化方法 |
CN102521330A (zh) * | 2011-12-07 | 2012-06-27 | 华中科技大学 | 一种桌面虚拟化环境下的镜像分布式存储方法 |
-
2013
- 2013-09-26 CN CN201310446994.5A patent/CN103488523A/zh active Pending
-
2014
- 2014-09-10 WO PCT/CN2014/086182 patent/WO2015043376A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158924A (zh) * | 2007-11-27 | 2008-04-09 | 北京大学 | 一种虚拟机管理器的动态内存映射方法 |
CN101477496A (zh) * | 2008-12-29 | 2009-07-08 | 北京航空航天大学 | 基于分布式内存虚拟化的numa结构的实现方法 |
CN101808141A (zh) * | 2010-04-19 | 2010-08-18 | 浙江大学 | 一种基于虚拟化平台的宿主客户机协同换页的方法 |
US20110320681A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Memory management computer |
US20120137045A1 (en) * | 2010-11-29 | 2012-05-31 | International Business Machines Corporation | Efficiently determining identical pieces of memory used by virtual machines |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11061711B2 (en) | 2019-09-23 | 2021-07-13 | Red Hat, Inc. | Storage deduplication for virtual machines with encrypted storage |
US11232030B2 (en) | 2019-09-27 | 2022-01-25 | Red Hat Inc. | Storage deduplication for virtual machines with encrypted storage |
US11656891B2 (en) | 2019-09-27 | 2023-05-23 | Red Hat, Inc. | Copy-on-write for virtual machines with encrypted storage |
US12007891B2 (en) | 2019-09-27 | 2024-06-11 | Red Hat, Inc. | Storage deduplication for containers with encrypted storage |
CN111966642A (zh) * | 2020-08-28 | 2020-11-20 | 维沃移动通信有限公司 | 图片管理方法、装置及电子设备 |
CN111966642B (zh) * | 2020-08-28 | 2022-09-30 | 维沃移动通信有限公司 | 图片管理方法、装置及电子设备 |
CN114253458A (zh) * | 2020-09-21 | 2022-03-29 | 华为技术有限公司 | 内存缺页异常的处理方法、装置、设备及存储介质 |
CN114253458B (zh) * | 2020-09-21 | 2024-04-26 | 华为技术有限公司 | 内存缺页异常的处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103488523A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015043376A1 (zh) | 一种页的访问方法和页的访问装置、服务器 | |
US8190827B2 (en) | Memory sharing among computer programs | |
US10474369B2 (en) | Mapping guest pages to disk blocks to improve virtual machine management processes | |
KR101441188B1 (ko) | 가상 시스템에서 메모리 중복 제거를 위한 기술 | |
US10838622B2 (en) | Method and apparatus for improving storage performance of container | |
US9747221B2 (en) | Dynamic pinning of virtual pages shared between different type processors of a heterogeneous computing platform | |
US9798487B2 (en) | Migrating pages of different sizes between heterogeneous processors | |
US9792220B2 (en) | Microcontroller for memory management unit | |
US10133677B2 (en) | Opportunistic migration of memory pages in a unified virtual memory system | |
JP5736320B2 (ja) | 複製された書き込み要求を伴うコヒーレントメモリコピーのための方法及び装置 | |
US9152572B2 (en) | Translation lookaside buffer for multiple context compute engine | |
US9703566B2 (en) | Sharing TLB mappings between contexts | |
US8046521B2 (en) | Computer virtualization apparatus and program and method therefor | |
EP2936322B1 (en) | Processing device with address translation probing and methods | |
TW201220197A (en) | for improving the safety and reliability of data storage in a virtual machine based on cloud calculation and distributed storage environment | |
JP6336090B2 (ja) | データベースシステムにおけるオンライン分析処理のためのデータを維持する方法および装置 | |
US20160103768A1 (en) | TLB Management Method and Computer | |
CN105518631B (zh) | 内存管理方法、装置和系统、以及片上网络 | |
US10579410B2 (en) | Guest intermediate address tagging for guest applications | |
WO2015150978A1 (en) | Scanning memory for de-duplication using rdma | |
US20150312366A1 (en) | Unified caching of storage blocks and memory pages in a compute-node cluster | |
US9483523B2 (en) | Information processing apparatus, distributed processing system, and distributed processing method | |
US10341177B2 (en) | Parallel computing system and migration method | |
US10789174B2 (en) | Guest intermediate address translation for virtual machines | |
CN106874119A (zh) | 基于同质内存扫描的合并方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14847653 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14847653 Country of ref document: EP Kind code of ref document: A1 |