一种存储系统缓存策略自适应方法

一种存储系统缓存策略自适应方法
摘要
本发明特别涉及一种存储系统缓存策略自适应方法。该存储系统缓存策略自适应方法,通过对存储系统的数据访问请求进行统计分析,得出数据访问模式,并根据数据访问模式自动选择适合的缓存策略。该存储系统缓存策略自适应方法,解决了存储系统单一缓存策略不能够适应复杂多变的业务需求,缓存策略的变更需要手动进行的问题,使存储系统能够根据实际数据访问特性变化自动选择最适合当前数据访问模式的缓存策略,提高了缓存命中率,减少了缓存污染,降低了缓存性能开销,进而提升了存储系统性能。
说明
一种存储系统缓存策略自适应方法

技术领域

[0001] 本发明涉及计算机应用技术领域,特别涉及一种存储系统缓存策略自适应方法。

背景技术

[0002] 构成计算机系统的硬件多种多样,1访问性能也千差万别,为了解决不同1性能的硬件设备之间的数据传输,人们发明了缓存技术,并随之制定了一系列的缓存策略。缓存通过设计良好的数据分块、预取、顺序预取、缓存替换等算法来提高对缓存内容的命中率。存储系统中,主要的缓存策略有:基于访问时间的策略、基于访问频率的策略、基于访问时间与频率的策略等。传统缓存策略主要包括规定需要缓存哪些数据,规定什么时候进行缓存换入操作和规定需要从缓存中换出哪些数据三个方面。

[0003] 基于访问时间的策略,如LRU、LRU-K、2Q、MQ等,组织和替换缓存项的依据是被缓存项的访问时间。基于访问频率的策略,如LFU、LFU*、LFU-Agi gn、LFU*_Ag i ng、W i ndow-LFU、LIRS等,组织和替换被缓存项的依据是被缓存项的访问频率。而如FBR、LRFU和ALRFU等策略同时考虑被缓存项的访问时间和频率。每种缓存策略都有各自的优缺点,不存在一种缓存策略适用于所用应用场景。

[0004] 然而,由于存储系统中的数据类型多种多样,用户和上层应用对存储数据的访问模式也各不相同,因此很难为存储系统指定一种缓存策略。通常的作法是,存储系统管理员通过对存储系统应用场景的了解,从存储系统所支持的几种缓存策略中进行选择。随着存储系统运行再进行切换。然而这种方式需要存储系统管理员的专业性,且对存储系统数据访问模式变化的反应不及时。

发明内容

[0005] 本发明为了弥补现有技术的缺陷,提供了一种能够提升系统性能的存储系统缓存策略自适应方法。

[0006] 本发明是通过如下技术方案实现的:

一种存储系统缓存策略自适应方法,其特征在于包括以下步骤:

(1)监控和统计存储系统的数据访问请求,并分析数据访问请求统计信息,获得存储系统的数据访问模式;

(2)监控当前缓存策略,并判断当前数据访问模式是否满足该缓存策略的适用条件;

(3)若当前数据访问模式满足当前缓存策略的适用条件,或者当前数据访问模式不满足当前缓存策略的适用条件,但缓存策略的缓存命中率高于缓存策略命中率阈值,则继续对数据访问请求进行统计;

(4)若当前数据访问模式不满足当前缓存策略的适用条件,且缓存策略的缓存命中率低于缓存策略命中率阈值,则从系统中所有备选缓存策略中选择适用条件与当前数据访问请求相匹配的缓存策略,进行缓存策略的切换后对数据访问请求进行统计。

[0007] 所述步骤(I)中,存储系统的数据访问模式是指上层应用向存储系统发出的数据访问请求的访问特性,包括数据访问的读请求与写请求的比例、数据访问的随机性、是否存在热点数据。

[0008] 所述步骤(I)中,对数据访问请求信息的统计可从时间和空间两个维度进行,在时间维度上包括相同缓存项的最后一次或几次访冋的时间,缓存项最早换入缓存的时间,以及相同缓存项的两次访问之间对其它缓存项的访问的次数;在空间维度上包括实际从卷读取的数据的地址分布,具体包括卷上数据访问的顺序性,卷上的数据访问频率较高的地址范围等。

[0009] 所述步骤(2)中,对当前缓存策略的监控主要包括三个方面:当前的数据访问模式是否满足缓存策略的适用条件、当前缓存策略命中率是否大于缓存策略命中率阈值以及当前缓存策略的性能开销。

[0010] 所述步骤(4)中,备选缓存策略是指所有存储系统支持的,由存储系统用户或管理员自行定义的,且当前未采用的缓存策略,缓存策略在定义的同时由存储系统用户或管理员提供其缓存策略属性。

[0011] 所述缓存策略属性包括缓存策略适用条件,缓存策略预期命中率,缓存策略命中率阈值和缓存策略性能开销四部分。

[0012] 所述步骤(4)中,进行缓存策略的切换时,新缓存策略所用数据结构预先在内存中构建好,再进行缓存策略切换;或者同时运行新缓存策略和旧缓存策略两套缓存策略,之后再停用旧缓存策略,以实现缓存策略的无缝切换。

[0013] 所述步骤(4)中,进行缓存策略切换且存在多个满足条件的备选缓存策略时,根据不同的需求有三种不同的选取方法,选取缓存策略的性能开销最小的缓存策略,或者选取缓存策略预期命中率最尚的缓存策略,或者在缓存命中率和性能开销之间进行均衡,选择适中的缓存策略。

[0014] 本发明的有益效果是:该存储系统缓存策略自适应方法,解决了存储系统单一缓存策略不能够适应复杂多变的业务需求,缓存策略的变更需要手动进行的问题,使存储系统能够根据实际数据访问特性变化自动选择最适合当前数据访问模式的缓存策略,提高了缓存命中率,减少了缓存污染,降低了缓存性能开销,进而提升了存储系统性能。

附图说明

[0015] 附图1为发明存储系统缓存策略自适应流程示意图。

具体实施方式

[0016] 下面结合附图对本发明进行详细的说明。该存储系统缓存策略自适应方法,包括以下步骤:

(I)监控和统计存储系统接收到的数据访问请求,并分析数据访问请求统计信息,获得存储系统的数据访问模式。所述存储系统的数据访问模式是指上层应用向存储系统发出的数据访问请求的访问特性,包括数据访问的读请求与写请求的比例、数据访问的随机性、是否存在热点数据。

[0017] 数据访问请求的统计功能和统计数据记录可与存储系统中其它功能模块进行合并和数据共享,从而降低实现请求统计功能的性能开销。同时,对访问请求进行统计应当在存储系统架构底层实现,由于确定存储系统具体缓存策略所需信息是缓存层之下的对底层逻辑卷的实际数据的访问请求,因此优选在存储池层或者逻辑卷层对访问请求进行统计。

[0018] 对数据访问请求信息的统计可从时间和空间两个维度进行,统计粒度可以与缓存项大小一致,具体统计信息依照存储系统所支持的缓存策略不同而有所区别。在时间维度上,统计相同缓存项的最后一次或几次访问的时间,缓存项最早换入缓存的时间,以及相同缓存项的两次访问之间对其它缓存项的访问的次数。在空间维度上,统计实际从卷读取的数据的地址分布,具体包括卷上数据访问的顺序性,卷上的数据访问频率较高的地址范围等。

[0019] (2)监控当前缓存策略,并判断当前数据访问模式是否满足该缓存策略的适用条件。对当前缓存策略的监控主要包括三个方面:当前的数据访问模式是否满足缓存策略的适用条件、当前缓存策略命中率是否大于缓存策略命中率阈值以及当前缓存策略的性能开销。

[0020] (3)若当前数据访问模式满足当前缓存策略的适用条件,或者当前数据访问模式不满足当前缓存策略的适用条件,但缓存策略的缓存命中率高于缓存策略命中率阈值,则继续对数据访问请求进行统计。

[0021] (4)若当前数据访问模式不满足当前缓存策略的适用条件,且缓存策略的缓存命中率低于缓存策略命中率阈值,则从系统中所有备选缓存策略中选择适用条件与当前数据访问请求相匹配的缓存策略,进行缓存策略的切换后对数据访问请求进行统计。

[0022] 所述备选缓存策略是指所有存储系统支持的,由存储系统用户或管理员自行定义的,且当前未采用的缓存策略,缓存策略在定义的同时由存储系统用户或管理员提供其缓存策略属性。所述缓存策略属性包括缓存策略适用条件,缓存策略预期命中率,缓存策略命中率阈值和缓存策略性能开销四部分。

[0023] 进行缓存策略切换且存在多个满足条件的备选缓存策略时,则根据不同的需求有三种不同的选取方法:选取满足条件且缓存策略的性能开销最小的缓存策略,以节省存储系统的性能开销;或者选取满足条件且缓存策略预期命中率最高的缓存策略,以提升缓存性能;还可以在缓存命中率和性能开销之间进行均衡,选择适中的缓存策略。

[0024] 进行缓存策略的切换时,可能会造成暂时性的缓存命中率下降,甚至上层数据访问请求挂起,因此提出两种不同的切换方法:新缓存策略所用数据结构预先在内存中构建好,此时存储系统仍然使用旧的缓存策略,待新缓存策略构数据结构和信息构件好,再进行缓存策略切换;或者同时运行新缓存策略和旧缓存策略两套缓存策略,待新的缓存策略能够正常运行时再停用旧缓存策略,,回收其内存空间,以实现缓存策略的无缝切换。

[0025]另外,对缓存策略的切换,主要工作是构建新缓存策略所需的内存数据结构,包括记录缓存地址映射的结构和对各缓存项进行统计的结构。在某些实施例中,新旧缓存策略会存在某些相同的缓存项统计信息,如LRU队列或FIFO队列等,在缓存策略切换时可以重用这些缓存项统计信息。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值