终端中多核处理器热插拔控制方法和装置的制造方法

文档序号:8402744阅读:578来源:国知局
终端中多核处理器热插拔控制方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,特别涉及一种终端中多核处理器热插拔控制方法和装置。
【背景技术】
[0002]随着科学技术日新月异的发展,出现了一些具有多核处理器的终端,处理器即CPU (Central Processing Unit,中央处理器),多核处理器的终端即终端中内置多个CPU,例如像多核处理器的手机、平板电脑等,多核处理器能够使得终端具有更快的处理能力,给使用多核处理器终端的用户带来愉悦的体验。
[0003]在设计多核处理器的终端时,除了考虑终端的性能之外,还需要考虑到多核处理器给终端所带来的额外消耗。为了降低多核处理器终端使用时的额外消耗,延长待机时间,提高用户体验,目前采用主流的CPU热插拔技术来解决这一问题。该技术的主要思想是在CPU平均负载变低时,将空闲的CPU拔出;在系统负载变高时,将已下电的核插入,以满足系统性能需要。因此,该方法中的关键点在于测量CPU的负载。具体的做法是:首先计算一段采样时间内CPU忙时间以及对应的CPU频率,得到采样周期内的CPU平均频率;然后,用CPU的平均频率除以CPU最大频率,就可以得到CPU的平均负载。
[0004]目前判断插或拔的方法,主要依靠历史统计数据,具体做法是统计过去一段时间或一定次数的CPU平均频率或CPU平均负载,如连续几次超过所设定的阈值,则热插或热拔;或如果历史数据中出现了超过阈值的高频或低频数据,则也热插或热拔。
[0005]但是,该CPU平均负载计算方法忽略掉了此次采样点之前的CPU行为,即假设了(PU是以空闲状态开始此次采样的,历史数据的统计和选择是有一定延迟的,不能及时对CPU的变化做出反应。此外,对此次采样周期内的时间采取了统一的权值,即假设过去一个采样周期内的所有时间的CPU行为对预测下一个周期内CPU行为是均衡的,但是实践证明距离当前时间越近的时间的CPU行为,对预测CPU行为的权重应该越大,反之越小。进一步的,外界事件或环境变化等也会引起CPU平均负载的波动,当前活动线程数会影响热插拔策略的决策,示例的,可能存在多线程已经准备好,但因处于在线状态的CPU数不够而没能及时得到调度的情况发生,从而最终影响热插拔策略的决策。因此,目前的CPU平均负载的测量方法及判断插或拔的方法是不准确的。

【发明内容】

[0006]本发明的目的在于提供一种终端中多核处理器热插拔控制方法和装置,能够解决由于CPU热插或热拔所导致的CPU在线和CPU不在线时所引起的终端系统状态的抖动,使得终端系统状态保持平缓,同时能够提高对终端系统负载变化的及时响应性。
[0007]为解决上述技术问题,本发明的实施方式提供了一种终端中多核处理器热插拔控制方法,包括:
[0008]使用负载跟踪算法计算CPU平均负载,所述CPU平均负载由时长T内CPU累积运行的负载与所述T衰减后的总时长相除得到,所述T为自CPU开启至当前时间的总时长;
[0009]根据所述计算的CPU平均负载,判断CPU的插或拔。
[0010]本发明的实施方式还提供一种终端中多核处理器热插拔控制装置,包括:
[0011]计算单元,用于使用负载跟踪算法计算CPU平均负载,所述CPU平均负载由时长T内CPU累积运行的负载与所述T衰减后的总时长相除得到,所述T为自CPU开启至当前时间的总时长;
[0012]第一判断单元,用于根据所述计算单元的计算的所述CPU平均负载,判断CPU的插或拔。
[0013]本发明实施方式相对于现有技术而言,根据负载跟踪算法计算CPU的负载,连续跟踪了从终端开启后到当前时间内的CPU平均负载,保证了 CPU平均负载评估时的连续性和历史性,从而使得根据计算的CPU平均负载在判断CPU的插或拔时,能够解决由于CPU热插或热拔所导致的CPU在线和CPU不在线时所引起的终端系统状态的抖动,使得终端系统状态保持平缓,满足性能和消耗的平衡。
[0014]优选的,所述使用负载跟踪算法计算CPU平均负载包括:将所述T按照单位划分成时间单位,通过衰减算法得到每个所述时间单位内CPU的运行时间,为每个所述时间单位设置不同的权重,距离所述当前时间越近,所述权重越大;将所述每个所述时间单位内CPU的运行时间及其对应的权重相乘后做和,得到所述CPU累积运行的负载;将所述每个时间单位的时长及其对应的权重相乘后做和,得到所述T衰减后的总时长;将所述CPU累积运行的负载与所述T衰减后的总时长相除,得到所述CPU平均负载。
[0015]根据负载跟踪算法计算CPU的负载,连续跟踪了从终端开启后到当前时间内的CPU负载CPU平均负载,保证了 CPU平均负载评估时的连续性和历史性,从而使得根据计算的CPU平均负载在判断CPU的插或拔时,能够解决由于CPU热插或热拔所导致的CPU在线和CPU不在线时所引起的终端系统状态的抖动,使得终端系统状态保持平缓。
[0016]优选的,当所述终端支持CPU的动态调频时,所述使用负载跟踪算法计算CPU平均负载还包括:将所述T按照单位划分成时间单位,通过衰减算法得到每个所述时间单位内CPU的运行时间,为每个所述时间单位设置不同的权重,距离所述当前时间越近,所述权重越大;将所述时间单位内CPU的运行时间及其对应的权重相乘后,再乘以对应的所述时间单位内CPU使用的频率,得到所述每个时间单位内CPU累积运行的负载分量,再将所述每个时间单位内CPU累积运行的负载分量求和,得到CPU累积运行的负载;将所述每个时间单位的时长及其对应的权重相乘后做和,得到所述T衰减后的总时长;利用所述CPU累积运行的负载除以所述T衰减后的总时长与fmax的乘积,得到所述CPU平均负载,所述fmax为所述T内CPU使用的频率中最大的频率。
[0017]将CPU的频率作为一个衡量因子加入到CPU平均负载的计算方法中,使得计算得到的CPU平均负载值更为准确。
[0018]优选的,周期性的检测负载变化率,所述负载变化率为当前周期的CPU平均负载与前一周期的CPU平均负载作差后除以检测周期P得到,所述CPU平均负载变化检测周期为P,所述P为所述时间单位的N倍,所述N为大于I的整数,所述CPU平均负载由所述P内计算的所述N个CPU平均负载的和与所述N个时间单位长度相除得到;判断所述负载变化率是否大于第一预设阈值;当所述负载变化率大于所述第一预设阈值时,将所述负载变化率与预设的负载变化因子的乘积及所述CPU平均负载的和作为最终的CPU平均负载。
[0019]由于具有CPU的系统是个时变系统,外界事件或环境变化会引起系统波动,在负载变化率大于第一预设阈值时,将负载变化率加入到CPU平均负载值的计算中,从而使得最终的热插拔判决方法能够根据负载的变化情况得出,更加符合CPU的负载特性,提高了终端系统的交互性和及时性,充分发挥出多核的优势。
[0020]优选的,还包括以下步骤:当当前活动线程数大于第二预设阈值时,设置CPU插入;当所述当前活动线程数与在线CPU数的差值大于第三预设阈值时,设置在线CPU数不变;在预设时间内,当所述当前活动线程数一直小于所述在线CPU数时,设置CPU拔出。
[0021]在判断是否“插/拔/保持”时,除了使用CPU平均负载此因子进行判断之外,使用当前活动线程数进行判断,能够提高系统对负载变化的及时响应性。
【附图说明】
[0022]图1是本发明第一实施方式的终端中多核处理器热插拔控制方法流程示意图;
[0023]图2是根据负载跟踪算法计算CPU平均负载的方法流程示意图;
[0024]图3是负载跟踪算法中按照时间单位划分时间轴的方法示意图;
[0025]图4是本发明第二实施方式中根据负载跟踪算法计算CPU平均负载的另一种方法流程示意图;
[0026]图5是本发明第三实施方式的终端中多核处理器热插拔控制方法流程示意图。
【具体实施方式】
[0027]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1