依需合并具有相同内容的页面的方法和系统技术方案

技术编号:15616021 阅读:33 留言:0更新日期:2017-06-14 03:21
本发明专利技术提供一种依需合并具有相同内容的页面的方法和系统。其中该依需合并具有相同内容的页面的方法包括:检测到指示在内存中合并候选页面的事件;基于该候选页面的当前数目、合并页面的当前数目以及代表合并页面与候选页面比值的合并比,预测合并增益;以及当确定该合并增益大于阈值时,进行扫描和合并操作,以将具有相同内容且未被合并的候选页面集合合并为具有该相同内容的单个页面。通过利用本发明专利技术,可改善系统性能。

【技术实现步骤摘要】
依需合并具有相同内容的页面的方法和系统
本专利技术有关于内存(memory)管理,且尤其有关于具有相同内容的内存单元的依需(on-demand)共享。
技术介绍
在现代计算系统中,多个进程可能使用具有同样(identical)内容的内存页面(memorypage)。计算系统可能是非虚拟化的(non-virtualized),如进程可运行在相同的操作系统(OperatingSystem,OS)上。计算系统也可能是虚拟化的,如进程可运行在各虚拟机中的各客户操作系统(guestoperatingsystem)上,其中各虚拟机由主操作系统(hostoperatingsystem)管理。一般来说,操作系统(或主操作系统)利用内存管理技术来降低内存内容中的重复(duplication),使得内存的利用更高效。在计算系统中,一个页面(通常4K字节大小)是基本内存单元。一个页面占据连续的内存地址块。物理地址空间中的页面被称为物理页面(physicalpage),且进程的虚拟地址空间中的页面被称为虚拟页面。页面表(pagetable)用来将虚拟页面的虚拟地址映射到物理页面的物理地址。当两个物理页面具有相同的内容时,两个页面可合并(merge)为一个页面,使得另一页面原本占据的物理内存空间可被释放(freed)和再使用(reused)。映射到两个物理页面的两个虚拟页面可保持其虚拟地址不变。两个页面合并之后,页面表可随之改变,以将两个虚拟页面映射到同一物理页面。计算系统可能包含大量具有相同内容的页面。然而,识别(identify)和合并这些页面的操作可能会造成大量系统开销(overhead)。因此,需要一种机制,来高效进行合并操作。
技术实现思路
有鉴于此,本专利技术提供一种依需合并具有相同内容的页面的方法,包括:检测到指示在内存中合并候选页面的事件;基于该候选页面的当前数目、合并页面的当前数目以及代表合并页面与候选页面比值的合并比,预测合并增益;以及当确定该合并增益大于阈值时,进行扫描和合并操作,以将具有相同内容且未被合并的候选页面集合合并为具有该相同内容的单个页面。本专利技术另提供一种系统,用来依需合并具有相同内容的页面,该系统包括:内存;以及一个或多个处理装置,耦接至该内存,该一个或多个处理装置用来检测指示在内存中合并候选页面的事件;基于该候选页面的当前数目、合并页面的当前数目以及代表合并页面与候选页面比值的合并比,预测合并增益;以及当确定该合并增益大于阈值时,进行扫描和合并操作,以将具有相同内容且未被合并的候选页面集合合并为具有该相同内容的单个页面。通过利用本专利技术,可改善系统性能。如下详述本专利技术的最佳实施例。阅读完以下描述和附图后,本领域技术人员可轻易理解本专利技术的精神。附图说明图1是根据一实施例的系统的示意图。图2是根据本专利技术一实施例的合并和分离操作的示范性示意图。图3是根据本专利技术一实施例的扫描和合并操作的示范例的时间轴示意图。图4是根据本专利技术一实施例的系统高效共享内存的方法的流程图。图5是根据本专利技术一实施例的依需合并具有相同内容的页面的方法的流程图。具体实施方式在本专利说明书及权利要求当中使用了某些词汇来指称特定的组件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本专利说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及请求项当中所提及的“包含”或“包括”为开放式的用语,故应解释成“包含但不限定于”;“组件”、“系统”和“设备”意指与计算机有关的实体,可为硬件、软件或硬件以及软件的组合。另外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或透过其他装置或连接手段间接地电气连接至该第二装置。本专利技术的实施例提供依需合并具有相同内容的页面的系统和方法。运行时(atruntime)的系统持续监测系统的状态,以检测指示进程间需要共享内存的事件。当检测到上述事件时,系统基于已知合并比(mergeratio)预测合并增益(mergegain)。当所预测合并增益超过阈值时,可对候选页面(candidatepage)进行扫描和合并操作。扫描和合并操作首先扫描候选页面,以识别具有相同内容且未被合并的页面;并在随后合并这些识别出的页面。若所预测合并增益未超过阈值,系统将推迟(holdoff)扫描和合并操作,直到所预测合并增益超过阈值时的下一事件发生。在一实施例中,内存被划分为具有固定尺寸(如4K字节)的物理页面。一些物理页面可能具有相同的内容,并可被合并以节省内存。举例来说,假定物理页面PG1和PG2具有相同的内容。PG1和PG2分别映射到虚拟页面VPG1和VPG2。也就是说,VPG1具有指向PG1的指针(pointer)P1,VPG2具有指向PG2的指针P2。虚拟页面是存在于进程或程序的虚拟地址空间中的页面。当操作系统将虚拟页面映射到物理页面时,虚拟页面被分配内存,如可通过给该虚拟页面指定(assign)指向所分配物理页面的指针。当PG2合并到PG1时,其指针P2被修改为指向PG1。如此一来,指针P1和P2均指向PG1。合并后,PG1被称为共享页面(sharedpage),其合并计数(mergecount)为2,且PG2的4K字节空间可从其当前进程中释放,并可被另一进程再使用。因此,扫描和合并进程允许同一物体页面被多个进程共享,因而可改善内存利用率。除非明确指示,以下段落中术语“页面”指“物理页面”。在一实施例中,作为合并候选的页面被称为候选页面。在一实施例中,候选页面为匿名页面(anonymouspage),其已被分配给进程或程序。LinuxTM系统中的匿名页面并非文件系统中任何文件的一部分,并可位于程序的数据或堆栈空间。在另一些实施例中,扫描和合并操作也可用于其他页面类型。尽管LinuxTM的一些技术可在此用作示范例,应可理解,本专利技术中的扫描和合并操作可适用于任何系统。图1是根据一实施例的系统100的示意图。系统100包括一个或多个处理装置110,其中处理装置110耦接至内存130和显示器(display)150。处理装置的示范例包括但不限于中央处理单元(CentralProcessingUnit,CPU)、图形处理单元(GraphicsProcessingUnit,GPU)、数字信号处理器(DigitalSignalProcessor,DSP)、通用处理器(general-purposeprocessor)和特殊用途处理器(special-purposeprocessor)。应可理解,其他系统元件省略,以简化说明。在一实施例中,系统100以及/或者处理装置110可作为片上系统(system-on-a-chip,SoC)实现。在一实施例中,系统100可为移动计算以及/或者通信装置(如智能手机、平板电脑、笔记本电脑等)的一部分。在另一实施例中,系统100可为服务器的一部分。在一实施例中,内存130可为动态随机存取内存(DynamicRandomAccessMemory,DRAM),或者可为其他易失性或非易失性随机存取内存。显示器150可具有由周期性V本文档来自技高网
...
依需合并具有相同内容的页面的方法和系统

【技术保护点】
一种依需合并具有相同内容的页面的方法,包括:检测到指示在内存中合并候选页面的事件;基于该候选页面的当前数目、合并页面的当前数目以及代表合并页面与候选页面比值的合并比,预测合并增益;以及当确定该合并增益大于阈值时,进行扫描和合并操作,以将具有相同内容且未被合并的候选页面集合合并为具有该相同内容的单个页面。

【技术特征摘要】
2015.11.30 US 62/260,729;2016.06.24 US 15/191,7581.一种依需合并具有相同内容的页面的方法,包括:检测到指示在内存中合并候选页面的事件;基于该候选页面的当前数目、合并页面的当前数目以及代表合并页面与候选页面比值的合并比,预测合并增益;以及当确定该合并增益大于阈值时,进行扫描和合并操作,以将具有相同内容且未被合并的候选页面集合合并为具有该相同内容的单个页面。2.如权利要求1所述的依需合并具有相同内容的页面的方法,其特征在于,该事件在可用内存的数目降到或被预测降到低于第一阈值时被检测到,以及/或者该事件在已改变内存内容的数目升到或被预测升到高于第二阈值时被检测到。3.如权利要求1所述的依需合并具有相同内容的页面的方法,其特征在于,该合并增益指示另一扫描和合并操作对该候选页面集合进行后,该合并页面的数目的增加。4.如权利要求1所述的依需合并具有相同内容的页面的方法,其特征在于,进一步包括:在每次扫描和合并操作之后,以及在每次对合并页面进行写时拷贝操作之后,更新该合并页面的该当前数目。5.如权利要求1所述的依需合并具有相同内容的页面的方法,其特征在于,该阈值和该合并比中的至少一个在运行时进行调整。6.如权利要求5所述的依需合并具有相同内容的页面的方法,其特征在于,在确定该合并增益不大于该阈值时,该阈值和该合并比中的至少一个被调整。7.如权利要求1所述的依需合并具有相同内容的页面的方法,其特征在于,检测该事件进一步包括:确定可用内存是否支持该合并和扫描操作。8.如权利要求1所述的依需合并具有相同内容的页面的方法,其特征在于,进一步包括:基于在内存应用场景集合以及/或者硬件平台集合上收集的分析数据确定该合并比。9.如权利要求1所述的依需合并具有相同内容的页面的方法,其特...

【专利技术属性】
技术研发人员:洪启仁李中荣郑秦辉陈家明
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾,71

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

1