CN103793041B - 多核对称多处理系统的电源管理方法及装置 - Google Patents
多核对称多处理系统的电源管理方法及装置 Download PDFInfo
- Publication number
- CN103793041B CN103793041B CN201410059847.7A CN201410059847A CN103793041B CN 103793041 B CN103793041 B CN 103793041B CN 201410059847 A CN201410059847 A CN 201410059847A CN 103793041 B CN103793041 B CN 103793041B
- Authority
- CN
- China
- Prior art keywords
- kernel
- symmetric multiprocessing
- multiprocessing system
- open mode
- measurement period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Power Sources (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明涉及一种多核对称多处理系统的电源管理方法,包括统计步骤与操作步骤,通过统计步骤对该系统中待处理的线程的数量进行至少两次采样,以采样的时间间隔为权重计算整个统计周期中待处理的线程的数量的加权平均数;操作步骤以此加权平均数为基准,判断下一个统计周期所需打开的内核的数量,从而能够更合理的判断该系统当前所需内核的数量,保证系统任务能够得到及时处理同时,降低系统整体功耗。此外,本发明还提供一种多核对称多处理系统的电源管理装置。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种多核对称多处理系统的电源管理方法及装置。
背景技术
多核是指在一个处理器中包含两个或两个以上的独立内核,可以在同一时刻处理多个线程。多核在提高处理器的运算速度的同时,也带来高功耗及高发热问题;特别对于移动设备,需要保证任务能够得到及时处理,同时能够延长电池的使用时间。
对于多核处理器来说,大部分时间并不需要所有内核同时工作,甚至只需一个内核工作就可以保证整个设备的正常运行。在运行过程中,处理器需要判断当前整个处理器待处理的任务需要多少个内核进行处理,保证任务能够及时得到有效的处理,同时打开最少的内核以降低功耗。
多核对称多处理系统是基于线程对内核进行调度,因为在同一时刻,一个内核只能处理一个线程,所以当前只有一个待处理的线程时,只需打开一个内核;若有多个待处理的线程,则需要同时打开多个内核,保证任务能够得到及时的处理。由于处理器待处理的任务是实时变化的,即待处理的线程的数量是不断变化的,所以多核对称多处理系统需要具备合理的判断机制,即判断出一个周期内处于待处理的线程的数量及在该周期内需要多少个内核处理这些线程,以用于决策是否需要打开部分处于关闭状态的内核或关闭部分处于打开状态的内核。
针对上述问题,现有技术是通过监控当前处理器中内核的运行频率及占用率来判断所需运行的内核的数量,对于有多个待处理的线程时,该判断机制可以在一定的程度上降低处理器的功耗;但是只有一个线程持续运行时,会导致一个内核处于高频运行状态且占用率高,根据该判断机制,需要新打开一个处于关闭状态的内核来分担任务,但由于只有单个线程处于运行,所以这种机制会导致一个内核处于空运行状态,反而增加处理器的功耗,无法达到降低功耗的目的。
在公布号为CN102955549A的专利文献中公布了一种多核CPU的电源管理方法,该方法的步骤包括:当达到预设的时间周期时,获取多核CPU中预设内核组待处理任务的数量;根据待处理任务的数量计算在时间周期内完成待处理任务所需内核的数量,从而形成判断是否需要打开或关闭部分内核的判断机制。该方法根据CPU内核组的任务队列中的任务动态调整内核的状态,实现多核CPU电源功耗的有效管理,从而在降低电源功耗的同时,实现任务的及时处理。但是该判断机制是基于在一个时间周期起始点对待处理任务的采样,由于待处理任务是实时变化的,所以该判断机制无法合理地对一个时间周期内待处理任务进行有效的判断。
发明内容
本发明的主要目的是提供一种多核对称多处理系统的电源管理方法,旨在提供一个能够合理判断该多核对称多处理系统在下一个时间周期内所需打开内核的数量,从而保证任务能够得到及时处理,同时降低功耗。
本方明的另一目的是提供一种多核对称多处理系统的电源管理装置,旨在于提供一个能够合理判断该多核对称多处理系统在下一个时间周期内所需打开内核的数量,从而保证任务能够得到及时处理,同时降低功耗。
为了实现上述主要目的,本发明提供的多核对称多处理系统的电源管理方法,包括统计步骤及操作步骤;其中统计步骤为在一个统计周期内,对该多核对称多处理系统中处于待执行的线程的数量进行至少两次采样,每次采样得到的线程的数量以与前次采样的时间间隔为权重,计算在一个统计周期内采样得到的线程的数量的加权平均数;并获取处于打开状态的内核的数量;操作步骤为以统计步骤得到的加权平均数为该多核对称多处理系统下一个统计周期的待处理的线程的平均数,从而判断下一个统计周期内所需内核的数量,并增加或减少该多核对称多处理系统中处于打开状态的内核的数量。
由以上方案可得,在整个统计周期内,分多个时间点对该系统中处于待处理状态的线程的数量进行采样,并与采样的时间间隔为权重,计算线程的数量的加权平均数,并以该加权平均数为下一个统计周期内该系统所需处理的线程的平均数,其综合考虑了整个周期内的任务变化情况及内核处理性能,与现有技术相比,更合理的反映该系统的负荷,以此为判断是否需要增加或减少处于打开状态的内核的数量,保证任务能够得到及时的处理,同时降低功耗。
一个具体的方案为,在操作步骤中判断下一个周期内所需内核的数量,并增加或减少该多核对称多处理系统中处于打开状态的内核的数量为:若处于打开状态的内核的数量与比较值的差值为负数,增加处于打开状态的内核的数量,且在增加操作后处于打开状态的内核的数量小于等于该系统的总内核数;若上述差值为正数,减少处于打开状态的内核的数量,在减少操作后处于打开状态的内核的数量大于等于1;其中比较值等于该加权平均数的向上取整值。
由以上方案可见,当差值为负数时,增加处于打开的内核的数量时以保证系统中的任务能够得到及时的处理;当差值为正数时,减少处于打开状态的内核的数量,降低功耗;当没有任务时,保持一个内核处于打开状态,保证系统能够正常的运行。
一个更具体的方案为,在操作步骤中,如果处于打开状态的内核的数量与比较值的差值为负数,增加处于打开状态的内核的数量至比较值与该系统的总内核数中的较小值,可以对待处理的线程进行及时地处理;如果该差值为正数,减少处于打开状态的内核的数量至比较值与1中的较大值,减少不必要的内核数量,降低整个系统的功耗。
一个优选的方案为,其中采样的时间点为该多核对称多处理系统中待执行的线程的数量发生变化的时间点,即该系统中待执行的线程的数量发生变化时,对线程的数量进行一次采样,采样更合理,通过加权平均之后,可以综合地反映该系统在一个统计周期的负载变化及其执行能力。
另一个优选的方案为,整个统计周期根据该多核对称多处理系统在上个统计周期内执行线程的数量均等分,采样的时间点为这些均等分点,即通过上个周期的处理情况对下个周期进行预测,使采样的时间点分布更加合理。
再一个优选的方案为,该方法还包括设置步骤,即在统计步骤之前对采样的时间点及统计周期进行设置,通过实际运行情况对时间点与统计周期进行设置,使该系统对下个周期所需内核的数量的预测更加合理。
为实现上述另一目的,本发明提供的多核对称多处理系统的电源管理装置,包括统计单元与操作单元;统计单元包括提取模块及计算模块;其中提取模块用于在一个统计周期内对该多核对称多处理系统中处于待执行的线程的数量进行至少两次采样,并获取处于打开状态的内核的数量;计算模块用于计算线程的数量的加权平均数及比较值;其中线程的数量的加权平均数为在一个统计周期内每次采样得到的线程的数量以与前次采样的时间间隔为权重的加权平均数;其中比较值等于该加权平均数的向上取整值;操作单元包括比较模块、内核打开模块及内核关闭模块;其中比较模块用于对上述比较值与处于打开状态的内核的数量进行比较;内核打开模块用于,当处于打开状态的内核的数量与比较值的差值为负数时,增加处于打开状态的内核的数量,且在打开操作后处于打开状态的内核的数量小于等于该系统的总内核数;内核关闭模块用于,当该差值为正数时,减少处于打开状态的内核的数量,且在减少操作后处于打开状态的内核的数量大于等于1。
一个具体的方案为,如果差值为负数时,内核打开模块用于打开内核,使处于打开状态的内核的数量增加至比较值与该系统的总内核数中的较小值;如果该差值为正数,内核关闭模块用于关闭内核,使打开状态的内核的数量减少至该比较值与1中的较大值。
另一个具体的方案为,其中提取模块对处于待处理的线程的数量进行采样的时间点为该多核对称多处理系统中待执行的线程的数量发生变化的时间点。
更具体的方案为,该装置还包括设置模块,用于对统计模块中的统计周期及采样的时间点进行设置。
附图说明
图1是本发明多核对称多处理系统的电源管理方法第一实施例的工作流程图;
图2是本发明多核对称多处理系统的电源管理方法第二实施例的工作流程图;
图3是本发明多核对称多处理系统的电源管理装置第一实施例的结构框图;
图4是本发明多核对称多处理系统的电源管理装置第二实施例的结构框图。
以下结合附图及具体实施例对本发明作进一步的说明。
具体实施方式
多核对称多处理系统的电源管理方法第一实施例
参见图1,本多核对称多处理系统的电源管理方法由统计步骤S11及操作步骤S12构成。
统计步骤S11,在统计周期T内,计算该多核对称多处理系统中待执行的线程的数量的加权平均数,并获取该系统中处于打开状态的内核的数量。
在统计步骤S11中,统计周期T可以根据系统实际性能进行设置,优选0.5秒至1秒;线程的数量的加权平均数通过公式1.1进行计算:
(式1.1)
其中,在整个统计周期T内,设定m个采样的时间点,这些采样的时间点距离统计周期T的起始点的时间间隔为Δt1、Δt1+Δt2、Δt1+Δt2+Δt3、…、Δt1+Δt2+…+Δtm;每个采样的时间点获取的待执行的线程的数量为n1、n2、n3、…、nm。其中m≥2,其中采样的时间点为该系统中待执行线程的数量发生变化的时间点。
操作步骤S12,以线程的数量的加权平均数预测下一个统计周期内所需内核的数量,以判断该系统在下一个统计周期内所需内核的数量,并增加或减少下一个统计周期内处于打开状态的内核的数量。
在操作步骤S12中,总内核数为m,处于打开状态的内核的数量为m1,对下一周期中打开或关闭内核的具体操作方式为:
定义比较值n为的向上取整值;
当n>m1时,将处于打开状态的内核的数量增加至min(n,m)个;
当n<m1时,将处于打开状态的内核的数量减少至max(n,1)个;
当n= m1时,保持处于打开状态的内核的数量不变。
例如,在Linux系统中,每个系统都有一个运行队列,记录了正在等待处理器执行的线程。当有进程被唤醒时,会加入到某个运行队列中,并调用“inc_nr_running”函数对该运行队列的记数加1;当有进程因等待其它事件而被挂起时,会从运行队列中剔除,并调用“dec_nr_running”对该运行队列的记数减1。在统计周期内,通过获取该运行队列上的线程的数量的增加时的线程的数量及时间点,每个时间点上的线程的数量以与前一时间点的时间间隔为权重,计算在该统计周期内运行队列上的线程的数量的加权平均数,以该加权平均数对下一个统计周期内该系统的负荷进行预测,从而判断是否增加或减少处于打开状态的内核的数量。
多核对称多处理系统的电源管理方法第二实施例
作为对多核对称多处理系统的电源管理方法第二实施例的说明,以下仅对与上述多核对称多处理系统的电源管理方法第一实施例的不同之处进行说明,其中整个统计周期T根据该系统在上个统计周期内执行线程的数量均等分,采样时间点为这些均等分的时间点,而不是为该系统中待处理线程的数量发生变化的时间点。
多核对称多处理系统的电源管理方法第三实施例
参见图2,本多核对称多处理系统的电源管理方法由设置步骤S20、统计步骤S21及操作步骤S22构成。
设置步骤S20,对统计步骤S21中的统计周期及采样的时间点进行设置。
统计步骤S21中的统计周期及采样的时间点通过设置步骤S20进行设置,其他与上述核对称多处理系统的电源管理方法第一实施例的统计步骤S11相同。
操作步骤S22与上述核对称多处理系统的电源管理方法第一实施例的操作步骤S12相同。
多核对称多处理系统的电源管理装置第一实施例
参见图3,本对称多处理系统的电源管理装置1由统计单元11与操作单元12构成。
统计单元11由提取模块111与计算模块112构成。
在一个统计周期内,提取模块111根据该对称多处理系统中处于待执行的线程的数量发生变化的时间点,对该多核对称多处理系统中处于待执行的线程的数量进行采样,及获取该系统中处于打开状态的内核的数量。
计算模块112根据提取模块111采样的时间点及获取的线程的数量,每个采样的时间点获得线程的数量以该采样点与前一采样点的时间间隔为权重,计算在整个统计周期所采样的线程的数量的加权平均数。
计算模块112根据计算得到的加权平均数计算比较值,比较值等于该加权平均数的向上取整值。
操作单元12由比较模块121、内核打开模块122及内核关闭模块123构成。
比较模块121,对根据提取模块111获取处于打开状态的内核的数量及计算模块112计算出的比较值,并计算出处于打开状态的内核的数量与比较值的差值。
当该差值为负数时,该多核对称多处理系统的电源管理装置1通过内核打开模块122打开部分处于关闭状态的内核,使处于打开状态的内核的数量增加至该多核对称多处理系统的总内核数与比较值中的较小值。
当该差值为正数时,该多核对称多处理系统的电源管理装置1通过内核关闭模块123关闭部分处于打开状态的内核,使处于打开状态的内核的数量减少至比较值与1中的较大值。
当该差值为零时,保持处于打开状态的内核的数量。
多核对称多处理系统的电源管理装置第二实施例
参见图4,本对称多处理系统的电源管理装置2由设置单元20、统计单元21及操作单元22构成,统计单元21由提取模块211与计算模块212构成,操作单元22由比较模块221、内核打开模块222及内核关闭模块223构成。
本多核对称多处理系统的电源管理装置通过设置单元20对统计单元21中的采样的时间点及统计周期进行设置。
统计单元21中的采样的时间点及统计周期由设置单元20进行设置,其他与上述多核对称多处理系统的电源管理装置第一实施例的统计单元11相同。
操作单元22与上述多核对称多处理系统的电源管理装置第一实施例的操作单元12相同。
本发明的构思主要是通过在一个统计周期内,通过对多核对称多处理系统中处于待处理的线程的数量进行采样,并以每次采样的时间间隔为权重,计算一个统计周期内线程的数量的加权平均数,并以此加权平均数为基准判断下一个统计周期内所需处于打开状态的内核的数量,其能够合理地判断出当前系统的负荷对处于打开状态内核的数量的需求。根据本构思,统计周期及采样的时间点还有多种显而易见的变化。
Claims (6)
1.多核对称多处理系统的电源管理方法,
其特征在于,包括:
统计步骤,在一个统计周期内,对所述多核对称多处理系统中处于待执行的线程的数量进行至少两次采样,所述采样的时间点为所述多核对称多处理系统中待执行的线程的数量发生变化的时间点或者等分点,所述等分点是整个统计周期根据所述多核对称多处理系统在上个统计周期内执行线程的数量均等分所对应的时间点,每次采样得到的线程的数量以与前次采样的时间间隔为权重,计算在一个统计周期内线程的数量的加权平均数;并获取处于打开状态的内核的数量;
操作步骤,在下一统计周期中,若处于打开状态的内核的数量与比较值的差值为负数,增加处于打开状态的内核的数量;若所述差值为正数,减少处于打开状态的内核的数量;所述比较值等于所述加权平均数的向上取整值。
2.根据权利要求1所述多核对称多处理系统的电源管理方法,其特征在于:
在所述操作步骤中,若所述差值为负数,增加处于打开状态的内核的数量至所述比较值与所述多核对称多处理系统的总内核数中的较小值;若所述差值为正数,减少处于打开状态的内核的数量至所述比较值与1中的较大值。
3.根据权利要求1或2所述多核对称多处理系统的电源管理方法,其特征在于:
还包括设置步骤,在所述统计步骤之前对所述采样的时间点及统计周期进行设置。
4.多核对称多处理系统的电源管理装置,
其特征在于,包括:
统计单元,包括提取模块及计算模块;
所述提取模块用于在一个统计周期内对所述多核对称多处理系统中处于待执行的线程的数量进行至少两次采样,所述采样的时间点为所述多核对称多处理系统中待执行的线程的数量发生变化的时间点,并获取处于打开状态的内核的数量;
所述计算模块用于计算所述采样得到线程的数量的加权平均数及比较值;所述加权平均数为在一个统计周期内每次采样得到的线程的数量以与前次采样的时间间隔为权重的加权平均数;所述比较值等于所述加权平均数的向上取整值;
操作单元,包括比较模块、内核打开模块及内核关闭模块;
所述比较模块用于对所述比较值与处于打开状态的内核的数量进行比较;
所述内核打开模块用于当所述处于打开状态的内核的数量与比较值的差值为负数时,增加处于打开状态的内核的数量;
所述内核关闭模块用于当所述差值为正数时减少处于打开状态的内核的数量。
5.根据权利要求4所述多核对称多处理系统的电源管理装置,其特征在于:
若所述差值为负数,所述内核打开模块用于打开内核,使处于打开状态的内核的数量增加至所述比较值与所述多核对称多处理系统的总内核数中的较小值;
若所述差值为正数,所述内核关闭模块用于关闭内核,使处于打开状态的内核的数量减少至所述比较值与1中的较大值。
6.根据权利要求4或5所述多核对称多处理系统的电源管理装置,其特征在于:
还包括设置模块,用于对所述统计周期及所述采样的时间点进行设置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410059847.7A CN103793041B (zh) | 2014-02-21 | 2014-02-21 | 多核对称多处理系统的电源管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410059847.7A CN103793041B (zh) | 2014-02-21 | 2014-02-21 | 多核对称多处理系统的电源管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103793041A CN103793041A (zh) | 2014-05-14 |
CN103793041B true CN103793041B (zh) | 2017-06-09 |
Family
ID=50668805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410059847.7A Active CN103793041B (zh) | 2014-02-21 | 2014-02-21 | 多核对称多处理系统的电源管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103793041B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018018371A1 (zh) * | 2016-07-25 | 2018-02-01 | 张升泽 | 多核芯片电压计算方法及系统 |
CN108958449B (zh) * | 2017-05-26 | 2023-07-07 | 中兴通讯股份有限公司 | 一种cpu功耗调整方法与装置 |
CN111077976B (zh) * | 2018-10-18 | 2021-07-20 | 珠海全志科技股份有限公司 | 多核心处理器的空闲状态低功耗模式实现方法和处理器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7957476B2 (en) * | 2006-05-16 | 2011-06-07 | Sony Corporation | Wireless communicaton apparatus |
CN101739502B (zh) * | 2008-11-20 | 2012-11-28 | 上海申瑞电力科技股份有限公司 | 4阶龙格-库塔母线负荷预报方法 |
CN101436098A (zh) * | 2008-12-24 | 2009-05-20 | 华为技术有限公司 | 降低多核对称多处理系统的功耗的方法及装置 |
CN102546700B (zh) * | 2010-12-23 | 2015-07-01 | 中国移动通信集团公司 | 一种资源调度以及资源迁移的方法及设备 |
CN102955549B (zh) * | 2011-08-29 | 2016-06-29 | 华为技术有限公司 | 一种多核cpu的电源管理方法、系统及cpu |
-
2014
- 2014-02-21 CN CN201410059847.7A patent/CN103793041B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103793041A (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI578234B (zh) | 多層級中央處理單元(cpu)高電流保護技術 | |
US10444812B2 (en) | Power shifting in multicore platforms by varying SMT levels | |
US8943340B2 (en) | Controlling a turbo mode frequency of a processor | |
CN103793041B (zh) | 多核对称多处理系统的电源管理方法及装置 | |
CN103955491B (zh) | 一种定时数据增量同步的方法 | |
CN106537348A (zh) | 用于数据处理系统的功率感知作业调度器和管理器 | |
DE102009051387A1 (de) | Power Management für Mehrprozessorkerne | |
EP2819009A3 (en) | Task scheduling for highly concurrent analytical and transaction workloads | |
JP2015512077A5 (zh) | ||
US10176014B2 (en) | System and method for multithreaded processing | |
TWI516886B (zh) | 智能學習節能調控系統與方法 | |
CN104378262A (zh) | 一种云计算下智能监控分析方法及系统 | |
DE102010054337A1 (de) | Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen | |
CN104375898B (zh) | 一种移动终端cpu占用率优化方法 | |
WO2021012510A1 (zh) | Cpu使用率自适应调整方法、装置、终端及存储介质 | |
US20190146567A1 (en) | Processor throttling based on accumulated combined current measurements | |
CN103888279A (zh) | 基于反馈控制循环的资源池动态管理的方法和系统 | |
WO2022099477A1 (zh) | 一种功耗控制方法及装置 | |
CN107153455A (zh) | 缓存功率管理 | |
CN106598740A (zh) | 一种限制多线程程序占用cpu利用率的系统及限制方法 | |
DE112017007855T5 (de) | Spitzenleistungsbestimmung für eine vorrichtung mit integrierter schaltung | |
CN109165045A (zh) | 一种调整服务器的硬件配置的方法和装置 | |
CN109376051A (zh) | 检测移动设备应用程序功耗的方法及终端设备 | |
CN106600088A (zh) | 一种用于提升生产能力的系统和用于提升生产能力的方法 | |
CN102546999B (zh) | 基于业务模型降低设备功耗的方法、控制装置以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |