[发明专利]一种缓存管理方法和装置有效
申请号: | 201310398676.6 | 申请日: | 2013-09-04 |
公开(公告)号: | CN103455443B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 裘稀石;吴建国 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/0882 | 分类号: | G06F12/0882 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 管理 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种缓存管理方法和装置。
背景技术
随着技术的进步,新的多核、众核计算机系统不断出现,包含了多个物理CPU(Central Processing Unit,中央处理机),并且每个物理CPU上含有大容量的硬件缓存。在现代CPU的硬件缓存结构中,CPU中硬件缓存管理的最小单位为cache bin(缓存行),多个Cache line组成一个set(集合)。其中,OS(Operating System,操作系统)中内存管理的最小单位为page(页),一个物理页映射到CPU硬件缓存上所需要的连续set数目为一个cache bin(缓存本),一个cache bin表示一种颜色。
当task0和task1中有页面映射到同一个cache bin中,且task0运行在core0上,task1运行在core1上,将导致两个CPU访问同一个cache bin,从而会导致冲突,不断产生cache失效。这样,由于同一个物理页只能映射到同一个cache bin中,且由于物理内存远远大于硬件cache容量,故存在多个物理页与同一个Cache bin对应的情况。由于管理单位的不一致和多CPU的存在,就有可能导致大量cache失效,产生频繁的cache刷新,最终导致系统性能降低。
现有技术中,可以通过页着色来提高系统性能,其基本原理是控制每个用户态进程,使之只能访问特定颜色的页面,即通过进程创建时引入着色策略、通过缺页异常分配页面时引入着色策略等,从而避免在进程切换时产生cache失效,但是该方案只适用于用户态,不适用于内核态,且其中的page和cache的映射关系是固定的,把cache划分给每个进程,使得整个cache的使用率降低。
发明内容
本发明的实施例提供一种缓存管理方法和装置,能够提高缓存的使用效率,提高系统性能。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种缓存管理方法,包括:
通过统计模块获取物理地址的内存区域的统计信息,所述统计信息包括所述内存区域在访问时的缓存命中率、或缓存失效率、或访问频率;
通过管理模块根据所述统计信息和所述物理地址的区域标识对所述内存区域进行分类,并为分类后的每一类内存区域进行着色;
根据着色后的内存区域更新区域颜色映射表中的映射关系,所述映射关系为所述物理地址的区域标识与所述内存区域着色后的颜色之间的映射;
根据所述映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与所述当前访问的物理地址的内存区域的颜色对应的缓存区中。
结合第一方面,在第一种可能实现的方式中,所述方法还包括:
在对所述内存区域进行分类并着色后,将所述缓存器中的数据清空至内存中,以使得所述颜色寄存器根据更新后的映射关系,将待访问的物理地址对应的数据缓存至所述缓存器中;
若所述缓存器中不存在空闲的缓存区,则根据最近最少使用算法将所述缓存器中最近最少使用的物理内存页的数据清空至内存中,以使得同一类颜色的内存区域具有相近的访问频率。
结合第一方面的第一种可能实现的方式,在第二种可能实现的方式中,所述通过管理模块根据所述统计信息对所述物理内存页进行分类包括:
通过所述统计模块将所述统计信息和所述物理地址的区域标识上报至所述管理模块;
通过所述管理模块将所述内存区域的缓存命中率与第一阈值进行比较,将所述缓存命中率大于或等于所述第一阈值的区域标识对应的内存区域归为第一类,将所述缓存命中率小于所述第一阈值的区域标识对应的内存区域归为第二类;
或,通过所述管理模块将所述内存区域的缓存失效率与第二阈值进行比较,将所述缓存失效率大于或等于所述第二阈值的区域标识对应的内存区域归为第一类,将所述缓存失效率小于所述第二阈值的区域标识对应的内存区域归为第二类;
或,通过所述管理模块将所述内存区域的访问频率与第三阈值进行比较,将所述访问频率大于或等于所述第三阈值的区域标识对应的内存区域归为第一类,将所述访问频率小于所述第三阈值的区域标识对应的内存区域归为第二类。
结合第一方面的第二种可能实现的方式,在第三种可能实现的方式中,所述缓存命中率为在预设次数内访问所述物理地址时,将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
所述缓存失效率为在所述预设次数内访问所述物理地址时,没有将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310398676.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种瞬时频率含交叉点的信号时频分解方法
- 下一篇:数据处理方法及装置