当前位置: 首页 > 专利查询>邻客音公司专利>正文

应用层管理的存储器高速缓存制造技术

技术编号:14275685 阅读:84 留言:0更新日期:2016-12-24 17:29
本发明专利技术涉及应用层管理的存储器高速缓存。为了防止数据颠簸和造成的性能下降,一种计算机系统可以维护应用层高速缓存空间,以更有效地使用物理存储器、因此显著提高应用存储器命中率并减少盘输入-输出操作。具体而言,计算机系统可以维护从操作系统的默认页面高速缓存分离的管理的存储器高速缓存。管理的存储器高速缓存可以根据从用来管理页面高速缓存的规则分离的预定义的高速缓存规则来管理。另外,管理的存储器高速缓存中的数据条目中的至少一个数据条目可以具有比页面高速缓存的最小页面大小更小的页面大小。另外,管理的存储器高速缓存中的数据条目中的至少一些数据条目可以具有不同页面大小并且更一般地具有不同关联预定义的高速缓存规则。

【技术实现步骤摘要】

描述的实施例涉及用于高速缓存规则的技术。更具体地,描述的实施例涉及用于在具有应用层高速缓存规则的管理的存储器高速缓存中的规则的应用层高速缓存的技术。
技术介绍
应用越来越多地使用存储器映射的文件以管理它们的数据以便实现提高的性能。存储器映射(mmap)的文件提供在计算机系统的虚拟存储器空间与盘文件之间的数据映射。这可以允许在计算机系统的环境中执行的应用在它们读取/写入映射的文件时访问虚拟存储器。另外,在应用从盘文件读取数据时,对应页面(例如对于示例操作系统而言,通常每个为4kB)在存储器中被分配并且由来自盘的数据填充,从而以后读取/写入访问可以应用于存储器页面而不是盘文件。通过在操作系统中使用这一页面高速缓存技术以高速缓存数据,存储器映射的文件可以避免消耗时间的盘输入/输出(IO)操作。具体而言,对存储器映射的文件的读取和写入通常比传统盘文件操作更快,这是因为盘文件操作依赖于系统调用并且涉及到在用户空间与内核空间之间的数据复制。一般而言,系统调用比访问本地存储器显著地更慢。此外,访问存储器映射的文件通常不造成在用户空间与内核空间之间的数据复制。当映射的数据可以被完全地加载到物理随机存取存储器(RAM)中时,在其中数据读取访问产生“页面高速缓存命中”的场景中,存储器映射特别好地工作。然而,随着数据大小增加超出物理RAM的大小(并且更具体地,超出可以用于操作系统页面高速缓存的物
理RAM的大小),由于与“页面高速缓存未命中”和盘IO关联的性能成本,而造成对存储器映射的文件的初级使用可能显著地降低的性能。在本讨论中,注意“物理RAM”表示最大页面高速缓存大小。此外,注意一般而言,来自应用(例如数据库查询)的读取访问通常是阻止(block),而应用的写入访问通常是非阻止(non-blocking)。因而,读取访问比写入性能更可能影响应用性能。因此,存储器映射的文件可能造成严重存储器低效率问题。具体而言,对于使用大小比物理RAM更大的数据的应用,并非所有应用可以一次被加载到存储器中。(注意如这里所用“数据大小”是指“工作数据大小”、即应用实际地访问的数据量。)因而,尝试高速缓存新数据可能使一些页面从存储器被驱逐。然而,以后在需要驱逐的数据时,它们将需要再次被带入存储器中、由此驱逐其它数据(称为“数据颠簸(trashing)”)。数据颠簸可能引起多于必需的盘读取IO。由于盘IO通常缓慢(并且可能容易地变成整个计算机系统的性能瓶颈),所以在数据颠簸出现时,经常增加应用响应时间,并且对存储器映射的使用可能矛盾地降低总体性能。
技术实现思路
本专利技术的实施方式提供了一种用于高速缓存信息的计算机实施的方法,该方法包括:创建从操作系统页面高速缓存分离的管理的存储器高速缓存,其中管理的存储器高速缓存根据从用来管理页面高速缓存的操作系统高速缓存规则分离的预定义的高速缓存规则来管理,其中:管理的存储器高速缓存中的至少一个数据条目具有比页面高速缓存的最小页面大小更小的页面大小;以及管理的存储器高速缓存中的多个数据条目具有不同的页面大小;以及使用计算机来基于预定义的规则在管理的存储器高速缓存中存储信息。本专利技术的实施方式提供了一种装置,包括:一个或者多个处理器;存储器;以及程序模块,其中程序模块被存储在存储器中,并且在装置的操作期间由一个或者多个处理器执行以高速缓存信息,程序
模块包括:用于创建从操作系统页面高速缓存分离的管理的存储器高速缓存的指令,其中管理的存储器高速缓存根据从用来管理页面高速缓存的操作系统高速缓存规则分离的预定义的高速缓存规则来管理,其中:管理的存储器高速缓存中的至少一个数据条目具有比页面高速缓存的最小页面大小更小的页面大小;以及管理的存储器高速缓存中的多个数据条目具有不同页面大小;以及用于基于预定义的规则在管理的存储器高速缓存中存储信息的指令。本专利技术的实施方式提供了一种系统,包括:处理模块,包括存储指令的非瞬态计算机可读介质,指令在被执行时使系统:创建从操作系统页面高速缓存分离的管理的存储器高速缓存,其中管理的存储器高速缓存根据从用来管理页面高速缓存的操作系统高速缓存规则分离的预定义的高速缓存规则来管理,其中:管理的存储器高速缓存中的至少一个数据条目具有比页面高速缓存的最小页面大小更小的页面大小;以及管理的存储器高速缓存中的多个数据条目具有不同页面大小;以及基于预定义的规则在管理的存储器高速缓存中存储信息。附图说明图1是图示现有高速缓存技术中的数据颠簸的附图。图2是图示现有高速缓存技术中的操作系统页面高速缓存的附图。图3是图示根据本公开内容的一个实施例的操作系统页面高速缓存和管理的存储器高速缓存中的附图。图4是图示根据本公开内容的一个实施例的应用层高速缓存技术中的部件的附图。图5是图示根据本专利技术的一个示例的与管理的存储器高速缓存关联的哈希表的附图。图6是图示根据本公开内容的一个实施例的用于高速缓存数据的方法的流程图。图7是图示根据本专利技术的一个实施例的用于动态地确定高速缓存大小的方法的流程图。图8是图示根据本公开内容的一个实施例的用于替换数据的方法的流程图。图9是图示根据本公开内容的一个实施例的用于预取数据的方法的流程图。图10是图示根据本公开内容的一个实施例的用于添加/去除高速缓存条目的方法的流程图。图11是图示根据本公开内容的一个实施例的改变高速缓存粒度的方法的流程图。图12是图示根据本公开内容的一个实施例的改变高速缓存粒度的方法的流程图。图13是图示根据本公开内容的一个示例的执行图6-12的方法的计算机系统的框图。表1提供根据本公开内容的一个实施例的预取的存储器映射(mmap)的文件。注意,贯穿附图,相似标号是指对应的部分。另外,相同部分的多个实例由被破折号从实例编号分离的公共前缀标明。具体实施方式为了防止数据颠簸和造成的性能下降,一种计算机系统可以维护应用层高速缓存空间以更有效地使用物理存储器,因此显著地提高应用存储器命中率和减少盘输入-输出操作。具体而言,计算机系统可以维护从操作系统的默认页面高速缓存分离的管理的存储器高速缓存。管理的存储器高速缓存可以根据预定义的高速缓存规则来管理,该预定义的高速缓存规则是从操纵系统中的用来管理页面高速缓存的高速缓存规则分离的。另外,管理的存储器高速缓存中的数据条目中的至少一个数据条目可以具有比页面高速缓存的最小页面大小更小的页面大小。另外,管理的存储器高速缓存中的数据条
目中的至少一些数据条目可以具有不同页面大小,并且更一般地,可以具有不同关联预定义的高速缓存规则(比如应用层或者数据特有高速缓存规则)。这一应用层高速缓存技术可以显著地提高存储器使用效率和计算机系统的性能。具体而言,应用层高速缓存技术可以:将有用数据更密集地打包到存储器中;降低高速缓存未命中和数据颠簸;降低盘-文件读取和操作系统级的预获取;允许使用多种不同(应用认知)高速缓存替换技术;以及动态地确定高速缓存大小和高速缓存粒度。共同地,即使在工作数据大小超过可用于文件或者页面高速缓存的物理存储器时,应用层高速缓存技术的这些特征可以帮助保证对文件的存储器映射仍然提高性能。现在描述应用层高速缓存技术、它的使用和计算机系统的实施例。与存储器映射关联的性能问题通常是对本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201510191090.html" title="应用层管理的存储器高速缓存原文来自X技术">应用层管理的存储器高速缓存</a>

【技术保护点】
一种用于高速缓存信息的计算机实施的方法,所述方法包括:创建从操作系统页面高速缓存分离的管理的存储器高速缓存,其中所述管理的存储器高速缓存根据从用来管理所述页面高速缓存的操作系统高速缓存规则分离的预定义的高速缓存规则被管理,其中:所述管理的存储器高速缓存中的至少一个数据条目具有比所述页面高速缓存的最小页面大小更小的页面大小;以及所述管理的存储器高速缓存中的多个数据条目具有不同的页面大小;以及使用所述计算机来基于所述预定义的规则在所述管理的存储器高速缓存中存储所述信息。

【技术特征摘要】
2015.02.17 US 14/624,1881.一种用于高速缓存信息的计算机实施的方法,所述方法包括:创建从操作系统页面高速缓存分离的管理的存储器高速缓存,其中所述管理的存储器高速缓存根据从用来管理所述页面高速缓存的操作系统高速缓存规则分离的预定义的高速缓存规则被管理,其中:所述管理的存储器高速缓存中的至少一个数据条目具有比所述页面高速缓存的最小页面大小更小的页面大小;以及所述管理的存储器高速缓存中的多个数据条目具有不同的页面大小;以及使用所述计算机来基于所述预定义的规则在所述管理的存储器高速缓存中存储所述信息。2.根据权利要求1所述的方法,其中所述管理的存储器高速缓存中的数据条目的页面大小基于与在所述操作系统的环境中的所述计算机上执行的应用关联的数据访问模式被动态地确定。3.根据权利要求1或者2所述的方法,其中:存储所述信息包括替换所述管理的存储器高速缓存中存储的附加信息;以及所述附加信息基于与在所述操作系统的环境中的所述计算机上执行的应用关联的数据访问模式被替换。4.根据权利要求1或者2所述的方法,其中:所述方法还包括在存储所述信息时维护所述管理的存储器高速缓存中的附加信息;以及所述附加信息基于与在所述操作系统的环境中的所述计算机上执行的应用关联的数据访问模式被维护。5.根据任一前述权利要求所述的方法,还包括:基于与在所述计算机上的所述操作系统的环境中执行的应用关联的数据访问模式,将所述管理的存储器高速缓存中的相邻数据条目合并成单个数据条目。6.根据任一前述权利要求所述的方法,还包括:基于与在所述计算机上的所述操作系统的环境中执行的应用关联的数据访问模式,将所述管理的存储器高速缓存中的数据条目分离成两个或者更多个分离数据条目。7.根据任一前述权利要求所述的方法,其中所述管理的存储器高速缓存中的数据条目基于哈希表被组织。8.根据任一前述权利要求所述的方法,其中所述管理的存储器高速缓存被实施在虚拟存储器中。9.根据任一前述权利要求所述的方法,其中所述管理的存储器高速缓存被实施在物理存储器中。10.根据任一前述权利要求所述的方法,其中所述管理的存储器高速缓存中的所述至少一个数据条目的所述页面大小是1字节。11.根据任一前述权利要求所述的方法,其中所述管理的存储器高速缓存的至少两个数据条目具有不同关联预定...

【专利技术属性】
技术研发人员:庄振运H·K·拉玛钱德拉B·K·斯利德哈兰C·H·阮
申请(专利权)人:邻客音公司
类型:发明
国别省市:美国;US

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

1