[发明专利]一种动态缓存污染防治系统及方法有效
申请号: | 201410168269.0 | 申请日: | 2014-04-24 |
公开(公告)号: | CN103970679B | 公开(公告)日: | 2017-02-01 |
发明(设计)人: | 廖小飞;金海;张德新;郭人通 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/0893 | 分类号: | G06F12/0893;G06F11/30 |
代理公司: | 华中科技大学专利中心42201 | 代理人: | 廖盈春 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 缓存 污染 防治 系统 方法 | ||
1.一种动态缓存污染防治系统,包括内存监测模块、分析模块和决策分配模块,其特征在于:
所述内存监测模块对为上层用户层程序动态分配的堆内存进行采样监测并收集数据,并将所述数据发送至所述分析模块,其中,所述数据包括动态分配内存的大小、所述用户层程序运行时函数调用栈的内容及深度、所述被采样监测页面相邻两次猝发访问的时间间隔ΔT和所述时间间隔ΔT内各级缓存访问缺失次数ΔCi,i=1、2、3;
所述分析模块对所述采样监测模块收集到的所述数据进行分析,判断所述用户层程序的所述堆内存是否对缓存造成污染,确定对所述缓存的污染类型为Li级缓存污染,并将分析结果发送至所述决策分配模块;
所述决策分配模块对原有的伙伴系统加入以page-color为基础的页面管理机制,将内存页面管理与页面映射分离,根据所述分析模块的所述分析结果控制系统逻辑页面到物理页框的映射方式,以实现对缓存污染的有效限制。
2.如权利要求1所述的动态缓存污染防治系统,其特征在于,所述内存监测模块追踪截获与内存相关的关键函数以及所述函数调用栈,其中所述关键函数包括内存分配函数、内存释放函数和高速缓存缺失次数统计函数。
3.如权利要求1所述的动态缓存污染防治系统,其特征在于,所述分析模块通过比较所述函数调用栈的内容及深度确定内存分配点,通过比较所述时间间隔ΔT内各级缓存的所述缓存缺失次数ΔCi与所述各级缓存的容量大小来判断所述用户层程序对所述缓存的污染情况,若满足条件D(i+1)>ΔT×ΔCi>Di,则确定为Li型缓存污染,其中
4.如权利要求1所述的动态缓存污染防治系统,其特征在于,所述决策分配模块通过公式计算出页着色的颜色数:
其中i=2、3,得到L2、L3级缓存的颜色数;
若内存分配点为第一次分配,或者所述内存分配点在所述用户层程序运行前期分配的内存未对所述缓存造成污染,则所述决策分配模块控制所述伙伴系统将所述内存页面均匀地映射到所有颜色的物理页框上;
若为L2级缓存污染,则所述决策分配模块控制所述伙伴系统将所述内存页面均匀地映射到前种颜色的物理页框上,若当前种颜色的物理页框已被全部分配,则映射到前种颜色上,以此类推;
若为L3级缓存污染,则所述决策分配模块控制所述伙伴系统将所述内存页面均匀地映射到前种颜色的物理页框上,其中若则取前p2种颜色,若前种颜色的物理页框已被全部分配,则映射到前种颜色上,以此类推。
5.一种动态缓存污染防治方法,包括:
步骤1追踪用户层程序的内存分配和释放操作;
步骤2对动态分配的堆内存进行采样监测并收集数据,所述数据包括动态分配内存的大小、所述用户层程序运行时函数调用栈的内容及深度、被采样监测页面相邻两次猝发访问的时间间隔ΔT和所述时间间隔ΔT内各级缓存访问缺失次数ΔCi,i=1、2、3,并判断当前内存分配点是否为第一次分配内存,若是,则新建采样哈希表,并执行步骤1;否则更新所述采样哈希表,并执行步骤3;
步骤3根据所述步骤2所收集的所述数据,分析当前所述堆内存对缓存的污染情况,将所述各级缓存访问缺失次数ΔCi与所述各级缓存的容量大小进行对比,分析得出当前所述堆内存是否对缓存造成污染,并确定当前所述堆内存对所述缓存的污染类型为Li级缓存污染;
步骤4对原有的伙伴系统进行扩展,加入以page-color为基础的页面管理机制,将内存页面管理与页面映射分离,并根据所述步骤3中得到的所述缓存污染类型控制逻辑页面到物理页框的映射和分配,以实现对缓存污染的防治,并更新所述采样哈希表,然后执行步骤1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410168269.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:顶门紧固件
- 下一篇:一种独立油缸多功能轴芯