System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于内存页面管理,具体涉及一种基于随机动态存取存储器与异构内存的分层内存页面管理方法及系统。
技术介绍
1、近年来,各种新型异构内存的出现,使得原本捉襟见肘的传统dram内存导致的性能危机出现好转。然而一个重要的问题是,在硬件上,异构内存已经成为现实甚至商用(例如nvm等),但是软件上针对异构内存的使用方式却较为原始,即将异构内存当作另一个numa节点使用,但这并不是异构内存的最佳实践,因为其并没有相对应的计算节点,同时其具有的性能特征也不适合将其作为numa节点的内存对待。目前已经出现了内存分层管理机制(如tpp、nomad等),但是这些管理机制仅仅针对应用程序运行内存(匿名内存)做出优化,而并未针对真正影响系统性能的i/o性能做出优化。
技术实现思路
1、针对上述问题,本专利技术提出一种基于随机动态存取存储器与异构内存的分层内存页面管理方法及系统,本专利技术将所有异构内存划分至对应的层级,以便操作系统管理,并使得不同性能的异构内存得到充分且合理利用,在划分异构内存层级后,内存数据在不同内存层级之间的移动由预设的算法进行优化,在对系统性能影响不大的情况下,将内存数据放在合适的位置上,最大化性能增益。
2、为了实现上述技术目的,达到上述技术效果,本专利技术通过以下技术方案实现:
3、第一方面,本专利技术提供了一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,包括:
4、将随机动态存取存储器定义为最上层;
5、基于预
6、计算出每个层级的综合性能指标,确定出层级顺序;
7、以系统性能增益最大为目标,基于预设的智能页面迁移算法,根据页面的访问频率和异构内存所属层级的综合性能指标,动态决定页面的升级或降级,完成分层内存页面管理。
8、结合第一方面,可选地,所述分层指标包括:硬件实现技术、硬件连接方式和硬件性能指标;
9、当两个异构内存的硬件实现技术、硬件连接方式均相同,且二者的硬件性能指标满足预设的要求,则将二者划分至同一层级;
10、其中,所述硬件性能指标包括吞吐量和延迟,在进行硬件性能指标比较时,具体包括:
11、针对不同区域的两个异构内存,当二者的吞吐量差值和访问延迟均小于对应的阈值时,则将二者划分至同一层级。
12、结合第一方面,可选地,所述每个层级的综合性能指标通过以下公式计算获得:
13、;
14、其中,为层级的综合性能指标;分别为分项性能指标的权重因子;分别为层级的分项性能指标标准化值;
15、所述层级的分项性能指标标准化值通过以下公式计算获得:
16、
17、其中,为第项分项性能指标的样本均值,,为第层级的第项分项性能指标,,为层级总数;
18、
19、其中,为第项分项性能指标的样本标准差;
20、;
21、其中,为层级的第项分项性能指标标准化值;
22、所述层级顺序通过以下方法确定:
23、按照每个层级的综合性能指标的大小,对层级进行排序,综合性能指标越大,其所处的层级越高。
24、结合第一方面,可选地,所述随机动态存取存储器和异构内存统一使用页面的方式进行管理,其中,页面通过lru的方式在随机动态存取存储器中进行降级,或在当前异构内存中进行升级和降级;随机动态存取存储器具有一个等待区域,各异构内存均具有两个等待区域,用于进行页面升级和页面降级,每个等待区域中有与cpu内核数量相等的队列,需要迁移的页面将首先放入等待区域对应cpu内核的队列中等待操作。
25、结合第一方面,可选地,若当前层级中内存不足,则执行页面的降级,具体包括:
26、通过近似最近最少使用的方式,将当前层级中尚未进入等待区域的最冷页面标记为等待降级;
27、将被标记为等待降级的页面送入特定的等待区域;
28、根据当前处理该降级流程的cpu内核,将页面指针移至对应cpu内核的队列中,若当前已经位于等待区域的页面被访问,则重新将其从等待区域中移出,放置于当前层级的lru列表的头部;
29、等到某cpu内核所属的队列满,或是当前层级的空闲页面数量小于当前层级内存的预设百分比时,对应cpu内核会开始执行批量的页面降级,具体包括:cpu内核将所有位于队列中的页面复制到下一个层级,若此时其中的页面被做出了修改,则同步更改当前层级的页面和下一个层级的页面。
30、结合第一方面,可选地,所述cpu内核将所有位于队列中的页面复制到下一个层级,若此时其中的页面被做出了修改,则同步更改当前层级的页面和下一个层级的页面,包括以下步骤:
31、队列对应的cpu内核在目标层级中分配对应大小的空闲内存,若目标层级没有相应数量的空闲页面,则暂停迁移,主动唤醒内存回收线程,等待目标层级的空闲内存大小大于当前层级内存的预设百分比;
32、队列对应的cpu内核将队列中的页面批量复制至新的层级,复制的过程中会分别将所复制页面的页表项标记为只读,复制完毕后对当前页面标记锁定状态位,清除页表项中的present位;
33、操作系统更新页表项,将虚拟地址映射到新的物理页面,执行转译后备缓冲器,确保所有cpu内核的页表缓存与新的页表同步;
34、在页面被复制完毕后,将页表缓存中所指示的页面地址更改为下一层级中对应的页面地址;
35、解除页面的锁定状态;
36、将当前层级中的旧页面标记为失效。
37、结合第一方面,可选地,所述内存回收线程是位于操作系统内核中的进程,在操作系统启动时即存在于内核中,当某一层级中的内存不足时,该进程从睡眠状态切换至活动状态,并开始将空闲空间不足的层级上的页面从当前层级降级至下一层级,或是将其移出异构内存。
38、结合第一方面,可选地,在执行页面的降级的过程中还包括:
39、将第一次被访问并进入内存的页面移出随机动态存取存储器,并将此次访问信息记录在随机动态存取存储器中;
40、所述分层内存页面管理方法还包括:
41、使用重新返回距离来确定下一次访问该页面时页面应当重新进入随机动态存取存储器或适当层级的异构内存,所述重新返回距离描述了一个页面被移出随机动态存取存储器后再次被访问的时间间隔内,有多少次页面访问,并采用访问计数器统计全局事件来预测一个页面的访问距离,所述访问距离被称之为页面年龄;当描述一个页面在lru列表中向末尾移动的距离,需要统计在该页面位置之前添加到lru 列表的页面数量,只要某个页面不再被访问,由lru算法保证,插入lru 列表前面的每个页面都会将该页面向后移动一个位置;
42、所述页面年龄的影响因素包括:(1)新访问的页面,若将所有层级按照顺序看作一个lru列表,新访问的页面插入到随机动态存取存储器的l本文档来自技高网...
【技术保护点】
1.一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于,包括:
2.根据权利要求1所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于:所述分层指标包括:硬件实现技术、硬件连接方式和硬件性能指标;
3.根据权利要求1所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于:所述每个层级的综合性能指标通过以下公式计算获得:
4.根据权利要求1所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于:所述随机动态存取存储器和异构内存统一使用页面的方式进行管理,其中,页面通过LRU的方式在随机动态存取存储器中进行降级,或在当前异构内存中进行升级和降级;随机动态存取存储器具有一个等待区域,各异构内存均具有两个等待区域,用于进行页面升级和页面降级,每个等待区域中有与CPU内核数量相等的队列,需要迁移的页面将首先放入等待区域对应CPU内核的队列中等待操作。
5.根据权利要求1或4所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于,若当前
6.根据权利要求5所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于,所述CPU内核将所有位于队列中的页面复制到下一个层级,若此时其中的页面被做出了修改,则同步更改当前层级的页面和下一个层级的页面,包括以下步骤:
7.根据权利要求6所述的一种基于随机动态存取存储器与异构内存的分层内存页面方法,其特征在于,所述内存回收线程是位于操作系统内核中的进程,在操作系统启动时即存在于内核中,当某一层级中的内存不足时,该进程从睡眠状态切换至活动状态,并开始将空闲空间不足的层级上的页面从当前层级降级至下一层级,或是将其移出异构内存。
8.根据权利要求6所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于,在执行页面的降级的过程中还包括:
9.根据权利要求1或4所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理装置,其特征在于,页面的升级指的是将一个页面从异构内存迁移至比它层级更高的异构内存或随机动态存取存储器;当一定时间范围内,页面访问次数达到一定阈值,则执行页面的升级,具体包括以下步骤:
10.一种基于随机动态存取存储器与异构内存的分层内存页面管理系统,其特征在于,包括存储介质和处理器;
...【技术特征摘要】
1.一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于,包括:
2.根据权利要求1所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于:所述分层指标包括:硬件实现技术、硬件连接方式和硬件性能指标;
3.根据权利要求1所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于:所述每个层级的综合性能指标通过以下公式计算获得:
4.根据权利要求1所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于:所述随机动态存取存储器和异构内存统一使用页面的方式进行管理,其中,页面通过lru的方式在随机动态存取存储器中进行降级,或在当前异构内存中进行升级和降级;随机动态存取存储器具有一个等待区域,各异构内存均具有两个等待区域,用于进行页面升级和页面降级,每个等待区域中有与cpu内核数量相等的队列,需要迁移的页面将首先放入等待区域对应cpu内核的队列中等待操作。
5.根据权利要求1或4所述的一种基于随机动态存取存储器与异构内存的分层内存页面管理方法,其特征在于,若当前层级中内存不足,则执行页面的降级,具体包括:
6.根据权利要求5所述...
【专利技术属性】
技术研发人员:程大钊,何璞昳,梁黄黄,胡创,龚奕利,
申请(专利权)人:武汉大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。