[发明专利]一种自适应缓存预取方法有效

专利信息
申请号: 201010611530.1 申请日: 2010-12-17
公开(公告)号: CN102023931A 公开(公告)日: 2011-04-20
发明(设计)人: 袁清波;杨杰;邵宗有 申请(专利权)人: 曙光信息产业(北京)有限公司
主分类号: G06F12/08 分类号: G06F12/08
代理公司: 北京安博达知识产权代理有限公司 11271 代理人: 徐国文
地址: 100084 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 自适应 缓存 方法
【说明书】:

技术领域

发明涉及存储系统的性能优化领域,具体涉及一种自适应缓存预取方法。

背景技术

存储器是计算机的核心部件之一,其性能直接关系到整个计算机系统性能的高低。如何以合理的价格,设计出容量和速度满足计算机系统要求的存储器系统,始终是计算机体系结构设计中的关键问题之一。计算机用户希望容量越大越好,而且速度还要快,价格要便宜。仅用单一的一种存储器是很难达到这一目标的。较好的方法是采用存储层次,用多种存储器构成存储器的层次结构。然而,人们对于存储器的容量大、速度快、价格低的三个要求是相互矛盾的:(1)速度越快,每位价格就越高;(2)容量越大,每位价格就越低;(3)容量越大,速度就越慢。如果只采用其中的一种技术,存储器设计者就会陷入困境:从实现“容量大、价格低”的要求来看,应采用能提供大容量的存储器技术;但从满足性能需求的角度来看,又应采用昂贵且容量较小的快速存储器。走出这种困境的唯一方法,是采用多种存储器技术,构成多级存储层次。图1所示的是典型的两级存储模型,包括容量小但速度快的高速IO设备和容量大但速度慢的慢速IO设备,用户的所有数据都存放在慢速IO设备上,高速IO设备作为一个Cache使用,用户读取IO数据时总是先查找是否在高速IO设备中已有一份拷贝。

如果用户每次访问的数据都能在高速IO设备中找到,那系统的IO性能将会得到显著提高。但是由于高速设备容量远小于慢速设备,所以只能有一部分数据存放在高速IO设备上,而用户对数据的请求范围是非常大的,所以选择哪些数据缓存在高速IO设备上将极大影响系统的整体性能。根据用户的历史访问记录预测下一次可能访问的数据,并将这些数据预取到高速IO设备上,那么当用户真正需要访问这些数据时,性能就会非常高。单个线程的应用程序对IO请求的顺序性比较好,但是如果系统中存在多个顺序访问的应用程序,那么它们下发到IO设备上的请求就变得林乱不堪,如果根据单一访问流进行预取效果将会比较差。

发明内容

为解决预取问题,本发明首先对流进行过滤,然后再顺序预取。

一种自适应缓存预取方法,步骤如下:

A、检查每个流,并使用多个队列记录每次访问的地址;

B、如果当前访问的地址与之前某个队列中的地址连续,则认定为一个流,触发预取操作;

C、检测预取对命中率的影响,若命中率低于阈值,则更改预取策略减少预取数量或关闭预取。

本发明的一种优选技术方案在于:所述预取策略包括不预取,始终预取和检测到顺序读才预取,否则不预取。

本发明的另一种优选技术方案在于:根据用户读取的数据选择预取的region,region为将io设备划分为大小相等的块。

本发明的一种较优选技术方案在于:预取region的策略为:

数据在Region的比较靠前的位置,那么直接将数据所在的Region一次从慢速IO设备读到高速IO设备即可,同时返回给用户之前所请求的数据;

数据在Region的最后一部分空间,那么应该读两部分的数据:请求的数据和紧邻的下一个Region的所有数据;

数据横跨两个Region,那么应该一次发出从当前Region的后一部分到下一个Region的所有数据的请求。

本发明在预取前对访问流做了过滤,还原了原来的多个顺序流,然后分别针对每个顺序流做预取,由于顺序预取效率非常高,整个系统的性能将得到提升。

附图说明

图1典型的两级存储模型

图2预取过程

图3流检测实现

具体实施方式

在实现过程中,可以提供多种类型的预取策略供用户使用。一种是任何情况下都不触发预取操作,另一种只要有读操作均从慢速IO设备上预取一定数量的数据到高速IO设备。这两种情况的性能都比较差,完全不预取浪费了带宽、增加了延迟,全部预取则可能干扰正常的读写操作,甚至每次的读操作都可能因为等待预取而增加很大的开销,而且更严重的是预取回来的数据可能根本不会被接下来的IO请求所使用。再一种则是两者的折中,在判断出预取可能带来好处时才发出预取的动作。

最后一种是基于流的预测,它的基础是需要发现顺序流,而根据之前的分析可知,系统中可能存在多个顺序流,但是混到一起发到下层的IO系统后就不再是顺序的了,所以在预取之前必须将单一的混合流还原成原来的多个顺序流。实现方式可以采取简单的连续地址记录,两个地址就可以组成一个流,这样如果第三个地址也属于这个流时即可以发出预取操作。比如一个如下所示的地址流依次进入流检测系统:A、B、C、A+1、A+2,那么流检测系统会作如图3所示的变化:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010611530.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top