[发明专利]一种高速缓存管理策略的调整方法及系统无效
申请号: | 201010200578.3 | 申请日: | 2010-06-13 |
公开(公告)号: | CN101866322A | 公开(公告)日: | 2010-10-20 |
发明(设计)人: | 程旭;黄涛;管雪涛 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高速缓存 管理 策略 调整 方法 系统 | ||
技术领域
本发明涉及计算机处理器高速缓存领域,特别是涉及一种高速缓存管理策略的调整方法及系统。
背景技术
高速缓冲存储器(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决策方式与当前应用实际运行行为联系较少的问题,从而无法满足各种复杂情况的性能要求,尤其在面对多线程多处理器共享缓存结构时,性能往往较差。
发明内容
本发明所要解决的技术问题是需要提供一种高速缓存管理策略的调整方法及系统,解决现有技术中高速缓存动态插入策略决策方式与应用访存行为实际需要出现偏差导致的系统性能降低的问题。
为了解决上述技术问题,本发明提供如下技术方案:
一种高速缓存管理策略的调整系统,所述系统包括工作子系统、测试子系统和调整子系统,所述工作子系统和所述测试子系统所包含的高速缓存构成全部的高速缓存,其中:
所述工作子系统采用一种高速缓存管理策略管理所述工作子系统中的高速缓存;
所述测试子系统包括多个测试组,每个测试组分别采用不同的高速缓存管理策略管理本测试组内的高速缓存;
所述调整子系统根据所述测试子系统的测试结果,调整所述工作子系统所采用的高速缓存管理策略,包括获取模块、判断模块、确定模块和调整模块,其中:
所述获取模块,用于获取每个测试组的访问失效率信息;
所述判断模块,与所述获取模块相连,用于按照预先设置的访问失效率判断顺序,判断每个测试组的访问失效率信息是否在该测试组的访问失效率上下限值信息之间;
所述选择模块,与所述判断模块相连,用于选择一个访问失效率信息在该测试组的访问失效率上下限值信息之间的测试组所采用的策略作为所述工作子系统的目标高速缓存管理策略;
所述调整模块,与所述确定模块相连,用于根据本地预先设置的调整策略和所述目标高速缓存管理策略,调整所述工作子系统所采用的高速缓存管理策略。
进一步的,所述测试子系统包括响应当前进程的缓存行。
进一步的,所述测试子系统中每个测试组所包含的缓存行数量相等。
进一步的,所述调整子系统获取的访问失效率信息是一个或多个单位时间片的访问失效率信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010200578.3/2.html,转载请声明来源钻瓜专利网。