CN101719105A - 一种多核***中对内存访问的优化方法和*** - Google Patents
一种多核***中对内存访问的优化方法和*** Download PDFInfo
- Publication number
- CN101719105A CN101719105A CN200910243195A CN200910243195A CN101719105A CN 101719105 A CN101719105 A CN 101719105A CN 200910243195 A CN200910243195 A CN 200910243195A CN 200910243195 A CN200910243195 A CN 200910243195A CN 101719105 A CN101719105 A CN 101719105A
- Authority
- CN
- China
- Prior art keywords
- program
- color
- row cache
- crash rate
- target program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种多核***中对内存访存的优化方法和***。该方法包括下列步骤:在中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;对操作***中同时执行的多个目标程序中的每一个程序,利用操作***中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核***中总的行缓存失效率,达到多核***中对内存访存的优化。
Description
技术领域
本发明涉及动态随机存储器(Dynamic Random Access Memory,DRAM)访存优化技术领域,特别是涉及一种多核***中对内存访问的优化方法和***。
背景技术
计算机执行程序主要包括运算和取数两类操作。目前计算机中处理器的运算速度要远远高于从DRAM中取数的速度,因此,如何优化DRAM的访问速度,提高从DRAM中取数的速度,是众多公司和研究机构致力于研究的问题。
DRAM***包括多个存储体(bank),这些bank能够被同时访问。每一个bank是由若干DRAM存储单元按行和列组成的方阵。每一个bank都包括一个行缓存(row buffer)来保存最近一次访问的行中的数据。行缓存的大小通常为2K字节或者4K字节。DRAM访问的延迟依赖于DRAM访问是行缓存命中还是失效。如果对DRAM某一个bank的访问请求与上一次对该bank的访问请求访问的是相同行,那么这一次的DRAM访问请求是行缓存命中的。如果对DRAM某一个bank的访问请求与上一次对该bank的访问请求访问的是不同行,那么就会发生一次行缓存冲突,这一次的DRAM访问请求就是行缓存失效的。行缓存命中的DRAM访问时间大约是行缓存失效的DRAM访问时间的一半。因此如何降低DRAM行缓存冲突、降低DRAM行缓存的失效率是优化DRAM的访问速度的重要方法。一个程序可能同时有多个访问请求访问DRAM,这些访问请求彼此之间可能存在行缓存冲突,我们把来自同一个程序的不同访问请求之间发生的行缓存冲突称为程序内行缓存冲突。如果DRAM***的bank数越多,这些访问请求发生冲突的概率就越小。在多核***下,同时会有多个DRAM访问请求来自于同时执行的多个不同程序,来自不同程序的访问请求彼此之间会相互冲突,我们把来自不同程序的访问请求之间发生的行缓存冲突称为程序间行缓存冲突。在多核***下优化DRAM行缓存命中率的目标就是要使程序间行缓存冲突和程序内行缓存冲突之和最小。
现有的技术通过在内存控制器中增加硬件逻辑来提高单个程序执行在DRAM行缓存中的命中率。一类是通过增加DRAM访存请求调度器,把内存控制器访存队列当中访问DRAM相同bank相同行的请求调度到相邻位置,这样能够提高DRAM行缓存的命中率。另一类是在内存控制器中采用基于XOR操作的地址映射方法,即在DRAM访问请求的物理地址到DRAM存储单元空间的地址映射之间,加上一个XOR操作,这样做的目的是破坏多级存储地址映射的对称性:使发生最后一级cache(处理器最后一级高速缓存)冲突失效的多个访存请求尽量被映射到不同bank,从而提高DRAM行缓存的命中率。
现有的方法虽然能够改善DRAM的行缓存命中率,但由于是通过增加硬件逻辑来进行优化,因而会受到下面的限制:DRAM访存调度器受到内存控制器访存队列长度的限制,同时它也受到处理器中指令执行窗口队列长度的限制,因此调度能够作用的访存请求范围有限。而XOR地址映射方法因为是硬件机制,不能够针对不同程序给出与之相适应的办法,因此也不可能把每一个程序优化得很好。此外,这些已有的方法都是针对单个程序,只考虑如何降低单个程序的程序内行缓存冲突,没有考虑多核***下存在的程序间行缓存冲突。
发明内容
本发明的目的在于提供一种多核***中对内存访存的优化方法和***。其能够显著降低多核***中总的行缓存冲突,降低多核***中总的行缓存失效率,改善***性能。
为实现本发明的目的而提供的一种多核***中对内存访存的优化方法,包括下列步骤:
步骤100.在中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;
步骤200.对操作***中同时执行的多个目标程序中的每一个程序,利用操作***中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;
步骤300.根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核***中总的行缓存失效率,达到多核***中对内存访存的优化。
如果操作***不支持页着色的分配算法,则在步骤100之前,还包括步骤100’.为操作***中添加页着色的分配算法,采用proc文件***作为控制目标程序占有哪些颜色的接口。
所述步骤100中,如果内存控制器中存在异或地址映射,那么需要去掉在内存控制器中的异或地址映射。
所述计算缓存的索引的方法是:把原有的缓存索引中跟存储体索引相对应的位与缓存标签相对应的位做异或操作,用异或操作之后的结果代替原有缓存索引中的对应部分。
所述步骤200,包括下列步骤:
步骤210.在操作***中分别在目标程序占有的相应颜色数目下单独执行目标程序,并记录相应目标程序占有的颜色数目下对应的目标程序的程序内行缓存失效率,用折线连接所述程序内行缓存失效率得到该目标程序的MRC曲线;
步骤220.将每一个目标程序与预先选定的一组标准测试程序分别同时执行一次,剖析测试得到目标程序的程序间行缓存失效率,对所述程序间行缓存失效率做二次曲线拟合,得到目标程序的行缓存失效率随同时执行的其它程序的行缓存失效率变化的SRC曲线。
所述步骤300,包括下列步骤:
步骤310.根据页着色***中颜色的数目,确定所有可能的颜色数目候选分配方案集合;
步骤320.从所述颜色数目候选分配方案集合中选择一个颜色数目候选分配方案,计算当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;
步骤330.判断是否还有颜色数目候选分配方案未处理,若是,则返回步骤320;否则,执行步骤340;
步骤340.比较每一个所述颜色数目候选分配方案对应的总的行缓存失效率最小的划分策略,选择其中最小的划分策略,采用这个划分策略通过proc文件***设置着色掩码,对目标程序集进行动态随机存储器中存储体的划分。
所述步骤320,包括下列步骤:
步骤321.为目标程序集中的每一个程序随意分配任一种颜色,作为当前划分策略;
步骤322.任意选择目标程序集中的一个程序和任意选择一种颜色,并且在所述当前划分策略下所述程序还没有拥有所述颜色,计算所述程序拥有所述颜色的情况下的***行缓存失效率指标;
步骤323,判断是否存在还没有搜索过的程序与颜色的配对,若是,则返回步骤322,否则,执行步骤324;
步骤324.比较所有程序与所有颜色配对的***行缓存失效率指标,选择指标最小的程序和颜色的配对;
步骤325.判断所述指标最小的程序拥有的颜色数目是否超过当前颜色数目分配方案中设置的程序应该拥有的颜色数,若是,则输出所述指标最小的程序和颜色的配对作为当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;否则,执行步骤326;
步骤326.把所述颜色指派给所述指标最小的程序,更新当前划分策略,返回步骤322。
步骤322中,计算所述程序拥有所述颜色的情况下的***行缓存失效率指标的方法,包括下列步骤:
计算给定划分策略下目标程序i的总的行缓存失效率指标,公式如下:
其中,MRCi和SRCi分别对应失效率曲线和敏感度曲线,mi为目标程序i占有颜色数目,M为动态存储器***中的存储体数目,mij为与任意程序j共享的颜色数目,①表示给定划分策略条件下目标程序i的程序内行缓存失效率,而②表示目标程序i与任意程序j同时执行导致的程序间行缓存冲突失效率。
计算给定划分策略下多核***中所有目标程序的总的行缓存失效率指标,计算公式: 其中k为多核***中所有目标程序的数目。
为实现本发明的目的还提供一种多核***中对内存访存的优化***,包括:
添加异或映射模块,用于中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;
曲线计算模块,用于对操作***中同时执行的多个目标程序中的每一个程序,利用操作***中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;
划分策略获取模块,用于根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核***中总的行缓存失效率,达到多核***中对内存访存的优化。
所述的多核***中对内存访存的优化***,包括:
页着色的分配算法添加模块,用于在所述操作***不支持页着色的分配算法时,为操作***添加页着色的分配算法,采用proc文件***作为控制目标程序占有哪些颜色的接口。
所述的多核***中对内存访存的优化***,包括:
删除模块,用于在内存控制器中存在异或地址映射时,去掉在内存控制器中的异或地址映射。
所述曲线计算模块,包括:
MRC曲线计算模块,用于在操作***中分别在目标程序占有的相应颜色数目下单独执行目标程序,并记录相应目标程序占有的颜色数目下对应的目标程序的程序内行缓存失效率,用折线连接所述程序内行缓存失效率得到该目标程序的MRC曲线;
SRC曲线计算模块,用于将每一个目标程序与预先选定的一组标准测试程序分别同时执行一次,剖析测试得到目标程序的程序间行缓存失效率,对所述程序间行缓存失效率做二次曲线拟合,得到目标程序的行缓存失效率随同时执行的其它程序的行缓存失效率变化的SRC曲线。
所述划分策略获取模块,包括:
候选集合模块,用于根据页着色***中颜色的数目,确定所有可能的颜色数目候选分配方案集合;
行缓存失效率计算模块,用于从所述颜色数目候选分配方案集合中选择一个颜色数目候选分配方案,计算当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;
判断模块,用于判断是否还有颜色数目候选分配方案未处理,若是,则触发行缓存失效率计算模块;否则,触发划分模块;
划分模块,用于比较每一个所述颜色数目候选分配方案对应的总的行缓存失效率最小的划分策略,选择其中最小的划分策略,采用这个划分策略通过proc文件***设置着色掩码,对目标程序集进行动态随机存储器中存储体的划分。
所述行缓存失效率计算模块,包括:
预设模块,用于为目标程序集中的每一个程序随意分配任一种颜色,作为当前划分策略;
计算子模块,用于任意选择目标程序集中的一个程序和任意选择一种颜色,并且在所述当前划分策略下所述程序还没有拥有所述颜色,计算所述程序拥有所述颜色的情况下的***行缓存失效率指标;
判断子模块,判断是否存在还没有搜索过的程序与颜色的配对,若是,则触发计算子模块,否则,触发比较模块;
比较模块,比较所有程序与所有颜色配对的***行缓存失效率指标,选择指标最小的程序和颜色的配对;
数目判断模块,用于判断所述指标最小的程序拥有的颜色数目是否超过当前颜色数目分配方案中设置的程序应该拥有的颜色数,若是,则输出所述指标最小的程序和颜色的配对作为当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;否则,触发分配更新模块;
分配更新模块,用于把所述颜色指派给所述指标最小的程序,更新当前划分策略,并触发计算子模块。
所述计算子模块,采用以下公式计算所述程序拥有所述颜色的情况下的***行缓存失效率指标的方法,
计算给定划分策略下目标程序i的总的行缓存失效率指标,公式如下:
其中,MRCi和SRCi分别对应失效率曲线和敏感度曲线,mi为目标程序i占有颜色数目,M为动态存储器***中的存储体数目,mij为与任意程序j共享的颜色数目,①表示给定划分策略条件下目标程序i的程序内行缓存失效率,而②表示目标程序i与任意程序j同时执行导致的程序间行缓存冲突失效率。
计算给定划分策略下多核***中所有目标程序的总的行缓存失效率指标,计算公式: 其中k为多核***中所有目标程序的数目。
本发明的有益效果是:
采用本发明的一种多核***中对内存访存的优化方法和***,能够显著降低多核***下多个程序同时执行时访问内存的行缓存失效率,降低DRAM的平均访问延迟,达到优化内存访问速度的目的,提高了多核***的吞吐率,改善***性能。
附图说明
图1是本发明一种多核***中对内存访存的优化方法的步骤流程图;
图2是本发明中XOR cache映射的原理图;
图3是现有技术中采用XOR地址映射会破坏DRAM bank的划分效果图;
图4是本发明中程序fma3d的MRC曲线图;
图5是本发明中程序fma3d的SRC曲线图;
图6是本发明中计算MRC和SRC曲线的方法步骤流程图;
图7是本发明中计算适合目标程序集合的划分策略的方法步骤流程图;
图8是本发明中计算当前颜色数目候选分配方案总的行缓存失效率最小的划分策略的步骤流程图;
图9是本发明的一种多核***中对内存访存的优化***结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种多核***中对内存访存的优化方法和***进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的一种多核***中对内存访存的优化方法和***,是基于页着色的操作***页分配算法,通过划分同时执行的多个程序占有的动态随机存储器(Dynamic Random Access Memory,DRAM)的bank,尽量使不同程序占有不同的bank,来降低程序间行缓存冲突,进而达到优化内存访问速度的效果。本发明提出的基于页着色的DRAM bank划分方法为我们控制哪些程序访问哪些bank提供了基础,基于该划分方法我们需要进一步确定具体的划分策略:即确定每一个程序究竟访问多少bank以及访问哪些bank。由于我们的目的是使程序内和程序间行缓存冲突之和减少,因此我们给出了一个计算方法用来计算每一个程序应该占有多少bank以及占用哪些bank,以尽可能多地降低***总的行缓存失效率。
本发明提出的多核***下基于页着色的DRAM bank划分方法以及bank划分策略的计算方法一起构成了我们的对DRAM访存的优化方法,该优化方法能够显著降低多核***中总的行缓存冲突,降低多核***中总的行缓存失效率,改善***性能。
下面结合上述目标详细介绍本发明的一种多核***中对内存访存的优化方法,图1是本发明一种多核***中对内存访存的优化方法的步骤流程图,如图1所示,所述方法,包括下列步骤:
步骤100’.如果操作***不支持页着色的分配算法,则在操作***中添加页着色的分配算法,并且采用proc文件***作为控制目标程序占有哪些颜色的接口。如果DRAM***有M个bank,且行缓存大小与页大小一致,那么页着色***就有M种颜色。
所述页着色的分配算法为现有技术,在此不再一一赘述。
步骤100.XOR cache映射:在中央处理器(CPU)的最后一级缓存(cache)中添加异或(XOR)cache映射机制来计算cache的索引;
由于在某些机器的内存控制器中存在XOR地址映射,因此在最后一级缓存(cache)中添加异或(XOR)cache映射机制的同时,需要去掉在***的内存控制器中的XOR地址映射。
图2是本发明中XOR cache映射的原理图。在CPU的最后一级cache中采用XOR cache映射来计算cache的索引,具体的做法如图2所示,即把原有的cache索引中跟bank索引相对应的位与缓存标签(cache tag)相对应的位做XOR操作,用XOR操作之后的结果代替原有cache索引中的对应部分。原来计算cache索引的时候,是直接取物理地址当中的M位;现在的做法是把物理地址中原来用来作为cache索引的这M位当中的N位拿出来(后面的XOR操作计算完了还要放回去),与其它一些位(cache tag的低N位)做一次XOR操作,然后把做完XOR操作的结果与M位剩余的部分合起来作为新的cache索引。这样做的效果是可以用cache中增加XOR cache映射来取代在内存控制器中采用XOR地址映射。
图3是现有技术中采用XOR地址映射会破坏DRAM bank的划分效果图。我们在背景技术中提到,在内存控制器中采用XOR地址映射能够消除多级存储层次的地址对称性,降低程序内行缓存失效率,因此内存控制器中采用XOR地址映射是必要的。但通过页着色控制DRAM bank划分与在内存控制器中采用XOR地址映射之间存在矛盾,如图3所示,在内存控制器中采用XOR地址映射会破坏页着色的bank划分效果。而我们发现XOR cache映射是从CPU最后一级cache这一层破坏多级地址映射的对称性,取得与在内存控制器中采用XOR地址映射同样的效果,而且XOR cache映射不在物理地址到DRAM存储单元映射的路径上,因此不会影响页着色的效果。那么通过后面的页着色技术加上XORcache映射,我们既能够取得XOR地址映射对程序内行缓存失效率的优化效果,又能够通过页着色实现对DRAM bank划分的控制。
步骤200.对操作***中同时执行的多个目标程序中的每一个程序,分别通过剖析测试得到每一个目标程序的失效率曲线(Miss Rate Curve,MRC)和敏感度曲线(Sensitivity Rate Curve,SRC)曲线;
失效率曲线,是通过改变目标程序占有的颜色数目,剖析测试对应颜色数目下该程序的行缓存失效率,然后绘制得到的曲线。
如果DRAM***有M个bank,且行缓存大小与物理页大小一致,那么页着色***就有M种颜色。页着色的页分配机制可以通过改变目标程序占有的颜色数目来间接控制目标程序占有的bank数目。图4是本发明中程序fma3d的MRC曲线图,如图4所示,它反映了目标程序的程序内行缓存冲突随bank数目变化的情况。
敏感度曲线,也是通过剖析测试得到。我们选择了一组程序作为标准测试程序(我们选择的5个程序分别是SPEC2000标准测试集中的swim,equake,fma3d,mgrid和vpr),每一个目标程序都需要与这一组标准测试程序分别同时执行一次,测试得到每一次执行目标程序的行缓存失效率。以每一次执行的标准程序的最后一级cache的失效率作为横坐标,目标程序的行缓存失效率作为纵坐标,可以得到一组坐标点,最后对这一组坐标点进行二次曲线拟合得到我们想要的敏感度曲线,图5是本发明中程序fma3d的SRC曲线图,如图5所示,它反映了目标程序受其它程序干扰影响导致程序间行缓存冲突的情况。
图6是本发明中计算MRC和SRC曲线的方法步骤流程图,如图6所示,所述步骤200,包括下列步骤:
步骤210.计算目标程序的程序内行缓存失效率,绘制MRC曲线:在操作***中分别在目标程序占有的相应颜色数目下单独执行目标程序,并记录相应目标程序占有的颜色数目下对应的目标程序的程序内行缓存失效率,用折线连接所述程序内行缓存失效率得到该目标程序的MRC曲线;
假设页着色***中有M种颜色。让目标程序在操作***中单独执行多次,通过proc文件***这个控制接口,控制目标程序占有的颜色数目从1到M,记录每一次执行目标程序的行缓存失效率。根据得到的M个点,用折线绘制MRC曲线,对应的MRC函数就是一个M个元素的数组,记录颜色数目从1到M变化时,目标程序的行缓存失效率的值。如图4所示。
作为一种可实施方式,本发明通过性能监测计数器得到程序内行缓存失效率,然后把得到的所有点用线段连接起来得到MRC曲线。
步骤220.计算目标程序的程序间行缓存失效率,绘制SRC曲线:将每一个目标程序与预先选定的一组标准测试程序分别同时执行一次,剖析测试得到目标程序的程序间行缓存失效率,对所述程序间行缓存失效率做二次曲线拟合,得到目标程序的行缓存失效率随同时执行的其它程序的行缓存失效率变化的SRC曲线。
从SPEC2000fp选择一组标准程序,我们这里选择swim、equake、fma3d、mgrid、vpr,并通过剖析测试得到每一组程序的行缓存失效率。每一个目标程序都与这一组标准程序两两同时执行,剖析测试得到目标程序的行缓存失效率。5次剖析测试得到5个点,每一个点的横坐标是标准程序的cache失效率,纵坐标是目标程序的行缓存失效率。对这5个点做二次曲线拟合,得到目标程序的行缓存失效率随同时执行的其它程序的cache失效率变化的曲线SRC曲线。如图5所示。
作为一种可实施方式,本发明通过性能监测计数器得到目标程序的行缓存失效率,然后用matlab软件的二次曲线拟合得到SRC曲线。
步骤300.根据所述MRC和SRC曲线,计算适合目标程序集合的划分策略以降低多核***中总的行缓存失效率,达到多核***中对内存访存的优化。
本步骤中,所述划分策略有两部分组成,一部分是确定每一目标程序占有的颜色数目,以及与任意程序共享的颜色数目,计算每一个目标程序的总的行缓存失效率;另一部分是进一步确定每一目标程序具体占有的那些颜色。
图7是本发明中计算适合目标程序集合的划分策略的方法步骤流程图,如图7所示,所述步骤300,包括下列步骤:
步骤310.根据页着色***中颜色的数目,确定所有可能的颜色数目候选分配方案集合Candidate_Set;
步骤320.从所述候选分配方案集合Candidate_Set中选择一个候选分配方案Candidate,计算当前颜色数目候选分配方案candidate的总的行缓存失效率最小的划分策略;
步骤330.判断是否还有颜色数目候选分配方案candidate未处理,若是,则返回步骤320;否则,执行步骤340;
步骤340.选择所述行缓存失效率最小的划分策略,采用这个划分策略通过proc文件***设置着色掩码,对目标程序集进行DRAM bank划分。
图8是本发明中计算当前颜色数目候选分配方案总的行缓存失效率最小的划分策略的步骤流程图,如图8所示,所述步骤320,包括下列步骤:
步骤321.为目标程序集中的每一个程序随意分配任一种颜色,作为当前划分策略;
步骤322.任意选择目标程序集中的一个程序和任意选择一种颜色,并且在所述当前划分策略下所述程序还没有拥有所述颜色,计算所述程序拥有所述颜色的情况下的***行缓存失效率指标;
有了MRC曲线和SRC曲线之后,我们可以根据下面这个公式来估计任意划分策略情况下,每一个目标程序的总的行缓存失效率指标(Row Buffer Missrate indicator,RBM)。
假设DRAM***中的bank数为M,对应页着色***中总的颜色数目也为M。假设***中同时执行的程序数量为N,目标程序的编号是i,它的MRC曲线和SRC曲线对应的函数分别为MRCi和SRCi。假设给定划分策略下:目标程序i占有颜色数目为mi,与任意程序j共享的颜色数目为mij。假设任意程序j的最后一级cache失效率表示为cmj,那么目标程序i的总的行缓存失效率指标(RBM)的公式如下:
其中①表示给定划分策略条件下目标程序i的程序内行缓存失效率,而②表示目标程序i与任意程序j同时执行导致的程序间行缓存冲突失效率。
通过上面这个公式计算给定划分策略下每一个目标程序的总的行缓存失效率情况,就能计算同时执行的所有程序的总的行缓存失效率RBM(P),从而评估与所有程序的总的行缓存失效率RBM(P)相对应的给定划分策略的好坏。即任意给定一个划分策略P,就能够得到该划分策略下多核***中所有目标程序的总的行缓存失效率指标的计算公式: 其中k为多核***中所有目标程序的数目。
步骤323,判断是否存在还没有搜索过的程序与颜色的配对,若是,则返回步骤322,否则,执行步骤324;
步骤324.比较所有程序与所有颜色配对的***行缓存失效率指标,选择指标最小的程序min_i和颜色min_j的配对;
步骤325.判断所述指标最小的程序min_i和颜色min_j的配对中程序min_i拥有的颜色数目min_j是否超过当前颜色数目分配方案candidate中设置的程序应该拥有的颜色数,若是,则输出所述指标最小的程序min_i和颜色min_j的配对作为当前颜色数目候选分配方案candidate的总的行缓存失效率最小的划分策略;否则,执行步骤326;
步骤326.把颜色min_j指派给程序min_i,更新当前划分策略,返回步骤322。
相应于本发明的一种多核***中对内存访存的优化方法,还提供一种多核***中对内存访存的优化***,图9是本发明的一种多核***中对内存访存的优化***结构示意图,如图9所示,所述***,包括:
添加异或映射模块1,用于中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;
曲线计算模块2,用于对操作***中同时执行的多个目标程序中的每一个程序,利用操作***中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;
划分策略获取模块3,用于根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核***中总的行缓存失效率,达到多核***中对内存访存的优化。
所述***,还包括:
页着色的分配算法添加模块4,用于在所述操作***不支持页着色的分配算法时,为操作***添加页着色的分配算法,采用proc文件***作为控制目标程序占有哪些颜色的接口。
所述***,还包括:
删除模块5,用于在内存控制器中存在异或地址映射时,去掉在内存控制器中的异或地址映射。
所述曲线计算模块2,包括:
MRC曲线计算模块21,用于在操作***中分别在目标程序占有的相应颜色数目下单独执行目标程序,并记录相应目标程序占有的颜色数目下对应的目标程序的程序内行缓存失效率,用折线连接所述程序内行缓存失效率得到该目标程序的MRC曲线;
SRC曲线计算模块22,用于将每一个目标程序与预先选定的一组标准测试程序分别同时执行一次,剖析测试得到目标程序的程序间行缓存失效率,对所述程序间行缓存失效率做二次曲线拟合,得到目标程序的行缓存失效率随同时执行的其它程序的行缓存失效率变化的SRC曲线。
所述划分策略获取模块3,包括:
候选集合模块31,用于根据页着色***中颜色的数目,确定所有可能的颜色数目候选分配方案集合;
行缓存失效率计算模块32,用于从所述颜色数目候选分配方案集合中选择一个颜色数目候选分配方案,计算当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;
判断模块33,用于判断是否还有颜色数目候选分配方案未处理,若是,则触发行缓存失效率计算模块32;否则,触发划分模块34;
划分模块34,用于比较每一个所述颜色数目候选分配方案对应的总的行缓存失效率最小的划分策略,选择其中最小的划分策略,采用这个划分策略通过proc文件***设置着色掩码,对目标程序集进行动态随机存储器中存储体的划分。
所述行缓存失效率计算模块32,包括:
预设模块321,用于为目标程序集中的每一个程序随意分配任一种颜色,作为当前划分策略;
计算子模块322,用于任意选择目标程序集中的一个程序和任意选择一种颜色,并且在所述当前划分策略下所述程序还没有拥有所述颜色,计算所述程序拥有所述颜色的情况下的***行缓存失效率指标;
判断子模块323,判断是否存在还没有搜索过的程序与颜色的配对,若是,则触发计算子模块322,否则,触发比较模块324;
比较模块324,比较所有程序与所有颜色配对的***行缓存失效率指标,选择指标最小的程序和颜色的配对;
数目判断模块325,用于判断所述指标最小的程序拥有的颜色数目是否超过当前颜色数目分配方案中设置的程序应该拥有的颜色数,若是,则输出所述指标最小的程序和颜色的配对作为当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;否则,触发分配更新模块326;
分配更新模块326,用于把所述颜色指派给所述指标最小的程序,更新当前划分策略,并触发计算子模块322。
所述计算子模块322,采用以下公式计算所述程序拥有所述颜色的情况下的***行缓存失效率指标的方法,
计算给定划分策略下目标程序i的总的行缓存失效率指标,公式如下:
其中,MRCi和SRCi分别对应失效率曲线和敏感度曲线,mi为目标程序i占有颜色数目,M为动态存储器***中的存储体数目,mij为与任意程序j共享的颜色数目,①表示给定划分策略条件下目标程序i的程序内行缓存失效率,而②表示目标程序i与任意程序j同时执行导致的程序间行缓存冲突失效率。
计算给定划分策略下多核***中所有目标程序的总的行缓存失效率指标,计算公式: 其中k为多核***中所有目标程序的数目。
本发明的有益效果在于:
采用本发明的一种多核***中对内存访存的优化方法和***,能够显著降低多核***下多个程序同时执行时访问内存的行缓存失效率,降低DRAM的平均访问延迟,达到优化内存访问速度的目的,提高了多核***的吞吐率,改善***性能。
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。
Claims (15)
1.一种多核***中对内存访存的优化方法,其特征在于,所述方法,包括下列步骤:
步骤100.在中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;
步骤200.对操作***中同时执行的多个目标程序中的每一个程序,利用操作***中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;
步骤300.根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核***中总的行缓存失效率,达到多核***中对内存访存的优化。
2.根据权利要求1所述的多核***中对内存访存的优化方法,其特征在于,如果操作***不支持页着色的分配算法,则在步骤100之前,还包括步骤100’.为操作***中添加页着色的分配算法,采用proc文件***作为控制目标程序占有哪些颜色的接口。
3.根据权利要求1所述的多核***中对内存访存的优化方法,其特征在于,所述步骤100中,如果内存控制器中存在异或地址映射,那么需要去掉在内存控制器中的异或地址映射。
4.根据权利要求1所述的多核***中对内存访存的优化方法,其特征在于,所述计算缓存的索引的方法是:把原有的缓存索引中跟存储体索引相对应的位与缓存标签相对应的位做异或操作,用异或操作之后的结果代替原有缓存索引中的对应部分。
5.根据权利要求1所述的多核***中对内存访存的优化方法,其特征在于,所述步骤200,包括下列步骤:
步骤210.在操作***中分别在目标程序占有的相应颜色数目下单独执行目标程序,并记录相应目标程序占有的颜色数目下对应的目标程序的程序内行缓存失效率,用折线连接所述程序内行缓存失效率得到该目标程序的MRC曲线;
步骤220.将每一个目标程序与预先选定的一组标准测试程序分别同时执行一次,剖析测试得到目标程序的程序间行缓存失效率,对所述程序间行缓存失效率做二次曲线拟合,得到目标程序的行缓存失效率随同时执行的其它程序的行缓存失效率变化的SRC曲线。
6.根据权利要求1所述的多核***中对内存访存的优化方法,其特征在于,所述步骤300,包括下列步骤:
步骤310.根据页着色***中颜色的数目,确定所有可能的颜色数目候选分配方案集合;
步骤320.从所述颜色数目候选分配方案集合中选择一个颜色数目候选分配方案,计算当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;
步骤330.判断是否还有颜色数目候选分配方案未处理,若是,则返回步骤320;否则,执行步骤340;
步骤340.比较每一个所述颜色数目候选分配方案对应的总的行缓存失效率最小的划分策略,选择其中最小的划分策略,采用该划分策略通过proc文件***设置着色掩码,对目标程序集进行动态随机存储器中存储体的划分。
7.根据权利要求6所述的多核***中对内存访存的优化方法,其特征在于,所述步骤320,包括下列步骤:
步骤321.为目标程序集中的每一个程序随意分配任一种颜色,作为当前划分策略;
步骤322.任意选择目标程序集中的一个程序和任意选择一种颜色,并且在所述当前划分策略下所述程序还没有拥有所述颜色,计算所述程序拥有所述颜色的情况下的***行缓存失效率指标;
步骤323,判断是否存在还没有搜索过的程序与颜色的配对,若是,则返回步骤322,否则,执行步骤324;
步骤324.比较所有程序与所有颜色配对的***行缓存失效率指标,选择指标最小的程序和颜色的配对;
步骤325.判断所述指标最小的程序拥有的颜色数目是否超过当前颜色数目分配方案中设置的程序应该拥有的颜色数,若是,则输出所述指标最小的程序和颜色的配对作为当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;否则,执行步骤326;
步骤326.把所述颜色指派给所述指标最小的程序,更新当前划分策略,返回步骤322。
8.根据权利要求7所述的多核***中对内存访存的优化方法,其特征在于,步骤322中,计算所述程序拥有所述颜色的情况下的***行缓存失效率指标的方法,包括下列步骤:
计算给定划分策略下目标程序i的总的行缓存失效率指标,公式如下:
其中,MRCi和SRCi分别对应失效率曲线和敏感度曲线,mi为目标程序i占有颜色数目,M为动态存储器***中的存储体数目,mij为与任意程序j共享的颜色数目,①表示给定划分策略条件下目标程序i的程序内行缓存失效率,而②表示目标程序i与任意程序j同时执行导致的程序间行缓存冲突失效率。
计算给定划分策略下多核***中所有目标程序的总的行缓存失效率指标,计算公式:
9.一种多核***中对内存访存的优化***,其特征在于,所述***,包括:
添加异或映射模块,用于中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;
曲线计算模块,用于对操作***中同时执行的多个目标程序中的每一个程序,利用操作***中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;
划分策略获取模块,用于根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核***中总的行缓存失效率,达到多核***中对内存访存的优化。
10.根据权利要求9所述的多核***中对内存访存的优化***,其特征在于,包括:
页着色的分配算法添加模块,用于在所述操作***不支持页着色的分配算法时,为操作***添加页着色的分配算法,采用proc文件***作为控制目标程序占有哪些颜色的接口。
11.根据权利要求9所述的多核***中对内存访存的优化***,其特征在于,包括:
删除模块,用于在内存控制器中存在异或地址映射时,去掉在内存控制器中的异或地址映射。
12.根据权利要求9所述的多核***中对内存访存的优化***,其特征在于,所述曲线计算模块,包括:
MRC曲线计算模块,用于在操作***中分别在目标程序占有的相应颜色数目下单独执行目标程序,并记录相应目标程序占有的颜色数目下对应的目标程序的程序内行缓存失效率,用折线连接所述程序内行缓存失效率得到该目标程序的MRC曲线;
SRC曲线计算模块,用于将每一个目标程序与预先选定的一组标准测试程序分别同时执行一次,剖析测试得到目标程序的程序间行缓存失效率,对所述程序间行缓存失效率做二次曲线拟合,得到目标程序的行缓存失效率随同时执行的其它程序的行缓存失效率变化的SRC曲线。
13.根据权利要求9所述的多核***中对内存访存的优化***,其特征在于,所述划分策略获取模块,包括:
候选集合模块,用于根据页着色***中颜色的数目,确定所有可能的颜色数目候选分配方案集合;
行缓存失效率计算模块,用于从所述颜色数目候选分配方案集合中选择一个颜色数目候选分配方案,计算当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;
判断模块,用于判断是否还有颜色数目候选分配方案未处理,若是,则触发行缓存失效率计算模块;否则,触发划分模块;
划分模块,用于比较每一个所述颜色数目候选分配方案对应的总的行缓存失效率最小的划分策略,选择其中最小的划分策略,采用这个划分策略通过proc文件***设置着色掩码,对目标程序集进行动态随机存储器中存储体的划分。
14.根据权利要求13所述的多核***中对内存访存的优化***,其特征在于,所述行缓存失效率计算模块,包括:
预设模块,用于为目标程序集中的每一个程序随意分配任一种颜色,作为当前划分策略;
计算子模块,用于任意选择目标程序集中的一个程序和任意选择一种颜色,并且在所述当前划分策略下所述程序还没有拥有所述颜色,计算所述程序拥有所述颜色的情况下的***行缓存失效率指标;
判断子模块,判断是否存在还没有搜索过的程序与颜色的配对,若是,则触发计算子模块,否则,触发比较模块;
比较模块,比较所有程序与所有颜色配对的***行缓存失效率指标,选择指标最小的程序和颜色的配对;
数目判断模块,用于判断所述指标最小的程序拥有的颜色数目是否超过当前颜色数目分配方案中设置的程序应该拥有的颜色数,若是,则输出所述指标最小的程序和颜色的配对作为当前颜色数目候选分配方案的总的行缓存失效率最小的划分策略;否则,触发分配更新模块;
分配更新模块,用于把所述颜色指派给所述指标最小的程序,更新当前划分策略,并触发计算子模块。
15.根据权利要求14所述的多核***中对内存访存的优化***,其特征在于,所述计算子模块,采用以下公式计算所述程序拥有所述颜色的情况下的***行缓存失效率指标的方法,
计算给定划分策略下目标程序i的总的行缓存失效率指标,公式如下:
其中,MRCi和SRCi分别对应失效率曲线和敏感度曲线,mi为目标程序i占有颜色数目,M为动态存储器***中的存储体数目,mij为与任意程序j共享的颜色数目,①表示给定划分策略条件下目标程序i的程序内行缓存失效率,而②表示目标程序i与任意程序j同时执行导致的程序间行缓存冲突失效率。
计算给定划分策略下多核***中所有目标程序的总的行缓存失效率指标,计算公式:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102431951A CN101719105B (zh) | 2009-12-31 | 2009-12-31 | 一种多核***中对内存访问的优化方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102431951A CN101719105B (zh) | 2009-12-31 | 2009-12-31 | 一种多核***中对内存访问的优化方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101719105A true CN101719105A (zh) | 2010-06-02 |
CN101719105B CN101719105B (zh) | 2012-01-04 |
Family
ID=42433680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102431951A Active CN101719105B (zh) | 2009-12-31 | 2009-12-31 | 一种多核***中对内存访问的优化方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101719105B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663115A (zh) * | 2012-04-16 | 2012-09-12 | 中国人民大学 | 基于页面染色技术的内存数据库访问优化方法 |
CN103038748A (zh) * | 2010-06-23 | 2013-04-10 | 英特尔公司 | 用于精确预测存储器存取的基于区域的技术 |
CN103136113A (zh) * | 2011-11-25 | 2013-06-05 | 中国科学院沈阳计算技术研究所有限公司 | 面向多核处理器的共享Cache冲突预测方法 |
CN103455443A (zh) * | 2013-09-04 | 2013-12-18 | 华为技术有限公司 | 一种缓存管理方法和装置 |
CN104572493A (zh) * | 2013-10-23 | 2015-04-29 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
WO2015161804A1 (zh) * | 2014-04-24 | 2015-10-29 | 华为技术有限公司 | 一种Cache分区的方法及装置 |
CN105068940A (zh) * | 2015-07-28 | 2015-11-18 | 北京工业大学 | 一种基于Bank划分的自适应页策略确定方法 |
CN105893319A (zh) * | 2014-12-12 | 2016-08-24 | 上海芯豪微电子有限公司 | 一种多车道/多核***和方法 |
CN103970719B (zh) * | 2013-01-30 | 2017-02-22 | 华为技术有限公司 | 一种拟合方法及拟合装置 |
CN106789863A (zh) * | 2016-04-25 | 2017-05-31 | 新华三技术有限公司 | 一种匹配规则升级方法及装置 |
CN106874105A (zh) * | 2016-12-23 | 2017-06-20 | 北京北大众志微***科技有限责任公司 | 一种基于数据对象感知的内存库划分方法和装置 |
CN107145453A (zh) * | 2017-06-12 | 2017-09-08 | 上海优刻得信息科技有限公司 | 一种缓存失效率的预测方法、装置、可读介质和设备 |
CN107273308A (zh) * | 2017-06-12 | 2017-10-20 | 上海优刻得信息科技有限公司 | 一种基于cat的共享缓存分配方法、装置、介质以及设备 |
CN113157605A (zh) * | 2021-03-31 | 2021-07-23 | 西安交通大学 | 一种两级缓存的资源分配方法、***、存储介质及计算设备 |
CN114610542A (zh) * | 2022-05-10 | 2022-06-10 | 深圳佰维存储科技股份有限公司 | 数据恢复方法、装置、可读存储介质及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100592105B1 (ko) * | 2005-03-25 | 2006-06-21 | 엠텍비젼 주식회사 | 공유 메모리의 분할 영역의 다중 억세스 제어 방법 및 공유메모리를 가지는 휴대형 단말기 |
-
2009
- 2009-12-31 CN CN2009102431951A patent/CN101719105B/zh active Active
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038748A (zh) * | 2010-06-23 | 2013-04-10 | 英特尔公司 | 用于精确预测存储器存取的基于区域的技术 |
CN103038748B (zh) * | 2010-06-23 | 2016-10-05 | 英特尔公司 | 用于精确预测存储器存取的基于区域的技术 |
CN103136113B (zh) * | 2011-11-25 | 2016-01-13 | 中国科学院沈阳计算技术研究所有限公司 | 面向多核处理器的共享Cache冲突预测方法 |
CN103136113A (zh) * | 2011-11-25 | 2013-06-05 | 中国科学院沈阳计算技术研究所有限公司 | 面向多核处理器的共享Cache冲突预测方法 |
CN102663115B (zh) * | 2012-04-16 | 2015-01-14 | 中国人民大学 | 基于页面染色技术的内存数据库访问优化方法 |
CN102663115A (zh) * | 2012-04-16 | 2012-09-12 | 中国人民大学 | 基于页面染色技术的内存数据库访问优化方法 |
CN103970719B (zh) * | 2013-01-30 | 2017-02-22 | 华为技术有限公司 | 一种拟合方法及拟合装置 |
CN103455443A (zh) * | 2013-09-04 | 2013-12-18 | 华为技术有限公司 | 一种缓存管理方法和装置 |
CN103455443B (zh) * | 2013-09-04 | 2017-01-18 | 华为技术有限公司 | 一种缓存管理方法和装置 |
US9857980B2 (en) | 2013-10-23 | 2018-01-02 | Huawei Technologies Co., Ltd. | Memory resource optimization method and apparatus |
EP3388947A1 (en) * | 2013-10-23 | 2018-10-17 | Huawei Technologies Co., Ltd. | Memory resource optimization method and apparatus |
CN105359103A (zh) * | 2013-10-23 | 2016-02-24 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
CN108845960B (zh) * | 2013-10-23 | 2023-12-29 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
CN108845960A (zh) * | 2013-10-23 | 2018-11-20 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
AU2014339450B2 (en) * | 2013-10-23 | 2016-11-10 | Huawei Technologies Co., Ltd. | Memory resource optimization method and apparatus |
EP3040868A4 (en) * | 2013-10-23 | 2016-11-23 | Huawei Tech Co Ltd | METHOD AND APPARATUS FOR OPTIMIZING MEMORY RESOURCES |
CN105359103B (zh) * | 2013-10-23 | 2018-06-26 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
WO2015058695A1 (zh) * | 2013-10-23 | 2015-04-30 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
US9983793B2 (en) | 2013-10-23 | 2018-05-29 | Huawei Technologies Co., Ltd. | Memory resource optimization method and apparatus |
CN104572493A (zh) * | 2013-10-23 | 2015-04-29 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
KR101761301B1 (ko) | 2013-10-23 | 2017-07-25 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 메모리 자원 최적화 방법 및 장치 |
RU2631767C1 (ru) * | 2013-10-23 | 2017-09-26 | Хуавэй Текнолоджиз Ко., Лтд. | Способ и устройство оптимизации ресурса памяти |
CN105095105B (zh) * | 2014-04-24 | 2018-07-03 | 华为技术有限公司 | 一种Cache分区的方法及装置 |
CN105095105A (zh) * | 2014-04-24 | 2015-11-25 | 华为技术有限公司 | 一种Cache分区的方法及装置 |
WO2015161804A1 (zh) * | 2014-04-24 | 2015-10-29 | 华为技术有限公司 | 一种Cache分区的方法及装置 |
CN105893319A (zh) * | 2014-12-12 | 2016-08-24 | 上海芯豪微电子有限公司 | 一种多车道/多核***和方法 |
CN105068940A (zh) * | 2015-07-28 | 2015-11-18 | 北京工业大学 | 一种基于Bank划分的自适应页策略确定方法 |
CN106789863A (zh) * | 2016-04-25 | 2017-05-31 | 新华三技术有限公司 | 一种匹配规则升级方法及装置 |
CN106789863B (zh) * | 2016-04-25 | 2020-06-26 | 新华三技术有限公司 | 一种匹配规则升级方法及装置 |
CN106874105A (zh) * | 2016-12-23 | 2017-06-20 | 北京北大众志微***科技有限责任公司 | 一种基于数据对象感知的内存库划分方法和装置 |
CN107145453A (zh) * | 2017-06-12 | 2017-09-08 | 上海优刻得信息科技有限公司 | 一种缓存失效率的预测方法、装置、可读介质和设备 |
CN107273308A (zh) * | 2017-06-12 | 2017-10-20 | 上海优刻得信息科技有限公司 | 一种基于cat的共享缓存分配方法、装置、介质以及设备 |
CN113157605A (zh) * | 2021-03-31 | 2021-07-23 | 西安交通大学 | 一种两级缓存的资源分配方法、***、存储介质及计算设备 |
CN113157605B (zh) * | 2021-03-31 | 2022-10-25 | 西安交通大学 | 一种两级缓存的资源分配方法、***、存储介质及计算设备 |
CN114610542A (zh) * | 2022-05-10 | 2022-06-10 | 深圳佰维存储科技股份有限公司 | 数据恢复方法、装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101719105B (zh) | 2012-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101719105B (zh) | 一种多核***中对内存访问的优化方法和*** | |
CN105701022B (zh) | 组相联高速缓存 | |
US7793038B2 (en) | System and method for programmable bank selection for banked memory subsystems | |
US11392488B2 (en) | Optimizing storage of application data in memory | |
CN102150138A (zh) | 高速缓存过滤方法和装置 | |
US9201806B2 (en) | Anticipatorily loading a page of memory | |
JP7205033B2 (ja) | キャッシュの割当方法と装置、記憶媒体、電子装置 | |
Huang et al. | Shuhai: A tool for benchmarking high bandwidth memory on FPGAs | |
CN115168247B (zh) | 用于并行处理器中动态共享存储空间的方法及相应处理器 | |
Koo et al. | Revealing critical loads and hidden data locality in GPGPU applications | |
US20060143400A1 (en) | Replacement in non-uniform access cache structure | |
CN114416612A (zh) | 存储器的访问方法、装置、电子设备和存储介质 | |
CN106339330A (zh) | 高速缓存刷新的方法及*** | |
US20080005726A1 (en) | Methods and systems for modifying software applications to implement memory allocation | |
CN112947851A (zh) | Numa***和***中的页面迁移方法 | |
US10366007B2 (en) | Apparatuses and methods for determining efficient memory partitioning | |
Quislant et al. | Improving signatures by locality exploitation for transactional memory | |
CN108509151B (zh) | 一种基于dram内存控制器的行缓存方法和*** | |
CN109947672B (zh) | 一种基于概率分布的mlc stt-ram缓存数据管理方法 | |
Chaudhary et al. | Comparison of cache page replacement techniques to enhance cache memory performance | |
Nakano et al. | The super warp architecture with random address shift | |
Lee et al. | Excavating the hidden parallelism inside DRAM architectures with buffered compares | |
Gu et al. | Cart: Cache access reordering tree for efficient cache and memory accesses in gpus | |
Wang et al. | Rank idle time prediction driven last-level cache writeback | |
Zhang et al. | Multi-column implementations for cache associativity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |