本发明涉及计算机,特别涉及一种处理器调频方法、装置、设备、介质及程序产品。
背景技术:
1、目前的处理器调频方案一般以节约能耗为目的进行设计,能够使不同处理器核心的功耗分配更加合理,但节约能耗的目的和处理器满载相悖,不适用处理器满载运行情况的功耗调整。因此在处理器满载运行的高能耗情况下,如何保障满载状态的运行稳态性,是本领域技术人员需要解决的问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种处理器调频方法、装置、设备、介质及程序产品,以在处理器满载运行的高能耗情况下,保障满载状态的运行稳态性。其具体方案如下:
2、第一方面,本发明提供了一种处理器调频方法,包括:
3、将多个处理器核心划分至n个核心组,并设定各核心组对应的频率范围和组优先级;其中,任意处理器核心所属核心组的组优先级与该处理器核心绑定的任务的优先级一致,任意核心组包括的处理器核心数量与相应核心组的组优先级相匹配;
4、在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值;
5、若为第一次迭代,则按照各处理器核心的频率均值的大小对各处理器核心重新分组,以更新n个核心组;
6、在确定更新后的n个核心组对应的频率范围和组优先级后,执行所述在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值的步骤,以得到各处理器核心的当前功耗均值和当前频率均值;
7、若不为第一次迭代,则使迭代次数递增一,在当前功耗均值未超过功耗阈值、且前次功耗均值超过功耗阈值的情况下,执行所述在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值的步骤;在连续两次功耗均值均未超过功耗阈值的情况下,结束本轮调频流程。
8、另一方面,将多个处理器核心划分至n个核心组,并设定各核心组对应的频率范围和组优先级,包括:
9、设定n个组优先级以及相应组优先级匹配的处理器核心数量;
10、按照所述处理器核心数量划分所述多个处理器核心,得到n个核心组;
11、将n个核心组的频率上限设为处理器最高频,频率下限设为处理器最低频,得到各核心组对应的频率范围。
12、另一方面,按照各处理器核心的频率均值的大小对各处理器核心重新分组,以更新n个核心组,确定更新后的n个核心组对应的频率范围和组优先级,包括:
13、对各处理器核心的频率均值进行降序排列,得到频率序列;
14、按照n个组优先级匹配的处理器核心数量,将所述频率序列切分为n个片段,得到组优先级由高到低排列的更新后的n个核心组;
15、针对更新后的n个核心组中最高组优先级的核心组,将该核心组的频率上限设为处理器最高频,将该核心组中各处理器核心的前次最小频率均值作为频率下限,得到该核心组对应的频率范围;
16、针对更新后的n个核心组中最低组优先级的核心组,将该核心组的频率下限设为处理器最低频,将该核心组中各处理器核心的前次最大频率均值作为频率上限,得到该核心组对应的频率范围;
17、针对更新后的n个核心组中其他组优先级的核心组,将相应核心组中各处理器核心的前次最大频率均值作为频率上限,将相应核心组中各处理器核心的前次最小频率均值作为频率下限,得到相应核心组对应的频率范围。
18、另一方面,还包括:
19、在当前功耗均值超过功耗阈值的情况下,判断更新后的最高组优先级的核心组中是否存在至少一个处理器核心的频率均值超过处理器最高频;
20、若存在,则进入下一次迭代,并执行所述在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值的步骤。
21、另一方面,还包括:
22、在当前功耗均值超过功耗阈值的情况下,判断更新后的最高组优先级的核心组中的各处理器核心的频率均值是否均超过处理器最高频;
23、若是,则确定更新后的第二核心组;所述第二核心组的组优先级比所述最高组优先级低一级;
24、使所述第二核心组的频率上限增大后,进入下一次迭代,并执行所述在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值的步骤。
25、另一方面,使所述第二核心组的频率上限增大,包括:
26、按照第一公式增大所述第二核心组的频率上限;所述第一公式为:fdnew-max-2=fold-max-2+a×(fold-max-2-fold-min-2);
27、其中,fdnew-max-2为增大后的所述第二核心组的频率上限,fold-max-2为增大之前的所述第二核心组的频率上限,fold-min-2为增大之前的所述第二核心组的频率下限,a为预设第一系数。
28、另一方面,还包括:
29、若所述最高组优先级的核心组中的各处理器核心的频率均值均未超过处理器最高频,则使所述第二核心组的频率上限减小后,进入下一次迭代,并执行所述在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值的步骤。
30、另一方面,使所述第二核心组的频率上限减小,包括:
31、按照第二公式减小所述第二核心组的频率上限;所述第二公式为:fxnew-max-2=fold-max-2-b×(fold-max-2-fold-min-2);
32、其中,fxnew-max-2为减小后的所述第二核心组的频率上限,fold-max-2为减小之前的所述第二核心组的频率上限,fold-min-2为减小之前的所述第二核心组的频率下限,b为预设第二系数。
33、另一方面,还包括:
34、在连续两次功耗均值超过功耗阈值的情况下,若连续两次的功耗均值之间的差异、以及连续两次的频率均值之间的差异符合预设第一条件,则结束本轮调频流程。
35、另一方面,连续两次的功耗均值之间的差异、以及连续两次的频率均值之间的差异的计算过程包括:
36、将前次功耗均值和前次频率均值构建为第一向量;
37、将当前功耗均值和当前频率均值构建为第二向量;
38、使所述第一向量和所述第二向量对位相减,得到向量差值;
39、对所述向量差值取模。
40、另一方面,所述连续两次的功耗均值之间的差异、以及连续两次的频率均值之间的差异符合预设第一条件包括:所述向量差值的取模结果小于第一目标值。
41、另一方面,还包括:
42、若所述连续两次的功耗均值之间的差异、以及连续两次的频率均值之间的差异不符合预设第一条件,则进入下一次迭代,并执行所述在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值的步骤。
43、另一方面,还包括:
44、在结束本轮调频流程后,存储当前功耗均值和当前频率均值;
45、等待预设时长后,确定各处理器核心的目标功耗均值和目标频率均值;
46、若当前功耗均值和目标功耗均值之间的差异、以及当前频率均值和目标频率均值之间的差异符合预设第二条件,则激活下一轮调频流程,并执行所述在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值的步骤。
47、另一方面,将目标功耗均值和目标频率均值构建为第三向量;
48、将当前功耗均值和当前频率均值构建为第四向量;
49、使所述第三向量和所述第四向量对位相减,得到向量差值;
50、若该向量差值的取模结果大于第二目标值,则符合预设第二条件,否则,不符合预设第二条件。
51、另一方面,还包括:
52、若当前功耗均值和目标功耗均值之间的差异、以及当前频率均值和目标频率均值之间的差异不符合预设第二条件,则执行等待预设时长后,确定各处理器核心的目标功耗均值和目标频率均值的步骤。
53、另一方面,任一处理器核心的频率均值的计算公式为:
54、;
55、其中, f corei为处理器核心 i的频率均值, f1为第1次采集的频率值, f x为第 x次采集的频率值, f nt为第 nt次采集的频率值。
56、另一方面,本发明提供了一种处理器调频装置,包括:
57、划分模块,用于将多个处理器核心划分至n个核心组,并设定各核心组对应的频率范围和组优先级;其中,任意处理器核心所属核心组的组优先级与该处理器核心绑定的任务的优先级一致,任意核心组包括的处理器核心数量与相应核心组的组优先级相匹配;
58、运行模块,用于在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值;
59、分组模块,用于若为第一次迭代,则按照各处理器核心的频率均值的大小对各处理器核心重新分组,以更新n个核心组;
60、执行模块,用于在确定更新后的n个核心组对应的频率范围和组优先级后,执行所述在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值的步骤,以得到各处理器核心的当前功耗均值和当前频率均值;
61、迭代模块,用于若不为第一次迭代,则使迭代次数递增一,在当前功耗均值未超过功耗阈值、且前次功耗均值超过功耗阈值的情况下,执行所述在各核心组对应的频率范围的约束下,运行各核心组中的处理器核心绑定的任务,并在运行过程中确定各处理器核心的功耗均值和频率均值的步骤;在连续两次功耗均值均未超过功耗阈值的情况下,结束本轮调频流程。
62、另一方面,本发明提供了一种电子设备,包括:
63、存储器,用于存储计算机程序;
64、处理器,用于执行所述计算机程序,以实现前述公开的处理器调频方法。
65、第四方面,本发明提供了一种非易失性存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的处理器调频方法。
66、另一方面,本发明提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现前述公开的处理器调频方法的步骤。
67、本发明的有益效果为:将多个处理器核心划分至n个核心组,并设定各核心组对应的频率范围和组优先级后,根据任务在各个处理器核心的运行情况对核心组及其频率约束范围进行迭代调整,使各处理器核心在满载负荷的情况下,能够合理实现资源分配,保障满载状态的运行稳态性。
68、相应地,本发明提供的一种处理器调频装置、设备、介质及程序产品,也同样具有上述技术效果。
1.一种处理器调频方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,将多个处理器核心划分至n个核心组,并设定各核心组对应的频率范围和组优先级,包括:
3.根据权利要求1所述的方法,其特征在于,按照各处理器核心的频率均值的大小对各处理器核心重新分组,以更新n个核心组,确定更新后的n个核心组对应的频率范围和组优先级,包括:
4.根据权利要求1所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求5所述的方法,其特征在于,使所述第二核心组的频率上限增大,包括:
7.根据权利要求5所述的方法,其特征在于,还包括:
8.根据权利要求7所述的方法,其特征在于,使所述第二核心组的频率上限减小,包括:
9.根据权利要求1至8任一项所述的方法,其特征在于,还包括:
10.根据权利要求9所述的方法,其特征在于,连续两次的功耗均值之间的差异、以及连续两次的频率均值之间的差异的计算过程包括:
11.根据权利要求10所述的方法,其特征在于,所述连续两次的功耗均值之间的差异、以及连续两次的频率均值之间的差异符合预设第一条件包括:所述向量差值的取模结果小于第一目标值。
12.根据权利要求9所述的方法,其特征在于,还包括:
13.根据权利要求1至8任一项所述的方法,其特征在于,还包括:
14.根据权利要求13所述的方法,其特征在于,
15.根据权利要求13所述的方法,其特征在于,还包括:
16.根据权利要求1至8任一项所述的方法,其特征在于,任一处理器核心的频率均值的计算公式为:
17.一种处理器调频装置,其特征在于,包括:
18.一种电子设备,其特征在于,包括:
19.一种非易失性存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至16任一项所述的方法。
20.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至16任一项所述的方法。
