一种划分末级共享缓存的方法及系统技术方案

技术编号:17032674 阅读:23 留言:0更新日期:2018-01-13 19:15
本申请所提供的一种划分末级共享缓存的方法,包括确定每个处理器核运行时的最适缓存;根据所述最适缓存,确定每个所述处理器核待分配的页着色数;根据所述最适缓存和所述页着色数,计算得到每个所述处理器核待分配的缓存行数;按所述处理器核对应的所述页着色数和缓存行数均由大到小的顺序划分所述末级共享缓存。通过对末级缓存实现根据页着色数和缓存行数的双维度划分,细化了划分粒度,扩张性更好。本申请还提供了一种划分末级共享缓存的系统,具有上述有益效果。

【技术实现步骤摘要】
一种划分末级共享缓存的方法及系统
本申请涉及服务器领域,特别涉及一种划分末级共享缓存的方法及系统。
技术介绍
目前服务器所搭载的芯片多为片上多核处理器CMP,如Intel的E5-2600v4含有22个核,Cavium的ThanderX含有48核等,为保证在不同核上并行执行的应用程序的服务质量,传输带宽等相关指标,在系统软件或硬件层面通常都会采取一些措施以减少应用程序之间的相互干扰。其中,划分片上末级共享缓存是一种最为有效的措施,它不仅可以合理地利用末级缓存的资源,也能为对延迟要求比较高的程序提供较好的服务质量。当前所提出的划分共享缓存Cache的管理策略中,主要分为两种,一种是基于缓存行的划分,另一种是基于缓存组的划分。片上末级共享缓存通常都采用组相联(set-associative)的映射方式,缓存分为多个组set,每组包含相同数目的缓存行line。当前缓存通常都采用最近未被使用(LRU,英文全称:LeastRecentlyUsed)管理策略进行管理,其可分为三个子策略:1)插入策略,第一次访问的数据被插入到对应缓存组的最高优先级的缓存行(MRU,英文全称:MostRecentlyUsed)中;2)提升策略,缓存中某个缓存行被访问命中,就把命中的缓存行提升到当前组的最高优先级位置(MRU);3)替换策略,缓存组的所有缓存行已都被填充数据,当需要插入新的数据时,选择把最低优先级位置的缓存行替换出缓存。基于缓存行的划分策略,是对缓存进行“垂直”划分,限制处理器核的数据只能放置到对应的某一小部分缓存行中,不同核间数据互不干扰。这是最为常用的减轻不同应用程序之间干扰的方法,但是其扩展性不好,其不适应于大批量应用程序并行的应用场景。比如Cavium的ThunderX处理器,其具有48个核,但是它的片上末级缓存每个缓存组的行数为只是16,还有Intel的E5-2600v4处理器含有22个核,但末级缓存只允许有20个不同的缓存划分。另外一种基于缓存组的划分策略,是对缓存进行“水平”划分,通过为每个处理器核分配特定地址的内存页面(页着色技术),限制其对应的数据只能放置到对应的缓存组中,以达到划分缓存的目的。但这种策略也存在扩展性的限制,比如以的Cavium的48核ThunderX为例,物理地址为48位,页面大小为64KB,所以页内偏移为16位,页号为32位。缓存行大小为128B,每组缓存行数为16,缓存大小为16MB,所以行内偏移为7位,组号为13位。其中页号与组号有4位的重叠,即为着色位,只可分配16种颜色。其实可以通过减小页面的大小,增加颜色数,但是经市场证明,大页面的设置更能获得好的效果。假如把页面大小减小后,颜色数目增加,但会导致每个颜色对应的的页面数目减少,即每个处理器核可分配的页面数目较少,这可能产生无页面可分配,导致内存分配错误,即使当前系统中存在其他空闲颜色的页面。另外,每个处理器核所运行的程序会不断发生变化,为合理地分配缓存空间,其对应的页面颜色数目也会增加或减少。每个处理器核页面颜色数目的调整,也是一个代价很大的过程,比如减少一个颜色,则此处理器核对应此颜色的页面就需要迁移,相应的TLB(TranslationLookasideBuffer,转换检测缓冲区)和缓存行就需要刷新和回写,对系统性能有不小的影响。
技术实现思路
本申请的目的是提供一种划分末级共享缓存的方法和系统,解决了现有划分技术扩张性差的问题。为解决上述技术问题,本申请提供一种划分末级共享缓存的方法,技术方案如下:确定每个处理器核运行时的最适缓存;根据所述最适缓存,确定每个所述处理器核待分配的页着色数;根据所述最适缓存和所述页着色数,计算得到每个所述处理器核待分配的缓存行数;按所述处理器核对应的所述页着色数和所述缓存行数均由大到小的顺序划分所述末级共享缓存。其中,所述确定每个处理器核运行时的最适缓存包括:将不同的行数和不同的页着色数进行两两组合;采集每种组合下每个所述处理器核的末级缓存的每千条指令缺失数;根据所述每千条指令缺失数确定每个所述处理器核运行时的最适缓存。其中,根据所述最适缓存,确定每个所述处理器核待分配的页着色数包括:判断所述处理器核的所述最适缓存M是否满足M≧S/4,若是,则对应处理器核的页着色为K;其中,所述S为处理器的末级共享缓存大小,所述K为处理器的页着色总数;若不是,根据所述最适缓存M确定满足M∈[S/2n+1,S/2n)的对应参数n,则对应处理器核的页着色数为K/2n-1,其中n≧2且K/2n-1≧2。其中,按所述处理器核对应的所述页着色数和缓存行数均由大到小的顺序划分末级共享缓存,包括:将所述处理器核对应的所述页着色数从大到小排序;对所述页着色数相同的所述处理器核按所述缓存行数从大到小排序,得到最终排序;按照所述最终排序划分所述末级共享缓存。其中,所述方法还包括:当有数据插入时,根据所述处理器核的缓存行数决定所述数据的插入位置。其中,所述方法还包括:当缓存行被访问时,根据预设的概率提升所述缓存行的优先级位置。本申请还提供一种划分末级共享缓存的系统,包括:缓存确定模块,用于确定每个处理器核运行时的最适缓存;页着色确定模块,用于根据所述最适缓存,确定每个所述处理器核待分配的页着色数;缓存行确定模块,根据所述最适缓存和所述页着色数,计算得到每个所述处理器核待分配的缓存行数;划分模块,用于按所述处理器核对应的所述页着色数和所述缓存行数均由大到小的顺序划分末级共享缓存。其中,所述缓存确定模块包括:组合单元,用于将不同的行数和不同的页着色数进行两两组合;采集单元,用于采集每种组合下每个所述处理器核的末级缓存的每千条指令缺失数;确定单元,根据所述每千条指令缺失数确定每个所述处理器核运行时的最适缓存。其中,所述页着色确定模块包括:判断单元,用于判断所述处理器核的所述最适缓存M是否满足M≧S/4,若是,则对应处理器核的页着色为K;其中,所述S为处理器的末级共享缓存大小,所述K为处理器的页着色总数;遍历单元,用于若所述处理器核的所述最适缓存M不满足M≧S/4时,根据所述最适缓存M确定满足M∈[S/2n+1,S/2n)的对应参数n,则对应处理器核的页着色数为K/2n-1,其中n≧2且K/2n-1≧2。其中,所述划分模块包括:第一排序单元,用于将所述处理器核对应的所述页着色数从大到小排序;第二排序单元,用于对所述页着色数相同的所述处理器核按所述缓存行数从大到小排序,得到最终排序;划分单元,用于按照所述最终排序划分所述末级共享缓存。本申请所提供的一种划分末级共享缓存的方法,包括确定每个处理器核运行时的最适缓存;根据所述最适缓存,确定每个所述处理器核待分配的页着色数;根据所述最适缓存和所述页着色数,计算得到每个所述处理器核待分配的缓存行数;按所述处理器核对应的所述页着色数和缓存行数均由大到小的顺序划分所述末级共享缓存。通过对末级缓存实现根据页着色数和缓存行数的双维度划分,细化了划分粒度,扩张性更好。本申请还提供了一种划分末级共享缓存的系统,具有上述有益效果,此处不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本本文档来自技高网
...
一种划分末级共享缓存的方法及系统

【技术保护点】
一种划分末级共享缓存的方法,其特征在于,包括:确定每个处理器核运行时的最适缓存;根据所述最适缓存,确定每个所述处理器核待分配的页着色数;根据所述最适缓存和所述页着色数,计算得到每个所述处理器核待分配的缓存行数;按所述处理器核对应的所述页着色数和所述缓存行数均由大到小的顺序划分所述末级共享缓存。

【技术特征摘要】
1.一种划分末级共享缓存的方法,其特征在于,包括:确定每个处理器核运行时的最适缓存;根据所述最适缓存,确定每个所述处理器核待分配的页着色数;根据所述最适缓存和所述页着色数,计算得到每个所述处理器核待分配的缓存行数;按所述处理器核对应的所述页着色数和所述缓存行数均由大到小的顺序划分所述末级共享缓存。2.根据权利要求1所述的方法,其特征在于,所述确定每个处理器核运行时的最适缓存包括:将不同的行数和不同的页着色数进行两两组合;采集每种组合下每个所述处理器核的末级缓存的每千条指令缺失数;根据所述每千条指令缺失数确定每个所述处理器核运行时的最适缓存。3.根据权利要求1或2所述的方法,其特征在于,根据所述最适缓存,确定每个所述处理器核待分配的页着色数包括:判断所述处理器核的所述最适缓存M是否满足M≧S/4,若是,则对应处理器核的页着色为K;其中,所述S为处理器的末级共享缓存大小,所述K为处理器的页着色总数;若不是,根据所述最适缓存M确定满足M∈[S/2n+1,S/2n)的对应参数n,则对应处理器核的页着色数为K/2n-1,其中n≧2且K/2n-1≧2。4.根据权利要求3所述的方法,其特征在于,按所述处理器核对应的所述页着色数和缓存行数均由大到小的顺序划分末级共享缓存,包括:将所述处理器核对应的所述页着色数从大到小排序;对所述页着色数相同的所述处理器核按所述缓存行数从大到小排序,得到最终排序;按照所述最终排序划分所述末级共享缓存。5.根据权利要求4所述的方法,其特征在于,还包括:当有数据插入时,根据所述处理器核的缓存行数决定所述数据的插入位置。6.根据权利要求5所述的方法,其特征在于,还包括...

【专利技术属性】
技术研发人员:张德闪
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1