【技术实现步骤摘要】
一种动态缓存污染防治系统及方法
本专利技术属于计算机缓存性能优化
,更具体地,涉及一种动态缓存污染防治系统及方法。
技术介绍
高速缓冲存储器(Cache)是存取速度比一般随机存取记忆体(RAM)更快的一种RAM,在计算机存储系统的层次结构中,是介于中央处理器和主存储器之间的高速小容量存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的,程序员感觉不到高速缓冲存储器的存在,因而其对程序员是透明的。在计算机技术发展过程中,主存储器存取速度一直比中央处理器操作速度慢得多,使得中央处理器的高速处理能力不能充分发挥,影响了整个计算机系统的工作效率。目前有很多方法可用来缓和中央处理器与主存储器之间速度不匹配的矛盾,例如采用多个通用寄存器、多存储体交叉存取等,但在存储层次上采用高速缓冲存储器是最常用的方法。高速缓冲存储器的容量一般只有主存储器的几百分之一,但其存取速度能与中央处理器相匹配。根据程序局部性原理,正在使用的主存储器某一单元其邻近的单元将被用到的可能性很大。因而,当中央处理器存取主存储器某一单元时,计算机硬件就自动地将包括该单元在内的一组单元内容调入高速缓冲存储器,中央处理器即将存取的主存储器单元很可能就在刚刚调入到高速缓冲存储器的那一组单元内。于是,中央处理器就可以直接对高速缓冲存储器进行存取。在整个处理过程中,如果中央处理器绝大多数存取主存储器的操作能为存取高速缓冲存储器所代替,计算机系统处理速度就能显著提高。但是,当前处理器高速缓存大多采用最近最少使用(LeastRecentlyUsed,LRU)替换算法,该算法不能有效识别被访问 ...
【技术保护点】
一种动态缓存污染防治系统,包括内存监测模块、分析模块和决策分配模块,其特征在于:所述内存监测模块对为上层用户层程序动态分配的堆内存进行采样监测并收集数据,并将所述数据发送至所述分析模块,其中,所述数据包括动态分配内存的大小、所述用户层程序运行时函数调用栈的内容及深度、所述被采样监测页面相邻两次猝发访问的时间间隔ΔT和所述时间间隔ΔT内各级缓存访问缺失次数ΔCi,i=1、2、3;所述分析模块对所述采样监测模块收集到的所述数据进行分析,判断所述用户层程序的所述堆内存是否对缓存造成污染,确定对所述缓存的污染类型为Li级缓存污染,并将分析结果发送至所述决策分配模块;所述决策分配模块对原有的伙伴系统加入以page‑color为基础的页面管理机制,将内存页面管理与页面映射分离,根据所述分析模块的所述分析结果控制系统逻辑页面到物理页框的映射方式,以实现对缓存污染的有效限制。
【技术特征摘要】
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与所述各级缓存的容量大小进...
【专利技术属性】
技术研发人员:廖小飞,金海,张德新,郭人通,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。