CN110865869B - 一种申威架构上的虚拟机访存特征提取方法及系统 - Google Patents

一种申威架构上的虚拟机访存特征提取方法及系统 Download PDF

Info

Publication number
CN110865869B
CN110865869B CN201911070571.1A CN201911070571A CN110865869B CN 110865869 B CN110865869 B CN 110865869B CN 201911070571 A CN201911070571 A CN 201911070571A CN 110865869 B CN110865869 B CN 110865869B
Authority
CN
China
Prior art keywords
page
memory
virtual machine
memory access
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.)
Active
Application number
CN201911070571.1A
Other languages
English (en)
Other versions
CN110865869A (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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN201911070571.1A priority Critical patent/CN110865869B/zh
Publication of CN110865869A publication Critical patent/CN110865869A/zh
Application granted granted Critical
Publication of CN110865869B publication Critical patent/CN110865869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种申威架构上的虚拟机访存特征提取方法及系统,其通过“热页集”机制、“置位‑中断”方法和“访存失效率曲线”构建方法,获取虚拟机访存序列的重用距离分布、内存缺页率、访内存缺页率曲线,得到虚拟机工作集大小。本发明在申威平台上首次实现了动态访存特征提取提取技术,成功地绘制高精度的内存缺失率曲线并计算出准确的工作集大小,为下一步根据工作集大小进行有效的多虚拟机内存动态调配以提高内存利用率提供基础条件。

Description

一种申威架构上的虚拟机访存特征提取方法及系统
技术领域
本发明涉及服务器内存虚拟化优化领域,尤其涉及一种申威架构上的虚拟机访存特征提取方法及系统。
技术背景
申威架构CPU作为国产CPU的代表之一,已经是一个比较成熟的解决方案。申威服务器已经应用到了国内的许多应用领域,特别是中国政府和有关组织的关键领域。作为具有完全自主产权的国产CPU架构,申威是在国家的控制下发展和管理的,因此能够很好地保证系统的安全性,并适用于多种计算机应用。申威架构服务器未来将参与到更多的高可信、高安全的领域,如云数据存储、大规模数据处理,云计算等。然而,和x86、arm等传统CPU架构相比,申威架构仍有较大的功能和性能差距。特别地,作为云计算技术的基石,申威架构下的虚拟化解决方案虽日渐发展,但在性能方面仍有较大的发展空间。
虚拟化技术是云计算的核心技术。它将每台物理主机的CPU、内存、硬盘、网络等物理资源抽象并封装给了多个虚拟机,提供给用户使用。虚拟机无法直接操作硬件,而是通过虚拟机管理器访问这些资源。虚拟化技术的优势在于,实现了在同一物理节点运行多个不同的操作系统,能够更加充分地利用硬件资源,提高系统利用率,节约能源消耗。此外,虚拟机还具有良好的隔离性。当前申威架构下的虚拟化方案已经有了基本实现,但距离大规模使用还有较大差距,其核心问题在于虚拟化的性能不足。一方面是架构本身的发展尚不完整,对于虚拟化缺少必要的优化支持;另一方面是虚拟化软件层面的优化仍不充分。
虚拟化技术的三个主要方面是CPU虚拟化、内存虚拟化以及IO虚拟化。其中的内存虚拟化最为关键也最为复杂。根据调查,目前国内外知名的云计算平台供应商,其内存等资源的利用率均不足40%。导致这种情况的核心问题是虚拟机对共享资源的竞争。对于一台服务器而言,当其上部署的虚拟机数量过多时,会造成虚拟机之间的相互干扰。考虑到实际的应用场景,一台虚拟机的内存需求是不断变化的。在某一段时间内,某些虚拟机的可用内存往往大于已用内存,而其他虚拟机的可能出现内存不足的情况。针对这种情况,如何计算出虚拟机应用程序在短时间内的内存需求(即工作集大小)就显得极为重要。工作集大小对于指导多虚拟机的内存动态分配具有重要意义。
访存特征提取技术,就是一种动态的工作集测算技术。该技术的实现涉及到CPU架构的特性(如对内存的管理机制)。基于申威架构的特点,我们设计并实现了一种多层协调的虚拟机上应用程序工作集测算方法。这是一种基于最近最少使用栈重用距离与热页集相结合的内存工作集预测的方法,能够高效准确地获得虚拟机高精度的内存失效率曲线;以热页集过滤后采集到的重用次数来确定在申威架构下的虚拟机的实际内存需求。
申威架构虽然缺乏一些虚拟化的硬件支持,但是具有独特的软件灵活性。相较于其他传统CPU架构,申威独有的硬件模式(HMCODE)可以以软件的方式进行各种实现。在HMCODE中,系统可以灵活地操纵各类寄存器,实现对转换检测缓冲区(TranslationLookaside Buffer,TLB)的刷新和填充;通过位标记来直接识别一个页是否需要追踪处理,而且可以跳过不必要的页表代换;申威架构的TLB中,包含虚拟机号(VPN)和用户进程进程号(UPN),这就避免了进程切换需要刷新整个TLB,提高了效率。
发明内容
本发明的目的是在申威架构下实现动态访存特征提取,获取运行时虚拟机上的应用程序工作集大小,进而对虚拟机的内存分配进行指导,以提高虚拟机性能和内存利用率。具体来说,针对申威架构下虚拟机访存的特点,实时地获取虚拟机访存序列,然后得到内存页的重用距离分布,最终绘制访存失效率曲线并计算工作集大小。
本发明所述的“工作集”是指虚拟机上应用程序在一段时间内访问内存量的总和,这是用来衡量虚拟机内存需求的重要指标。通过构建“访存失效率曲线”,定义内存大小与访存失效率的关系,可以确定当前工作集。“访存失效率曲线”描述内存大小和内存缺页率之间关系。曲线的构建需要根据重用距离分布来确定,而重用距离分布是模拟Linux内核页面淘汰机制获得的。
一种申威架构上的虚拟机访存特征提取方法,其步骤包括:
1)清空所述虚拟机的TLB和页表,使访存序列被捕获,并将所述访存序列送入热页集;
2)对离开热页集的页进行置位标记,记录置位标记页的地址,并将所述位置标记页送入LRU栈,以构建重用距离分布;对进入热页集的页若含有置位标记则清除其置位标记,并根据置位标记页的地址进行TLB填充;
3)待访存特征提取过程结束,提取所述访存序列的重用距离分布,计算所述虚拟机的内存缺页率,并绘制访内存缺页率曲线,得到所述虚拟机工作集大小。
进一步地,所述访存序列的方法是被缺页处理函数捕获。
进一步地,所述热页集通过一个有限长度且先进先出队列的方法进行维护。
进一步地,所述置位标记的方法为对内存页进行标记。
进一步地,所述重用距离分布是通过LRU替换算法获取。
进一步地,所述重用距离分布图是通过重用距离分布获得的;所述重用距离分布图横坐标为LRU栈中距离栈顶的位置,纵坐标为当前位置下LRU栈被访问的总次数。
进一步地,所述内存缺页率的计算方法为
Figure BDA0002260809640000031
其中MissRatio(c)为内存缺页率,c为LRU栈中栈的数量,rd[k]为重用距离为k的访问出现的次数。
进一步地,所述内存缺页率曲线的横坐标为所述虚拟机的内存大小,纵坐标为所述虚拟机的内存缺页率。进一步地,所述虚拟机工作集大小是通过用户定义的内存失效率阈值与所述内存缺页率曲线的关系得到的。
一种申威架构上的虚拟机访存特征提取系统,包括:
1)访存序列捕获模块,用以清空所述虚拟机的TLB和页表,使访存序列被捕获,并将所述访存序列送入热页集;
2)重用距离分布构建模块,用以对离开热页集的页进行置位标记,记录置位标记页的地址,并将所述位置标记页送入LRU栈,以构建重用距离分布;对进入热页集的页若含有置位标记则清除其置位标记,并根据置位标记页的地址进行TLB填充;
3)工作集计算模块,用以待访存特征提取过程结束,提取所述访存序列的重用距离分布,计算所述虚拟机的内存缺页率,并绘制访内存缺页率曲线,得到所述虚拟机工作集大小。
与现有技术相比,本发明具有以下有益效果:
1)在申威平台上首次实现了动态访存特征提取提取技术,成功地绘制高精度的内存缺失率曲线并计算出准确的工作集大小;
2)为下一步根据工作集大小进行有效的多虚拟机内存动态调配以提高内存利用率提供基础条件。
附图说明
图1访存特征提取原理图。
图2申威架构下的访存特征提取接口和模块划分图。
图3A申威架构下的一实施例的重用距离分布图。
图3B申威架构下的一实施例的内存缺页率曲线。
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰,下面通过具体实施例和附图对本发明进行进一步详细阐述。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明公开了一种申威架构上的虚拟机访存特征提取方法,本方法的整个机制的实现原理如图1。该访存特征提取方法具体可以分为三个部分:“置位-中断”方法,“访存失效率曲线”构建方法,“热页集”机制。
1、“置位-中断”方法
为了计算工作集大小,系统需要获取虚拟机应用程序的访存序列。在虚拟化环境中,由于TLB和页表的存在,绝大对数的访存都会发生TLB命中或页表代换命中。虚拟机管理器无法感知这类的访存行为,因此我们采用了置位的方式对内存页进行标记,从而所有的被标记页面都会陷入缺页处理函数,以被虚拟机管理器捕获。具体来讲,针对每个64位的页表项,我们规定了一位未使用的位作为标记,每次置位就是对这一位进行置1操作,从而标记该页表项需要被追踪。
2、“热页集”机制
热页集设计的目的就是为了减小页面跟踪带来的开销,只保留有计算工作集价值的长距离重用分布,大幅减少开销。将一段时间内被频繁访问的内存页面称为热页,当前所有热页构成的集合称为热页集。热页集通过一个有限长度先进先出队列来维护。在程序开始运行的时候,程序中的所有内存页面都被初始标记为冷页,所有对冷页的访问都会被跟踪。一旦一个冷页面被访问,根据程序局部性原理,这个页面最近被再次访问的可能性非常大,因而这个正在被访问的冷页会被标记为热页并加入热页集。
图1部分展示了内存页面跟踪中热页集的工作原理,其中热页集是先进先出队列,它记录了所有热页的地址及其他必要信息。如图所示,当程序访问到内存中的冷页面时,触发缺页中断,此时在队列中记录下来的该页的信息,并将其加入到热页集中,即标记为热页。通常热页集都是满的,新页加入到热页集中就需要从热页集中移除一个最老的页面。从热页集中移除的页被重新标记回冷页。
使用热页集的效果是避免了对大量发生在热页上的页面访问的监控跟踪,也就是说,在热页集中的页面都不会发生缺页中断。对于短时间内将会被频繁访问的页面,对它们的访问都被热页集过滤掉,极大地降低了页面跟踪的总量,减小了页面跟踪的时间开销。通过控制热页集大小还可以进一步调节时间开销。
3、“访存失效率曲线”构建方法
模拟最近最久未使用页面置换算法(LRU)是一种标准的基于重用距离计算”访存失效率曲线“的方法。LRU栈式页面淘汰机制是指,利用一个特殊的栈来保存当前使用的各个页面的页面号。每当进程访问某页面时,便将该页面的页面号从栈中移出,将它压入栈顶。因此,栈顶始终是最新被访问页面的编号,而栈底则是最近最久未使用页面的页面号。内存不足时,系统就会淘汰最近最久未使用的页。
“重用距离”是指一个页面在LRU栈中再次被访问时距离栈顶的距离,即连续两次访问之间,有多少个不同的页面被访问。重用距离分布为rdd,rd[i]表示重用距离为i的访问出现的次数。那么对于任意给定具有c个栈的LRU栈,即内存有c个不同页可用。两次连续访问,第二次访问能否命中和两次访问的重用距离有关。如果两次访问重用距离大于c,第二次访问时该页面已经被淘汰出LRU栈,就会发生访存失效。反之,如果两次访问重用距离小于c,连续两次访问中间隔的其他元素无法填满大小为c的栈,当前页还在栈中,会发生访存命中。因此栈大小为c(即可用内存的页数为c)的内存缺页率计算公式为:
Figure BDA0002260809640000051
据此计算出任意内存大小时的缺页率,进而绘制内存缺页率曲线,所述内存缺页率曲线的横坐标为虚拟机的内存大小,纵坐标为内存缺页率。定义用户可接受的内存失效率阈值,在访存失效率曲线上可以对应到内存大小作为工作集。
一种申威架构上的虚拟机访存特征提取系统,其模块划分与接口实现如图2所示。在用户模式(User)的虚拟机运行各类应用进行内存的访问;在内核模式(Kernel)中,我们定义了缺页处理模块,热页集过滤器和LRU模块,分别用于捕获访存序列,过滤访存数据,获取重用距离分布;在硬件模块(HMCODE)中,定义了TLB脱靶处理模块和缺页处理接口,前者用于判断TLB脱靶后的页是否是被标记进行内存追踪的页,后者通过Pri_ret快速进入内核模式。
启动开关定义在内核模式中,开启虚拟机访存特征提取之后,内核会通过sys_call进入硬件模式刷新该虚拟机的TLB和页表,以保证之后的访存都会发生第一次缺页中断而被虚拟机管理器捕获。
缺页中断模块位于内核模式,用于捕获访存序列。访存序列会首先进入热页集,直到热页集被填满,则从热页集离开的页就会进入LRU栈,同时这部分页被置位并刷新相应的TLB,以保证可以发生特定的缺页中断。进入LRU模块的页面会被记录页的地址并依照LRU替换算法进行模拟,在每个LRU栈元素的地方都会进行计数,一旦在栈中的页再次被访问,就会增加一次该位置的计数,这也就是重用距离分布的统计。
在访存过程中,被标记的页由于TLB被刷新,必然会发生TLB脱靶,从而被TLB脱靶模块捕获。针对被标记的页,TLB脱靶处理模块会直接跳过页表代换而调用缺页处理接口。这类页面本身是不需要发生TLB脱靶和页表代换的,而是因为特征提取施加的影响导致。该页面被标记则必然在LRU栈结构中,当该页面陷入到缺页处理模块后,会首先清除该页表项置位标记,然后进入热页集,最后会直接根据标记时记录的地址进行TLB填充,以保证下次不会发生缺页中断。
关闭访存特征提取,系统会记录重用距离分布,并根据上述的内存缺失率计算公式绘制内存缺失率曲线,并得出工作集。
下述以使用访存特征提取方法提取SPECCPU 2017程序——508.namd_r为一实施例。
应用程序508.name_r属于SPECCPU2017程序集,是一个分子动力学模型程序。为了对比验证访存特征提取方法的有效性,我们首先在x86架构下,使用Intel Pin工具获取该测试程序前500万条指令的访存地址,并通过LRU栈式方法进行模拟,计算出该程序所需的内存页的总量约为32000个。在x86架构下,内存页的大小为4KB,所以,总的内存需求(工作集)约为125MB。
下述在申威架构下进行实施,其访存特征提取的具体实施步骤如下:
1、启动虚拟机一段时间,直到系统稳定;
2、运行测试程序508.namd_r;
3、开启访存特征提取3秒;
a)系统清空该虚拟机的TLB和页表;
b)程序的所有访存均发生缺页中断,访存序列在缺页中断处理函数中被捕获;
c)访存序列填充热页集,直到热页集满,离开热页集的页面被置位标记,记录页的地址,并进入栈依照LRU替换算法来构建重用距离分布;
d)被置位的页会再次发生缺页中断,进入热页集,取消置位,根据置位时记录的页的地址和其他相关信息(UPN、VPN),填充TLB;
e)重复b、c两个过程;
4、关闭访存特征提取;
5、在指定路径下获得508.name_r的重用距离分布图、内存缺页率曲线、工作集。
实验的结果如图3A和图3B所示。图3A是该程序的重用距离分布图,横坐标为重用距离,代表着LRU栈中距离栈顶的位置;纵坐标为重用次数,代表着当前位置下LRU栈被访问的总次数。重用距离小于6400的部分均为空是因为热页集的大小设定为6400,热页集成功过滤掉了大部分的短距离重用,保留了长距离的重用。图3B是该程序的内存缺页率曲线,两图是一一对应的。由图3A可知,最大的重用距离约16000,因为申威架构下的页大小为8KB,所以图3B中的内存大小(即工作集)为125MB。这一数值符合也预实验验证结果。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

1.一种申威架构上的虚拟机访存特征提取方法,其步骤包括:
1)清空所述虚拟机的TLB和页表,使访存序列被捕获,并将所述访存序列送入热页集;
2)对离开热页集的页进行置位标记,记录置位标记页的地址,并将所述置位标记页送入LRU栈,以构建重用距离分布;对进入热页集的页若含有置位标记则清除其置位标记,并根据置位标记页的地址进行TLB填充;
3)待访存特征提取过程结束,提取所述访存序列的重用距离分布,计算所述虚拟机的内存缺页率,并绘制访内存缺页率曲线,得到所述虚拟机工作集大小。
2.如权利要求1所述的方法,其特征在于,所述访存序列的方法是被缺页处理函数捕获。
3.如权利要求1所述的方法,其特征在于,所述热页集通过一个有限长度且先进先出队列的方法进行维护。
4.如权利要求1所述的方法,其特征在于,所述置位标记的方法为对内存页进行标记。
5.如权利要求1所述的方法,其特征在于,所述重用距离分布是通过LRU替换算法获取。
6.如权利要求5所述的方法,其特征在于,重用距离分布图是通过重用距离分布获得的;
所述重用距离分布图横坐标为LRU栈中距离栈顶的位置,纵坐标为当前位置下LRU栈被访问的总次数。
7.如权利要求1所述的方法,其特征在于,所述内存缺页率的计算方法为
Figure FDA0003397211770000011
Figure FDA0003397211770000012
其中MissRatio(c)为内存缺页率,c为LRU栈中栈的数量,rd[k]为重用距离为k的访问出现的次数。
8.如权利要求7所述的方法,其特征在于,所述内存缺页率曲线的横坐标为所述虚拟机的内存大小,纵坐标为所述虚拟机的内存缺页率。
9.如权利要求8所述的方法,其特征在于,所述虚拟机工作集大小是通过用户定义的内存失效率阈值与所述内存缺页率曲线的关系得到的。
10.一种申威架构上的虚拟机访存特征提取系统,包括:
1)访存序列捕获模块,用以清空所述虚拟机的TLB和页表,使访存序列被捕获,并将所述访存序列送入热页集;
2)访存序列置位模块,用以对离开热页集的页进行置位标记,记录置位标记页的地址,并将所述置位标记页送入LRU栈,以构建重用距离分布;对进入热页集的页若含有置位标记则清除其置位标记,并根据置位标记页的地址进行TLB填充;
3)工作集计算模块,用以待访存特征提取过程结束,提取所述访存序列的重用距离分布,计算所述虚拟机的内存缺页率,并绘制访内存缺页率曲线,得到所述虚拟机工作集大小。
CN201911070571.1A 2019-11-05 2019-11-05 一种申威架构上的虚拟机访存特征提取方法及系统 Active CN110865869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911070571.1A CN110865869B (zh) 2019-11-05 2019-11-05 一种申威架构上的虚拟机访存特征提取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911070571.1A CN110865869B (zh) 2019-11-05 2019-11-05 一种申威架构上的虚拟机访存特征提取方法及系统

Publications (2)

Publication Number Publication Date
CN110865869A CN110865869A (zh) 2020-03-06
CN110865869B true CN110865869B (zh) 2022-05-03

Family

ID=69653092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911070571.1A Active CN110865869B (zh) 2019-11-05 2019-11-05 一种申威架构上的虚拟机访存特征提取方法及系统

Country Status (1)

Country Link
CN (1) CN110865869B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297102B (zh) * 2021-05-11 2022-07-12 北京大学 一种基于地址过滤的动态缓存失效率曲线生成方法
CN117762830A (zh) * 2022-09-26 2024-03-26 华为技术有限公司 物理页的冷热识别方法、装置、芯片以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885838A (zh) * 2014-03-27 2014-06-25 北京大学 一种获取虚拟机内存工作集的方法及内存优化分配方法
CN103885815A (zh) * 2014-03-24 2014-06-25 北京大学 一种基于热页迁移的虚拟机动态缓存方法
CN106293881A (zh) * 2016-08-11 2017-01-04 上海交通大学 一种基于非一致性i/o访问构架的性能监控器及其监控方法
US10095632B1 (en) * 2017-05-23 2018-10-09 International Business Machines Corporation Memory affinity management
CN108920254A (zh) * 2018-06-27 2018-11-30 中国科学技术大学 一种基于细粒度的内存分配方法
CN109522087A (zh) * 2018-09-13 2019-03-26 上海交通大学 基于处理器的虚拟机构建方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885815A (zh) * 2014-03-24 2014-06-25 北京大学 一种基于热页迁移的虚拟机动态缓存方法
CN103885838A (zh) * 2014-03-27 2014-06-25 北京大学 一种获取虚拟机内存工作集的方法及内存优化分配方法
CN106293881A (zh) * 2016-08-11 2017-01-04 上海交通大学 一种基于非一致性i/o访问构架的性能监控器及其监控方法
US10095632B1 (en) * 2017-05-23 2018-10-09 International Business Machines Corporation Memory affinity management
CN108920254A (zh) * 2018-06-27 2018-11-30 中国科学技术大学 一种基于细粒度的内存分配方法
CN109522087A (zh) * 2018-09-13 2019-03-26 上海交通大学 基于处理器的虚拟机构建方法和系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A novel memory allocation scheme for memory energy reduction in virtualization environment;Xiaofei Liao, Hai Jin,Shizhan Yu,Yu Zhang;《Journal of Computer and System Sciences》;20140618;全文 *
Mbalancer:虚拟机内存资源动态预测与调配;王志钢,汪小林,靳辛欣,王振林,罗英伟;《软件学报》;20141031;全文 *
VMCTune: A Load Balancing Scheme for Virtual Machine Cluster Based on Dynamic Resource Alloction;Wenyu Zhou,Shoubao Yang,Jun Fang,Xianlong Niu,Hu Song;《2010 Ninth International Conference on Grid and Cloud Computing》;20110113;全文 *
异构平台系统虚拟机优化技术研究;董卫宁;《万方数据》;20160914;全文 *

Also Published As

Publication number Publication date
CN110865869A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
Lu et al. Virtual Machine Memory Access Tracing with Hypervisor Exclusive Cache.
Awad et al. Avoiding TLB shootdowns through self-invalidating TLB entries
US9189410B2 (en) Hypervisor-based flash cache space management in a multi-VM environment
CN103577335B (zh) 一种内存垃圾回收系统及方法
KR101761301B1 (ko) 메모리 자원 최적화 방법 및 장치
US8457943B2 (en) System and method for simulating a multiprocessor system
US10949342B2 (en) Persistent memory garbage collection
EP2772853B1 (en) Method and device for building memory access model
CN101814049A (zh) 一种内存泄漏探测方法
CN110865869B (zh) 一种申威架构上的虚拟机访存特征提取方法及系统
CN106293881B (zh) 一种基于非一致性i/o访问构架的性能监控器及其监控方法
CN110297787B (zh) I/o设备访问内存的方法、装置及设备
US20220269615A1 (en) Cache-based trace logging using tags in system memory
CN106202459A (zh) 虚拟化环境下的关系型数据库存储性能优化方法及系统
Qiao et al. Hermit:{Low-Latency},{High-Throughput}, and Transparent Remote Memory via {Feedback-Directed} Asynchrony
CN106681830B (zh) 一种任务缓存空间监测方法和装置
CN101808141B (zh) 一种基于虚拟化平台的宿主客户机协同换页的方法
CN109189739A (zh) 缓存空间回收方法和装置
US9208080B2 (en) Persistent memory garbage collection
CN108628678B (zh) 内存参数的确定方法、装置及设备
CN103136571B (zh) 一种智能卡系统
Maas et al. Grail quest: A new proposal for hardware-assisted garbage collection
CN103970679A (zh) 一种动态缓存污染防治系统及方法
Park et al. Memory efficient fork-based checkpointing mechanism for in-memory database systems
CN117056363B (zh) 数据缓存方法、系统、设备以及存储介质

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