一种内存页面管理方法、系统、装置、设备及计算机介质与流程

文档序号:35270624发布日期:2023-08-30 13:51阅读:23来源:国知局
一种内存页面管理方法、系统、装置、设备及计算机介质与流程

本发明涉及内存管理,更具体地说,涉及一种内存页面管理方法、系统、装置、设备及计算机介质。


背景技术:

1、随着处理数据量的激增,计算引擎对内存的需求也急剧增长,然而,内存容量的增长速度落后于处理器性能的增长,比如处理器核每两年翻一倍,而内存容量每三年翻一倍,这使得单节点内每个处理器核对应内存容量每两年减少30%,进一步加剧了应用对存算比增长的扩展需求。

2、综上所述,如何提高处理器工作负载的效率和性能是目前本领域技术人员亟待解决的问题。


技术实现思路

1、本发明的目的是提供一种内存页面管理方法,其能在一定程度上解决如何提高处理器工作负载的效率和性能的技术问题。本发明还提供了一种内存页面管理系统、装置、电子设备及计算机可读存储介质。

2、根据本发明实施例的第一方面,提供一种内存页面管理方法,应用于目标节点中的目标处理器,包括:

3、获取待访问数据的目标虚拟地址;

4、基于所述目标虚拟地址在地址转换高速缓存中进行物理地址查找,所述地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;

5、若在所述地址转换高速缓存中查找到与所述目标虚拟地址对应的待访问物理地址,则从所述待访问物理地址中读取待访问的目标数据;

6、若未在所述地址转换高速缓存中查找到所述待访问物理地址,则基于所述目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到所述待访问物理地址,则从所述待访问物理地址中读取待访问的所述目标数据;

7、其中,所述本地内存页表包括存储所述本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述其他内存页表包括存储所述其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述本地内存包括所述目标节点中与所述目标处理器连接的内存,所述其他内存包括所述目标节点之外的其他节点中与所述目标处理器连接的内存。

8、在一示例性实施例中,还包括:

9、获取所述本地内存;

10、获取所述其他内存;

11、对所述本地内存和所述其他内存进行统一编址,得到各个内存的物理地址,以筛选出所述本地内存和所述其他内存中存储第一热度数据的物理地址作为所述目标物理地址,所述热度数据包括满足热访问条件的数据,基于所述目标物理地址及对应的虚拟地址生成所述地址转换高速缓存,基于所述本地内存中除所述目标物理地址之外的其他物理地址及对应的虚拟地址生成所述本地内存页表,基于所述其他内存中除所述目标物理地址之外的其他物理地址及对应的虚拟地址生成所述其他内存页表。

12、在一示例性实施例中,还包括:

13、基于第一内核线程对最后一级缓存、所述地址转换高速缓存、所述本地内存页表和所述其他内存页表进行使用热度监测,得到页面使用冷热图,所述页面使用冷热图中的冷页面存储使用热度低于预设值的虚拟地址及物理地址的映射关系,所述页面使用冷热图中的热页面存储使用热度高于所述预设值的虚拟地址及物理地址的映射关系;

14、按照所述页面使用冷热图,基于第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存中,基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存中,更新所述地址转换高速缓存、所述本地内存页表和所述其他内存页表中的映射关系;

15、其中,所述最后一级缓存中存储有热度高于所述第一热度数据的第二热度数据。

16、在一示例性实施例中,所述本地内存和所述其他内存均由动态随机存取存储器和持久性内存组成。

17、在一示例性实施例中,所述基于第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存中,包括;

18、若所述其他内存中的所述持久性内存未满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存的所述持久性内存中;

19、若所述其他内存中的所述持久性内存已满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存的所述动态随机存取存储器中。

20、在一示例性实施例中,所述基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存中,包括:

21、若所述本地内存中的所述动态随机存取存储器未满,则基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存的所述动态随机存取存储器中;

22、若所述本地内存中的所述动态随机存取存储器已满,则基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存的所述持久性内存中。

23、在一示例性实施例中,所述基于所述目标虚拟地址在所述地址转换高速缓存中进行物理地址查找之前,还包括:

24、基于所述目标虚拟地址在所述最后一级缓存中进行数据查找;

25、若在所述最后一级缓存中查找到所述目标数据,则结束查找;

26、若在所述最后一级缓存中未查找到所述目标数据,则执行所述基于所述目标虚拟地址在所述地址转换高速缓存中进行物理地址查找的步骤。

27、在一示例性实施例中,所述对所述本地内存和所述其他内存进行统一编址,包括:

28、应用机架基址、节点基址、节点内部硬件地址,对所述本地内存和所述其他内存进行统一编址;

29、所述机架基址包括节点所处机架的基址。

30、在一示例性实施例中,所述其他内存包括第一级内存和第二级内存,且所述第一级内存与所述目标处理器间的距离小于所述第二级内存与所述目标处理器间的距离。

31、在一示例性实施例中,所述目标处理器与所述本地内存间通过内存总线相连接。

32、在一示例性实施例中,所述目标处理器与所述第一级内存间通过一致性互连协议相连接。

33、在一示例性实施例中,所述目标处理器与所述第二级内存间通过自主高速一致性网络协议相接连。

34、在一示例性实施例中,所述第一级内存包括与所述目标节点位于同一机架的所述其他节点中的内存。

35、在一示例性实施例中,所述第一级内存中包括至少两个内存。

36、在一示例性实施例中,所述第二级内存包括与所述目标节点位于不同机架的所述其他节点中的内存。

37、在一示例性实施例中,所述第二级内存包括位于同一机架中的至少两个所述其他节点中的内存。

38、在一示例性实施例中,所述第二级内存包括位于不同机架中的至少两个所述其他节点中的内存。

39、在一示例性实施例中,所述基于第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存中,包括:

40、若所述第一级内存未满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述第一级内存中;

41、若所述第一级内存已满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述第二级内存中。

42、根据本发明实施例的第二方面,提供一种内存页面管理装置,应用于目标节点中的目标处理器,包括:

43、第一获取模块,用于获取待访问数据的目标虚拟地址;

44、第一查找模块,用于基于所述目标虚拟地址在地址转换高速缓存中进行物理地址查找,所述地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;

45、第一读取模块,用于若在所述地址转换高速缓存中查找到与所述目标虚拟地址对应的待访问物理地址,则从所述待访问物理地址中读取待访问的目标数据;

46、第二查找模块,用于若未在所述地址转换高速缓存中查找到所述待访问物理地址,则基于所述目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址并行查找,若查找到所述待访问物理地址,则从所述待访问物理地址中读取待访问的所述目标数据;

47、其中,所述本地内存页表包括存储所述本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述其他内存页表包括存储所述其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述本地内存包括所述目标节点中与所述目标处理器连接的内存,所述其他内存包括所述目标节点之外的其他节点中与所述目标处理器连接的内存。

48、根据本发明实施例的第三方面,提供一种内存页面管理系统,包括至少两个机架,每个所述机架包括至少两个目标节点,每个所述目标节点均包括目标处理器及内存,所述目标节点的所述目标处理器与位于同一机架内的至少一个另一所述目标节点的所述内存相连,且所述目标节点的所述目标处理器与位于不同机架内的至少一个所述目标节点的所述内存相连;

49、其中,所述目标处理器用于获取待访问数据的目标虚拟地址;基于所述目标虚拟地址在地址转换高速缓存中进行物理地址查找,所述地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;若在所述地址转换高速缓存中查找到与所述目标虚拟地址对应的待访问物理地址,则从所述待访问物理地址中读取待访问的目标数据;若未在所述地址转换高速缓存中查找到所述待访问物理地址,则基于所述目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到所述待访问物理地址,则从所述待访问物理地址中读取待访问的所述目标数据;且所述本地内存页表包括存储所述本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述其他内存页表包括存储所述其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述本地内存包括所述目标节点中与所述目标处理器连接的内存,所述其他内存包括所述目标节点之外的其他节点中与所述目标处理器连接的内存。

50、根据本发明实施例的第四方面,提供一种电子设备,包括:

51、存储器,用于存储计算机程序;

52、处理器,用于执行所述计算机程序时实现如上任一所述内存页面管理方法的步骤。

53、根据本发明实施例的第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述内存页面管理方法的步骤。

54、本发明提供的一种内存页面管理方法,应用于目标节点中的目标处理器,获取待访问数据的目标虚拟地址;基于目标虚拟地址在地址转换高速缓存中进行物理地址查找,地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;若在地址转换高速缓存中查找到与目标虚拟地址对应的待访问物理地址,则从待访问物理地址中读取待访问的目标数据;若未在地址转换高速缓存中查找到待访问物理地址,则基于目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到待访问物理地址,则从待访问物理地址中读取待访问的目标数据;其中,本地内存页表包括存储本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;其他内存页表包括存储其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;本地内存包括目标节点中与目标处理器连接的内存,其他内存包括目标节点之外的其他节点中与目标处理器连接的内存。本发明的有益效果为:目标处理器连接有本地内存和其他内存,相当于扩大了目标处理器所连接的内存的容量,使得内存可以与目标处理器的性能相匹配;且通过地址转换高速缓存、本地内存页表及其他内存页表对本地内存和其他内存的物理地址进行统一管理,避免了大规模混合内存池化导致的地址映射开销问题;除此之外,在通过其他内存扩大了目标处理器的可用内存之后,可以应用地址转换高速缓存来优先对本地内存和其他内存中目标物理地址存储的数据进行快速查找,可以应用本地内存页表、其他内存页表对本地内存和其他内存中的数据进行准确查找,实现了借助地址转换高速缓存、本地内存页表、其他内存页表来对本地内存和其他内存进行快速、准确的数据管理,提高了处理器工作负载的效率和性能。本发明提供的一种内存页面管理系统、装置、电子设备及计算机可读存储介质也解决了相应技术问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1