一种存储器资源优化方法和装置制造方法及图纸

技术编号:19511271 阅读:53 留言:0更新日期:2018-11-21 07:46
本发明专利技术的实施例提供一种存储器资源优化方法和装置,涉及计算机领域,解决了现有多级存储器资源之间存在的相互影响问题,优化了现有单一的划分机制。具体方案为:通过页着色技术获得工作集中各程序的性能数据,结合访存频度得到各程序的分类,根据各程序的分类选择工作集对应的页着色划分策略,并将页着色划分策略输入操作系统内核,完成相应的着色划分处理。本发明专利技术用于结合工作集特点消除或降低进程、线程在存储资源上的相互干扰,提高了计算机的整机性能。

【技术实现步骤摘要】
一种存储器资源优化方法和装置
本专利技术涉及计算机领域,尤其涉及一种存储器资源优化方法和装置。
技术介绍
如今多核高性能计算机(Multi-coreHighPerformanceComputer)的应用越来越广泛,但随着处理器上计算单元(核)数目的持续增多,多核间的访存竞争现象使得问题变的更加复杂。在并发执行的任意时间段内,来自不同核的访存请求将会在全局的存储资源上形成访存竞争,进而引发在内存控制器(MemoryController,MC),带宽(Bandwidth),动态随机存取存储器内容库(DRAMBank)等资源上的冲突,影响资源的利用率。以主存上的访问为例,通常以单个晶体管作为存储单元,并以N乘M个存储单元组成存储矩阵,再以若干个存储矩阵构成内容库(Bank),每个Bank都有一个行缓冲(Row-Buffer),对数据的访问需要先将目标行中的数据移动到行缓冲中才能读取。现代的DRAM系统通常使用多个Bank,以并行的形式独立处理各自的访存请求。但如果有两个来自不同进程或线程的访存请求访问同一个DRAMBank的不同行,则会产生DRAMBank上的冲突(或称行缓冲冲突)加大访存延迟。高速缓存(Cache)用以缓解计算单元和主存储器之间的差距,由于它比主存储器更靠近计算单元,所以更容易影响计算性能。目前的处理器基本都采用了多核间最后一级高速缓存共享(LastLevelCache,LLC)的结构,但是,并发的多道程序、线程间对LLC也存在激烈的竞争,如果没有采用恰当的管理策略,很容易引发严重的性能下降。现有技术采用页着色(Page-Coloring)对LLC或DRAMBank进行划分:对LLC的页着色划分,通过对物理地址中高速缓存集(CacheSet)索引位进行页着色的方式将Cache资源划分为若干独立的部分,并分别赋予不同的线程,因此,线程间因对Cache的共享而引发的竞争就消失了。与LLC划分类似,DRAMBank索引位也能反映在物理地址中,依据这些地址位进行着色同样能将DRAMBank划分为互不影响的若干组,程序间在DRAMBank上的竞争就消失了。对于某些工作集,能够实现较好的性能提升效果。但是,传统页着色技术对某一个层次的资源进行划分时,对其它层次的资源利用造成了负影响,比如,与LLC划分相关的工作对DRAMBank资源性能的提升产生了制约;反之,对DRAMBank的划分工作也影响着LLC资源的性能;另一方面,由于现代计算机系统运行的工作集多种多样,现有对某一个层次资源的页着色划分机制难以针对不同的工作集特性进行相应的配合,无法实现最佳的划分效果,对计算机整机性能的提升产生了限制。
技术实现思路
本专利技术的实施例提供一种存储器资源优化方法和装置,提供了一种LLC与DRAMBank之间的协同划分策略,与工作集特性相结合,能够解决进程、线程在存储资源上的相互影响的问题,从而提高计算机的整机性能。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,提供一种存储器资源优化方法,所述方法包括:获取工作集中各程序的性能数据,通过将所述各程序的性能数据和统计得到的所述各程序的访存频度与预设阈值进行比较,对所述各程序进行分类,所述各程序的性能数据为所述各程序预设性能指标随分配的最后一级高速缓存LLC资源容量变化而产生的变化量;结合所述工作集中所述各程序所属的分类情况与预设决策策略,选择所述工作集对应的页着色划分策略,所述页着色划分策略包括同时对所述LLC与所述动态随机存取存储器内容库DRAMBank进行页着色划分的页着色协同划分策略;将所述工作集对应的页着色划分策略写入操作系统内核,并由所述操作系统内核进行相应页着色划分处理。结合第一方面,在第一种可能的实现方式中,所述获取工作集中各程序的性能数据包括:通过页着色技术将所述LLC资源划分为N份,以所述LLC资源最大容量的1/N为一级,起始时为所述各程序分配所述LLC资源的最大容量,每次调整将分配给所述各程序的所述LLC资源容量大小减小一级,直至减小为所述LLC资源最大容量的1/N;监测调整过程中所述各程序预设性能指标随分配的所述LLC资源容量大小变化而产生的变化量,将所述变化量作为所述各程序的性能数据,所述预设性能指标为所述各程序的加速比。结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述通过将所述各程序的性能数据和统计得到的所述各程序的访存频度与预设阈值进行比较,对所述各程序进行分类包括:统计所述各程序在运行过程的预设阶段中访问主存的次数,得到所述各程序的访存频度;将所述各程序的性能数据和统计得到的所述各程序的访存频度与所述预设阈值进行比较;其中,所述预设阈值包括第一阈值、第二阈值和第三阈值,所述第一阈值、所述第二阈值为性能数据阈值,所述第三阈值为访存频度阈值;若一个程序的性能数据大于所述第一阈值,则所述程序为高需求型;若一个程序的性能数据小于所述第一阈值且大于所述第二阈值,则所述程序为中需求型;若一个程序的性能数据小于所述第二阈值且访存频度大于所述第三阈值,则所述程序为低需求密集型。结合第一方面,在第三种可能的实现方式中,所述结合所述工作集中所述各程序所属的分类情况与预设决策策略,选择所述工作集对应的页着色划分策略包括:所述预设决策策略为所述操作系统内核中的划分策略决策树,所述划分策略决策树在所述操作系统内核中以算法形式实现;将所述工作集中所述各程序所属的分类情况输入所述操作系统内核,结合所述工作集中所述各程序的分类,在所述操作系统内核中的所述划分策略决策树上查找对应的节点以确定所述工作集对应的页着色划分策略。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述页着色划分策略包括所述页着色协同划分策略和页着色非协同划分策略;所述页着色协同划分策略为使用索引重合地址位O-bits作为页着色划分索引位的划分策略,所述O-bits为物理页帧中所述LLC索引位与所述DRAMBank索引位重合的地址位,用于同时索引对所述LLC与对所述DRAMBank的页着色划分;所述页着色协同划分策略包括:A类多级存储器协同划分策略A-MMCP,使用所述O-bits作为划分索引位,将所述LLC和所述DRAMBank划分为数量相同的等份;B类多级存储器协同划分策略B-MMCP,使用所述O-bits与所述DRAMBank的索引位作为划分索引位,将所述LLC和所述DRAMBank划分为数量不相同的等份,且所述DRAMBank划分的数量大于所述LLC划分的数量;C类多级存储器协同划分策略C-MMCP,使用所述O-bits与所述LLC的索引位作为划分索引位,将所述LLC和所述DRAMBank划分为数量不相同的等份,且所述DRAMBank划分的数量小于所述LLC划分的数量;所述页着色协同划分策略为不使用所述O-bits的划分策略,包括:Cache-Only策略,使用所述LLC的索引位,对所述LLC着色划分且不对所述DRAMBank进行着色划分;Bank-Only策略,使用所述DRAMBank的索引位,对所述DRAMBank着色划分且不对所述LLC进行着色划分。结合第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第五种可能的本文档来自技高网
...

【技术保护点】
1.一种存储器资源优化方法,其特征在于,包括:获取工作集中各程序的性能数据,其中,所述各程序的性能数据为所述各程序预设性能指标随分配的最后一级高速缓存LLC资源容量变化而产生的变化量;根据所述各程序的性能数据和统计得到的所述各程序的访存频度对所述各程序进行分类;基于所述各程序所属的分类,选择所述工作集对应的页着色划分策略,所述页着色划分策略包括同时对所述LLC与动态随机存取存储器内容库DRAM Bank进行页着色划分的页着色协同划分策略;按照页着色协同划分策略为所述工作集进行页着色划分处理。

【技术特征摘要】
2013.10.23 CN 20131050323811.一种存储器资源优化方法,其特征在于,包括:获取工作集中各程序的性能数据,其中,所述各程序的性能数据为所述各程序预设性能指标随分配的最后一级高速缓存LLC资源容量变化而产生的变化量;根据所述各程序的性能数据和统计得到的所述各程序的访存频度对所述各程序进行分类;基于所述各程序所属的分类,选择所述工作集对应的页着色划分策略,所述页着色划分策略包括同时对所述LLC与动态随机存取存储器内容库DRAMBank进行页着色划分的页着色协同划分策略;按照页着色协同划分策略为所述工作集进行页着色划分处理。2.根据权利要求1所述的方法,其特征在于,所述按照页着色协同划分策略为所述工作集进行页着色划分处理包括:将所述工作集对应的页着色划分策略写入操作系统内核,并由所述操作系统内核进行相应页着色划分处理。3.根据权利要求1或2所述的方法,其特征在于:所述页着色协同划分策略为使用索引重合地址位O-bits作为页着色划分索引位的划分策略,所述O-bits为物理页帧中所述LLC索引位与所述DRAMBank索引位重合的地址位,用于同时索引对所述LLC与对所述DRAMBank的页着色划分;所述页着色协同划分策略包括:A类多级存储器协同划分策略A-MMCP,使用所述O-bits作为划分索引位,将所述LLC和所述DRAMBank划分为数量相同的等份;B类多级存储器协同划分策略B-MMCP,使用所述O-bits与所述DRAMBank的索引位作为划分索引位,将所述LLC和所述DRAMBank划分为数量不相同的等份,且所述DRAMBank划分的数量大于所述LLC划分的数量;C类多级存储器协同划分策略C-MMCP,使用所述O-bits与所述LLC的索引位作为划分索引位,将所述LLC和所述DRAMBank划分为数量不相同的等份,且所述DRAMBank划分的数量小于所述LLC划分的数量。4.根据权利要求3任意一项所述的方法,其特征在于,所述根据所述各程序的性能数据和统计得到的所述各程序的访存频度对所述各程序进行分类包括:若一个程序的性能数据大于预设的第一阈值,则所述程序为高需求型;若一个程序的性能数据小于所述第一阈值且大于预设的第二阈值,则所述程序为中需求型;若一个程序的性能数据小于所述第二阈值且所述程序的访存频度大于预设的访存频度阈值,则所述程序为低需求密集型,其中,各程序的访存频度根据所述各程序在运行过程的预设阶段中访问主存的次数获得。5.根据权利要求4所述的方法,其特征在于,所述基于所述各程序所属的分类,选择所述工作集对应的页着色划分策略包括:若所述工作集中所述各程序所属的分类中存在...

【专利技术属性】
技术研发人员:刘磊吴承勇冯晓兵
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1