调度方法、调度装置及存储介质与流程

文档序号:30376964发布日期:2022-06-11 02:20阅读:96来源:国知局
调度方法、调度装置及存储介质与流程

1.本公开涉及终端领域,尤其涉及一种调度方法、调度装置及存储介质。


背景技术:

2.随着技术发展,终端设备所能支持的应用越来越丰富,对终端设备中央处理器(central processing unit,cpu)等硬件设备的处理能力的需求也不断提升。随着cpu制作工艺的提升,终端设备cpu所能提供的算力(或称哈希率)也越来越强,游戏和相机等高负载应用,在高算力的支持下,也能够流畅的运行。
3.但随着算力的增长,cpu的功耗也越来越大,导致终端设备的续航变得越来越差,发热发烫日益严重。相关技术中,当终端设备发热达到高温警戒值时,通常会采取紧急降温处理,造成系统卡顿丢帧等问题,影响用户体验。


技术实现要素:

4.为克服相关技术中存在的问题,本公开提供一种调度方法、调度装置及存储介质。
5.根据本公开实施例的第一方面,提出了一种调度方法,应用于终端设备,包括:
6.获取相邻两个监测周期中终端设备的温度;
7.根据相邻所述监测周期之间的第一温度差,确定温度变化等级;
8.根据所述温度变化等级,确定并执行对应的cpu调度策略,以使终端设备的温度保持在温度警戒值之下。
9.在一些实施方式中,所述第一温度差用于表征:当前监测周期与前一个监测周期的温度差;
10.所述根据相邻所述监测周期之间的第一温度差,确定温度变化等级,包括:
11.响应于所述第一温度差不小于变化量阈值,确定温度变化等级为第一等级;
12.响应于所述第一温度差小于变化量阈值,根据连续多个监测周期的温度变化,确定温度变化等级为第二等级或第三等级。
13.在一些实施方式中,所述根据连续多个监测周期的温度变化,确定温度变化等级为第二等级或第三等级,包括:
14.根据包含所述当前监测周期的连续多个监测周期的温度,依次确定多个所述监测周期中的多个第二温度差,其中,所述第二温度差用于表征:在连续多个所述监测周期的每两个相邻的监测周期中,后一个监测周期与前一个监测周期的温度差;
15.根据所述多个第二温度差,确定对应的温度变化等级。
16.在一些实施方式中,所述根据所述多个第二温度差,确定对应的温度变化等级,包括:
17.响应于所述多个第二温度差均大于0且依次增大,确定所述温度变化等级为第二等级;
18.响应于所述多个第二温度差中的部分温度差不大于0,确定所述温度变化等级为
第三等级。
19.在一些实施方式中,所述根据所述温度变化等级,确定并执行对应的cpu调度策略,包括:
20.响应于所述温度变化等级为所述第一等级,确定并执行如下所述调度策略:禁用cpu中的大核集群,限制cpu中的中核集群的频率,限制gpu的频率,以及清除后台运行的预设应用程序。
21.在一些实施方式中,所述根据所述温度变化等级,确定并执行对应的cpu调度策略,包括:
22.响应于所述温度变化等级为所述第二等级,确定并执行如下所述调度策略:限制cpu中的大核集群和中核集群的频率,以及降低后台运行的应用程序的cpu占用率;
23.或者,响应于所述温度变化等级为所述第三等级,确定并执行如下所述调度策略:保持当前cpu内核集群的运行状态。
24.在一些实施方式中,所述方法还包括:
25.在执行所述调度策略之后,获取预设监测周期的温度;
26.根据所述预设监测周期的温度,确定并执行对应的性能优化策略。
27.在一些实施方式中,所述根据所述预设监测周期的温度,确定并执行对应的性能优化策略,包括:
28.响应于所述预设监测周期的温度小于温度阈值,确定并执行如下至少一个所述性能优化策略:停止对cpu的大核集群和中核集群的禁用或限制措施,停止对gpu的限制措施,提高cpu的大核集群和中核集群的频率;
29.响应于所述预设监测周期的温度不小于温度阈值且包含所述预设监测周期的连续多个监测周期的温度逐渐下降,确定并执行如下至少一个所述性能优化策略:停止对cpu的大核集群禁用的措施,恢复gpu的频率;
30.其中,所述温度阈值小于所述温度警戒值。
31.根据本公开实施例的第二方面,提出了一种调度装置,应用于终端设备,包括:
32.获取模块,用于获取相邻两个监测周期中终端设备的温度;
33.第一确定模块,用于根据相邻所述监测周期之间的第一温度差,确定温度变化等级;
34.第二确定模块,用于根据所述温度变化等级,确定并执行对应的cpu调度策略,以使终端设备的温度保持在温度警戒值之下。
35.在一些实施方式中,所述第一温度差用于表征:当前监测周期与前一个监测周期的温度差;
36.所述第一确定模块用于:
37.响应于所述第一温度差不小于变化量阈值,确定温度变化等级为第一等级;
38.响应于所述第一温度差小于变化量阈值,根据连续多个监测周期的温度变化,确定温度变化等级为第二等级或第三等级。
39.在一些实施方式中,所述第一确定模块还用于:
40.根据包含所述当前监测周期的连续多个监测周期的温度,依次确定多个所述监测周期中的多个第二温度差,其中,所述第二温度差用于表征:在连续多个所述监测周期的每
两个相邻的监测周期中,后一个监测周期与前一个监测周期的温度差;
41.根据所述多个第二温度差,确定对应的温度变化等级。
42.在一些实施方式中,所述第一确定模块还用于:
43.响应于所述多个第二温度差均大于0且依次增大,确定所述温度变化等级为第二等级;
44.响应于所述多个第二温度差中的部分温度差不大于0,确定所述温度变化等级为第三等级。
45.在一些实施方式中,所述第二确定模块用于:
46.响应于所述温度变化等级为所述第一等级,确定并执行如下所述调度策略:禁用cpu中的大核集群,限制cpu中的中核集群的频率,限制gpu的频率,以及清除后台运行的预设应用程序。
47.在一些实施方式中,所述第二确定模块还用于:
48.响应于所述温度变化等级为所述第二等级,确定并执行如下所述调度策略:限制cpu中的大核集群和中核集群的频率,以及降低后台运行的应用程序的cpu占用率;
49.或者,响应于所述温度变化等级为所述第三等级,确定并执行如下所述调度策略:保持当前cpu内核集群的运行状态。
50.在一些实施方式中,所述获取模块还用于,在执行所述调度策略之后,获取预设监测周期的温度;
51.所述第二确定模块还用于,根据所述预设监测周期的温度,确定并执行对应的性能优化策略。
52.在一些实施方式中,所述第二确定模块用于:
53.响应于所述预设监测周期的温度小于温度阈值,确定并执行如下至少一个所述性能优化策略:停止对cpu的大核集群和中核集群的禁用或限制措施,停止对gpu的限制措施,提高cpu的大核集群和中核集群的频率;
54.响应于所述预设监测周期的温度不小于温度阈值且包含所述预设监测周期的连续多个监测周期的温度逐渐下降,确定并执行如下至少一个所述性能优化策略:停止对cpu的大核集群禁用的措施,恢复gpu的频率;
55.其中,所述温度阈值小于所述温度警戒值。
56.根据本公开实施例的第三方面,提出了一种调度装置,包括:
57.处理器;
58.用于存储处理器的可执行指令的存储器;
59.其中,所述处理器被配置为执行如上任一项所述的调度方法。
60.根据本公开实施例的第四方面,提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由调度装置的处理器执行时,使得调度装置能够执行如上任一项所述的调度方法。
61.本公开的实施例提供的技术方案可以包括以下有益效果:
62.本公开的方法中,能够监测终端设备的温度变化,结合终端设备温度的变化趋势,动态的调整cpu调度策略,在温度达到警戒值之前即进行调整cpu的调度,从而改善因紧急调控措施导致的用户体验不好的问题。
63.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
64.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
65.图1是相关技术中调度的示意图。
66.图2是根据一示例性实施例示出的方法的流程图。
67.图3是根据一示例性实施例示出的方法的流程图。
68.图4是根据一示例性实施例示出的方法的流程图。
69.图5是根据一示例性实施例示出的方法的流程图。
70.图6是根据一示例性实施例示出的方法的流程图。
71.图7是根据一示例性实施例示出的本方法的流程示意图。
72.图8是根据一示例性实施例示出的装置的框图。
73.图9是根据一示例性实施例示出的调度装置的框图。
具体实施方式
74.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
75.相关技术中,当终端设备持续运行游戏、拍摄等高负载应用程序,终端设备的cpu将持续在高性能的工作频率下工作。在此种高负荷场景下,终端设备的内部将产生较大热量,所产生的热量无法及时散发出去,会导致终端设备的温度越来越高,直至达到高温(thermal)警戒值(一般为45℃)。
76.结合图1中随时间变化的各参数曲线所示,在相关技术的方案中,当终端设备的温度达到高温警戒值,终端设备为防止高温烫伤用户或者损伤内部器件,会采取紧急降温调控措施,使cpu的频率急剧下降,以有效缓解温度的继续升高。但是在此方式中,cpu的紧急限频会导致系统卡顿丢帧,导致流畅度体验降低,严重影响用户的使用体验。
77.此外,对于多核架构的cpu,相关技术中eas(energy aware scheduling节能调度)调度器一般选择性能或功耗优先的调度策略。比如,以cpu的大小核(big.little)架构为例,在应用冷启动或资源加载等场景,以提升性能为首要调度原则,将任务调度在大核(big core)上实现为任务提速;或者,在待机场景或音乐播放场景中,以节省功耗为首要调度原则,将小任务留在小核(little core)。此多核cpu调度方式中,未考虑温度的影响,仍会产生前述达到高温警戒值后的问题。
78.本公开实施例中提出了一种调度方法,应用于终端设备。方法包括:获取相邻两个监测周期中终端设备的温度;根据相邻监测周期之间的第一温度差,确定温度变化等级;根据温度变化等级,确定并执行对应的cpu调度策略,以使终端设备的温度保持在温度警戒值之下。本公开的方法中,能够监测终端设备的温度变化,结合终端设备温度的变化趋势,动
态的调整cpu调度策略,在温度达到警戒值之前即进行调整cpu的调度,从而改善因紧急调控措施导致的用户体验不好的问题。
79.在一个示例中的实施例中,本实施例提出了一种调度方法,应用于终端设备。其中,终端设备可以是手机、平板电脑、笔记本电脑等电子设备。本公开实施例中的终端设备可包括:基于多核架构的处理器(cpu)平台,以及eas调度器。多核架构的cpu有利于更好的平衡性能和功耗的关系。
80.本实施例中,cpu的多核架构可以包括:大小核(big.little)架构或多核集群架构。在cpu的大小核架构中,负载重的任务可在大核(big core)上执行以获得更好的性能体验,负载轻的任务可在小核(little core)上执行以节省功耗。在大小核架构的基础上新增一到两个超大核提供额外性能支持而孵化出的多核集群架构中,例如cpu的三核集群架构(3-cluster)即小中大(little-mid-big)架构中:小核组成的小核集群(little cluster)实现低负载情况下的功耗节省;中核组成的中核集群(mid cluster)提供性能支持;大核组成的大核集群(big cluster)满足对响应时间要求严格或敏感的交互式输入,并在系统负载异常重时,提供额外的性能支持。本公开实施例以三核集群架构为例进行阐述。
81.如图2所示,本实施例的方法可以包括如下步骤:
82.s210、获取相邻两个监测周期中终端设备的温度。
83.s220、根据相邻监测周期之间的第一温度差,确定温度变化等级。
84.s230、根据温度变化等级,确定并执行对应的cpu调度策略,以使终端设备的温度保持在温度警戒值之下。
85.其中,在步骤s210中,可将终端设备运行过程中的每个预设时长划分为一个监测周期。例如,以5分钟为一个监测周期,结合终端设备的运行时间,其包括依时间顺序排列的多个监测周期。终端设备内部的温度传感器可实时检测温度,eas调度器可获取每个监测周期的温度。例如,获取每个监测周期中初始时刻或结束时刻的温度,作为本监测周期的温度。
86.本步骤中,eas调度器可连续获得两个监测周期的温度。结合终端设备的内部结构布局,终端设备内部可设置有多个温度传感器,多个温度传感器可位于终端设备的不同位置。在每个监测周期中,终端设备可结合预先配置的拟合算法,对所获取的多个温度传感器的检测温度进行拟合获得均温,以均温作为此监测周期内终端设备的壳温,提升终端设备温度的准确性。
87.在步骤s220中,将步骤s210中所获得的两个监测周期的温度之间的差值记为第一温度差,eas调度器可根据第一温度差的值确定温度变化等级,此温度变化等级可反映相邻监测周期的温度变化趋势。
88.本步骤中,第一温度差比如用于表征:当前监测周期与前一个监测周期的温度差。本步骤中在执行过程中可首先判断第一温度差是否小于变化量阈值,若否,执行步骤s221,若是,执行步骤s222。
89.在一个示例中,本步骤s220可以是包括如下步骤:s221、响应于第一温度差不小于变化量阈值,确定温度变化等级为第一等级。本示例中,变化量阈值比如设置为5℃。当本次获取的温度与上次获取的温度之间的第一温度差大于或等于5℃时,温度变化等级为第一等级。第一等级表征终端设备处于急速升温的状态。
90.在另一个示例中,本步骤s220还可以是包括如下步骤:s222、响应于第一温度差小于变化量阈值,根据连续多个监测周期的温度变化,确定温度变化等级为第二等级或第三等级。本示例中,当本次获取的温度与上次获取的温度之间的第一温度差小于5℃时,终端设备的温度变化等级并非急速升温,可继续结合多个监测周期的温度确定具体温度变化等级为第二等级或第三等级。第二等级表征终端设备处于持续升温状态,第三等级表征终端设备处于非持续升温状态。
91.在步骤s230中,温度警戒值比如设置为图1中高温警戒值45℃。本步骤中,终端设备内部可预存有温度变化等级与cpu调度策略的对应关系,eas调度器在对应关系中查询温度变化等级所对应的调度策略,并结合调度策略对cpu执行调度。
92.本公开实施例,实时监测终端设备的温度变化,在终端设备的温度达到温度警戒值之前,即结合温度变化趋势进行对cpu的动态调度,从而避免终端设备的温度达到温度警戒值,进而避免终端设备采取紧急调控措施导致的用户体验不好的问题。
93.在一个示例性的实施例中,本实施例的方法包括如图2所示的步骤s210至步骤s230,其中,步骤s220可以包括步骤s221或者步骤s222。本实施例中,步骤s222可以包括如下步骤:
94.s222-1、根据包含当前监测周期的连续多个监测周期的温度,依次确定多个监测周期中的多个第二温度差。
95.s222-2、根据多个第二温度差,确定对应的温度变化等级。
96.其中,在步骤s222-1中,第二温度差用于表征:在连续多个监测周期的每两个相邻的监测周期中,后一个监测周期与前一个监测周期的温度差。本步骤中,在终端设备的温度非急速升温时,eas调度器可在获得第一温度差之后,继续获得多个监测周期的温度,计算确定多个第二温度差。例如,在获得第一温度差之后,再获得3~5个连续的监测周期的温度,并分别计算相邻周期的第二温度差。可以理解的,本实施例中在确定温度差时,均采用后一监测周期的温度减去前一监测周期的温度。
97.在步骤s222-2中,结合连续几个监测周期的温度变化,确定温度变化等级是持续升温,还是非持续升温。
98.在一个示例中,本步骤s222-2包括如下步骤:s222-21、响应于多个第二温度差均大于0且依次增大,确定温度变化等级为第二等级。本示例中,多个第二温度差均大于0且依次增大,表明终端设备的温度虽非急速升温,但连续多个监测周期的温度一直保持上升趋势,此时温度变化等级为第二等级,即终端设备处于持续升温状态。
99.在另一示例中,本步骤s222-2包括如下步骤:s222-22、响应于多个第二温度差中的部分温度差不大于0,确定温度变化等级为第三等级。本示例中,可将不属于上述第一等级和第二等级的温度变化等级,视为处于第三等级。当多个第二温度差中部分不大于0时,表明在连续多个监测周期中,温度并未一直上升。此时温度变化等级为第三等级,即终端设备处于非持续升温状态。
100.本公开实施例中,结合前述实施例的三个温度变化等级可知,由第一等级、第二等级至第三等级,终端设备的温升状态逐渐变优。因此结合三个状态下,终端设备的不同温升状态,可执行不同程度的调度策略。
101.在一个示例性的实施例中,如图3所示,本实施例中的方法可以包括如下步骤:
102.s310、获取相邻两个监测周期中终端设备的温度。
103.s320、响应于第一温度差不小于变化量阈值,确定温度变化等级为第一等级。
104.s330、响应于温度变化等级为第一等级,确定并执行如下调度策略:禁用cpu中的大核集群,限制cpu中的中核集群的频率,限制gpu的频率,以及清除后台运行的预设应用程序。
105.其中,步骤s310至步骤s320的实施方式可参见前述实施例中步骤s210至步骤s220的实施方式,此处不再赘述。
106.在步骤s330中,当终端设备的温度变化等级为第一等级,即终端设备处于急速升温状态时,eas调度器可采取三个等级中最为严格的调度策略。结合前述cpu的多核架构,本步骤中,将从如下几个方面执行对应的调度策略:
107.(1)更保守的中大核集群调度策略。比如,仅将和用户感知相关的应用(如界面ui)上中大核集群运行。
108.(2)限制中大核集群的高频使用。比如,限制cpu中的中核集群的频率(即工作频率)。
109.(3)更严格的后台管控策略。比如,冻结或降低后台应用的cpu占用率。
110.(4)禁用大核集群。此措施可以是在措施(1)和(2)的基础上进一步严格的调度措施,用以避免最大的功耗开销。
111.(5)清除后台运行的预设应用程序。比如,清理后台异常的或功耗大的app。此措施可以是在措施(3)的基础上进一步严格的调度措施。
112.(6)限制gpu的频率。比如,限制图像处理器(gpu)的高频使用。
113.本公开实施例中,从多个方面执行最为严格的调度策略,以避免终端设备运行大负载应用,最大程度的遏制导致终端设备温升的多个主要因素,以使终端设备的温度保持在温度警戒值之下。
114.在一个示例性的实施例中,如图4所示,本实施例中的方法可以包括如下步骤:
115.s410、获取相邻两个监测周期中终端设备的温度。
116.s420、响应于第一温度差小于变化量阈值,以及多个第二温度差均大于0且依次增大,确定温度变化等级为第二等级。
117.s430、响应于温度变化等级为第二等级,确定并执行如下调度策略:限制cpu中的大核集群和中核集群的频率,以及降低后台运行的应用程序的cpu占用率。
118.其中,步骤s410至步骤s420的实施方式可参见前述实施例中步骤s210至步骤s220的实施方式,此处不再赘述。
119.在步骤s430中,当终端设备的温度变化等级为第二等级,即终端设备处于持续升温状态时,eas调度器可采取较第一等级严格程度低、较第三等级严格程度高的调度策略。结合前述cpu的多核架构,本步骤中,将从如下几个方面执行对应的调度策略:
120.(1)更保守的中大核集群调度策略。比如,仅将和用户感知相关的应用(如界面ui)上中大核集群运行。
121.(2)限制中大核集群的高频使用,即限制大核集群和中核集群的频率。比如,限制cpu中的中核集群的频率(即工作频率)。
122.(3)更严格的后台管控策略。比如,冻结或降低后台运行的应用程序的cpu占用率。
123.本公开实施例中,主要对中大核集群进行限频,并限制后台app的cpu占用率,以试图延缓或改变终端设备的温度持续拉升,以使终端设备的温度保持在温度警戒值之下。
124.在一个示例性的实施例中,如图5所示,本实施例的方法可以包括如下步骤:
125.s510、获取相邻两个监测周期中终端设备的温度。
126.s520、响应于第一温度差小于变化量阈值,以及多个第二温度差中的部分温度差不大于0,确定温度变化等级为第三等级。
127.s530、响应于温度变化等级为第三等级,确定并执行如下调度策略:保持当前cpu内核集群的运行状态。
128.其中,步骤s510至步骤s520的实施方式可参见前述实施例中步骤s210至步骤s220的实施方式,此处不再赘述。
129.在步骤s530中,当终端设备的温度变化等级为第三等级,即终端设备处于非持续升温状态时,此时表明终端设备的温升状态处于正常状态。eas调度器可不采取其他调整措施,即保持当前cpu内核集群的运行状态即可。
130.本公开实施例中,在终端设备处于非持续升温状态时,可保证终端设备的当前运行状态,以平衡终端设备的温升以及功耗性能,保证用户体验的流畅性和持续性。
131.在一个示例性的实施例中,如图6所示,本实施例的方法可以包括如下步骤:
132.s610、获取相邻两个监测周期中终端设备的温度。
133.s620、根据相邻监测周期之间的第一温度差,确定温度变化等级。
134.s630、根据温度变化等级,确定并执行对应的cpu调度策略,以使终端设备的温度保持在温度警戒值之下。
135.s640、在执行调度策略的之后,获取预设监测周期的温度。
136.s650、根据预设监测周期的温度,确定并执行对应的性能优化策略。
137.其中,步骤s610至步骤s630的实施方式可参见前述实施例中步骤s210至步骤s230的实施方式,此处不再赘述。
138.在步骤s640中,预设监测周期比如可以是执行调度策略后的第一个监测周期。在eas调度器执行与温度变化等级适配的调度策略过程中,仍可获取每个监测周期中终端设备的温度,从而及时获知终端设备在执行调度策略之后的温度变化。
139.在步骤s650中,结合预设监测周期的温度,eas调度器可获知终端设备在执行调度策略之后温升状态是否得到调节。以便于eas调度器能够在终端设备的温升问题得到调节后,及时调整终端设备cpu的运行性能。
140.在一个示例中,本步骤s650可以包括如下步骤:s6501、响应于预设监测周期的温度小于温度阈值,确定并执行如下至少一个性能优化策略:停止对cpu的大核集群和中核集群的禁用或限制措施,停止对gpu的限制措施,提高cpu的大核集群和中核集群的频率。
141.本示例中,温度阈值小于温度警戒值,比如设置为38℃。当预设监测周期的温度小于温度阈值,表明终端设备的温度处于低温区,此时可取消第一等级或第二等级下的全部调度策略。结合前述cpu的多核架构,本示例中当终端设备的温度处于低温区,eas调度器将从如下几个方面执行对应的性能优化策略:
142.(1)更积极的中大核集群调度策略。比如,恢复按照cpu多核集群架构中各内核集群的性能处理任务,例如负载最重的任务以cpu的大核集群执行。
143.(2)重负载时的快速提频策略。比如,本示例中可以开启丢帧自动检测,当丢帧严重表明当前任务负载重,可能处于高性能需求场景,因此此时可进行实时提频,如提高cpu的大核集群和中核集群的频率,从而保证终端设备的运行性能并提升用户体验。
144.(3)放开中核集群和大核集群频率管控限制。比如,停止对cpu的大核集群和中核集群的禁用或限制措施。
145.(4)放开对应用程序的调度管控。比如,不再清理后台异常的或功耗大的app。
146.(5)放开对gpu高频使用的限制。比如,停止对gpu的限制措施。
147.(6)启用大核。即停止对cpu的大核集群的禁用措施,发挥其对重负载任务处理的性能。
148.在另一个示例中,本步骤s650可以包括如下步骤:s6502、响应于预设监测周期的温度不小于温度阈值且包含预设监测周期的连续多个监测周期的温度逐渐下降,确定并执行如下至少一个性能优化策略:停止对cpu的大核集群禁用的措施,恢复gpu的频率。
149.本示例中,当预设监测周期的温度大于或等于38℃,表明终端设备的温度仍处于高温区。若监测到连续多个监测周期的温度持续下降,本示例中将只取消第一等级或第二等级下的全部调度策略中的部分措施。结合前述cpu的多核架构,本示例中当终端设备的温度仍处于高温区、但持续下降;eas调度器将从如下几个方面执行对应的性能优化策略:
150.(4)放开对应用程序的调度管控。比如,不再清理后台异常的或功耗大的app。
151.(5)放开对gpu高频使用的限制。比如,停止对gpu的限制措施,恢复gpu的频率。
152.(6)启用大核。即停止对cpu的大核集群的禁用措施,发挥其对重负载任务处理的性能。
153.本示例中,仍可维持其他方面的调度策略管控措施。
154.本公开实施例中,结合图7所示,在调度过程中,结合终端设备的温度变化,不仅能够及时采取相应的调度策略限制终端设备的温升过高。还可以在终端设备经过调度策略降温后,采取积极的性能优化策略,维持终端设备的性能、功耗与温升的平衡,从而最大程度保证用户体验,缓解终端设备发烫或卡顿的问题。
155.在一个示例性的实施例中,本公开实施例还提出了一种调度装置应,用于终端设备。如图8所示,本实施例的装置包括:获取模块110、第一确定模块120以及第二确定模块130。本实施例的装置用于实现如图2至图6任一实施例中所示的方法。其中,获取模块110用于获取相邻两个监测周期中终端设备的温度。第一确定模块120用于根据相邻监测周期之间的第一温度差,确定温度变化等级。第二确定模块130用于根据温度变化等级,确定并执行对应的cpu调度策略,以使终端设备的温度保持在温度警戒值之下。
156.在一个示例性的实施例中,依旧如图8所示,第一温度差用于表征:当前监测周期与前一个监测周期的温度差;第一确定模块120用于:响应于第一温度差不小于变化量阈值,确定温度变化等级为第一等级;响应于第一温度差小于变化量阈值,根据连续多个监测周期的温度变化,确定温度变化等级为第二等级或第三等级。
157.本实施例中,第一确定模块120还用于:根据包含当前监测周期的连续多个监测周期的温度,依次确定多个监测周期中的多个第二温度差,其中,第二温度差用于表征:在连续多个监测周期的每两个相邻的监测周期中,后一个监测周期与前一个监测周期的温度差;根据多个第二温度差,确定对应的温度变化等级。
158.在一个示例性的实施例中,依旧如图8所示,第一确定模块120还用于:响应于多个第二温度差均大于0且依次增大,确定温度变化等级为第二等级;响应于多个第二温度差中的部分温度差不大于0,确定温度变化等级为第三等级。
159.在一个示例性的实施例中,依旧如图8所示,第二确定模块130用于:响应于温度变化等级为第一等级,确定并执行如下调度策略:禁用cpu中的大核集群,限制cpu中的中核集群的频率,限制gpu的频率,以及清除后台运行的预设应用程序。
160.在一个示例性的实施例中,依旧如图8所示,第二确定模块130用于:响应于温度变化等级为第二等级,确定并执行如下调度策略:限制cpu中的大核集群和中核集群的频率,以及降低后台运行的应用程序的cpu占用率;或者,响应于温度变化等级为第三等级,确定并执行如下调度策略:保持当前cpu内核集群的运行状态。
161.在一个示例性的实施例中,依旧如图8所示,获取模块110还用于,在执行调度策略之后,获取预设监测周期的温度。第二确定模块130还用于,根据预设监测周期的温度,确定并执行对应的性能优化策略。
162.本实施例中,第二确定模块130用于:响应于预设监测周期的温度小于温度阈值,确定并执行如下至少一个性能优化策略:停止对cpu的大核集群和中核集群的禁用或限制措施,停止对gpu的限制措施,提高cpu的大核集群和中核集群的频率;响应于预设监测周期的温度不小于温度阈值且包含预设监测周期的连续多个监测周期的温度逐渐下降,确定并执行如下至少一个性能优化策略:停止对cpu的大核集群禁用的措施,恢复gpu的频率;其中,温度阈值小于温度警戒值。
163.如图9所示是一种调度装置的框图,调度装置比如可以是eas调度器或者终端设备。当调度装置为终端设备,例如,设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
164.设备600可以包括以下一个或多个组件:处理组件602,存储器604,电力组件606,多媒体组件608,音频组件610,输入/输出(i/o)的接口612,传感器组件614,以及通信组件616。
165.处理组件602通常控制设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
166.存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
167.电力组件606为设备600的各种组件提供电力。电力组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
168.多媒体组件608包括在设备600和用户之间的提供一个输出接口的屏幕。在一些实
施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
169.音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(mic),当设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
170.i/o接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
171.传感器组件614包括一个或多个传感器,用于为设备600提供各个方面的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如组件为设备600的显示器和小键盘,传感器组件614还可以检测设备600或设备600一个组件的位置改变,用户与设备600接触的存在或不存在,设备600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
172.通信组件616被配置为便于设备600和其他设备之间有线或无线方式的通信。设备600可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件616还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
173.在示例性实施例中,设备600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的方法。
174.本公开另一个示例性实施例中提供的一种非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由设备600的处理器620执行以完成上述方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。当存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行上述的方法。
175.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的
权利要求指出。
176.应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1