CN104572502A - 一种存储系统缓存策略自适应方法 - Google Patents
一种存储系统缓存策略自适应方法 Download PDFInfo
- Publication number
- CN104572502A CN104572502A CN201510013524.9A CN201510013524A CN104572502A CN 104572502 A CN104572502 A CN 104572502A CN 201510013524 A CN201510013524 A CN 201510013524A CN 104572502 A CN104572502 A CN 104572502A
- Authority
- CN
- China
- Prior art keywords
- cache policy
- cache
- storage system
- data access
- policy
- 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.)
- Granted
Links
Abstract
本发明特别涉及一种存储系统缓存策略自适应方法。该存储系统缓存策略自适应方法,通过对存储系统的数据访问请求进行统计分析,得出数据访问模式,并根据数据访问模式自动选择适合的缓存策略。该存储系统缓存策略自适应方法,解决了存储系统单一缓存策略不能够适应复杂多变的业务需求,缓存策略的变更需要手动进行的问题,使存储系统能够根据实际数据访问特性变化自动选择最适合当前数据访问模式的缓存策略,提高了缓存命中率,减少了缓存污染,降低了缓存性能开销,进而提升了存储系统性能。
Description
技术领域
本发明涉及计算机应用技术领域,特别涉及一种存储系统缓存策略自适应方法。
背景技术
构成计算机系统的硬件多种多样,IO访问性能也千差万别,为了解决不同IO性能的硬件设备之间的数据传输,人们发明了缓存技术,并随之制定了一系列的缓存策略。缓存通过设计良好的数据分块、预取、顺序预取、缓存替换等算法来提高对缓存内容的命中率。存储系统中,主要的缓存策略有:基于访问时间的策略、基于访问频率的策略、基于访问时间与频率的策略等。传统缓存策略主要包括规定需要缓存哪些数据,规定什么时候进行缓存换入操作和规定需要从缓存中换出哪些数据三个方面。
基于访问时间的策略,如LRU、LRU-K、2Q、MQ等,组织和替换缓存项的依据是被缓存项的访问时间。基于访问频率的策略,如LFU、LFU*、LFU-Agign、LFU*-Aging、Window-LFU、LIRS等,组织和替换被缓存项的依据是被缓存项的访问频率。而如FBR、LRFU和ALRFU等策略同时考虑被缓存项的访问时间和频率。每种缓存策略都有各自的优缺点,不存在一种缓存策略适用于所用应用场景。
然而,由于存储系统中的数据类型多种多样,用户和上层应用对存储数据的访问模式也各不相同,因此很难为存储系统指定一种缓存策略。通常的作法是,存储系统管理员通过对存储系统应用场景的了解,从存储系统所支持的几种缓存策略中进行选择。随着存储系统运行再进行切换。然而这种方式需要存储系统管理员的专业性,且对存储系统数据访问模式变化的反应不及时。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种能够提升系统性能的存储系统缓存策略自适应方法。
本发明是通过如下技术方案实现的:
一种存储系统缓存策略自适应方法,其特征在于包括以下步骤:
(1)监控和统计存储系统的数据访问请求,并分析数据访问请求统计信息,获得存储系统的数据访问模式;
(2)监控当前缓存策略,并判断当前数据访问模式是否满足该缓存策略的适用条件;
(3)若当前数据访问模式满足当前缓存策略的适用条件,或者当前数据访问模式不满足当前缓存策略的适用条件,但缓存策略的缓存命中率高于缓存策略命中率阈值,则继续对数据访问请求进行统计;
(4)若当前数据访问模式不满足当前缓存策略的适用条件,且缓存策略的缓存命中率低于缓存策略命中率阈值,则从系统中所有备选缓存策略中选择适用条件与当前数据访问请求相匹配的缓存策略,进行缓存策略的切换后对数据访问请求进行统计。
所述步骤(1)中,存储系统的数据访问模式是指上层应用向存储系统发出的数据访问请求的访问特性,包括数据访问的读请求与写请求的比例、数据访问的随机性、是否存在热点数据。
所述步骤(1)中,对数据访问请求信息的统计可从时间和空间两个维度进行,在时间维度上包括相同缓存项的最后一次或几次访问的时间,缓存项最早换入缓存的时间,以及相同缓存项的两次访问之间对其它缓存项的访问的次数;在空间维度上包括实际从卷读取的数据的地址分布,具体包括卷上数据访问的顺序性,卷上的数据访问频率较高的地址范围等。
所述步骤(2)中,对当前缓存策略的监控主要包括三个方面:当前的数据访问模式是否满足缓存策略的适用条件、当前缓存策略命中率是否大于缓存策略命中率阈值以及当前缓存策略的性能开销。
所述步骤(4)中,备选缓存策略是指所有存储系统支持的,由存储系统用户或管理员自行定义的,且当前未采用的缓存策略,缓存策略在定义的同时由存储系统用户或管理员提供其缓存策略属性。
所述缓存策略属性包括缓存策略适用条件,缓存策略预期命中率,缓存策略命中率阈值和缓存策略性能开销四部分。
所述步骤(4)中,进行缓存策略的切换时,新缓存策略所用数据结构预先在内存中构建好,再进行缓存策略切换;或者同时运行新缓存策略和旧缓存策略两套缓存策略,之后再停用旧缓存策略,以实现缓存策略的无缝切换。
所述步骤(4)中,进行缓存策略切换且存在多个满足条件的备选缓存策略时,根据不同的需求有三种不同的选取方法,选取缓存策略的性能开销最小的缓存策略,或者选取缓存策略预期命中率最高的缓存策略,或者在缓存命中率和性能开销之间进行均衡,选择适中的缓存策略。
本发明的有益效果是:该存储系统缓存策略自适应方法,解决了存储系统单一缓存策略不能够适应复杂多变的业务需求,缓存策略的变更需要手动进行的问题,使存储系统能够根据实际数据访问特性变化自动选择最适合当前数据访问模式的缓存策略,提高了缓存命中率,减少了缓存污染,降低了缓存性能开销,进而提升了存储系统性能。
附图说明
附图1为发明存储系统缓存策略自适应流程示意图。
具体实施方式
下面结合附图对本发明进行详细的说明。该存储系统缓存策略自适应方法,包括以下步骤:
(1)监控和统计存储系统接收到的数据访问请求,并分析数据访问请求统计信息,获得存储系统的数据访问模式。所述存储系统的数据访问模式是指上层应用向存储系统发出的数据访问请求的访问特性,包括数据访问的读请求与写请求的比例、数据访问的随机性、是否存在热点数据。
数据访问请求的统计功能和统计数据记录可与存储系统中其它功能模块进行合并和数据共享,从而降低实现请求统计功能的性能开销。同时,对访问请求进行统计应当在存储系统架构底层实现,由于确定存储系统具体缓存策略所需信息是缓存层之下的对底层逻辑卷的实际数据的访问请求,因此优选在存储池层或者逻辑卷层对访问请求进行统计。
对数据访问请求信息的统计可从时间和空间两个维度进行,统计粒度可以与缓存项大小一致,具体统计信息依照存储系统所支持的缓存策略不同而有所区别。在时间维度上,统计相同缓存项的最后一次或几次访问的时间,缓存项最早换入缓存的时间,以及相同缓存项的两次访问之间对其它缓存项的访问的次数。在空间维度上,统计实际从卷读取的数据的地址分布,具体包括卷上数据访问的顺序性,卷上的数据访问频率较高的地址范围等。
(2)监控当前缓存策略,并判断当前数据访问模式是否满足该缓存策略的适用条件。对当前缓存策略的监控主要包括三个方面:当前的数据访问模式是否满足缓存策略的适用条件、当前缓存策略命中率是否大于缓存策略命中率阈值以及当前缓存策略的性能开销。
(3)若当前数据访问模式满足当前缓存策略的适用条件,或者当前数据访问模式不满足当前缓存策略的适用条件,但缓存策略的缓存命中率高于缓存策略命中率阈值,则继续对数据访问请求进行统计。
(4)若当前数据访问模式不满足当前缓存策略的适用条件,且缓存策略的缓存命中率低于缓存策略命中率阈值,则从系统中所有备选缓存策略中选择适用条件与当前数据访问请求相匹配的缓存策略,进行缓存策略的切换后对数据访问请求进行统计。
所述备选缓存策略是指所有存储系统支持的,由存储系统用户或管理员自行定义的,且当前未采用的缓存策略,缓存策略在定义的同时由存储系统用户或管理员提供其缓存策略属性。所述缓存策略属性包括缓存策略适用条件,缓存策略预期命中率,缓存策略命中率阈值和缓存策略性能开销四部分。
进行缓存策略切换且存在多个满足条件的备选缓存策略时,则根据不同的需求有三种不同的选取方法:选取满足条件且缓存策略的性能开销最小的缓存策略,以节省存储系统的性能开销;或者选取满足条件且缓存策略预期命中率最高的缓存策略,以提升缓存性能;还可以在缓存命中率和性能开销之间进行均衡,选择适中的缓存策略。
进行缓存策略的切换时,可能会造成暂时性的缓存命中率下降,甚至上层数据访问请求挂起,因此提出两种不同的切换方法:新缓存策略所用数据结构预先在内存中构建好,此时存储系统仍然使用旧的缓存策略,待新缓存策略构数据结构和信息构件好,再进行缓存策略切换;或者同时运行新缓存策略和旧缓存策略两套缓存策略,待新的缓存策略能够正常运行时再停用旧缓存策略,,回收其内存空间,以实现缓存策略的无缝切换。
另外,对缓存策略的切换,主要工作是构建新缓存策略所需的内存数据结构,包括记录缓存地址映射的结构和对各缓存项进行统计的结构。在某些实施例中,新旧缓存策略会存在某些相同的缓存项统计信息,如LRU队列或FIFO队列等,在缓存策略切换时可以重用这些缓存项统计信息。
Claims (8)
1.一种存储系统缓存策略自适应方法,其特征在于包括以下步骤:
(1)监控和统计存储系统的数据访问请求,并分析数据访问请求统计信息,获得存储系统的数据访问模式;
(2)监控当前缓存策略,并判断当前数据访问模式是否满足该缓存策略的适用条件;
(3)若当前数据访问模式满足当前缓存策略的适用条件,或者当前数据访问模式不满足当前缓存策略的适用条件,但缓存策略的缓存命中率高于缓存策略命中率阈值,则继续对数据访问请求进行统计;
(4)若当前数据访问模式不满足当前缓存策略的适用条件,且缓存策略的缓存命中率低于缓存策略命中率阈值,则从系统中所有备选缓存策略中选择适用条件与当前数据访问请求相匹配的缓存策略,进行缓存策略的切换后对数据访问请求进行统计。
2.根据权利要求1所述的存储系统缓存策略自适应方法,其特征在于:所述步骤(1)中,存储系统的数据访问模式是指上层应用向存储系统发出的数据访问请求的访问特性,包括数据访问的读请求与写请求的比例、数据访问的随机性、是否存在热点数据。
3.根据权利要求1或2所述的存储系统缓存策略自适应方法,其特征在于:所述步骤(1)中,对数据访问请求信息的统计可从时间和空间两个维度进行,在时间维度上包括相同缓存项的最后一次或几次访问的时间,缓存项最早换入缓存的时间,以及相同缓存项的两次访问之间对其它缓存项的访问的次数;在空间维度上包括实际从卷读取的数据的地址分布,具体包括卷上数据访问的顺序性,卷上的数据访问频率较高的地址范围等。
4.根据权利要求1所述的存储系统缓存策略自适应方法,其特征在于:所述步骤(2)中,对当前缓存策略的监控主要包括三个方面:当前的数据访问模式是否满足缓存策略的适用条件、当前缓存策略命中率是否大于缓存策略命中率阈值以及当前缓存策略的性能开销。
5.根据权利要求1所述的存储系统缓存策略自适应方法,其特征在于:所述步骤(4)中,备选缓存策略是指所有存储系统支持的,由存储系统用户或管理员自行定义的,且当前未采用的缓存策略,缓存策略在定义的同时由存储系统用户或管理员提供其缓存策略属性。
6.根据权利要求5所述的存储系统缓存策略自适应方法,其特征在于:所述缓存策略属性包括缓存策略适用条件,缓存策略预期命中率,缓存策略命中率阈值和缓存策略性能开销四部分。
7.根据权利要求1所述的存储系统缓存策略自适应方法,其特征在于:所述步骤(4)中,进行缓存策略的切换时,新缓存策略所用数据结构预先在内存中构建好,再进行缓存策略切换;或者同时运行新缓存策略和旧缓存策略两套缓存策略,之后再停用旧缓存策略,以实现缓存策略的无缝切换。
8.根据权利要求1或7所述的存储系统缓存策略自适应方法,其特征在于:所述步骤(4)中,进行缓存策略切换且存在多个满足条件的备选缓存策略时,根据不同的需求有三种不同的选取方法,选取缓存策略的性能开销最小的缓存策略,或者选取缓存策略预期命中率最高的缓存策略,或者在缓存命中率和性能开销之间进行均衡,选择适中的缓存策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510013524.9A CN104572502B (zh) | 2015-01-12 | 2015-01-12 | 一种存储系统缓存策略自适应方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510013524.9A CN104572502B (zh) | 2015-01-12 | 2015-01-12 | 一种存储系统缓存策略自适应方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572502A true CN104572502A (zh) | 2015-04-29 |
CN104572502B CN104572502B (zh) | 2018-06-19 |
Family
ID=53088623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510013524.9A Active CN104572502B (zh) | 2015-01-12 | 2015-01-12 | 一种存储系统缓存策略自适应方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572502B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068768A (zh) * | 2015-08-26 | 2015-11-18 | 华为技术有限公司 | 一种写策略控制方法和装置 |
CN105915585A (zh) * | 2016-03-31 | 2016-08-31 | 乐视控股(北京)有限公司 | 用于节点群组的缓存机制确定方法及系统 |
CN106325776A (zh) * | 2016-08-24 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种缓存淘汰策略的实时调整方法及装置 |
CN106909518A (zh) * | 2017-01-24 | 2017-06-30 | 朗坤智慧科技股份有限公司 | 一种实时数据缓存机制 |
WO2017124972A1 (zh) * | 2016-01-22 | 2017-07-27 | 阿里巴巴集团控股有限公司 | 一种资源缓存管理方法及系统和装置 |
CN109032964A (zh) * | 2018-07-02 | 2018-12-18 | 京东方科技集团股份有限公司 | 缓存替换方法及其装置、异构多核系统 |
CN109478165A (zh) * | 2016-07-20 | 2019-03-15 | 超威半导体公司 | 基于缓存测试区针对预取数据选择缓存转移策略 |
CN111352590A (zh) * | 2020-02-26 | 2020-06-30 | 上海霄云信息科技有限公司 | 文件存储方法及设备 |
WO2023165543A1 (zh) * | 2022-03-02 | 2023-09-07 | 华为技术有限公司 | 共享缓存的管理方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007113757A3 (en) * | 2006-04-04 | 2007-12-13 | Koninkl Philips Electronics Nv | System and method for supporting a hot-word-first request policy for a multi-heirarchical memory system |
CN101236530A (zh) * | 2008-01-30 | 2008-08-06 | 清华大学 | 高速缓存替换策略的动态选择方法 |
CN102023931A (zh) * | 2010-12-17 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种自适应缓存预取方法 |
CN102137139A (zh) * | 2010-09-26 | 2011-07-27 | 华为技术有限公司 | 缓存替换策略的选择方法、装置、代理服务器和系统 |
CN103678573A (zh) * | 2013-12-09 | 2014-03-26 | 浪潮(北京)电子信息产业有限公司 | 一种实现缓存加速的方法及系统 |
-
2015
- 2015-01-12 CN CN201510013524.9A patent/CN104572502B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007113757A3 (en) * | 2006-04-04 | 2007-12-13 | Koninkl Philips Electronics Nv | System and method for supporting a hot-word-first request policy for a multi-heirarchical memory system |
CN101236530A (zh) * | 2008-01-30 | 2008-08-06 | 清华大学 | 高速缓存替换策略的动态选择方法 |
CN102137139A (zh) * | 2010-09-26 | 2011-07-27 | 华为技术有限公司 | 缓存替换策略的选择方法、装置、代理服务器和系统 |
CN102023931A (zh) * | 2010-12-17 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种自适应缓存预取方法 |
CN103678573A (zh) * | 2013-12-09 | 2014-03-26 | 浪潮(北京)电子信息产业有限公司 | 一种实现缓存加速的方法及系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068768B (zh) * | 2015-08-26 | 2020-06-26 | 华为技术有限公司 | 一种写策略控制方法和装置 |
WO2017031958A1 (zh) * | 2015-08-26 | 2017-03-02 | 华为技术有限公司 | 一种写策略控制方法和装置 |
CN105068768A (zh) * | 2015-08-26 | 2015-11-18 | 华为技术有限公司 | 一种写策略控制方法和装置 |
US10862992B2 (en) | 2016-01-22 | 2020-12-08 | Alibaba Group Holding Limited | Resource cache management method and system and apparatus |
WO2017124972A1 (zh) * | 2016-01-22 | 2017-07-27 | 阿里巴巴集团控股有限公司 | 一种资源缓存管理方法及系统和装置 |
CN105915585A (zh) * | 2016-03-31 | 2016-08-31 | 乐视控股(北京)有限公司 | 用于节点群组的缓存机制确定方法及系统 |
CN109478165A (zh) * | 2016-07-20 | 2019-03-15 | 超威半导体公司 | 基于缓存测试区针对预取数据选择缓存转移策略 |
CN106325776A (zh) * | 2016-08-24 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种缓存淘汰策略的实时调整方法及装置 |
CN106909518B (zh) * | 2017-01-24 | 2020-06-26 | 朗坤智慧科技股份有限公司 | 一种实时数据缓存机制 |
CN106909518A (zh) * | 2017-01-24 | 2017-06-30 | 朗坤智慧科技股份有限公司 | 一种实时数据缓存机制 |
CN109032964A (zh) * | 2018-07-02 | 2018-12-18 | 京东方科技集团股份有限公司 | 缓存替换方法及其装置、异构多核系统 |
US11086792B2 (en) | 2018-07-02 | 2021-08-10 | Beijing Boe Optoelectronics Technology Co., Ltd. | Cache replacing method and apparatus, heterogeneous multi-core system and cache managing method |
CN111352590A (zh) * | 2020-02-26 | 2020-06-30 | 上海霄云信息科技有限公司 | 文件存储方法及设备 |
CN111352590B (zh) * | 2020-02-26 | 2023-06-09 | 上海霄云信息科技有限公司 | 文件存储方法及设备 |
WO2023165543A1 (zh) * | 2022-03-02 | 2023-09-07 | 华为技术有限公司 | 共享缓存的管理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104572502B (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572502A (zh) | 一种存储系统缓存策略自适应方法 | |
Zhou et al. | Writeback-aware partitioning and replacement for last-level caches in phase change main memory systems | |
US10025711B2 (en) | Hybrid write-through/write-back cache policy managers, and related systems and methods | |
US10496550B2 (en) | Multi-port shared cache apparatus | |
CN104239225A (zh) | 一种管理异构混合内存的方法及装置 | |
CN103885728A (zh) | 一种基于固态盘的磁盘缓存系统 | |
CN102541602A (zh) | 界面的预加载装置和预加载方法 | |
CN103345368B (zh) | 一种在缓冲存储器中缓存数据的方法 | |
CN106844740A (zh) | 基于内存对象缓存系统的数据预读方法 | |
US8856442B2 (en) | Method for volume management | |
US11681447B2 (en) | Method, device and computer program product of balance of storage space for file system | |
Hameed et al. | Reducing latency in an SRAM/DRAM cache hierarchy via a novel tag-cache architecture | |
CN108572799B (zh) | 一种双向哈希链表的异构内存系统数据页迁移方法 | |
CN101853218B (zh) | 用于磁盘阵列的读取方法和系统 | |
CN104778132A (zh) | 一种多核处理器目录缓存替换方法 | |
US10956339B2 (en) | System and method for storing cache location information for cache entry transfer | |
US20120297131A1 (en) | Scheduling-Policy-Aware DRAM Page Management Mechanism | |
CN106126434A (zh) | 中央处理器的缓存区的缓存行的替换方法及其装置 | |
Zhang et al. | DualStack: A high efficient dynamic page scheduling scheme in hybrid main memory | |
Tan et al. | APMigration: Improving performance of hybrid memory performance via an adaptive page migration method | |
CN109871337A (zh) | 一种ssd存储媒介切换方法及其系统 | |
KR20160018204A (ko) | 전자 장치, 온 칩 메모리 장치 및 온 칩 메모리의 운영 방법 | |
Ruan et al. | Daraw: A new write buffer to improve parallel I/O energy-efficiency | |
US10248557B1 (en) | Systems and methods for delayed allocation in cluster storage | |
CN105263022A (zh) | 一种针对hevc视频编码的多核混合存储管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |