一种热页和冷页的识别方法、装置、设备及存储介质与流程

文档序号:37934372发布日期:2024-05-11 00:13阅读:9来源:国知局
一种热页和冷页的识别方法、装置、设备及存储介质与流程

本发明涉及存储,特别是涉及一种热页和冷页的识别方法、装置、设备及存储介质。


背景技术:

1、在跨非一致性内存访问架构(non-uniform memory access,numa)下,一般将大容量的慢速内存设备设置为远端节点,将访问速度快的内存设备设置为本地节点,而远端内存节点的访问速度较慢。

2、为了提高内存的整体访问性能,需要对内存页面按访问热度进行分层放置,即内存分层和页迁移。将远端节点中访问热度较高的页筛选出来并迁移到本地节点,将冷页保留在远端节点。将本地节点中访问热度较低的页识别出来并迁移到远端节点,为热页腾出空间。

3、现有的冷热页识别方法是基于lru(least recently used,最近最少使用)算法进行冷页识别,即选择各页面中当前系统时间与最后一次访问时间戳的差值最大的页面作为冷页,通过判断指定时间周期内对页面的访问次数是否大于某个阈值来判定该页面是否为热页。

4、当前冷页识别方式和热页识别方式均存在缺点,首先,对于冷页识别来说,仅使用在某一时刻当前系统时间与最后一次访问时间戳的差值作为唯一依据来判定应该淘汰的冷页是不准确的。例如,页面a每隔1秒访问一次,而页面b每隔2秒访问一次,当进行冷页判定时的系统时间更靠近页面b最后一次访问时间戳时,将误判为页面a为冷页。其次,对于热页识别来说,仅以指定时间周期内对页面的访问次数是否大于某个阈值作为唯一依据来判定该页面是否为热页是不准确的。例如,某个页面在指定周期内连续访问几次后的很长时间内不再访问,这种情况不应该将其判定为热页。冷热页的误判会造成页面的误迁移,影响内存的整体访问性能。

5、综上所述,如何有效地解决现有的冷热页识别方法对热页和冷页识别不准确,易造成页面的误迁移,影响内存的整体访问性能的问题,是目前本领域技术人员急需解决的问题。


技术实现思路

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、判断所述剩余内存是否低于所述预设内存低水线;

55、若是,则对各所述待识别页面的第二热度值进行大小排序,得到排序结果;

56、从所述排序结果小的一端选取预设数量个第二热度值,将选取到的第二热度值确定为目标第二热度值;

57、将所述目标第二热度值对应的待识别页面确定为冷页。

58、在本发明的一种具体实施方式中,在得到冷页识别结果之后,还包括:

59、对所述冷页进行回收,并重复执行所述判断所述剩余内存是否低于所述预设内存低水线的步骤。

60、在本发明的一种具体实施方式中,对所述冷页进行回收,包括:

61、当所述冷页所在的节点为本地节点时,判断远端节点中剩余内存是否高于所述预设内存低水线;

62、若是,则向所述远端节点进行页面申请,得到第二目标页面;

63、将所述冷页的数据拷贝至所述第二目标页面;

64、对所述本地节点中的所述冷页进行释放;

65、若否,则将所述冷页的数据拷贝至硬盘的交换区块,并对所述本地节点中的所述冷页进行释放;

66、当所述冷页所在的节点为远端节点时,执行所述将所述冷页的数据拷贝至硬盘的交换区块,并对所述本地节点中的所述冷页进行释放的步骤。

67、一种热页和冷页的识别装置,包括:

68、系统时间及时间戳获取模块,用于获取当前系统时间和待识别页面的最后一次访问时间戳;

69、时间差值计算模块,用于计算所述当前系统时间与所述最后一次访问时间戳的时间差值;

70、数据获取模块,用于获取预设的热页识别单位时间、冷页识别单位时间和所述待识别页面对应的已存热度值;

71、第一热度值更新模块,用于根据所述时间差值和所述热页识别单位时间对所述已存热度值进行更新,得到第一热度值;

72、第二热度值更新模块,用于根据所述时间差值和所述冷页识别单位时间对所述已存热度值进行更新,得到第二热度值;

73、热页识别模块,用于根据所述第一热度值对所述待识别页面进行热页识别,得到热页识别结果;

74、冷页识别模块,用于根据所述第二热度值对所述待识别页面进行冷页识别,得到冷页识别结果。

75、一种热页和冷页的识别设备,包括:

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

77、处理器,用于执行所述计算机程序时实现如前所述热页和冷页的识别方法的步骤。

78、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述热页和冷页的识别方法的步骤。

79、本发明所提供的热页和冷页的识别方法,获取当前系统时间和待识别页面的最后一次访问时间戳;计算当前系统时间与最后一次访问时间戳的时间差值;获取预设的热页识别单位时间、冷页识别单位时间和待识别页面对应的已存热度值;根据时间差值和热页识别单位时间对已存热度值进行更新,得到第一热度值;根据时间差值和冷页识别单位时间对已存热度值进行更新,得到第二热度值;根据第一热度值对待识别页面进行热页识别,得到热页识别结果;根据第二热度值对待识别页面进行冷页识别,得到冷页识别结果。

80、本发明的有益效果在于:通过预先设置热页识别单位时间和冷页识别单位时间,当存在待识别页面时,在计算得到当前系统时间与待识别页面对应的最后一次访问时间戳的时间差值之后,根据时间差值和热页识别单位时间对已存热度值进行更新,得到第一热度值,并根据时间差值和冷页识别单位时间对已存热度值进行更新,得到第二热度值。通过进行第一热度值和第二热度值的计算,在页面的全生命周期内对页面热度值进行不断更新,将计算得到的页面热度值作为热页和冷页的判断依据,实现了以页面的全生命周期内的总体访问情况作为依据,而不是以页面某时刻的实时数据作为依据进行冷热页识别,提高了冷热页识别的准确性,较大地降低了页面误迁移的概率,提升了内存的整体访问性能。

81、相应的,本发明还提供了与上述热页和冷页的识别方法相对应的热页和冷页的识别装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。

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