一种存储器资源优化方法和装置的制造方法_3

文档序号:8258373阅读:来源:国知局
LC资源容量变化的曲线。则可得主要分类方式如下:
[0089]若程序的归一化加速比大于第一阈值,可知此类程序性能随LLC资源容量的减小,降低幅度很大,即受分配的LLC资源容量影响很大,则将此类程序归类为高需求型031 ;
[0090]若程序的归一化加速比小于第一阈值且大于第二阈值,可知此类程序性能随LLC资源容量的减小,降低幅度适中,即受分配的LLC资源容量影响适中,则将此类程序归类为中需求型032 ;
[0091]若程序的归一化加速比小于第二阈值且访存频度大于第三阈值,可知此类程序性能随LLC资源容量的减小,变化幅度很小,但程序的访存频度高,即受分配的LLC资源容量影响较小,为低需求型033,但受主存容量的影响较大,为访存密集型,则将此类程序归类为低需求密集型。
[0092]示例性的,上述高需求031还可以具体包括:最后一级高速缓存高需求型(LLCFitting,LLCF)、最后一级高速缓存友好型(LLC Friendly,LLCFR);上述中需求型032可具体包括:最后一级高速缓存摇摆型(LLC Swing,LLCS);上述低需求型033可具体包括:低需求访存非密集型(Core Cache Fitting,CCS)、低需求访存密集型(LLC Thrashing,LLCT)。
[0093]S203、根据工作集中各程序所属的分类,选择工作集对应的页着色划分策略。
[0094]具体的,将工作集中各程序所属的分类,输入操作系统内核中,再根据预设决策策略选择工作集相应的页着色划分策略。
[0095]其中,工作集中各程序所属的分类可以通过/proc机制传入操作系统内核;预设决策策略可以为操作系统内核中的划分策略决策树,且划分策略决策树在操作系统内核中以算法形式实现。
[0096]具体的,将工作集中各程序所属的分类情况输入操作系统内核,结合工作集中各程序的分类,在操作系统内核中的划分策略决策树上查找对应的节点以确定工作集对应的页着色划分策略。页着色划分策略包括页着色协同划分策略和页着色非协同划分策略:
[0097]其中,页着色协同划分策略为使用索引重合地址位Ο-bits作为页着色划分索引位的划分策略,Ο-bits为物理页帧中LLC索引位与DRAM Bank索引位重合的地址位,用于同时索引对LLC与对DRAM Bank的页着色划分;
[0098]页着色协同划分策略包括:
[0099]A类多级存储器协同划分策略A-MMCP,使用0_bits作为划分索引位,将LLC和DRAM Bank划分为数量相同的等份;
[0100]B类多级存储器协同划分策略B-MMCP,使用0_bits与DRAM Bank的索引位作为划分索引位,将LLC和DRAM Bank划分为数量不相同的等份,且DRAM Bank划分的数量大于LLC划分的数量;
[0101]C类多级存储器协同划分策略C-MMCP,使用o-bits与LLC的索引位作为划分索引位,将LLC和DRAM Bank划分为数量不相同的等份,且DRAM Bank划分的数量小于LLC划分的数量;
[0102]页着色协同划分策略为不使用Ο-bits的划分策略,包括:
[0103]Cache-Only策略,使用LLC的索引位,对LLC着色划分且不对DRAM Bank进行着色划分;
[0104]Bank-Only策略,使用DRAM Bank的索引位,对DRAM Bank着色划分且不对LLC进行着色划分。
[0105]示例性的,LLC与DRAM Bank索引重合地址位0_bits可以为物理页帧中的第{14,15}位,两位索引位可划分00、01、10、11四种颜色;且物理页帧中还存在LLC索引地址位{16,17,18}位及DRAM Bank索引地址位{21,22}位。
[0106]A-MMCP仅使用Ο-bits,即14位与15位两位进行着色划分,可将LLC划分为4个等份,将DRAM Bank划分为4个等份;
[0107]B-MMCP使用Ο-bits与DRAM Bank索引地址位中的一位,即14位、15位与21位三位进行着色划分,可将LLC划分为4个等份,将DRAM Bank划分为8个等份;
[0108]C-MMCP使用Ο-bits与LLC索引地址位中的一位,即14位、15位与16位三位进行着色划分,可将LLC划分为8个等份,将DRAM Bank划分为4个等份。
[0109]具体的,划分策略决策树在操作系统内核中以算法形式实现包括:
[0110]若工作集中各程序所属的分类都为高需求型031,则选用Bank-Only策略;
[0111]若工作集中各程序所属的分类中存在低需求密集型,则进一步判断工作集中程序的数目,若程序的数目小于等于N,则选用A-CMMP,否则选用C-CMMP,其中,N为处理器的核心数;
[0112]若工作集中各程序所属的分类中存在中需求型032且不存在低需求密集型,则进一步判断工作集中程序的数目,若程序的数目小于等于N,则选用A-CMMP,否则选用B-CMMP,其中,N为处理器的核心数。
[0113]S204、将工作集对应的页着色划分策略写入操作系统内核,并由操作系统内核进行相应页着色划分处理。
[0114]具体的,将选择的页着色划分策略可以通过/proc机制写入操作系统内核,由操作系统中的伙伴系统(Buddy System)对内存分配机制进行调整,完成着色划分操作。
[0115]示例性的,伙伴系统中管理机制与检索机制可完成对着色需求的页面进行管理与检索;且可调整内存分配机制在多种划分策略之间进行切换。
[0116]本发明的实施例提供一种存储器资源优化方法,通过页着色技术对LLC资源进行划分,获取工作集中各程序的性能数据,结合访存频度得到各程序的分类,根据各程序的分类选择工作集的页着色划分策略,并将页着色划分策略输入操作系统内核,完成相应的着色划分处理。这样,结合工作集的特点实现了 LLC与DRAM Bank之间的协同划分策略,能够降低甚至消除进程、线程在存储资源上的相互干扰,提高了计算机的整机性能。
[0117]本发明的实施例提供一种存储器资源优化装置00,如图4所示,该装置包括:
[0118]前端单元001,用于获取工作集中各程序的性能数据,通过将各程序的性能数据和统计得到的各程序的访存频度与预设阈值进行比较,对各程序进行分类,各程序的性能数据为各程序预设性能指标随分配的最后一级高速缓存LLC资源容量变化而产生的变化量;
[0119]决策单元002,用于结合工作集中各程序所属的分类情况与预设决策策略,选择工作集对应的页着色划分策略,页着色划分策略包括同时对LLC与动态随机存取存储器内容库DRAM Bank进行页着色划分的页着色协同划分策略;
[0120]划分单元003,用于将工作集对应的页着色划分策略写入操作系统内核,并由操作系统内核进行相应页着色划分处理。
[0121]其中,如图5所示,前端单元001可以包括数据收集单元0011、分类单元0012。
[0122]可选的,数据收集单元0011用于通过页着色技术将LLC资源划分为N份,以LLC资源最大容量的1/N为一级,起始时为各程序分配LLC资源的最大容量,每次调整将分配给各程序的LLC资源容量大小减小一级,直至减小为LLC资源最大容量的1/N ;
[0123]监测调整过程中各程序预设性能指标随分配的LLC资源容量大小变化而产生的变化量,将变化量作为各程序的性能数据,预设性能指标为各程序的加速比。
[0124]可选的,分类单元0012用于统计各程序在运行过程的预设阶段中访问主存的次数,得到各程序的访存频度;
[0125]将各程序的性能数据和统计得到的各程序的访存频度与预设阈值进行比较;其中,预设阈值包括第一阈值、第二阈值和第三阈值,第一阈值、第二阈值为性能数据阈值,第三阈值为访存频度阈值;
[0126]若一个程序的性能数据大于第一阈值,则程序为高需求型;
[0127]若一个程序的性能数据小于第一阈值且大于第二阈值,则程序为中需求型;
[0128]若一个程序的性能数据小于第二阈值且访存频度大于第三阈值,则程序为低需求S集型。
[0129]可选的,预设决策策略为操作系统内核中的划分策略决策树,划分策略决策树在操作系统内核中以算法形式实现,决策单元002具体用于:
[0130]将工作集中各程序所属的分类情况输入操作系统内核,结合工作集中各程序的分类,在操作系统内核中的划分策略决策树上查找对应的节点以确定工作集对应的页着色划分策略。
[0131]可选的,页着色划分策略包括页着色协同划分策略和页着色非协同划分策略,具体的:
[0132]页着色协同划分策略为使用索引重合地址位Ο-bits作为页着色划分索引位的划分策略,Ο-bits为物理页帧中LLC索引位与DRAM Bank索引位重合的地址位,用于同时索弓丨对LLC与对DRAM Bank的页着色划分;
[0133]其中,页着色协同划分策略包括:
[0134]A类多级存储器协同划分策略A-MMCP,使用0_bits作为划分索引位,将LLC和DRAM Bank划分为数量相同的等份;
[0135]B类多级存储器协同划分策略B-MMCP,使用0_bits与DRAM Bank的索引位作为划分索引位,将LLC和DRAM Bank划分为数量不相同的等份,且DRAM Bank划分的数量大于LLC划分的数量;
[0136]C类多级存储器协同划分策略C-MMCP,使用0_bits与LLC的索引位作为划分索引位,将LLC和DRAM Bank划分为数量不相同的等份,且DR
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1