【技术实现步骤摘要】
本专利技术涉及动态随机存储器(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数越 多,这些访问 ...
【技术保护点】
一种多核系统中对内存访存的优化方法,其特征在于,所述方法,包括下列步骤:步骤100.在中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;步骤200.对操作系统中同时执行的多个目标程序中的每一个程序,利用操作系统中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;步骤300.根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核系统中总的行缓存失效率,达到多核系统中对内存访存的优化。
【技术特征摘要】
一种多核系统中对内存访存的优化方法,其特征在于,所述方法,包括下列步骤步骤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的总的行缓存失效率指标,公式如下<formula>formula see original document page 3</formula>其中,MRCi和SR&分别对应失效率曲线和敏感度曲线,mi为目标程序i占有颜色数目, M为动态存储器系统中的存储体数目,为与任意程序j共享的颜色数目,①表示给定划分 策略条件下目标程序i的程序内行缓存失效率,而②表示目标程序i与任意程序j同时执 行导致的程序间行缓存冲突失效率。计算给定划分策略下多核系统中所有目标程序的总的行缓存失效率指标,计算公式^M(P)= S '其中k为多核系统中所有目标程序的数目。...
【专利技术属性】
技术研发人员:米伟,冯晓兵,贾耀仓,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。