CN101866322A - 一种高速缓存管理策略的调整方法及系统 - Google Patents
一种高速缓存管理策略的调整方法及系统 Download PDFInfo
- Publication number
- CN101866322A CN101866322A CN201010200578A CN201010200578A CN101866322A CN 101866322 A CN101866322 A CN 101866322A CN 201010200578 A CN201010200578 A CN 201010200578A CN 201010200578 A CN201010200578 A CN 201010200578A CN 101866322 A CN101866322 A CN 101866322A
- Authority
- CN
- China
- Prior art keywords
- visit
- test
- strategy
- cache
- crash rate
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012360 testing method Methods 0.000 claims abstract description 161
- 230000008569 process Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 38
- 230000006399 behavior Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000002902 bimodal effect Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000013486 operation strategy Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000010572 single replacement reaction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种高速缓存管理策略的调整方法及系统,该方法包括将高速缓存划分为工作子系统和测试子系统;将测试子系统划分为多个采用不同的高速缓存管理策略的测试组;获取多个测试组的访问失效率信息;按照预先设置的访问失效率判断顺序,判断每个测试组的访问失效率信息是否在预先设置的每个测试组的访问失效率上下限值信息之间;在判断有测试组的访问失效率信息在该测试组的访问失效率上下限值信息之间时,将该访问失效率信息在该测试组的访问失效率上下限值信息之间的测试组所采用的策略作为工作子系统的目标高速缓存管理策略;根据本地预先设置的调整策略和目标高速缓存管理策略,调整工作子系统所采用的高速缓存管理策略。
Description
技术领域
本发明涉及计算机处理器高速缓存领域,特别是涉及一种高速缓存管理策略的调整方法及系统。
背景技术
高速缓冲存储器(Cache,也称为高速缓存)是计算机处理器的重要组成部分之一,是存储速度介于寄存器和内存之间的一种存储器。利用程序执行的局部性原理,尽可能地把将要访问的数据存储到高速缓存,当处理器需要数据时可以以很小的时间延迟把数据提交给处理器,从而达到减少访存时延,提高处理器性能的目的。
由于高速缓存容量较小,需要对高速缓存进行有效的管理,尽可能将处理器需要的数据放入到高速缓存中,从而减少系统访存失效几率,降低访存代价,提高系统的整体性能。
目前,高速缓存采用的替换管理方法主要包括随机替换方法(random)、先入先出替换方法(FIFO)及最近最少使用替换方法(LRU)等。其中,LRU替换方法被普遍认为综合性能较高,因此得到了工业界的广泛采用,大量应用在通用处理器高速缓存设计中。
LRU替换方法中的最近最多使用(MRU)替换策略,是将新插入的缓存行放入最近最多使用位置的方法,在面对工作集较小、局部性较好的应用时性能较好,可以带来较少的访存失效。
但是,随着网络和多媒体等容易产生大量顺序性访问、工作集较大、局部性较差的应用程序被广泛使用,采用传统的LRU替换方法管理高速缓存已经不能满足这些应用程序的高性能需求,往往会带来较大的失效损失和访存代价。
针对LRU替换方法插入策略的缺点和不足,先后出现了一系列的优化方法和改进方案,包括最少插入策略(Least Insertion Policy,LIP)、双峰插入策略(Bimodal Insertion Policy,BIP)和动态插入策略(Dynamic Insertion Policy,DIP)策略。在这些优化方案中,DIP策略由于具有在LIP和DIP这两种策略间之间根据访存行为动态切换的功能,因而具有较高的性能和较好的应用前景。
但是,由于程序运行具有局部性特点,当前程序运行行为与已经过去较长一段时间的运行状态之间的联系较少,DIP策略的动态决策如果不根据当前应用运行变化而作相应调整,将可能会做出不符合当前应用运行行为的错误决策,从而带来较大的失效损失和性能开销。此外,即使对DIP策略进行调整,也应当根据程序运行的行为进行动态调整。
采用灵活性较差的静态调整方式,尽管实现较为简单,但是并没有从根本上改变DIP决策方式与当前应用实际运行行为联系较少的问题,从而无法满足各种复杂情况的性能要求,尤其在面对多线程多处理器共享缓存结构时,性能往往较差。
发明内容
本发明所要解决的技术问题是需要提供一种高速缓存管理策略的调整方法及系统,解决现有技术中高速缓存动态插入策略决策方式与应用访存行为实际需要出现偏差导致的系统性能降低的问题。
为了解决上述技术问题,本发明提供如下技术方案:
一种高速缓存管理策略的调整系统,所述系统包括工作子系统、测试子系统和调整子系统,所述工作子系统和所述测试子系统所包含的高速缓存构成全部的高速缓存,其中:
所述工作子系统采用一种高速缓存管理策略管理所述工作子系统中的高速缓存;
所述测试子系统包括多个测试组,每个测试组分别采用不同的高速缓存管理策略管理本测试组内的高速缓存;
所述调整子系统根据所述测试子系统的测试结果,调整所述工作子系统所采用的高速缓存管理策略,包括获取模块、判断模块、确定模块和调整模块,其中:
所述获取模块,用于获取每个测试组的访问失效率信息;
所述判断模块,与所述获取模块相连,用于按照预先设置的访问失效率判断顺序,判断每个测试组的访问失效率信息是否在该测试组的访问失效率上下限值信息之间;
所述选择模块,与所述判断模块相连,用于选择一个访问失效率信息在该测试组的访问失效率上下限值信息之间的测试组所采用的策略作为所述工作子系统的目标高速缓存管理策略;
所述调整模块,与所述确定模块相连,用于根据本地预先设置的调整策略和所述目标高速缓存管理策略,调整所述工作子系统所采用的高速缓存管理策略。
进一步的,所述测试子系统包括响应当前进程的缓存行。
进一步的,所述测试子系统中每个测试组所包含的缓存行数量相等。
进一步的,所述调整子系统获取的访问失效率信息是一个或多个单位时间片的访问失效率信息。
进一步的,所述调整子系统所采用各个测试组的访问失效率上下限值信息是根据该测试组当前单位时间片之前一个或多个单位时间片的访问失效率确定的。
进一步的,所述调整模块包括记录单元、判断单元和调整单元,其中:
所述记录单元,用于记录所述选择模块连续选择同一目标高速缓存管理策略的次数;
所述判断单元,与所述记录单元相连,用于判断所述记录单元的次数是否达到预先设置的阈值;
所述调整单元,与所述判断单元相连,用于在判断单元判断达到所述阈值时,将所述工作子系统所采用的高速缓存管理策略调整为所述目标高速缓存管理策略。
一种高速缓存管理策略的调整方法,包括:
将高速缓存划分为工作子系统和测试子系统;
将所述测试子系统划分为多个采用不同的高速缓存管理策略的测试组;
获取所述多个测试组的访问失效率信息;
按照预先设置的访问失效率判断顺序,判断每个测试组的访问失效率信息是否在预先设置的每个测试组的访问失效率上下限值信息之间;
在判断有测试组的访问失效率信息在该测试组的访问失效率上下限值信息之间时,将该访问失效率信息在该测试组的访问失效率上下限值信息之间的测试组所采用的策略作为所述工作子系统的目标高速缓存管理策略;
根据本地预先设置的调整策略和所述目标高速缓存管理策略,调整所述工作子系统所采用的高速缓存管理策略。
进一步的,所述将高速缓存划分为工作子系统和测试子系统,包括:
获取所述高速缓存当前响应的进程状态;
根据所述系统当前响应的状态,将包括响应当前进程的缓存行作为测试子系统,剩余的缓存行作为工作子系统。
进一步的,所述将所述测试子系统划分为多个采用不同的高速缓存管理策略的测试组,包括:
将所述测试子系统划分成多个包含相同数量缓存行的测试组,其中每个测试组采用不同的高速缓存管理策略管理管理高速缓存。
进一步的,所述获取所述多个测试组的访问失效率信息,包括:
按照一个或多个单位时间片对所述测试子系统中的高速缓存进行采样,得到每个测试组一个或多个单位时间片的访问失效率信息。
进一步的,所述每个测试组的访问失效率上下限值信息是根据该测试组当前单位时间片之前一个或多个单位时间片的访问失效率确定的。
进一步的,所述根据本地预先设置的调整策略和所述目标高速缓存管理策略,调整所述工作子系统所采用的高速缓存管理策略,包括:
记录所述选择模块连续选择同一目标高速缓存管理策略的次数;
判断所述记录的次数是否达到预先设置的阈值;
如果判断达到所述阈值,将所述工作子系统所采用的高速缓存管理策略调整为所述目标高速缓存管理策略;否则,不调整所述工作子系统所采用的高速缓存管理策略。
本发明提供的技术方案,通过采用不同高速缓存管理策略的测试组输出的测试结果来调整工作子系统内采用的高速缓存管理策略,保证工作子系统内采用的策略与应用访存行为实际需要一致,降低访存失效的代价,提高了系统性能。
附图说明
图1为本发明提供一种高速缓存管理策略的调整方法实施例的流程示意图;
图2为本发明提供的一种高速缓存管理策略的调整方法应用实例的流程示意图;
图3为本发明提供一种高速缓存管理策略的调整系统实施例的结构示意图;
图4为图3所示实施例中调整模块334的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。
图1为本发明提供的一种高速缓存管理策略的调整方法实施例的流程示意图。图1所示方法实施例包括:
步骤S101、将高速缓存划分为工作子系统和测试子系统;
步骤S102、将所述测试子系统划分为多个采用不同的高速缓存管理策略的测试组;
步骤S103、获取所述多个测试组的访问失效率信息;
步骤S104、按照预先设置的访问失效率判断顺序,判断每个测试组的访问失效率信息是否在预先设置的每个测试组的访问失效率上下限值信息之间;
步骤S105、在判断有测试组的访问失效率信息在该测试组的访问失效率上下限值信息之间时,将该访问失效率信息在该测试组的访问失效率上下限值信息之间的测试组所采用的策略作为所述工作子系统的目标高速缓存管理策略;
步骤S106、根据本地预先设置的调整策略和所述目标高速缓存管理策略,调整所述工作子系统所采用的高速缓存管理策略。
由于程序具有局部性特征,高速缓存在响应进程过程中缓存行的使用状态也具有局部性特征,因此在步骤S101中,子系统的划分具体包括:获取所述高速缓存当前响应的进程状态;根据所述进程状态,将包括响应当前进程的缓存行作为测试子系统,剩余的缓存行作为工作子系统,其中该测试子系统可以全部为用于响应当前进程的缓存行,也可以部分为用于响应当前进程的缓存行,如果为部分,用于响应当前进程的缓存行应占全部测试子系统中缓存行总数的一半以上,从而保证测试子系统所包含的缓存行能够体现当前正在响应的当前进程状态。
为了减少测试结果的误差,在步骤S102中所述测试子系统中每个测试组包含相同数量的缓存行,且每个测试组采用不同的高速缓存管理策略管理管理高速缓存,以保证每个测试组的测试基础一致,避免出现由于缓存行数量不统一引起的误差。
在步骤103中,获取所述多个测试组的访问失效率信息具体包括:按照一个或多个单位时间片对所述测试子系统中的高速缓存进行采样,得到每个测试组一个或多个单位时间片的访问失效率信息。采用单位时间片为单位获取访问失效率信息,能够准确获取测试组对当前进程处理状态。
在步骤104中,当测试组总数为两个时,如果对访问失效率判断顺序靠前的测试组进行判断后结果为不在,则直接进入步骤105,确定访问失效率判断顺序靠后的测试组所采用的策略为目标策略;
当测试组总数为两个以上时,按照访问失效率判断顺序,如果顺序最先的测试组的判断结果不在,进行较靠前的测试组的判断,依次类推,直到出现待比较的测试组个数为2时,参照如上处理方式即可。
所述每个测试组的访问失效率上下限值信息是根据该测试组当前单位时间片之前一个或多个单位时间片的访问失效率确定的。由于程序的局部性特征,当前单位时间片之前一个或多个单位时间片的访问失效率更接近当前单位时间片的访问失效率,所以进行比较时,比较结果会更准确。
其中该访问失效率判断顺序是按照每个高速缓存访问策略对进程的适应能力确定,其中适应能力的强弱可通过进行统计数据得到。例如,发明人实验得到采用LRU的测试组访问失效率较采用BIP的测试组访问失效率更反映程序的运行特征,则采用LRU的测试组比采用BIP的测试组优先进行上下限比较。
在步骤105中,由于程序的运行状态中不是平稳状态,会偶然出现所需资源过多或过少的情景,造成进程状态发生突变,变为非平稳态,因此如果只根据一次选择的优选策略就马上对工作子系统采用的策略进行调整,当程序从非平稳态恢复平稳状态时,调整后的策略并不适应当前的运行策略,从而引起了误判。因此本实施例中为避免误判,结合所述调整策略和所述目标高速缓存管理策略调整的过程包括:记录所述选择模块连续选择同一目标高速缓存管理策略的次数;判断所述记录的次数是否达到预先设置的阈值;如果判断达到所述阈值,将所述工作子系统所采用的高速缓存管理策略调整为所述目标高速缓存管理策略;否则,不调整所述工作子系统所采用的高速缓存管理策略。
结合上述技术方案,下面以一个应用实例进行说明:
图2为本发明提供的一种高速缓存管理策略的调整方法应用实例的流程示意图。图2所示方法实施例包括如下步骤:
步骤S201,将高速缓存划分为测试部分、调整部分及工作部分,其中该测试部分包括当前响应进程的缓存行;
步骤S202,将测试部分划分为第一测试组和第二测试组,该第一测试组和第二测试组所包含的缓存行的数量相等;用于执行单个替换策略的测试的缓存行数目可以在实现时自行设定,原则上不超过高速缓存中行数目总数的5%(本实施例设定为行数目总数的5%);
第一测试组采用LRU替换策略,第二测试组采用BIP替换策略;前述的第一测试组也可称之为LRU测试组,第二测试组也可称之为BIP测试组;
步骤S203,在调整部分设置一选择寄存器(policy selector,psel)、一右移次数寄存器(shr_num)和两个访问寄存器。该两个访问寄存器包括第一访问寄存器、第二访问寄存器、第三访问寄存器和第四访问寄存器,其中第一访问寄存器用于记录LRU测试组单位时间片访问总数,第二访问寄存器用于记录LRU测试组单位时间片访问失效数;
其中本应用实例中两个访问寄存器之所以选择记录LRU测试组的访存信息,原因在于,与BIP组的访存信息相比,LRU测试组的访存信息更能体现程序的运行特征。
步骤S204,利用该两个访问寄存器记录高速缓存测试组单位时间片的访问总数和访问失效数;
步骤S205,获取第一测试组的单位时间片的访问失效率,其中单位时间片访问失效率=单位时间片访问失效数/单位时间片访问总数;
步骤S206,判断该第一测试组的单位时间片的访问失效率是否在预先设置的安全取值范围内,其中该安全取值范围的上下限可以是在本单位时间片之前一个单位时间片的访问失效率,或者本单位时间片之前一个单位时间片的访问失效率总和的平均值,如果在该安全取值范围内,则转步骤S209;否则,转步骤S210;
其中该安全取值范围的上下限可采用如下方式确定的:
根据当前单位时间片之前一个或多个单位时间片的访问失效率,确定该安全取值范围的上下限值。例如,如果获取的失效率为一个,如A,则先获取一个调整值a,则安全取值范围的上下限值分别为A-a和A+a,其中该a可以通过统计数值得到;如果获取的失效率为多个,例如B、D、E和F,则选择其中最大的值为上限,最小值为下限。
在本步骤中,根据本单位时间片之前一个或多个单位时间片的访问失效率,确定安全取值范围的上下限值,得到的安全取值范围符合当前程序的运行状态,在使用该安全取值范围进行比较得到的比较结果也符合当前程序的运行状态,保证调整的准确性。
步骤S207,根据判断结果,将LRU策略或者BIP策略预测为当前系统的优选策略,得到一个优选策略的预测结果;例如标识为0时,表示预测得到的优选策略为LRU策略;标记为1时,表示预测得到的优选策略为BIP策略。
步骤S208,对该预测结果中的优选策略与该psel寄存器中符号位指示的当前策略进行比较,如果两种策略相同,则转步骤S209,否则转步骤S210,其中参照步骤S206中所举实例,可配置psel寄存器中符号位0为LIP策略,符号位1为BIP策略;
步骤S211,累减该右移次数寄存器(shr_num)的值,即加1操作,本实施例中,该shr_num寄存器的值最大为8,最小为0;之后转步骤S213;
步骤S212,累加该右移次数寄存器(shr_num)的值,即减1操作;之后转步骤S213;
步骤S213,对psel寄存器执行右移操作,执行动态插入策略单位时间片调整;其中psel寄存器执行右移操作时,右移位数由shr_num寄存器变化的值决定,例如,shr_num寄存器进行累加和累减分别右移不同的位数,并根据右移结果对psel寄存器上用于标识当前工作部分所采用的策略的符号位进行调整;
当然也可以在连续多次优选策略为LIP或BIP策略时,再修改psel寄存器上的符号位;
步骤S214,当右移操作完成后,对上述两个访问寄存器、执行清零操作,以记录下一时间片的访存信息,进行下一次调整操作,具体参见步骤S204~S214。
本发明提供的方法,通过采用不同高速缓存管理策略的测试组输出的测试结果来调整工作子系统内采用的高速缓存管理策略,保证工作子系统内采用的策略与应用访存行为实际需要一致,降低访存失效的代价,提高了系统性能。
图3为本发明提供一种高速缓存管理策略的调整系统实施例的结构示意图。结合图1和2所示的方法,图3所示系统实施例包括工作子系统31、测试子系统32和调整子系统33,所述工作子系统31和所述测试子系统32构成全部的高速缓存,其中:
所述工作子系统31采用一种高速缓存管理策略管理所述工作子系统中的高速缓存;
所述测试子系统32包括多个测试组,每个测试组分别采用不同的高速缓存管理策略管理本测试组内的高速缓存;
所述调整子系统33根据所述测试子系统32的测试结果,调整所述工作子系统31所采用的高速缓存管理策略,包括获取模块331、判断模块332、确定模块333和调整模块334,其中:
所述获取模块331,用于获取每个测试组的访问失效率信息;
所述判断模块332,与所述获取模块331相连,用于按照预先设置的访问失效率判断顺序,判断每个测试组的访问失效率信息是否在该测试组的访问失效率上下限值信息之间;
所述选择模块333,与所述判断模块332相连,用于选择一个访问失效率信息在该测试组的访问失效率上下限值信息之间的测试组所采用的策略作为所述工作子系统的目标高速缓存管理策略;
所述调整模块334,与所述确定模块333相连,用于根据本地预先设置的调整策略和所述目标高速缓存管理策略,调整所述工作子系统所采用的高速缓存管理策略。
其中所述测试子系统32包括响应当前进程的缓存行。
其中所述测试子系统32中每个测试组所包含的缓存行相等。
图4为图3所示实施例中调整模块334的结构示意图。图5所示调整模块334包括记录单元401、判断单元402和调整单元403,其中:
所述记录单元401,用于记录所述选择模块连续选择同一目标高速缓存管理策略的次数;
所述判断单元402,与所述记录单元401相连,用于判断所述记录单元501的次数是否达到预先设置的阈值;
所述调整单元403,与所述判断单元402相连,用于在判断单元402判断达到所述阈值时,将所述工作子系统所采用的高速缓存管理策略调整为所述目标高速缓存管理策略。
本发明提供的系统,通过采用不同高速缓存管理策略的测试组输出的测试结果来调整工作子系统内采用的高速缓存管理策略,保证工作子系统内采用的策略与应用访存行为实际需要一致,降低访存失效的代价,提高了系统性能。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
Claims (12)
1.一种高速缓存管理策略的调整系统,其特征在于,所述系统包括工作子系统、测试子系统和调整子系统,所述工作子系统和所述测试子系统所包含的高速缓存构成全部的高速缓存,其中:
所述工作子系统采用一种高速缓存管理策略管理所述工作子系统中的高速缓存;
所述测试子系统包括多个测试组,每个测试组分别采用不同的高速缓存管理策略管理本测试组内的高速缓存;
所述调整子系统根据所述测试子系统的测试结果,调整所述工作子系统所采用的高速缓存管理策略,包括获取模块、判断模块、确定模块和调整模块,其中:
所述获取模块,用于获取每个测试组的访问失效率信息;
所述判断模块,与所述获取模块相连,用于按照预先设置的访问失效率判断顺序,判断每个测试组的访问失效率信息是否在该测试组的访问失效率上下限值信息之间;
所述选择模块,与所述判断模块相连,用于选择一个访问失效率信息在该测试组的访问失效率上下限值信息之间的测试组所采用的策略作为所述工作子系统的目标高速缓存管理策略;
所述调整模块,与所述确定模块相连,用于根据本地预先设置的调整策略和所述目标高速缓存管理策略,调整所述工作子系统所采用的高速缓存管理策略。
2.根据权利要求1所述的系统,其特征在于,所述测试子系统包括响应当前进程的缓存行。
3.根据权利要求1或2所述的系统,其特征在于,所述测试子系统中每个测试组所包含的缓存行数量相等。
4.根据权利要求1所述的系统,其特征在于,所述调整子系统获取的访问失效率信息是一个或多个单位时间片的访问失效率信息。
5.根据权利要求4所述的系统,其特征在于,所述调整子系统所采用各个测试组的访问失效率上下限值信息是根据该测试组当前单位时间片之前一个或多个单位时间片的访问失效率确定的。
6.根据权利要求1所述的系统,其特征在于,所述调整模块包括记录单元、判断单元和调整单元,其中:
所述记录单元,用于记录所述选择模块连续选择同一目标高速缓存管理策略的次数;
所述判断单元,与所述记录单元相连,用于判断所述记录单元的次数是否达到预先设置的阈值;
所述调整单元,与所述判断单元相连,用于在判断单元判断达到所述阈值时,将所述工作子系统所采用的高速缓存管理策略调整为所述目标高速缓存管理策略。
7.一种高速缓存管理策略的调整方法,其特征在于,包括:
将高速缓存划分为工作子系统和测试子系统;
将所述测试子系统划分为多个采用不同的高速缓存管理策略的测试组;
获取所述多个测试组的访问失效率信息;
按照预先设置的访问失效率判断顺序,判断每个测试组的访问失效率信息是否在预先设置的每个测试组的访问失效率上下限值信息之间;
在判断有测试组的访问失效率信息在该测试组的访问失效率上下限值信息之间时,将该访问失效率信息在该测试组的访问失效率上下限值信息之间的测试组所采用的策略作为所述工作子系统的目标高速缓存管理策略;
根据本地预先设置的调整策略和所述目标高速缓存管理策略,调整所述工作子系统所采用的高速缓存管理策略。
8.根据权利要求7所述的方法,其特征在于,所述将高速缓存划分为工作子系统和测试子系统,包括:
获取所述高速缓存当前响应的进程状态;
根据所述系统当前响应的状态,将包括响应当前进程的缓存行作为测试子系统,剩余的缓存行作为工作子系统。
9.根据权利要求7或8所述的方法,其特征在于,所述将所述测试子系统划分为多个采用不同的高速缓存管理策略的测试组,包括:
将所述测试子系统划分成多个包含相同数量缓存行的测试组,其中每个测试组采用不同的高速缓存管理策略管理管理高速缓存。
10.根据权利要求7所述的方法,其特征在于,所述获取所述多个测试组的访问失效率信息,包括:
按照一个或多个单位时间片对所述测试子系统中的高速缓存进行采样,得到每个测试组一个或多个单位时间片的访问失效率信息。
11.根据权利要求10所述的方法,其特征在于,所述每个测试组的访问失效率上下限值信息是根据该测试组当前单位时间片之前一个或多个单位时间片的访问失效率确定的。
12.根据权利要求7所述的方法,其特征在于,所述根据本地预先设置的调整策略和所述目标高速缓存管理策略,调整所述工作子系统所采用的高速缓存管理策略,包括:
记录所述选择模块连续选择同一目标高速缓存管理策略的次数;
判断所述记录的次数是否达到预先设置的阈值;
如果判断达到所述阈值,将所述工作子系统所采用的高速缓存管理策略调整为所述目标高速缓存管理策略;否则,不调整所述工作子系统所采用的高速缓存管理策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010200578A CN101866322A (zh) | 2010-06-13 | 2010-06-13 | 一种高速缓存管理策略的调整方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010200578A CN101866322A (zh) | 2010-06-13 | 2010-06-13 | 一种高速缓存管理策略的调整方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101866322A true CN101866322A (zh) | 2010-10-20 |
Family
ID=42958054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010200578A Pending CN101866322A (zh) | 2010-06-13 | 2010-06-13 | 一种高速缓存管理策略的调整方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101866322A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831077A (zh) * | 2012-07-10 | 2012-12-19 | 中兴通讯股份有限公司 | 一种节约缓存资源的流量管理装置和方法 |
CN114631082A (zh) * | 2019-10-31 | 2022-06-14 | 超威半导体公司 | 高速缓存访问测量偏斜校正 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
CN101557518A (zh) * | 2009-05-11 | 2009-10-14 | 华亚微电子(上海)有限公司 | 运动补偿方法及装置、高速缓存替换方法及装置 |
CN101609432A (zh) * | 2009-07-13 | 2009-12-23 | 中国科学院计算技术研究所 | 共享缓存管理系统及方法 |
-
2010
- 2010-06-13 CN CN201010200578A patent/CN101866322A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
CN101557518A (zh) * | 2009-05-11 | 2009-10-14 | 华亚微电子(上海)有限公司 | 运动补偿方法及装置、高速缓存替换方法及装置 |
CN101609432A (zh) * | 2009-07-13 | 2009-12-23 | 中国科学院计算技术研究所 | 共享缓存管理系统及方法 |
Non-Patent Citations (1)
Title |
---|
《ISCA'07 Proceedings of the 34th annual international symposium on Computer architeture》 20070731 Moinuddin K. Qureshi等 《Adaptive insertion policies for high performance caching》 第381-391页 , 2 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831077A (zh) * | 2012-07-10 | 2012-12-19 | 中兴通讯股份有限公司 | 一种节约缓存资源的流量管理装置和方法 |
CN114631082A (zh) * | 2019-10-31 | 2022-06-14 | 超威半导体公司 | 高速缓存访问测量偏斜校正 |
CN114631082B (zh) * | 2019-10-31 | 2023-10-24 | 超威半导体公司 | 高速缓存访问测量偏斜校正 |
US11880310B2 (en) | 2019-10-31 | 2024-01-23 | Advanced Micro Devices, Inc. | Cache access measurement deskew |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102156738B (zh) | 数据块处理方法、数据块存储设备及系统 | |
CN101866318A (zh) | 一种高速缓存替换策略的管理系统及方法 | |
CN105653591B (zh) | 一种工业实时数据分级存储及迁移方法 | |
Xing et al. | A distributed multi-level model with dynamic replacement for the storage of smart edge computing | |
CN103092526B (zh) | 在存储设备间进行数据迁移的方法和装置 | |
CN101777026B (zh) | 一种存储管理方法、硬盘及存储系统 | |
EP2842040B1 (en) | Collaborative caching | |
US20130232310A1 (en) | Energy efficiency in a distributed storage system | |
CN104317736B (zh) | 一种分布式文件系统多级缓存实现方法 | |
CN100447744C (zh) | 堆栈管理系统及方法 | |
CN104657286A (zh) | 一种分级存储方法及装置 | |
CN105975402B (zh) | 一种混合内存环境下淘汰数据感知的缓存方法与系统 | |
CN103595805A (zh) | 一种基于分布式集群的数据放置方法 | |
CN102937937A (zh) | 数据预取器及预取数据至高速缓存存储器的方法 | |
US8275957B2 (en) | System and method for optimizing data in value-based storage system | |
CN103631894A (zh) | 一种基于hdfs的动态副本管理方法 | |
CN105095495B (zh) | 一种分布式文件系统缓存管理方法和系统 | |
Xu et al. | Rethink the storage of virtual machine images in clouds | |
EP3588913A1 (en) | Data caching method and apparatus | |
CN101866321B (zh) | 一种高速缓存管理策略的调整方法及系统 | |
CN101866322A (zh) | 一种高速缓存管理策略的调整方法及系统 | |
CN104077241A (zh) | 缓存淘汰算法切换处理方法及装置 | |
CN102521161A (zh) | 一种数据的缓存方法、装置和服务器 | |
CN101894078B (zh) | 一种高速缓存管理策略的调整方法及系统 | |
CN106569728B (zh) | 多磁盘阵列raid共享写缓存的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101020 |