本技术实施例涉及服务器,尤其涉及一种内存页面的访问次数确定方法及计算设备。
背景技术:
1、基于不同存储介质具有不同的性能,用户期望将内存中的频繁访问的内存页面(热页)中的数据,放入到性能较好的存储介质中。为此,需要确定内存中的每个内存页面的访问次数。
2、相关技术在确定内存页面的访问次数的过程中,将一个连续的设备物理地址(device physical address,简称dpa)区域视为一个分桶,通过确定该分桶的访问次数,确定内存页面的访问次数。
3、但是,相关技术中,当同一任务的热数据(高频访问的数据)被分散到不同的分桶,且每个分桶内包括多个内存页面时,会导致这多个分桶所包括的每个内存页面的访问次数的统计,皆会受到热数据的影响,从而导致相关技术中的内存页面的访问次数的确定方法,存在准确率低的问题。
技术实现思路
1、本技术实施例提供一种内存页面的访问次数确定方法及计算设备。能够提高确定内存页面的访问次数的准确率。
2、第一方面,本技术实施例提供一种内存页面的访问次数确定方法,方法包括:
3、响应于接收到处理器发送的第一指令,获取页面归属表的存储地址;其中,第一指令包括内存页面的地址;第一指令用于指示访问内存页面的地址;页面归属表用于记录内存页面的地址和分桶标识的映射关系;
4、基于页面归属表的存储地址和内存页面的地址,确定内存页面的地址对应的分桶标识;
5、将分桶标识对应的计数器的计数值按照预设步进值递增;其中,预设步进值为1。
6、提供一种页面归属表,该页面归属表描述了内存页面的物理地址和分桶标识的映射关系。访存控制器可以在接收到第一指令时,从页面归属表中查找到与内存页面的地址对应的分桶标识,并将分桶标识对应的计数器的计数值按照预设步进值递增。通过上述由软件灵活定义分桶标识映射关系的方式,使得内存分桶和内存页面具有灵活的映射关系,可以实现冷热数据放置在不同分桶,可以实现非均匀划分分桶的大小,保证了内存页面访问次数确定的准确性。
7、在一种实现方式中,页面归属表为多级页表;
8、多级页表包括第一页面归属表、第二页面归属表和第三页面归属表;
9、其中,第一页面归属表为首级页表;第二页面归属表为中间级页表;第三页面归属表为末级页表;第二页面归属表为一级或多级页表;
10、第一页面归属表和第二页面归属表的每个页表项用于存储下一级页面归属表的存储地址;第三页面归属表的每个页表项用于存储分桶标识。
11、通过设置末级页面归属表的每个页表项包括分桶标识,首级页面归属表和中间级页面归属表的每个页表项包括下一级页面归属表的存储地址的方式,可以将页面归属表进行离散存储,避免了需要连续的内存空间存放页面归属表的全部内容,提高了内存的空间使用率。
12、在一种实现方式中,页面归属表的存储地址为第一页面归属表的存储地址;
13、基于页面归属表的存储地址和内存页面的地址,确定内存页面的地址对应的分桶标识,包括:
14、基于页面归属表的存储地址和内存页面的地址中的前k位,在第一页面归属表中确定第二页面归属表的存储地址;
15、基于第二页面归属表的存储地址和内存页面地址中的中间m位,在第二页面归属表中确定第三页面归属表的存储地址;
16、基于第三页面归属表的存储地址和内存页面地址中的后n位,在第三页面归属表中确定内存页面的地址对应的分桶标识。
17、可以基于页面归属表的存储地址和内存页面的地址,逐级查找内存页面的地址对应的分桶标识。
18、在一种实现方式中,页面归属表存储在内存中。
19、通过将占用空间较大的页面归属表存储于内存,降低访存控制器的存储压力。
20、在一种实现方式中,在确定内存页面的地址对应的分桶标识之后,方法还包括:
21、将内存页面的地址对应的分桶标识,存储至第一存储器中。
22、在确定出内存页面的存储地址对应的分桶标识后,将内存页面的存储地址以及其对应的分桶标识,存储至访存控制器的第一存储器中,以便后续可以直接确定内存页面的地址对应的分桶标识,提高了获取分桶标识的速度。
23、在一种实现方式中,在获取页面归属表的存储地址之前,方法还包括:
24、确定第一存储器是否存储内存页面的地址对应的分桶标识;
25、在第一存储器存储内存页面的地址对应的分桶标识的情况下,将分桶标识对应的计数器的计数值按照预设步进值递增,其中,预设步进值为1。
26、可以在接收到第一指令时,识别访存控制器的第一存储器是否存储内存页面的地址对应的分桶标识,以确定是否可以快速获取分桶标识。在识别到第一存储器存储内存页面的地址对应的分桶标识的基础上,可以直接获取分桶标识,提高了分桶标识的获取速度,进而提高了基于第一指令,对内存页面的访问次数进行加1的速度。
27、在一种实现方式中,方法还包括:
28、在第一存储器未存储内存页面的地址对应的分桶标识的情况下,获取页面归属表的存储地址。
29、在识别到访存控制器的第一存储器未存储内存页面的地址对应的分桶标识的情况下,可以查找页面归属表以确定内存页面对应的分桶标识。
30、在将分桶标识对应的计数器的计数值按照预设步进值递增之后,方法还包括:
31、将分桶标识对应的计数器的计数值存储至第二存储器中。
32、可以通过将分桶标识对应的计数器的计数值存储至第二存储器的方式,对分桶标识对应的计数器的计数值(分桶标识对应的内存页面的访问次数)进行安全存储处理。
33、在一种实现方式中,方法还包括:
34、响应于接收到处理器发送的第二指令,向处理器发送分桶标识对应的计数器的计数值;
35、其中,第二指令用于指示获取内存页面的访问次数。
36、可以响应于接收到处理器发送的第二指令,向处理器发送分桶标识对应的计数器的计数值,以供处理器基于分桶标识对应的计数器的计数值,统计冷热页。
37、第二方面,本技术实施例提供一种访存控制器,包括:
38、收发模块,用于响应于接收到处理器发送的第一指令,获取页面归属表的存储地址;其中,第一指令包括内存页面的地址;第一指令用于指示访问内存页面的地址;页面归属表用于记录内存页面的地址和分桶标识的映射关系;
39、处理模块,用于基于页面归属表的存储地址和内存页面的地址,确定内存页面的地址对应的分桶标识;
40、处理模块,还用于将分桶标识对应的计数器的计数值按照预设步进值递增;其中,预设步进值为1。
41、本实施例提供的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。
42、在一种实现方式中,页面归属表为多级页表;
43、多级页表包括第一页面归属表、第二页面归属表和第三页面归属表;
44、其中,第一页面归属表为首级页表;第二页面归属表为中间级页表;第三页面归属表为末级页表;第二页面归属表为一级或多级页表;
45、第一页面归属表和第二页面归属表的每个页表项用于存储下一级页面归属表的存储地址;第三页面归属表的每个页表项用于存储分桶标识。
46、本实施例提供的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。
47、在一种实现方式中,页面归属表的存储地址为第一页面归属表的存储地址;处理模块,具体用于:
48、基于页面归属表的存储地址和内存页面的地址中的前k位,在第一页面归属表中确定第二页面归属表的存储地址;
49、基于第二页面归属表的存储地址和内存地址中的中间m位,在第二页面归属表中确定第三页面归属表的存储地址;
50、基于第三页面归属表的存储地址和内存地址中的后n位,在第三页面归属表中确定内存页面的地址对应的分桶标识。
51、本实施例提供的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。
52、在一种实现方式中,页面归属表存储在内存中。
53、本实施例提供的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。
54、在一种实现方式中,在确定内存页面的地址对应的分桶标识之后,处理模块,还用于:
55、将内存页面的地址对应的分桶标识,存储至第一存储器中。
56、本实施例提供的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。
57、在一种实现方式中,
58、在获取页面归属表的存储地址之前,处理模块,还用于:
59、确定第一存储器是否存储内存页面的地址对应的分桶标识;
60、在第一存储器存储内存页面的地址对应的分桶标识的情况下,将分桶标识对应的计数器的计数值按照预设步进值递增,其中,预设步进值为1。
61、本实施例提供的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。
62、在一种实现方式中,处理模块,还用于:
63、在第一存储器未存储内存页面的地址对应的分桶标识的情况下,获取页面归属表的存储地址。
64、本实施例提供的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。
65、在一种实现方式中,在将分桶标识对应的计数器的计数值按照预设步进值递增之后,处理模块,还用于:
66、将分桶标识对应的计数器的计数值存储至第二存储器中。
67、本实施例提供的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。
68、在一种实现方式中,收发模块,还用于:
69、响应于接收到处理器发送的第二指令,向处理器发送分桶标识对应的计数器的计数值;
70、其中,第二指令用于指示获取内存页面的访问次数。
71、本实施例提供的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。
72、第三方面,本技术实施例还提供一种计算设备,计算设备包括:内存、访存控制器和处理器;其中,内存和访存控制器电连接;访存控制器和处理器电连接;
73、访存控制器用于执行第一方面的内存页面的访问次数确定方法。
74、本实施例提供的计算设备中的访存控制器,可以执行上述方法实施例中的技术方案,其有益效果类似,此处不再进行赘述。