一种处理器控制方法和相关装置与流程

文档序号:27830200发布日期:2021-12-07 22:03阅读:76来源:国知局
一种处理器控制方法和相关装置与流程

1.本技术涉及系统管理技术领域,特别是涉及一种处理器控制方法和相关装置。


背景技术:

2.在操作系统中,当cpu无需执行任何程序,并且没有接收到任何中断或异常信号时,cpu便会进入一种空闲状态,而对cpu空闲状态的管理会直接影响到cpu的运行效率。
3.相关技术中,空闲状态的调度策略基于cpuidle框架来实现。在空闲状态的选择过程中,功耗和退出延迟是一组不可调和的矛盾,目前cpuidle框架的menu调度器根据系统的运行情况,在满足多项限定条件之后,仅以低功耗作为状态选择标准,这种调整方式可能引起较长的退出延迟。


技术实现要素:

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.图1为本技术实施例提供的一种处理器控制方法的流程图;
35.图2为本技术实施例提供的一种处理器控制方法的示意图;
36.图3为本技术实施例提供的一种处理器控制装置的结构框图;
37.图4为本技术实施例提供的一种计算机设备的结构图;
38.图5为本技术实施例提供的一种服务器的结构图。
具体实施方式
39.下面结合附图,对本技术的实施例进行描述。
40.在操作系统,例如linux中,当cpu无需执行任何程序,并且没有接收到任何中断或异常信号时,cpu便会进入一种空闲状态,而空闲状态的调度策略基于cpuidle框架来实现。在空闲状态的选择过程中,功耗和退出延迟是一组不可调和的矛盾,功耗越低的空闲状态退出延迟也就越高。
41.目前cpuidle框架的menu调度器根据系统的运行情况,在满足多项限定条件之后,仅以低功耗作为状态选择标准,这种策略一定程度上忽视了cpu的负载情况,可能引起较长的退出延迟。例如,当cpu负载较高时,需要较小的退出延迟才能够满足该cpu的负载情况。
42.为了解决上述技术问题,本技术实施例提供了一种处理器控制方法,处理设备可以基于目标处理器对应的负载信息,从多个备选空闲状态中确定出合适的目标空闲状态,从而使处理器在进入该目标空闲状态时,可以有较为合适的退出延迟,提高处理器整体的运行效率。
43.可以理解的是,该方法可以应用于处理设备上,该处理设备为能够进行处理器控制的处理设备,例如可以为具有处理器控制功能的终端设备或服务器。该方法可以通过终端设备或服务器独立执行,也可以应用于终端设备和服务器通信的网络场景,通过终端设备和服务器配合执行。其中,终端设备可以为计算机、手机等设备。服务器可以理解为是应用服务器,也可以为web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。
44.接下来,将结合附图,对本技术实施例提供的一种处理器控制方法进行介绍。
45.参见图1,图1为本技术实施例提供的一种处理器控制方法的流程图,该方法包括:
46.s101:确定目标处理器对应的运行信息。
47.其中,目标处理器可以为任意一个能够进入空闲状态的处理器,该运行信息用于标识该目标处理器的运行情况,例如,在一种可能的实现方式中,该运行信息可以包括空闲状态停留时间、系统延迟容忍度中的至少一种。
48.s102:根据运行信息,确定目标处理器对应的备选空闲状态集合。
49.根据上述运行信息,处理设备可以从所有的空闲状态中选出满该目标处理器条件的空闲状态,组成备选空闲状态集合。例如,处理设备可以根据空闲状态对应的退出延迟,选出小于系统延迟容忍度的所有空闲状态作为备选空闲状态。
50.s103:根据目标处理器对应的负载信息,确定目标处理器对应的标准参数。
51.其中,该标准参数用于标识目标处理器的负载情况。在一种可能的实现方式中,该负载信息可以包括目标处理器对应的负载均值、目标处理器对应的处理器核数中的至少一种,这2个参数与系统的负荷情况密切相关。
52.s104:根据标准参数,从备选空闲状态集合中确定出目标空闲状态。
53.s105:控制目标处理器进入目标空闲状态。
54.由上述技术方案可以看出,本技术提供了一种处理器控制方法,可以先确定目标
处理器对应的运行信息,根据运行信息确定该目标处理器对应的备选空闲状态集合,然后根据目标哦处理器对应的负载信息,确定该目标处理器对应的标准参数,该标准参数用于标识该目标处理器的负载情况。从而,根据该标准参数,可以从备选空闲状态集合中确定出贴合该负载情况的目标空闲状态,并控制目标处理器进行目标空闲状态,使该空闲状态能够贴合该目标处理器的负载需求,在一定程度上避免了给与处理器睡眠深度过深的空闲状态导致所需的退出睡眠状态的时间过长,无法及时相应的问题,改善了处理器的运行效率。
55.具体的,在一种可能的实现方式中,处理设备可以先确定该标准参数对应的参数区间,该参数区间与备选空闲状态集合中的备选空闲状态一一对应,参数区间数值越高,所对应备选空闲状态退出延迟越低。从而,在根据该参数区间,从备选空闲状态集合中确定出目标空闲状态时,可以为负载较高的处理器分配退出延迟较低的空闲状态,当有负载需要处理时,处理设备可以较快的从空闲状态中退出以响应该负载任务。
56.为了便于理解本技术实施例提供的技术方案,接下来,将结合一种实际应用场景,对本技术实施例提供的一种处理器控制方法进行介绍。在该实际应用场景中,处理器为cpu。
57.首选,处理设备可以根据系统的运行情况预测cpu将在空闲状态中停留的时间以及估算系统的延迟容忍度,并根据这两个因素从所有的空闲状态中选取符合条件的状态作为备选状态。
58.处理设备可以根据cpu的负载均值和cpu核数计算出单核的负载值,并将该值作为标准参数,将标准参数的数值划分为多个范围,各个范围分别反映选择空闲状态时对退出延迟的重视程度。
59.由cpu的负载均值loadavg和cpu核数cpu_count计算当前的标准参数具体方式如下:
60.load_per=loadavg/(cpu

count)
61.其中,load_per为标准参数。
62.标准参数可以划分为4个参数区间,分别为:
63.range1:0≤load_per<0.3,
64.range2:0.3≤load_per<0.5,
65.range3:0.5≤load_per≤0.7,
66.range4∶load_per>0.7
67.经过筛选得到n个备选的空闲状态,分别state1,state2,

,staten,且功耗依次递减.退出延迟依次递增。
68.当计算的标准参数load_per位于range1范围内,表明当前cpu负载较小,则从备选状态中选取功耗最低的空闲状态staten;当标准参数位于range2范围内,表明当前cpu负载适中,则从备选状态中选取功耗为次低的空闲状态state(n

1);当标准参数位于range3范围内,表明当前cpu负载略大,则从备选状态中选取空闲状态state(n

2);当标准参数位于range4范围内,表明当前cpu负载过大,系统处于繁忙状态,不适合进入空闲状态,如图2所示。
69.本技术在追求低功耗的同时,还充分考虑了当前cpu的负载情况,在状态选择过程中赋予退出延迟不同的权重,从而选出满足应用场景需求的空闲状态。这种优化方法更有
利于平衡节能与快速响应之间的关系,增强了cpu调度策略的灵活性与实用性。
70.基于上述实施例提供的一种处理器控制方法,本技术实施例还提供了一种处理器控制装置,参见图3,图3为本技术实施例提供的一种处理器控制装置300的结构框图,该装置300包括第一确定单元301、第二确定单元302、第三确定单元303、第四确定单元304和控制单元305:
71.所述第一确定单元301,用于确定目标处理器对应的运行信息;
72.所述第二确定单元302,用于根据所述运行信息,确定所述目标处理器对应的备选空闲状态集合;
73.所述第三确定单元303,用于根据所述目标处理器对应的负载信息,确定所述目标处理器对应的标准参数,所述标准参数用于标识所述目标处理器的负载情况;
74.所述第四确定单元304,用于根据所述标准参数,从所述备选空闲状态集合中确定出目标空闲状态;
75.所述控制单元305,用于控制所述目标处理器进入所述目标空闲状态。
76.在一种可能的实现方式中,所述运行信息包括空闲状态停留时间、系统延迟容忍度中的至少一种。
77.在一种可能的实现方式中,所述负载信息包括目标处理器对应的负载均值、所述目标处理器对应的处理器核数中的至少一种。
78.在一种可能的实现方式中,所述第四确定单元304具体用于:
79.确定所述标准参数对应的参数区间,所述参数区间与所述备选空闲状态集合中的备选空闲状态一一对应,所述参数区间数值越高,所对应备选空闲状态退出延迟越低;
80.根据所述参数区间,从所述备选空闲状态集合中确定出目标空闲状态。
81.本技术实施例还提供了一种计算机设备,下面结合附图对该设备进行介绍。请参见图4所示,本技术实施例提供了一种设备,该设备还可以是终端设备,该终端设备可以为包括手机、平板电脑、个人数字助理(personaldigital assistant,简称pda)、销售终端(point of sales,简称pos)、车载电脑等任意智能终端,以终端设备为手机为例:
82.图4示出的是与本技术实施例提供的终端设备相关的手机的部分结构的框图。参考图4,手机包括:射频(radio frequency,简称rf)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(wireless fidelity,简称wifi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图4中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
83.下面结合图4对手机的各个构成部件进行具体的介绍:
84.rf电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,rf电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noise amplifier,简称lna)、双工器等。此外,rf电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(global systemof mobile communication,简称gsm)、通用分组无线服务(general packet radio service,简称gprs)、码分多址(code divisionmultiple access,简称
cdma)、宽带码分多址(wideband code division multiple access,简称wcdma)、长期演进(long termevolution,简称lte)、电子邮件、短消息服务(short messaging service,简称sms)等。
85.存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
86.输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
87.显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(liquid crystaldisplay,简称lcd)、有机发光二极管(organic light

emitting diode,简称oled)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图4中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
88.手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
89.音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转
换为音频数据,再将音频数据输出处理器780处理后,经rf电路710以发送给比如另一手机,或者将音频数据输出至存储器720以便进一步处理。
90.wifi属于短距离无线传输技术,手机通过wifi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了wifi模块770,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
91.处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
92.手机还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
93.尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
94.在本实施例中,该终端设备所包括的处理器780还具有以下功能:
95.确定目标处理器对应的运行信息;
96.根据所述运行信息,确定所述目标处理器对应的备选空闲状态集合;
97.根据所述目标处理器对应的负载信息,确定所述目标处理器对应的标准参数,所诉标准参数用于标识所述目标处理器的负载情况;
98.根据所述标准参数,从所述备选空闲状态集合中确定出目标空闲状态;
99.控制所述目标处理器进入所述目标空闲状态。
100.本技术实施例还提供一种服务器,请参见图5所示,图5为本技术实施例提供的服务器800的结构图,服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,简称cpu)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
101.服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
,freebsd
tm
等等。
102.上述实施例中由服务器所执行的步骤可以基于图5所示的服务器结构。
103.本技术实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的处理器控制方法中的任意一种实施方式。
104.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在
执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read

only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
105.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
106.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1