CN110134492A - 一种异构内存虚拟机不停机的内存页面迁移系统 - Google Patents

一种异构内存虚拟机不停机的内存页面迁移系统 Download PDF

Info

Publication number
CN110134492A
CN110134492A CN201910315352.9A CN201910315352A CN110134492A CN 110134492 A CN110134492 A CN 110134492A CN 201910315352 A CN201910315352 A CN 201910315352A CN 110134492 A CN110134492 A CN 110134492A
Authority
CN
China
Prior art keywords
cold
virtual machine
page
migrated
hot
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.)
Granted
Application number
CN201910315352.9A
Other languages
English (en)
Other versions
CN110134492B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201910315352.9A priority Critical patent/CN110134492B/zh
Publication of CN110134492A publication Critical patent/CN110134492A/zh
Priority to US16/774,047 priority patent/US10810037B1/en
Application granted granted Critical
Publication of CN110134492B publication Critical patent/CN110134492B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及一种异构内存虚拟机不停机的内存页面迁移系统,该系统包括物理机,物理机上安装有虚拟机,系统被配置为:在虚拟机和监控层之间建立共享内存的通道;监控层生成待迁移冷热页信息且将待迁移冷热页信息写入共享内存;虚拟机从共享内存读取待迁移冷热页信息;和虚拟机根据读取的待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程,本发明通过预留的共享内存以及虚拟机和监控层协调完成页面迁移,由监控层生成待迁移冷热页信息并通过共享内存传递给虚拟机,由虚拟机根据待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程,可以整体提升页面迁移的效率和有效性,优化虚拟机异构内存的性能。

Description

一种异构内存虚拟机不停机的内存页面迁移系统
技术领域
本发明涉及异构内存虚拟机技术领域,尤其涉及一种异构内存虚拟机不停机的内存页面迁移系统。
背景技术
随着硬件工艺的发展,工业界研发了多种非易失性存储介质,这些存储介质具有空闲能耗低、读写速度快、可按字节寻址、存储密度高等潜在优势,预期将逐渐成为大内存系统中DRAM的替代品。存储级内存(Storage Class Memory,SCM)是这些新型非易失性内存器件的抽象,SCM的出现和应用将打破内存和存储的界限,CPU可直接存取存放在SCM上的数据;而且由于SCM的非易失特性,计算结果无需存放于具有持久存储特性的外存,这将有效缓解数据I/O瓶颈问题,提高大数据处理的时效性。因此SCM的出现客观上为新型内存计算模式的提出和发展创造了机会。
然而与DRAM相比,目前的SCM产品读写速度尚不均衡,有些还存在写次数有限的问题,将SCM与传统DRAM相结合,可以发挥二者各自的优势,目前已成为业界的研究热点。基于传统DRAM和SCM的混合内存体系架构的出现给计算机系统软件的设计带来了挑战。特别是针对大数据虚拟化平台,如何打破混合内存介质间的差异性,对混合内存进行统一管理和有效使用,在混合内存中实现数据的有效组织、可靠存储和高效访问,对虚拟机而言都是亟待解决的问题。
相关研究指出,异构内存环境下虚拟机内存优化的基本思想是将非易失内存中的热页迁移到DRAM,同时将DRAM中的冷页迁移到非易失内存,根据两者介质的特征取长补短,优化异构内存的整体性能。传统的虚拟机内存页面迁移对虚拟机透明,完全由监控层控制整个页面迁移流程,为了保证迁移过程中虚拟机数据的完整性和正确性,虚拟机在迁移过程中需要挂起,同时也存在False Positive的页迁移问题,因此整体的内存页面迁移效率低,系统开销大。
基于上述原因,本发明提出了一种虚拟机-监控层内存页面迁移系统,其主要思想为虚拟机和监控层之间建立共享内存的通道,实现页面地址信息的交换,监控层负责遍历页表获取冷热页信息,虚拟机实现页面迁移,两者的分工协调,实现异构内存虚拟机不停机的内存页面迁移系统。
发明内容
针对现有技术之不足,本发明提供了一种异构内存虚拟机不停机的内存页面迁移系统,本发明通过预留的共享内存以及虚拟机和监控层协调完成页面迁移,由监控层生成待迁移冷热页信息并通过共享内存传递给虚拟机,由虚拟机根据待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程,可以整体提升页面迁移的效率和有效性,优化虚拟机异构内存的性能。
根据一个优选实施方式,一种异构内存虚拟机不停机的内存页面迁移系统,该系统包括物理机,所述物理机上安装有虚拟机,所述系统被配置为:在所述虚拟机和监控层之间建立共享内存的通道;所述监控层生成待迁移冷热页信息且将所述待迁移冷热页信息写入所述共享内存;所述虚拟机从所述共享内存读取所述待迁移冷热页信息;和所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程。
根据一个优选实施方式,所述异构内存包括DRAM和NVM,所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程之时,将写热度相对高的热页面从NVM迁移到DRAM,将写热度相对低的冷页面从DRAM迁移到NVM。
根据一个优选实施方式,所述监控层生成待迁移冷热页信息且将所述待迁移冷热页信息写入所述共享内存的处理包括:所述监控层周期性获取页表的写频度和时间戳;所述监控层使用分层哈希链表管理总冷热页信息并根据页表的写频度和时间戳更新总冷热页信息;所述监控层从所述总冷热页信息中提取需要迁移的页面生成待迁移冷热页信息;和所述监控层将所述待迁移冷热页信息写入所述共享内存。
根据一个优选实施方式,所述监控层使用分层哈希链表管理总冷热页信息并根据页表的写频度和时间戳更新总冷热页信息的处理包括:根据写频度将分层哈希链表的层级分为至少三个层级,层级越低的链表的写频度和扫描级别越低。
根据一个优选实施方式,所述监控层从所述总冷热页信息中提取需要迁移的页面生成的待迁移冷热页信息是通过从最高层级的链表中选取需要从NVM迁移到DRAM中的虚拟机页帧和从最低层级的链表中选取需要从DRAM中迁移到NVM中的虚拟机页帧来生成待迁移冷热页信息。
根据一个优选实施方式,所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程的处理包括:通过用户态模拟平台向监控层发送页面迁移的迁移指令,通知监控层将待迁移冷热页信息写入到预留的共享内存中;所述虚拟机读取待迁移冷热页信息以获取待迁移的虚拟机页帧;和所述虚拟机使用内核迁移机制完成虚拟机页帧的NUMA节点迁移,通过底层异构内存物理介质转换以实现冷热页的迁移。
根据一个优选实施方式,在虚拟机和/或监控层访问共享内存时,通过超调用的方式进行加锁互斥的原子操作,以实现共享内存数据的一致性和有效性。
根据一个优选实施方式,一种异构内存虚拟机不停机的内存页面迁移方法,该方法包括:在所述虚拟机和监控层之间建立共享内存的通道;所述监控层生成待迁移冷热页信息且将所述待迁移冷热页信息写入所述共享内存;所述虚拟机从所述共享内存读取所述待迁移冷热页信息;和所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程。
根据一个优选实施方式,所述异构内存包括DRAM和NVM,所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程之时,将写热度相对高的热页面从NVM迁移到DRAM,将写热度相对低的冷页面从DRAM迁移到NVM。
根据一个优选实施方式,所述监控层生成待迁移冷热页信息且将所述待迁移冷热页信息写入所述共享内存的处理包括:所述监控层周期性获取页表的写频度和时间戳;所述监控层使用分层哈希链表管理总冷热页信息并根据页表的写频度和时间戳更新总冷热页信息;所述监控层从所述总冷热页信息中提取需要迁移的页面生成待迁移冷热页信息;和所述监控层将所述待迁移冷热页信息写入所述共享内存。
根据一个优选实施方式,一种计算系统,该系统包括物理机,所述物理机上安装有虚拟机,所述系统被配置为:所述虚拟机从所述共享内存读取所述待迁移冷热页信息;和所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程。
根据一个优选实施方式,所述系统被配置为:在所述虚拟机和监控层之间建立共享内存的通道;和所述监控层生成待迁移冷热页信息且将所述待迁移冷热页信息写入所述共享内存。
根据一个优选实施方式,所述异构内存包括DRAM和NVM,所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程之时,将写热度相对高的热页面从NVM迁移到DRAM,将写热度相对低的冷页面从DRAM迁移到NVM。
根据一个优选实施方式,该系统被配置为:通过所述虚拟机和监控层之间建立共享内存通道实现虚拟机和监控层的信息交换。
根据一个优选实施方式,虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程的处理可以包括以下步骤中的至少一个:通过用户态模拟平台向监控层发送页面迁移的迁移指令,通知监控层将待迁移冷热页信息写入到预留的共享内存中;虚拟机读取待迁移冷热页信息以获取待迁移的虚拟机页帧;和虚拟机使用内核迁移机制完成虚拟机页帧的NUMA节点迁移,通过底层异构内存物理介质转换以实现冷热页的迁移。
本发明提供一种异构内存虚拟机不停机的内存页面迁移系统至少具有如下优势:
第一,页面迁移时虚拟机可以不停机,传统虚拟机页面迁移是对虚拟机透明的,监控层负责迁移,因此为了保证迁移过程中虚拟机信息的一致性和完整性,在迁移的过程中会将虚拟机挂起,待迁移完成后恢复虚拟机的执行,虚拟机如果不挂起进行页面迁移,会导致破坏物理机和虚拟机之间数据的一致性,因为监控层做页面迁移时,虚拟机是不可感知的,如果虚拟机访问的内存页面已经被监控层迁移了,这时虚拟机就会读取到错误的数据或者说与预期不符的数据,也就是破坏了虚拟机数据的一致性和正确性,而本发明提出的方案则完全避免了虚拟机停机的开销,监控层扫描页表获取冷热页信息、虚拟机负责迁移,两者的协调合作实现了内存页面跨NUMA节点迁移,可以整体提升页面迁移的效率和有效性,优化了虚拟机整体的内存性能。
第二,本发明提高了页面迁移的有效性,虚拟机和监控层建立共享内存通道,可以通过虚拟机和监控层的信息交换,优化页表的扫描过程,避免传统的页面迁移存在的FalsePositive的问题所导致的性能下降,相较而言虚拟机和监控层协调的方式增加了隐含内存区域信息的交换,可以制定更加高效的页面迁移策略。False Positive的原意是指因为种种原因把不具备阳性症状的人检测出阳性的结果。在页面迁移的场景下,传统的监控层页面迁移方案不清楚虚拟机里面运行的进程的地址信息,比如,匿名内存、文件映射、缓存、堆栈等,因此可能存在被监控层判定为热页的内存页面,迁移过后没有频繁被访问,这样的页面迁移称为无效迁移。本方案中虚拟机内部实施页面迁移,虚拟机可以结合进程隐含的内存区域信息进一步判断页面的冷热程度,可以减少无效的页面迁移。
第三,优化异构内存的模拟,将虚拟机虚拟NUMA节点绑定到物理机物理的NUMA节点上,为虚拟机提供了两种内存介质容量伸缩的可行性,同时虚拟机可以设定特殊的NUMA策略优化异构内存的使用,为异构内存在虚拟机环境下的研究提供了平台支撑。
第四,本发明通过分层哈希链表管理冷热页信息,层级越低的链表的写频度和扫描级别越低,可以减少无用的页面扫描。
附图说明
图1是本发明的一个优选实施方式整体架构的系统模块示意图。
附图标记列表
100:虚拟机 110:虚拟NUMA节点
120:页面迁移内核驱动模块 200:监控层
210:物理NUMA节点 220:页表扫描进程
300:DRAM 400:NVM
500:QEMU平台 510:QEMU控制台
具体实施方式
下面结合附图1进行详细说明。
实施例1
本实施例公开了一种异构内存虚拟机不停机的内存页面迁移系统,或者说一种内存页面迁移系统,或者说一种计算系统,该系统适于执行本发明记载的各个方法步骤,以达到预期的技术效果。比如,该计算系统可以采用本发明的方法执行页面迁移过程。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式的整体和/或部分内容可以作为本实施例的补充。
优选地,异构内存虚拟机可以是指:虚拟机的物理内存地址空间,一部分是传统的DRAM,另一部分是NVM,两者构成平行的物理地址空间。
优选地,待迁移冷热页信息可以是指:需要迁移的虚拟机内存页面的页帧号(Guest Frame Number,GFN)。
根据一个优选实施方式,该系统可以包括物理机。物理机上可以安装有虚拟机100。该系统可以被配置为:在虚拟机100和监控层200之间建立共享内存的通道;监控层200生成待迁移冷热页信息且将待迁移冷热页信息写入共享内存;虚拟机从共享内存读取待迁移冷热页信息;和/或虚拟机根据读取的待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程。优选地,监控层200可以是KVM。KVM是一个开源的系统虚拟化模块,KVM是LINUX内核可加载的模块。KVM需要Intel VT技术或者AMD V技术支持。物理机可以称为主机或者宿主机。虚拟机可以称为客户机。
根据一个优选实施方式,异构内存可以包括DRAM300和/或NVM400。虚拟机根据读取的待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程之时,可以将写热度相对高的热页面从NVM400迁移到DRAM300,可以将写热度相对低的冷页面从DRAM300迁移到NVM400。优选地,DRAM可以是指Dynamic Random Access Memory,即动态随机存取存储器。优选地,NVM可以是指Non-volatile memory,即非易失存储器。
根据一个优选实施方式,监控层200生成待迁移冷热页信息且将待迁移冷热页信息写入共享内存的处理可以包括以下步骤中的至少一个:监控层200周期性获取页表的写频度和时间戳;监控层200使用分层哈希链表管理总冷热页信息并根据页表的写频度和时间戳更新总冷热页信息;监控层200从总冷热页信息中提取需要迁移的页面生成待迁移冷热页信息;和监控层200将待迁移冷热页信息写入共享内存。
根据一个优选实施方式,监控层200使用分层哈希链表管理总冷热页信息并根据页表的写频度和时间戳更新总冷热页信息的处理可以包括:根据写频度将分层哈希链表的层级分为至少三个层级。层级越低的链表的写频度和扫描级别都递减。优选地,监控层200根据写频度将分层哈希链表分为3个层级。层级越低的链表,写频度越低,扫描的周期越大,扫描的就越不频繁。层级越高的链表,写频度越高,扫描的周期越小,扫描的就越频繁。同层链表中的页面根据时间戳的写时间的先后顺序排序。
根据一个优选实施方式,监控层200从总冷热页信息中提取需要迁移的页面生成的待迁移冷热页信息可以是通过从最高层级的链表中选取需要从NVM400迁移到DRAM300中的虚拟机页帧和从最低层级的链表中选取需要从DRAM300中迁移到NVM400中的虚拟机页帧来生成待迁移冷热页信息。优选地,高层级的链表意味着写频度越高,热页集中在高层级的链表,从中选择位于NVM介质中的热页做迁移。优选地,低层级的链表意味着写频度越低,冷页集中在低层级的链表,从中选择位于DRAM介质中的冷页做迁移。优选地,本发明中,系统将NVM介质中的热页迁移到DRAM,将DRAM介质中的冷页迁移到NVM,从而更好地利用DRAM和NVM的有限的存储资源来提升系统的性能,减少了NVM的写磨损,实现了对混合内存进行统一管理和有效使用。
根据一个优选实施方式,虚拟机根据读取的待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程的处理可以包括以下步骤中的至少一个:通过用户态模拟平台向监控层200发送页面迁移的迁移指令,通知监控层200将待迁移冷热页信息写入到预留的共享内存中;虚拟机读取待迁移冷热页信息以获取待迁移的虚拟机页帧;和虚拟机使用内核迁移机制完成虚拟机页帧的NUMA节点迁移,通过底层异构内存物理介质转换以实现冷热页的迁移。优选地,本发明的方法以不停机的方式在异构内存间执行页面迁移过程的原理可以是:传统的虚拟机异构内存页面迁移分为两个阶段,页面频度监测和页面迁移,两者都是运行在监控层,因此对虚拟机透明,为了维持虚拟机数据的一致性,在页面迁移时需要将虚拟机停机。本方案是以监控层和虚拟机协调的方式实施异构内存页面迁移,页面频度监测由监控层负责,然后将待迁移的内存页面的页帧号通过共享内存传递给虚拟机,异构内存虚拟机负责最终的页面迁移过程,因此页面迁移发生在虚拟机的内部,不存在虚拟机数据不一致的问题,因此可以完成不停机的页面迁移。
根据一个优选实施方式,在虚拟机和/或监控层200访问共享内存时,可以通过超调用的方式进行加锁互斥的原子操作,以实现共享内存数据的一致性和有效性。
实施例2
本实施例可以是对实施例1的进一步改进和/或补充,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式的整体和/或部分内容可以作为本实施例的补充。
根据一个优选实施方式,该系统可以包括至少一个物理机。至少一个物理机中的至少一个上可以安装有虚拟机。该系统可以被配置为:在虚拟机和监控层200之间建立共享内存的通道以实现页面信息交换;监控层200遍历页表获取冷热页信息并将冷热页信息写入共享内存;和/或虚拟机从共享内存读取冷热页信息并根据读取的冷热页信息以虚拟机不停机的方式在异构内存间进行页面迁移过程。优选地,监控层200写入共享内存的冷热页信息可以是待迁移冷热页信息和/或总冷热页信息。优选地,在监控层200写入共享内存的冷热页信息是总冷热页信息的情况下,虚拟机可以根据总冷热信息分析得出待迁移冷热页信息。
根据一个优选实施方式,监控层200遍历页表获取冷热页信息的处理可以包括以下步骤中的至少一个:周期性唤醒页表扫描进程220以通过被唤醒的页表扫描进程220遍历页表;根据A/D标志位处理EPT表项,将Dirty标志位置位的表项计数加一,同时更新时间戳;使用分层哈希链表管理冷热页信息并根据Dirty标志位的表项计数和时间戳信息更新冷热页信息,以根据冷热页信息选择需要迁移的虚拟机物理页帧。优选地,Dirty标志位的大小为1个bit,取值0或1,当CPU修改了内存页面,该页面对应的EPT表项的Dirty位就会被置位,置位是指该标志位取值为1。通过周期性的扫描EPT页表,根据每一个EPT表项的Dirty标志位被置位的次数,可以计算对应页面的写频度,通过EPT页表扫描方案,统计所有内存页面的写频度。分层哈希链表管理内存页面的频度信息,周期性地更新频度信息,最终筛选出NVM中的热页和DRAM中的冷页实施页面迁移。
根据一个优选实施方式,虚拟机从共享内存读取冷热页信息并根据读取的冷热页信息以虚拟机不停机的方式在异构内存间进行页面迁移过程的处理可以包括:通过虚拟机用户态模拟平台向监控层200发送迁移指令并通知监控层200将冷热页信息写入共享内存,虚拟机读取冷热页信息并在虚拟机内通过页面迁移内核驱动模块120完成页面的迁移。优选地,用户态模拟平台可以是QEMU平台500。本发明采用此方式至少能够实现以下有益技术效果:
第一,异构内存页面迁移位于虚拟机内部,因此虚拟机不需要停机;
第二,页面迁移发生在虚拟机内部,为进程级别的内存迁移操作,不需要挂起虚拟机,性能开销小。
根据一个优选实施方式,使用分层哈希链表管理冷热页信息并根据Dirty标志位置位的表项计数和时间戳信息更新冷热页信息的处理可以包括以下步骤中的至少一个:根据EPT表项的访问频度和时间戳信息;使用分层哈希链表管理冷热页信息以加速查找的过程;和根据访问频度将链表的层级分为第一层级、第二层级和第三层级,其中,第三层级、第二层级和第一层级的访问频度和扫描级别依次递减。优选地,访问频度可以是指写频度。本发明采用此方式至少能够实现以下有益技术效果:第一,哈希链表可以以O(1)的时间快速定位到数据项,提升了查找的速度;第二,分层哈希链表的多个不同的层级,不同层级的扫描间隔不同,降低了扫描整个EPT页表的时间开销,加快了页面频度信息统计的速度。
根据一个优选实施方式,监控层200可以周期性地从最高层级的链表中选取需要从NVM400迁移到DRAM300中的GFN,从最低层级的链表中选取需要从DRAM300中迁移到NVM400中的GFN,确定两种内存介质需要迁移的页面数量,并生成待迁移冷热页信息。比如,以三层的链表为例。监控层200可以周期性地从第三层级的链表中选取需要从NVM400迁移到DRAM300中的GFN,从第一层级的链表中选取需要从DRAM300中迁移到NVM400中的GFN。优选地,GFN可以是指虚拟机页帧。本发明采用此方式至少能够实现以下有益技术效果:分层哈希链表的管理方式,通过页面的频度划分,高层级的链表中的内存页面写频度高,为热页;低层级的链表中的内存页面写频度地,为冷页。由于内存存在访问局部性的特征,这种筛选方式可以提高冷热页识别的准确度,降低全局查找的开销。
根据一个优选实施方式,虚拟机从共享内存读取冷热页信息并根据读取的冷热页信息以虚拟机不停机的方式在异构内存间进行页面迁移过程的处理可以包括以下步骤中的至少一个:虚拟机初始化时绑定虚拟NUMA节点110到物理机的物理NUMA节点210,实现虚拟机异构内存的模拟,通过Guest-Host预留共享内存地址空间传递待迁移的物理页帧;QEMU控制台510通过监控层200I/O指令启动、暂停和停止监控层200的页面迁移进程,因此可以通知监控层200将待迁移的页面信息写入到预留的共享内存中,传递给虚拟机;和虚拟机读取共享内存中的页表信息,获取待迁移的虚拟机物理页帧,使用内核的页面迁移机制完成虚拟机物理页面跨NUMA节点的迁移,实现异构内存物理介质的转换。本发明采用此方式至少能够实现以下有益技术效果:第一,页面迁移过程虚拟机不需要停机,不在传统页面迁移方式导致的虚拟机挂起的性能开销;第二,虚拟机实施页面迁移,虚拟机可以通过进程的内存地址空间信息,进一步分析待迁移的页面的冷热程度,减少无效的页面迁移。
根据另一个优选实施方式,虚拟机从共享内存读取冷热页信息并根据读取的冷热页信息以虚拟机不停机的方式在异构内存间进行页面迁移过程的处理可以包括以下步骤中的至少一个:QEMU控制台510向监控层200发送页面迁移的指令,激活页面迁移进程;QEMU控制台510通知监控层200将需要迁移的冷热页信息写入到预留的共享内存中;虚拟机读取冷热页信息以获取待迁移的虚拟机物理页帧,使用内核迁移机制完成虚拟机物理页面的NUMA节点迁移,完成底层异构内存物理介质转换,实现冷热页的迁移;和判断页面迁移流程是否结束,由QEMU控制台510向监控层200发送调控指令,结束则退出页面迁移过程并挂起EPT页表扫描进程220;否则继续执行页面迁移过程。优选地,EPT页表扫描进程220可以是指页表扫描进程220。本发明采用此方式至少能够实现以下有益技术效果:第一,页面迁移方案通过QEMU控制台510暴露给用户,用户可以通过本方案实施异构内存虚拟机的页面迁移,提升虚拟机的性能;第二,该方案应用在广泛使用的KVM/QEMU平台,提高了方案的适用性。
根据一个优选实施方式,虚拟机和监控层200对于共享内存的访问,可以通过超调用的方式进行加锁互斥的原子操作,以实现共享内存数据的一致性和有效性。
根据一个优选实施方式,该方法可以包括以下步骤中的至少一个:将虚拟机的虚拟MUMA节点110绑定到物理机的物理NUMA节点210;在虚拟机100和监控层200之间建立共享内存的通道;在将包含待迁移的虚拟机页帧号的待迁移冷热页信息写入共享内存;虚拟机从共享内存读取待迁移冷热页信息;和/或由QEMU控制台510控制启动和/或停止页面迁移过程。本发明采用此方式至少能够实现以下有益技术效果:第一,将虚拟机的虚拟NUMA节点绑定到物理机的NUMA节点,给传统的虚拟机提供异构内存的支持,即以这种方式启动的虚拟机为异构内存虚拟机;第二,虚拟机内存为异构内存,可以在虚拟机内部实现跨NUMA节点的页面迁移,完成内存页面的底层介质交换,因此页面迁移时虚拟机不需要停机。
根据一个优选实施方式,该方法可以包括以下步骤中的至少一个:
S100:将虚拟机的虚拟MUMA节点110绑定到物理机的物理NUMA节点210;S200:在虚拟机100和监控层200之间建立共享内存的通道;S300:在将包含待迁移的虚拟机页帧号的待迁移冷热页信息写入共享内存;和/或S400:虚拟机从共享内存读取待迁移冷热页信息。
实施例3
本实施例可以是对实施例1、2或者其结合的进一步改进和/或补充,重复的内容不再赘述。
本实施例公开了一种异构内存虚拟机不停机的内存页面迁移方法,或者说一种内存页面迁移方法,或者说一种计算方法,该方法可以由本发明的系统和/或其他可替代的零部件实现。比如,通过使用本发明的系统中的各个零部件实现本发明的方法。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式的整体和/或部分内容可以作为本实施例的补充。
根据一个优选实施方式,该方法可以包括以下步骤中的至少一个:在虚拟机和监控层200之间建立共享内存的通道;监控层200生成待迁移冷热页信息且将待迁移冷热页信息写入共享内存;虚拟机从共享内存读取待迁移冷热页信息;和虚拟机根据读取的待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程。
根据一个优选实施方式,异构内存可以包括DRAM300和/或NVM400。虚拟机根据读取的待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程之时,可以将写热度相对高的热页面从NVM400迁移到DRAM300。虚拟机根据读取的待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程之时,可以将写热度相对低的冷页面从DRAM300迁移到NVM400。
实施例4
本实施例可以是对实施例1、2、3或者其结合的进一步改进和/或补充,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式的整体和/或部分内容可以作为本实施例的补充。
根据一个优选实施方式,该方法可以包括以下步骤中的至少一个:S1:监控层200物理访问热度的统计;和S2:虚拟机-监控层200协调页面迁移。
根据一个优选实施方式,监控层200物理访问热度的统计,每隔一定的间隔唤醒EPT页表扫描进程220,遍历页表,根据A/D标志位处理EPT表项,将Dirty标志位置位的表项计数加一,同时更新时间戳,综合计数和时间戳信息,使用分层哈希链表维护页面热度信息,选择需要迁移的虚拟机物理页帧。虚拟机-监控层200协调页面迁移,通过QEMU控制台510向KVM发送迁移指令,通知监控层200将冷热页信息写入共享内存,虚拟机读取冷热页信息,在虚拟机内通过专门的内核驱动模块完成页面的迁移。优选地,在本发明中,KVM可以指监控层200,或者说,术语KVM和监控层200可以彼此互换。优选地,专门的内核驱动模块可以是指页面迁移内核驱动模块120。优选地,Dirty标志位是EPT表项上的一个bit位,取值0或1。置位是将该标志位置为1的操作,Dirty标志位已经置位的EPT表项,则表明对应的内存页面被写过,以便统计访问频度统计。
根据一个优选实施方式,所述步骤S1可以包括如下子步骤中的至少一个:KVM定期唤醒EPT页表扫描进程220,遍历页表,根据A/D标志位记录页表的访问频度和时间戳;和/或根据EPT表项的访问频度和时间戳信息,使用分层哈希链表管理冷热页信息,哈希加速查找的过程,根据访问频度将链表的层级分为Hot、Active和Cold三个层级,这三个层级访问频度和扫描级别都递减,以此减少无用的页面扫描,一定间隔后从Hot链表中选取需要从NVM400迁移到DRAM300中的GFN,从Cold链表中选取需要从DRAM300中迁移到NVM400中的GFN,确定两种内存介质需要迁移的页面数量。
根据一个优选实施方式,步骤S2可以包括如下子步骤中的至少一个:虚拟机初始化时绑定虚拟NUMA Node到真机的物理NUMA Node,实现虚拟机异构内存的模拟,通过Guest-Host预留共享内存地址空间传递待迁移的物理页帧;QEMU控制台510通过KVM I/O指令启动、暂停和停止KVM的页面迁移进程,因此可以通知KVM将待迁移的页面信息写入到预留内存中,传递给虚拟机;和虚拟机读取共享内存中的页表信息,获取待迁移的虚拟机物理页帧,使用内核的页面迁移机制完成虚拟机物理页面跨NUMA Node的迁移,实现异构内存物理介质的转换,至此一次页面迁移操作完成。
根据一个优选实施方式,该方法可以包括以下步骤中的至少一个:虚拟机共享内存预留,编写相关功能的内核模块,模块初始化时使用get_free_pages函数获取虚拟机物理页,并标记为保留状态,通过Hypercall系统调用将预留内存的信息传递到KVM监控层200,使用相应的结构体记录。
根据一个优选实施方式,本发明中,虚拟机启动时虚拟NUMA Node绑定,实现虚拟机异构内存的模拟。虚拟机启动后预留的内存地址空间作为待迁移虚拟机物理页帧的存储空间。两者的结合是实现不停机内存页面迁移的支撑技术。
根据一个优选实施方式,EPT页表是Intel处理器对内存虚拟化的硬件优化技术,加快虚拟机地址转换效率,EPT表项包含Access/Dirty标志位,通过Set/Reset操作可以统计页面的访问情况,记录冷热页的信息。热页表示写频繁的页面,冷页表示写较少的页面,尽可能将非易失内存中的热页和DRAM300中的冷页进行内存介质的交换。
根据一个优选实施方式,虚拟机和监控层200对于共享内存的访问,通过Hypercall调用的方式进行加锁互斥的原子操作,实现共享内存数据的一致性和有效性。优选地,Hypercall调用可以是指超调用。
根据一个优选实施方式,该方法可以包括:虚拟机共享内存预留。虚拟机共享内存预留可以包括如下子步骤中的的至少一个:虚拟机初始化时将虚拟机的两个虚拟NUMANode绑定到真机两个物理NUMA Node,实现虚拟机异构内存的模拟;虚拟机启动后插入预留共享内存的模块,向虚拟机申请一定数量的物理页面,标记为预留内存;内存预留完成后,通过内核态编程调用超调用接口,将预留的物理内存信息传递到KVM,具体而言是使用Hypercall接口,传递预留内存的起始地址和大小;KVM接收到虚拟机的预留内存信息后,包括起始地址和大小,存储在对应结构体中,留待地址转换;和/或KVM调用gfn_to_pfn接口将虚拟机申请的物理地址转换为真实物理地址,因此KVM读写这块物理地址时,虚拟机访问预留的内存会同步获取信息,实现虚拟机和监控层200内存的共享。优选地,Hypercall接口可以是指超调用接口。优选地,gfn_to_pfn接口可以是指虚拟机到物理机的地址映射接口。gfn_to_pfn接口的作用是地址翻译,将虚拟机的物理页帧(Guest frame number,gfn)转换为物理机的物理页帧(Physical frame number,pfn)。这样KVM就可以获取虚拟机传递过来的共享内存通道的物理机的物理地址。
根据一个优选实施方式,该方法可以包括:监控层200页面热度的统计。监控层200页面热度的统计可以包括如下子步骤中的至少一个:KVM定期唤醒EPT页表扫描进程220,遍历页表,根据A/D标志位记录页表的访问频次,页表信息记录为{GFN,PFN,Counter,Time}的四元组,包括客户机物理页帧、主机物理页帧、频次和时间戳;和/或根据EPT表项的计数和时间戳信息,使用分层哈希链表管理冷热页信息,哈希加速查找的过程,根据访问频度将链表的层级分为Hot、Active和Cold三个层级,这三个层级访问频度和扫描级别都递减,以此减少无用的页面扫描。固定间隔后从Hot链表中选取需要从NVM400迁移到DRAM300中的GFN,从Cold链表中选取需要从DRAM300中迁移到NVM400中的GFN,确定两种内存介质需要迁移的页面数量。优选地,客户机物理页帧可以是指虚拟机页帧或者虚拟机物理页帧。主机物理页帧可以是指物理机页帧或者物理机物理页帧。优选地,A/D标志位可以是指Access/Dirty标志位。Access/Dirty标志位可以包括Access标志位和/或Dirty标志位。Access标志位可以是指读标志位。Dirty标志位可以是指写标志位。
根据一个优选实施方式,该方法可以包括:虚拟机-监控层200协调页面迁移。虚拟机-监控层200协调页面迁移可以包括如下子步骤中的至少一个:QEMU控制台510向KVM发送页面迁移的指令,激活页面迁移进程,通知KVM将待迁移的虚拟机物理页帧信息写入到预留内存中;虚拟机读取预留内存空间的信息,获取待迁移的虚拟机物理页帧,使用内核迁移机制完成虚拟机物理页面的NUMA Node迁移,完成底层异构内存物理介质转换,实现内存页面的迁移;和/或判断页面迁移流程是否结束,由QEMU控制台510向KVM发送调控指令,结束则退出页面迁移并挂起EPT页表扫描进程220;否则继续实施页面迁移。优选地,在本发明中,页面迁移流程可以是指页面迁移过程。
如本文所用的词语“模块”描述任一种硬件、软件或软硬件组合,其能够执行与“模块”相关联的功能。
需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。

Claims (10)

1.一种异构内存虚拟机不停机的内存页面迁移系统,其特征在于,该系统包括物理机,所述物理机上安装有虚拟机,所述系统被配置为:
在所述虚拟机和监控层之间建立共享内存的通道;
所述监控层生成待迁移冷热页信息且将所述待迁移冷热页信息写入所述共享内存;
所述虚拟机从所述共享内存读取所述待迁移冷热页信息;和
所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程。
2.如权利要求1所述的系统,其特征在于,所述异构内存包括DRAM和NVM,所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程之时,将写热度相对高的热页面从NVM迁移到DRAM,将写热度相对低的冷页面从DRAM迁移到NVM。
3.如前述权利要求之一所述的系统,其特征在于,所述监控层生成待迁移冷热页信息且将所述待迁移冷热页信息写入所述共享内存的处理包括:
所述监控层周期性获取页表的写频度和时间戳;
所述监控层使用分层哈希链表管理总冷热页信息并根据页表的写频度和时间戳更新总冷热页信息;
所述监控层从所述总冷热页信息中提取需要迁移的页面生成待迁移冷热页信息;和
所述监控层将所述待迁移冷热页信息写入所述共享内存。
4.如前述权利要求之一所述的系统,其特征在于,所述监控层使用分层哈希链表管理总冷热页信息并根据页表的写频度和时间戳更新总冷热页信息的处理包括:
根据写频度将分层哈希链表的层级分为至少三个层级,层级越低的链表的写频度和扫描级别越低。
5.如前述权利要求之一所述的系统,其特征在于,所述监控层从所述总冷热页信息中提取需要迁移的页面生成的待迁移冷热页信息是通过从最高层级的链表中选取需要从NVM迁移到DRAM中的虚拟机页帧和从最低层级的链表中选取需要从DRAM中迁移到NVM中的虚拟机页帧来生成待迁移冷热页信息。
6.如前述权利要求之一所述的系统,其特征在于,所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程的处理包括:
通过用户态模拟平台向监控层发送页面迁移的迁移指令,通知监控层将待迁移冷热页信息写入到预留的共享内存中;
所述虚拟机读取待迁移冷热页信息以获取待迁移的虚拟机页帧;和
所述虚拟机使用内核迁移机制完成虚拟机页帧的NUMA节点迁移,通过底层异构内存物理介质转换以实现冷热页的迁移。
7.如前述权利要求之一所述的系统,其特征在于,在虚拟机和/或监控层访问共享内存时,通过超调用的方式进行加锁互斥的原子操作,以实现共享内存数据的一致性和有效性。
8.一种异构内存虚拟机不停机的内存页面迁移方法,其特征在于,该方法包括:
在所述虚拟机和监控层之间建立共享内存的通道;
所述监控层生成待迁移冷热页信息且将所述待迁移冷热页信息写入所述共享内存;
所述虚拟机从所述共享内存读取所述待迁移冷热页信息;和
所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程。
9.如权利要求8所述的方法,其特征在于,所述异构内存包括DRAM和NVM,所述虚拟机根据读取的所述待迁移冷热页信息以不停机的方式在异构内存间执行页面迁移过程之时,将写热度相对高的热页面从NVM迁移到DRAM,将写热度相对低的冷页面从DRAM迁移到NVM。
10.如权利要求8或9所述的方法,其特征在于,所述监控层生成待迁移冷热页信息且将所述待迁移冷热页信息写入所述共享内存的处理包括:
所述监控层周期性获取页表的写频度和时间戳;
所述监控层使用分层哈希链表管理总冷热页信息并根据页表的写频度和时间戳更新总冷热页信息;
所述监控层从所述总冷热页信息中提取需要迁移的页面生成待迁移冷热页信息;和
所述监控层将所述待迁移冷热页信息写入所述共享内存。
CN201910315352.9A 2019-04-18 2019-04-18 一种异构内存虚拟机不停机的内存页面迁移系统 Active CN110134492B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910315352.9A CN110134492B (zh) 2019-04-18 2019-04-18 一种异构内存虚拟机不停机的内存页面迁移系统
US16/774,047 US10810037B1 (en) 2019-04-18 2020-01-28 Live page migration for hybrid memory virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910315352.9A CN110134492B (zh) 2019-04-18 2019-04-18 一种异构内存虚拟机不停机的内存页面迁移系统

Publications (2)

Publication Number Publication Date
CN110134492A true CN110134492A (zh) 2019-08-16
CN110134492B CN110134492B (zh) 2021-04-13

Family

ID=67570313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910315352.9A Active CN110134492B (zh) 2019-04-18 2019-04-18 一种异构内存虚拟机不停机的内存页面迁移系统

Country Status (2)

Country Link
US (1) US10810037B1 (zh)
CN (1) CN110134492B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795213A (zh) * 2019-12-12 2020-02-14 东北大学 一种虚拟机迁移过程中活跃内存预测迁移方法
CN110990122A (zh) * 2019-11-28 2020-04-10 海光信息技术有限公司 一种虚拟机迁移方法和装置
CN111078410A (zh) * 2019-12-11 2020-04-28 Oppo(重庆)智能科技有限公司 内存分配方法、装置、存储介质及电子设备
CN112181870A (zh) * 2020-09-17 2021-01-05 重庆大学 内存页面管理方法、装置、设备及可读存储介质
CN112214302A (zh) * 2020-10-30 2021-01-12 中国科学院计算技术研究所 一种进程调度方法
WO2021032211A1 (zh) * 2019-08-22 2021-02-25 华为技术有限公司 一种虚拟机迁移方法以及设备
CN113434371A (zh) * 2021-08-26 2021-09-24 阿里云计算有限公司 内存访问信息的采集方法、计算设备及存储介质
CN114356213A (zh) * 2021-11-29 2022-04-15 重庆邮电大学 一种numa架构下nvm磨损均衡的并行空间管理方法
CN114442928A (zh) * 2021-12-23 2022-05-06 苏州浪潮智能科技有限公司 实现dram和pmem之间冷热数据迁移的方法及装置
CN115080264A (zh) * 2022-05-18 2022-09-20 江苏华存电子科技有限公司 一种基于内存划分技术的共享内存优化方法及系统
WO2023160358A1 (zh) * 2022-02-24 2023-08-31 阿里巴巴(中国)有限公司 内存扫描方法及装置
WO2023169518A1 (zh) * 2022-03-11 2023-09-14 华为技术有限公司 一种进程管理方法和电子设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration
US20230023696A1 (en) * 2021-07-20 2023-01-26 Vmware, Inc. Migrating virtual machines in cluster memory systems
CN115729667A (zh) * 2021-08-25 2023-03-03 富联精密电子(天津)有限公司 虚拟机迁移方法、电子设备及存储介质
CN113835624A (zh) * 2021-08-30 2021-12-24 阿里巴巴(中国)有限公司 基于异构内存的数据迁移方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577249A (zh) * 2013-11-13 2014-02-12 中国科学院计算技术研究所 虚拟机在线迁移方法与系统
CN104216784A (zh) * 2014-08-25 2014-12-17 杭州华为数字技术有限公司 热点均衡控制方法及相关装置
US20150058522A1 (en) * 2013-08-22 2015-02-26 International Business Machines Corporation Detection of hot pages for partition migration
CN104699424A (zh) * 2015-03-26 2015-06-10 华中科技大学 一种基于页面热度的异构内存管理方法
US20170235764A1 (en) * 2016-02-12 2017-08-17 Nutanix, Inc. Virtualized file server distribution across clusters
US9946569B1 (en) * 2016-02-08 2018-04-17 Nutanix, Inc. Virtual machine bring-up with on-demand processing of storage requests
US20180241838A1 (en) * 2015-10-21 2018-08-23 Huawei Technologies Co., Ltd. Distributed cache live migration
US20190068557A1 (en) * 2017-08-24 2019-02-28 Red Hat, Inc. Efficient migration for encrypted virtual machines by active page copying

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105612499B (zh) * 2013-10-29 2018-11-13 华中科技大学 混合高速缓存管理
CN105786717B (zh) * 2016-03-22 2018-11-16 华中科技大学 软硬件协同管理的dram-nvm层次化异构内存访问方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150058522A1 (en) * 2013-08-22 2015-02-26 International Business Machines Corporation Detection of hot pages for partition migration
CN103577249A (zh) * 2013-11-13 2014-02-12 中国科学院计算技术研究所 虚拟机在线迁移方法与系统
CN104216784A (zh) * 2014-08-25 2014-12-17 杭州华为数字技术有限公司 热点均衡控制方法及相关装置
CN104699424A (zh) * 2015-03-26 2015-06-10 华中科技大学 一种基于页面热度的异构内存管理方法
CN104699424B (zh) * 2015-03-26 2018-06-12 华中科技大学 一种基于页面热度的异构内存管理方法
US20180241838A1 (en) * 2015-10-21 2018-08-23 Huawei Technologies Co., Ltd. Distributed cache live migration
US9946569B1 (en) * 2016-02-08 2018-04-17 Nutanix, Inc. Virtual machine bring-up with on-demand processing of storage requests
US20170235764A1 (en) * 2016-02-12 2017-08-17 Nutanix, Inc. Virtualized file server distribution across clusters
US20190068557A1 (en) * 2017-08-24 2019-02-28 Red Hat, Inc. Efficient migration for encrypted virtual machines by active page copying

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
MATTHEW BENJAMIN OLSON: "Cross-Layer Memory Management to Improve DRAM", 《ACM》 *
SUDARSUN KANNAN: "HeteroOS: OS Design for Heterogeneous Memory Management", 《ACM》 *
王孝远: "面向大数据的异构内存系统", 《大数据》 *
郭晓敏: "异构内存环境下的系统状态管理机制", 《中国优秀硕士学位论文全文数据库》 *
陈吉: "一种支持大页的层次化DRAM/NVM混合内存系统", 《计算机研究与发展》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021032211A1 (zh) * 2019-08-22 2021-02-25 华为技术有限公司 一种虚拟机迁移方法以及设备
CN112416507A (zh) * 2019-08-22 2021-02-26 华为技术有限公司 一种虚拟机迁移方法以及设备
CN110990122A (zh) * 2019-11-28 2020-04-10 海光信息技术有限公司 一种虚拟机迁移方法和装置
CN110990122B (zh) * 2019-11-28 2023-09-08 海光信息技术股份有限公司 一种虚拟机迁移方法和装置
CN111078410A (zh) * 2019-12-11 2020-04-28 Oppo(重庆)智能科技有限公司 内存分配方法、装置、存储介质及电子设备
CN110795213B (zh) * 2019-12-12 2022-06-07 东北大学 一种虚拟机迁移过程中活跃内存预测迁移方法
CN110795213A (zh) * 2019-12-12 2020-02-14 东北大学 一种虚拟机迁移过程中活跃内存预测迁移方法
CN112181870A (zh) * 2020-09-17 2021-01-05 重庆大学 内存页面管理方法、装置、设备及可读存储介质
CN112214302B (zh) * 2020-10-30 2023-07-21 中国科学院计算技术研究所 一种进程调度方法
CN112214302A (zh) * 2020-10-30 2021-01-12 中国科学院计算技术研究所 一种进程调度方法
CN113434371A (zh) * 2021-08-26 2021-09-24 阿里云计算有限公司 内存访问信息的采集方法、计算设备及存储介质
CN114356213A (zh) * 2021-11-29 2022-04-15 重庆邮电大学 一种numa架构下nvm磨损均衡的并行空间管理方法
CN114442928A (zh) * 2021-12-23 2022-05-06 苏州浪潮智能科技有限公司 实现dram和pmem之间冷热数据迁移的方法及装置
CN114442928B (zh) * 2021-12-23 2023-08-08 苏州浪潮智能科技有限公司 实现dram和pmem之间冷热数据迁移的方法及装置
WO2023160358A1 (zh) * 2022-02-24 2023-08-31 阿里巴巴(中国)有限公司 内存扫描方法及装置
WO2023169518A1 (zh) * 2022-03-11 2023-09-14 华为技术有限公司 一种进程管理方法和电子设备
CN115080264A (zh) * 2022-05-18 2022-09-20 江苏华存电子科技有限公司 一种基于内存划分技术的共享内存优化方法及系统

Also Published As

Publication number Publication date
US20200334067A1 (en) 2020-10-22
CN110134492B (zh) 2021-04-13
US10810037B1 (en) 2020-10-20

Similar Documents

Publication Publication Date Title
CN110134492A (zh) 一种异构内存虚拟机不停机的内存页面迁移系统
Aguilera et al. Remote regions: a simple abstraction for remote memory
Shan et al. Distributed shared persistent memory
US7937419B2 (en) Garbage collection via multiobjects
US9182927B2 (en) Techniques for implementing hybrid flash/HDD-based virtual disk files
US20220174130A1 (en) Network attached memory using selective resource migration
CN101477495B (zh) 分布式内存虚拟化技术的实现方法
US9280300B2 (en) Techniques for dynamically relocating virtual disk file blocks between flash storage and HDD-based storage
US10909072B2 (en) Key value store snapshot in a distributed memory object architecture
CN110362504A (zh) 对一致性链路和多级存储器的管理
US10635639B2 (en) Managing deduplicated data
US11656878B2 (en) Fast boot
CN109697016A (zh) 用于改进容器的存储性能的方法和装置
CN106484628A (zh) 基于事务的混合存储器模块
CN107368362A (zh) 一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统
Rumble Memory and object management in RAMCloud
CN108932154A (zh) 一种分布式虚拟机管理器
Lee et al. Gpu snapshot: checkpoint offloading for gpu-dense systems
US20220269614A1 (en) Treating main memory as a collection of tagged cache lines for trace logging
Haria Architecture and Software Support for Persistent and Vast Memory
Lee et al. Optimizing back-and-forth live migration
Shan Distributing and Disaggregating Hardware Resources in Data Centers
US20240095187A1 (en) Logging cache line lifetime hints when recording bit-accurate trace
Abulila Efficient design and optimized crash-consistency support for hybrid memory systems
Kokolis New architectures for non-volatile memory technologies

Legal Events

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