The invention discloses a DRAM buffer management method and a system based on time locality, belonging to the technical field of computer caching. The system of the invention includes local time monitoring module, dynamic decision module and scheduling management module: local time monitoring module is used for monitoring the user request time locality, probability according to the monitoring results of calculation of write back and fill and submit to the dispatching management module; method of dynamic decision module used to group as a unit of dynamic nuclear duel the decision whether to deploy the next phase of local time management strategy, to avoid the write back and fill the filter to bring the DRAM cache hit rate of decline, the performance of the system more stable; scheduling management module according to the monitoring module and dynamic decision module to manage the result write back and fill the request to the DRAM cache. The invention is completely transparent to the user layer in the course of operation, and has little influence on the system performance because the monitoring is not on the critical path required to request access.
【技术实现步骤摘要】
一种基于时间局部性的DRAM缓存管理方法及系统
本专利技术属于计算机缓存
,更具体地,涉及一种基于时间局部性的DRAM缓存管理方法及系统。
技术介绍
随着处理器核数的不断增加,现代应用所需的缓存容量也越来越大,传统的基于SRAM的缓存已无法满足需求,SRAM的低密度、高功耗特点使得进一步增大SRAM容量变得不切实际。虽然DRAM能够提供相对于SRAM几倍的带宽,但是由于它的高延迟特点,DRAM一直以来仅仅被用作主存。然而,最近采用一些新技术,如die-stacking技术大大提高了DRAM的性能,堆叠DRAM可以提供片外DRAM几倍的带宽优势,同时延迟降为原来的一半甚至三分之一。要想更好的利用DRAM缓存,需要解决一些挑战。由于SRAM与DRAM性质存在很大区别,DRAM缓存的设计主要分为细粒度和粗粒度,细粒度一般是以64B的块进行组织的,粗粒度则是以KB级的页进行组织的:细粒度的设计会导致很高的标签存储开销,这个开销远大于最后一级SRAM缓存,这强迫设计者将标签存放在DRAM缓存之中,串行化标签、数据访问和使用组相连缓存会进一步增大命中延迟开销,目前,主要有两个方案来解决标签和数据串行化访问带来的延时问题:一是将标签和数据放置在同一行,通过行缓冲命中来降低DRAM缓存的命中时延;另一个通过直接组相连的方式,将标签和数据紧紧的放置在一起,通过一次访问将标签和数据同时流出从而完全消除标签、数据串行化的问题;细粒度的设计无法利用应用的空间局部性,这使得其命中率相对较低,细粒度是优势在于有效的使用片外主存带宽和缓存容量;粗粒度的设计使标签的存储开销大大降低 ...
【技术保护点】
一种基于时间局部性的DRAM缓存管理方法,其特征在于,该方法包括:(1)监测时间局部性:实时对片上缓存的读和写请求的命中情况进行采样监控,根据监控结果计算填充概率和写回概率;(2)动态决策:以设定的时间间隔对DRAM缓存进行抽样,对每个抽样组采用不同的概率过滤策略进行填充或写回,以CPU核为单位对抽样组进行命中率对比;(3)调度管理:根据时间局部性监测结果和动态决策结果来管理数据写回和填充到DRAM缓存的请求。
【技术特征摘要】
1.一种基于时间局部性的DRAM缓存管理方法,其特征在于,该方法包括:(1)监测时间局部性:实时对片上缓存的读和写请求的命中情况进行采样监控,根据监控结果计算填充概率和写回概率;(2)动态决策:以设定的时间间隔对DRAM缓存进行抽样,对每个抽样组采用不同的概率过滤策略进行填充或写回,以CPU核为单位对抽样组进行命中率对比;(3)调度管理:根据时间局部性监测结果和动态决策结果来管理数据写回和填充到DRAM缓存的请求。2.根据权利要求1所述的一种基于时间局部性的DRAM缓存管理方法,其特征在于,所述步骤(1)中填充概率或写回概率的计算方法为:Pi=(N1×W1+N2×W2+…+Nk×Wk)/N,其中,Pi为填充概率或写回概率;Nk为第k路的命中数量;Wk为第k路的权重;N为命中数量与未命中数量的和。3.根据权利要求1所述的一种基于时间局部性的DRAM缓存管理方法,其特征在于,所述步骤(2)具体包括:(21)以设定的时间间隔对DRAM缓存进行抽样,获得(CPU核数+1)×2个抽样组;(22)一个CPU核i对应2个抽样组:一组设为Ci,其中核i采用步骤(1)所得填充概率或写回概率进行填充或写回,其他核采用当前概率进行填充或写回;另一组设为Fi,其中核i采用全填充或全写回,其他核采用当前概率进行填充或写回;(23)剩下其中1个抽样组设为PBS,采用当前概率进行填充或写回,另1个抽样组设为CS,采用全填充或全写回;(24)进行对比,若(PBS未命中率-CS未命中率)≤第一设定阈值,则设定标记modebit=0;否则modebit=1;(25)若CPU核i对应的两个抽样组Ci未命中率-Fi未命中率≤第二设定阈值,则设定标记corebiti=0;否则corebiti=1。4.根据权利要求1、2或3所述的一种基于时间局部性的DRAM缓存管理方法,其特征在于,步骤(3)具体包括:(31)对于写回和填充到DRAM缓存的请求,若modebit=0,则跳转步骤(33);若modebit=1,则跳转步骤(32);(32)若corebiti=0,则跳转步骤(33);若corebiti=1,则生成一个0到1之间的随机数R,若R<Pi,则跳转步骤(33),否则,若是填充请求则跳转步骤(35),若是写回请求则跳转步骤(34);(33)写回或填充到DRAM缓存,跳转步骤(36);(34)写回到片外主存,跳转步骤(36);(35)填充到片上缓存,跳转步骤(36);(36)调度结束。5.一种基于时间局部性的DRAM缓存管理系统,其特征在于,该系统包括:时间局部性监测模块,用...
【专利技术属性】
技术研发人员:廖小飞,陈湃,金海,吕新桥,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。