CN103823716A - 具多重中央处理单元的电子装置及其效能管理方法 - Google Patents
具多重中央处理单元的电子装置及其效能管理方法 Download PDFInfo
- Publication number
- CN103823716A CN103823716A CN201310421374.6A CN201310421374A CN103823716A CN 103823716 A CN103823716 A CN 103823716A CN 201310421374 A CN201310421374 A CN 201310421374A CN 103823716 A CN103823716 A CN 103823716A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- cpu
- central processing
- processing unit
- estimation
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种适用于具有多重中央处理单元的电子装置的效能管理方法。首先,分别对上述多重中央处理单元中的不同数量的中央处理单元执行线程负载重新排列操作与中央处理单元频率估算操作,用以取得相应不同数量的上述中央处理单元的多个估算的效能值,其中上述估算的效能值是与上述多重中央处理单元的多个电源损耗值有关。接着,依据上述不同数量的上述中央处理单元所对应的上述估算的效能值,判断是否调整被使用的中央处理单元的一数量。
Description
技术领域
本发明是有关于效能管理方法及其相关电子装置,特别是有关于一种适用于具有多重处理单元的电子装置的效能管理方法。
背景技术
中央处理单元(Central processing unit,简称CPU)热插拔技术(hot-plug)为一项操作系统机制,其可插入一处于电源(power-gated)的中央处理单元或处于电源崩溃(power-collapsed)的中央处理单元,或拔掉闲置中的中央处理单元。尤其,在可携式电子装置例如移动装置上,CPU热插拔可视为节省并延长电池寿命的一项重要关键特征。
当判定是否插入一CPU或是将其拔掉时,不仅需要考虑省电因素,同时也要能维持整体的系统效能。在多数的设计中,最常用来判断是否进行热插拔的因子可包括目前CPU的频率、CPU使用情形以及执行中的线程(threads)的数量等等。然而,所有前述的因子都缺少了可以真实反应在决定热插拔之后系统的真正情形的能力。举例来说,在插入一CPU之后,假设只能将具有一较少负载的一线程搬到新插入的CPU上执行,则新插入的CPU可能大部分的时间都会处于闲置状态。然而,在这种情形下,插入一CPU的热插拔决定可能只会得到一点的效能好处,然而却会耗费较多的电源,因此必须在两者之间取得平衡点。
发明内容
有鉴于此,本发明提供一种适用于具有多重中央处理单元的电子装置的效能管理方法及其电子装置。
本发明实施例提供一种适用于具有多重中央处理单元的电子装置的效能管理方法。首先,分别对上述多重中央处理单元中的不同数量的中央处理单元执行线程负载重新排列操作与中央处理单元频率估算操作,用以取得相应 不同数量的上述中央处理单元的多个估算的效能值,其中上述估算的效能值是与上述多重中央处理单元的多个电源损耗值有关。接着,依据上述不同数量的上述中央处理单元所对应的上述估算的效能值,判断是否调整被使用的中央处理单元的一数量。
本发明实施例还提供一种电子装置,其包括一储存单元、多个中央处理单元以及一效能管理单元。效能管理单元耦接至上述储存单元以及上述多个中央处理单元,用以分别对上述多个中央处理单元中的不同数量的中央处理单元执行线程负载重新排列操作与中央处理单元频率估算操作,以取得相应不同数量的上述多个中央处理单元的多个估算的效能值,以及依据上述不同数量的上述多个中央处理单元所对应的上述估算的效能值,判断是否调整被使用的中央处理单元的一数量,其中上述估算的效能值是与上述多个中央处理单元的多个电源损耗值有关。
附图说明
图1显示本发明一实施例的电子装置的示意图;
图2显示依据本发明一实施例的效能管理方法的流程图;
图3显示依据本发明一实施例的对照表的示意图;
图4显示依据本发明另一实施例的效能管理方法的流程图,用以判断是否要开启一颗CPU;
图5显示依据本发明一实施例的CPU配置的示意图;
图6显示依据本发明另一实施例的效能管理方法的流程图,用以判断是否要关闭一颗CPU;
图7显示依据本发明另一实施例的效能管理方法的流程图,用以判断是否要开启或关闭一颗CPU。
[标号说明]
100~电子装置; 110~储存单元;
112~对照表; 120~效能管理单元;
130~热检测电路;
CPU1、CPU2、CPU3、CPU4~中央处理单元;
S202、S204~步骤; 300~对照表;
S402、S404、…、S414~步骤; 500~中央处理单元配置;
S602、S604、…、S612~步骤; S702、S704、…、S710~步骤。
具体实施方式
为让本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并配合所附图式,作详细说明如下:
本发明提供适用于具有多重中央处理单元的电子装置的效能管理方法及其电子装置。本发明实施例中提供一种具有多重中央处理单元的电子装置的效能管理方法,其可推论于插入一颗CPU之后会有多少线程工作量(workload)将会被卸载(offload)至此新插入的CPU上。此外,本发明实施例的效能管理方法还可判断是否要调整目标CPU的频率,并且可接着总结出这样的插入一颗CPU的热插拔决定是否为取得电源与效能两者之间的平衡点的最佳选择。
图1显示本发明一实施例的电子装置的示意图。电子装置100至少包括储存单元110、多重CPU CPU1、CPU2、CPU3与CPU4以及效能管理单元120。其中,电子装100置可为任何具有多重CPU架构的电子装置,如个人数字助理、智能型手机、移动电话、移动上网装置、笔记本型计算机、或平板计算机或任何类型的移动计算装置,然而,本领域技术人员应可理解本发明并不限于此。储存单元110可为内建存储器或外接存储卡,用以储存相关数据,例如:对照表112,其表示被使用CPU的数量以及CPU频率之间的电源关系以及多重CPU CPU1、CPU2、CPU3与CPU4的相关线程信息,例如:每个CPU的执行中线程数量、每个线程的大小、类型或优先权等等,使得效能管理单元120可参考这些信息来进行线程或任务管理。效能管理单元120可执行不同CPU CPU1至CPU4之间的线程负载重新排列操作(thread loading rearrangement)与CPU频率估算操作(CPU frequency evaluation)。
效能管理单元120耦接于储存单元110与多重CPU CPU1、CPU2、CPU3与CPU4,可用以执行本发明的效能管理方法来判断要调整被使用的CPU(或称为在线CPU)的数量(amount of CPUs used),其细节将详细讨论于下。可理解的是,假设一颗CPU上没有执行任何线程时,此CPU可视为一颗未使用CPU,相反地,假设一颗CPU上有执行任何线程时,此CPU可视为一颗被使用CPU(used CPU)。
具体来说,在真正开启/插入或关闭/拔掉一颗CPU之前,效能管理单元120可执行线程负载重新排列操作,用以分配执行中的线程至不同数量的被使用 CPU,以便在开启或关闭一颗CPU之前,推演出(deduce)线程负载的分配情形,再据此估算出多个效能值,进而根据估算的效能值决定是否要开启或关闭该颗CPU。
图2显示依据本发明一实施例的效能管理方法的流程图。本发明实施例的效能管理方法可应用于一具有多重CPU的电子装置,例如:个人数字助理、智能型手机、移动电话、移动上网装置、笔记本型计算机、平板计算机或任何类型的移动计算装置。举例来说,本发明实施例的效能管理方法可由图1中的电子装置100的效能管理单元120来执行。于此实施例中,假设电子装置100中包括4颗CPU且其中有3颗CPU目前正被使用中。换句话说,第一数量的被使用CPU等于3。
提醒的是,原始CPU的热插拔机制(CPU的开启以及关闭)的选择是于特定或周期性事件例如CPU的频率产生变化等条件发生时才触发。开启一颗CPU的准则可包括,如执行中的线程的数量超过一既定门坎值时、CPU负载超过一既定门坎值等等。假设预设的开启一颗CPU的准则符合时,将会立刻开启CPU且随着调整CPU的频率。于此实施例中,被使用的CPU之间的线程的负载平衡将会于特定或周期性事件发生时且真正开启一颗CPU或关闭一颗CPU之前进行推演。
首先,如步骤S202,当特定或周期性事件(例如:CPU的频率产生变化)发生时,执行线程负载重新排列操作与CPU频率估算操作,用以取得相应不同数量的被使用CPU的多个估算的效能值,其中前述估算的效能值是与CPU的多个电源损耗值有关。举例来说,假设电子装置100中总共有10颗CPU且有5颗CPU正被使用时,则不同数量的被使用CPU可分别为第一数量的被使用CPU,其等于5、第二数量的被使用CPU,其等于6以及第三数量的被使用CPU,其等于4。其中,第一数量表示目前正使用中的CPU数量,第二数量是多于第一数量,用以表示有一未使用CPU将被选定来开启,以及第三数量是少于第一数量,用以表示有一CPU将从目前正使用中的CPU中选定并拿掉。因此,可执行线程负载重新排列操作与CPU频率估算操作来取得相应于第一、第二、第三数量的被使用CPU的对应第一、第二、第三估算的效能值。
线程负载重新排列操作是用以推演以及分配所估算数量的被使用CPU之间所对应的线程负载。由于推演以及分配线程负载的算法是普遍使用于目前的操作系统调度器(scheduler)中,因此其细节不在此赘述。然而,可了解的是, 不同于现有的操作系统调度器直接的使用这两个算法来进行不同CPU之间的线程负载平衡/排列,本发明实施例利用这两个算法来推演线程负载并估算估算的效能值,其细节将详细讨论于下。CPU频率估算操作是用以依据重新排列后的线程负载来重新估算出相应于特定数量的被使用CPU的一个频率值。假设一个新的线程被建立或终止时,可通过如检查一个线程在执行状态下的历史CPU频率记录来执行CPU频率估算操作。于一实施例中,线程负载重新排列操作可用以推演出有多少线程负载可分享给新的CPU,而CPU频率估算操作则可用以于开启新CPU的情形下依据推演的结果,估算如何调整目前CPU的频率。于另一实施例中,线程负载重新排列操作可用以推演出有多少线程负载可从被选定要关闭的CPU中拿出来分享给其它CPU,而CPU频率估算操作则可用以于关闭该CPU的情形下依据推演的结果,估算如何调整目前CPU的频率。
于一些实施例中,相应于第一、第二、第三数量的被使用CPU的对应第一、第二、第三估算的效能值可从一对照表(例如:对照表112)来得到,其中对照表是储存于储存单元110中并且储存有被使用CPU的数量以及CPU的频率之间的电源关系。换句话说,相应于一特定数量的被使用CPU的对应估算的效能值可根据被使用CPU的特定数量及其对应的重新估算后的CPU频率值,经由查表操作来得到。对照表112可事先在工厂生产时就定义好或者可于电子装置100的系统执行时自动学习并建立。
图3显示依据本发明一实施例的对照表300的示意图。如图3所示,对照表300包括关于被使用CPU的数量的字段、重新估算后的CPU频率值字段以及以mA为单位表示的对应效能值字段。可了解的是,在对照表300中,其值愈大,表示在该数量的被使用CPU与CPU频率的条件下会消耗更多的电源。举例来说,如图3的对照表300所示,当相应于第一数量的被使用CPU等于3且其CPU的频率值为400MHz时,藉由查表操作,可得到第一估算的效能值为273(mA)。假设稍后推演结果显示被使用CPU的数量改为等于4的第二数量的被使用CPU时的CPU频率调整为300MHz,藉由查表操作,可得到第二估算的效能值为299(mA)。类似地,假设推演结果显示被使用CPU的数量改为等于2的第三数量的被使用CPU时的CPU频率调整为1500MHz,藉由查表操作,可得到第三估算的效能值为593(mA)。
在得到相应不同数量的被使用CPU的多个估算的效能值(例如:相应于第 一、第二、第三数量的被使用CPU的对应第一、第二、第三估算的效能值)时,如步骤S204,依据不同数量的被使用CPU所对应的估算的效能值,判断是否调整被使用的中央处理单元的一数量。
于一些实施例中,前述依据不同数量的被使用CPU所对应的估算的效能值,判断是否调整被使用的中央处理单元的数量的步骤还包括比对第一、第二、以及第三估算的效能值的步骤。当第二数量的被使用CPU所对应的第二估算的效能值小于第一估算的效能值与第三估算的效能值时,便决定将被使用CPU的数量从第一数量调整为第二数量。当第三数量的被使用CPU所对应的第三估算的效能值小于第一估算的效能值与第二估算的效能值时,便决定将被使用CPU元的数量从第一数量调整为第三数量。当第一数量的被使用CPU所对应的第一估算的效能值小于第二估算的效能值与第三估算的效能值时,便保持被使用CPU元的数量不变。
因此,第一估算的效能值是与表示相应于第二数量的被使用CPU的推演结果的第二估算的效能值以及表示相应于第三数量的被使用CPU的推演结果的第三估算的效能值进行比对。当第一估算的效能值为所有估算的效能值中的最小值时,便判定保持被使用的CPU的数量不变为最佳选择。当第二估算的效能值为所有估算的效能值中的最小值时,便判定开启一颗CPU为最佳选择。
于以下实施例中,被使用的CPU的数量可经由开启一未使用的CPU的方式来调整为第二数量,而被使用的CPU的数量可经由关闭由第一数量的被使用CPU中所选出的一CPU的方式来调整为第三数量,但本发明并不限于此。提醒的是,与开启或关闭的CPU也不限于只有单颗。换句话说,于一些实施例中,被使用CPU的数量可经由开启或关闭一颗以上的CPU来进行调整。
图4显示依据本发明另一实施例的效能管理方法的流程图,用以判断是否要开启一颗CPU。本发明实施例的效能管理方法可应用于一具有多重CPU的电子装置,例如:个人数字助理、智能型手机、移动电话、移动上网装置、笔记本型计算机、平板计算机或任何类型的移动计算装置。举例来说,本发明实施例的效能管理方法可由图1中的电子装置100的效能管理单元120来执行。于此实施例中,假设电子装置100中包括4颗CPU且其中有3颗CPU目前正被使用中。换句话说,第一数量的被使用CPU等于3。
首先,执行线程负载重新排列操作,以根据第二数量的被使用CPU来推 演线程负载的分布情形,其中第二数量的被使用CPU表示选定的一个未使用CPU将会被开启(步骤S402)。举例来说,第二数量的被使用CPU等于4。其次,执行CPU频率估算操作,以根据推演出的第二数量的被使用CPU之间的线程负载分布,重新估算一CPU的频率值(步骤S404)。其中,线程负载重新排列操作系用以推演出有多少线程负载可分享至新开启的CPU,而CPU频率估算操作则用以根据推演的结果,估算出一频率值。藉由开启一颗CPU时线程负载的分布情形的推演结果,由于线程负载是被整体性地共享,因此,相应于第二数量的被使用CPU的目前CPU频率值应该要降低。
之后,利用重新估算后的CPU的频率值与第二数量的被使用CPU,经由查表得到一第二估算的效能值(步骤S406)。举例来说,参见图3的对照表300,若相应于第二数量的被使用CPU的重新估算后的CPU的频率值为300MHz且第二数量的被使用CPU等于4时,藉由查表操作,可得到第二估算的效能值为299(mA)。
得到的第二估算的效能值将与其它估算的效能值例如表示相应于第一数量的被使用CPU的推演结果的第一估算的效能值以及表示相应于第三数量的被使用CPU的推演结果的第三估算的效能值进行比对,以便估算出开启一颗CPU的方式是否为能够节省够多电源且同时维持或提升整体效能的最佳热插拔选择。可了解的是,于此实施例中,执行于一特定CPU频率的第二数量的被使用CPU或执行于一特定CPU频率的第三数量的被使用CPU被选择来与第一数量的被使用CPU进行比对是由于当前述数量的被使用CPU的线程负载改变时这些为可满足线程负载平衡的选项。
接着,判断第二估算的效能值是否小于任何其它估算的效能值(步骤S408)。当第二估算的效能值小于任何其它估算的效能值时(步骤S408的是),表示负载平衡的推演结果指出开启一未使用CPU为最省电的方案,便判定将选定的CPU开启,以便将被使用的CPU的数量从第一数量调整为第二数量(步骤S410)。举例来说,选定的CPU将被开启,以调整被使用的CPU的数量为4。也就是说,当前述判断完成之后,将有4颗CPU会被使用。
当第二估算的效能值大于任何其它估算的效能值时(步骤S408的否),便接着判断目前估算的CPU是否处于低效能状态(步骤S412)。其中,当一颗CPU的效能是陷入临界状态下,例如特定数量的执行中任务执行于低效能状态、在执行队列中等待时间过长以及获得的CPU资源愈来愈少等等条件满足时, 该颗CPU被判定为处于低效能状态。当判定目前估算的CPU处于低效能状态时(步骤S412的是),便判定将选定的CPU开启,以便将被使用的CPU的数量从第一数量调整为第二数量(步骤S414)。当判定目前估算的CPU并非处于低效能状态时(步骤S412的否),表示负载平衡的推演结果指出开启一未使用CPU并无法真正适当地平均分配负载,便判定不开启新的CPU,流程至此结束。因此,被使用的CPU的数量保持不变。也就是说,当前述判断完成之后,仍将只有3颗CPU会被使用。
于此步骤中,前述CPU频率估算操作是用以重新估算相应第二数量的被使用的CPU的一频率值,并且CPU的频率是于未使用CPU开启之后调整至重新估算后的频率值。可了解的是,一旦开启CPU的顺序颠倒时,将有可能增加效能管理方法的负担。
已知地,假设开启的CPU非常靠近其它正在执行/被使用中的CPU时,通常都会导致散热不良并且容易因为过热而使得电子装置当机。因此,于一些实施例中,还可提供热选择机制(thermal selection)来从设置在CPU周围的一个热检测电路得到CPU的温度值,以便据此判断出应该开启那颗CPU。参见回图1,具有多个感应器(未绘示)的热检测电路130是用以检测每颗CPU的温度并且提供每颗CPU所对应的温度信息。依据本发明的热选择机制可由效能管理单元120根据各个感应器所提供的温度信息来加以执行,其中,效能管理单元120将会选择具有最低温度的CPU来进行开启。具体来说,效能管理单元120可经由热检测电路130来得到每颗未使用CPU的温度信息并且所得到的温度信息中具有最低温度值的未使用CPU来进行开启。图5显示依据本发明一实施例的CPU配置500的示意图。于CPU配置500中,显示4颗CPU CPU1、CPU2、CPU3与CPU4,其中CPU1目前正被使用中,而CPU2、CPU3与CPU4则为未使用CPU。在无热检测电路情状下,依据本发明的热选择机制,由于CPU1与CPU4之间的距离比CPU2以及CPU3与CPU1的距离较长,且CPU1与CPU4之间的接触面积比CPU2以及CPU3与CPU1的接触面积较少,CPU4所测得的温度值应该会比CPU2与CPU3所测得的温度值还低,因此,CPU4将会被选来开启。因此,藉由本发明的热选择机制,电路中具有距离其它被使用的CPU的最长距离或接触面积最少的未使用CPU可被选择来进行开启,使得CPU温度所造成的交互影响可降到最低并且可快速地散热,因此可有效地防止CPU过热。
图6显示依据本发明另一实施例的效能管理方法的流程图,用以判断是否 要关闭一颗CPU。本发明实施例的效能管理方法可应用于一具有多重CPU的电子装置,例如:个人数字助理、智能型手机、移动电话、移动上网装置、笔记本型计算机、平板计算机或任何类型的移动计算装置。举例来说,本发明实施例的效能管理方法可由图1中的电子装置100的效能管理单元120来执行。于此实施例中,假设电子装置100中包括4颗CPU且其中有3颗CPU目前正被使用中。换句话说,第一数量的被使用CPU等于3。
首先,由目前使用的CPU中选出一欲关闭的CPU(步骤S602)。举例来说,可选定目前使用的所有CPU中具有最慢的CPU频率且非处于关键效能条件下的CPU来关闭。接着,执行线程负载重新排列操作,以根据第三数量的被使用CPU来推演线程负载的分布情形,其中第三数量的被使用CPU表示选定的CPU将会由目前使用的CPU中拿掉(步骤S604)。举例来说,第三数量的被使用CPU等于2。其次,执行CPU频率估算操作,以根据推演出的第三数量的被使用CPU之间的线程负载分布,重新估算一CPU的频率值(步骤S606)。其中,线程负载重新排列操作是用以推演出需要由选定的CPU中拿出多少线程负载,而CPU频率估算操作则用以根据推演的结果,估算出一频率值。藉由关闭一颗CPU时线程负载的推演结果,由于线程负载是被整体性地共享,因此,相应于第三数量的被使用CPU的目前CPU频率值应该要增加。
之后,利用重新估算后的CPU的频率值与第三数量的被使用CPU,经由查表得到一第三估算的效能值(步骤S608)。举例来说,参见图3的对照表300,若相应于第三数量的被使用CPU的重新估算后的CPU的频率值为1500MHz且第三数量的被使用CPU等于2时,藉由查表操作,可得到第三估算的效能值为593(mA)。
所得到的第三估算的效能值将与其它估算的效能进行比对,以便估算出关闭一颗CPU的方式是否为能够节省够多电源且同时维持或提升整体效能的最佳热插拔选择。
接着,判断第三估算的效能值是否小于任何其它估算的效能值(步骤S610)。当第三估算的效能值小于任何其它估算的效能值时(步骤S610的是),表示负载平衡的推演结果指出将选定的CPU关闭为最省电的方案,便判定将选定的CPU关闭,以便将被使用的CPU的数量从第一数量调整为第三数量(步骤S612)。举例来说,选定的CPU将被关闭,以调整被使用的CPU的数量为2。也就是说,当前述判断完成之后,只剩2颗CPU会被使用。
于此步骤中,前述中央处理单元频率估算操作是用以重新估算相应第三数量的被使用的CPU的一频率值,并且CPU的频率是于关闭所选出的CPU之前调整至重新估算后的频率值。
当第三估算的效能值大于任何其它估算的效能值时(步骤S610的否),便判定不将选定的CPU关闭,流程至此结束。因此,被使用的CPU的数量保持不变。也就是说,当前述判断完成之后,仍将只有3颗CPU会被使用。
图7显示依据本发明另一实施例的效能管理方法的流程图,用以判断是否要开启或关闭一颗CPU。本发明实施例的效能管理方法可应用于一具有多重CPU的电子装置,例如:个人数字助理、智能型手机、移动电话、移动上网装置、笔记本型计算机、平板计算机或任何类型的移动计算装置。举例来说,本发明实施例的效能管理方法可由图1中的电子装置100的效能管理单元120来执行。于此实施例中,假设电子装置100中包括4颗CPU且其中有3颗CPU目前正被使用中。换句话说,第一数量的被使用CPU等于3。
当CPU热插拔选择因为特定事件或周期性事件(例如:每次当CPU的频率值产生变化时等等)的发生而被触发时,分别对一第一、一第二、与一第三数量的被使用的中央处理单元执行上述线程负载重新排列操作与中央处理单元频率估算操作,用以取得相应第一、第二、与第三数量的第一、第二、与第三估算的效能值(步骤S702)。于此步骤中,第二数量的被使用CPU,其包含一选定要被开启的未使用的CPU,是多于第一数量,以及第三数量的被使用CPU,其中一频率最慢的CPU是从目前使用中的CPU中被拿掉,是少于第一数量。举例来说,于此实施例中,第一数量的被使用CPU等于4,而第三数量的被使用CPU等于2。提醒的是,此处第一、第二、与第三估算的效能值可经由执行前述图4所描述的步骤S402至S406或的6图所描述的步骤S604至S608来得到,因此其细节不在此赘述。
在得到第一估算的效能值、第二估算的效能值、与第三估算的效能值之后,接着判断哪个估算的效能值是第一、第二、与第三估算的效能值的最小值(步骤S704)。假设于步骤S704中判定第一估算的效能值为最小值时,接着执行步骤S706,以便仅调整CPU的频率值即可,并使得被使用的CPU的数量保持不变。也就是说,在前述判断完成之后,没有CPU会被开启或关闭。假设于步骤S704中判定第二估算的效能值为最小值时,接着执行步骤S708,以便经由热选择机制来选出一欲开启的CPU、开启新选出的CPU并且接着将 CPU的频率值设为重新估算后的频率值。假设于步骤S704中判定第三估算的效能值为最小值时,接着执行步骤S710,以便先将CPU的频率值设为重新估算后的频率值,待频率设定完成之后,再关闭选定的CPU。因此,根据前述开启一颗新的CPU的推演、关闭目前使用的CPU中频率最慢的一颗CPU的推演、以及仅调整CPU的频率值的推演结果,可藉此选出同时达到节省较多电源且维持整体系统效能的方案并以此方案执行真正的效能管理。
举例来说,假设相应于第一数量的被使用的CPU的目前CPU频率为400MHz且此频率将相应于第二数量与第三数量的被使用的CPU分别调整为300MHz的频率值与1500MHz的频率值时,利用对图3中所示的对照表300进行查表操作,可得到第一、第二、与第三估算的效能值分别为273、299与593。由于第一估算的效能值为所有估算的效能值中的最小值,步骤S706将被执行,以便仅调整CPU的频率值即可,并使得被使用的CPU的数量保持不变。也就是说,没有CPU会被开启或关闭。于另一实施例中,假设第一、第二、与第三估算的效能值分别为273、204与593时,步骤S708将被执行,以便经由热选择机制来选出一欲开启的CPU、开启新选出的CPU并且接着将CPU的频率值设为重新估算后的频率值。
因此,依据本发明的适用于具有多重CPU的电子装置的效能管理方法及其电子装置可在决定开启或关闭CPU之前事先推演出相应的线程负载的分布情形,接着据此判断是否需要调整目前CPU频率、估算多个效能值,再根据这些估算出的效能值决定是否要真的开启或关闭选定的CPU,以便得到相应于被使用的CPU的数量下能够取得电源与效能两者之间的平衡点的最佳热插拔选择,因此可达到省电的目的并且可延长电池寿命。
本发明的方法,或特定型态或其部分,可以以程序码的型态存在。程序码可以包含于实体媒体,如软盘、光盘片、硬盘、或是任何其它机器可读取(如计算机可读取)储存媒体,亦或不限于外在形式的计算机程序产品,其中,当程序码被机器,如计算机加载且执行时,此机器变成用以参与本发明的装置。程序码也可通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如计算机接收、加载且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何 所属技术领域中包括通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰。举例来说,本发明实施例所述的系统以及方法可以硬件、软件或硬件以及软件的组合的实体实施例加以实现。因此本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (20)
1.一种用于具有多重中央处理单元的电子装置的效能管理方法,包括下列步骤:
执行线程负载重新排列操作与中央处理单元频率估算操作,用以取得相应上述多重中央处理单元中的不同数量的中央处理单元的多个估算的效能值,其中上述估算的效能值是与上述多重中央处理单元的多个电源损耗值有关;以及
依据上述不同数量的上述中央处理单元所对应的上述估算的效能值,判断是否调整被使用的中央处理单元的一数量。
2.根据权利要求1所述的方法,其中上述执行线程负载重新排列操作与中央处理单元频率估算操作,用以取得相应不同数量的上述中央处理单元的上述估算的效能值的步骤还包括:
执行上述线程负载重新排列操作与中央处理单元频率估算操作,用以取得相应一第一、一第二、与一第三数量的被使用的中央处理单元的一第一、一第二、与一第三估算的效能值,
其中,上述第一数量的被使用的中央处理单元表示目前使用中的中央处理单元的数量,上述第二数量是多于上述第一数量,以及上述第三数量是少于上述第一数量。
3.根据权利要求2所述的方法,其中上述依据上述不同数量的上述中央处理单元所对应的上述估算的效能值,判断是否调整被使用的中央处理单元的上述数量的步骤还包括:
比对上述第一、上述第二、以及上述第三估算的效能值;
当上述第二数量的被使用的中央处理单元所对应的上述第二估算的效能值小于上述第一估算的效能值与上述第三估算的效能值时,决定将被使用的中央处理单元的上述数量从上述第一数量调整为上述第二数量;以及
当上述第三数量的被使用的中央处理单元所对应的上述第三估算的效能值小于上述第一估算的效能值与上述第二估算的效能值时,决定将被使用的中央处理单元的上述数量从上述第一数量调整为上述第三数量。
4.根据权利要求3所述的方法,其中上述将被使用的中央处理单元的上述数量调整为上述第二数量的步骤是经由开启一未使用的中央处理单元来实现,以及上述将被使用的中央处理单元的上述数量调整为上述第三数量的步骤是经由关闭由上述第一数量的被使用的中央处理单元中所选出的一中央处理单元来实现。
5.根据权利要求4所述的方法,其中上述中央处理单元频率估算操作是用以重新估算相应上述第二数量的被使用的中央处理单元的一频率值,并且上述中央处理单元频率是于开启上述未使用的中央处理单元之后调整至重新估算后的上述频率值。
6.根据权利要求4所述的方法,其中上述中央处理单元频率估算操作是用以重新估算相应上述第三数量的被使用的中央处理单元的一频率值,并且上述中央处理单元频率是于关闭所选出的上述中央处理单元之前调整至重新估算后的上述频率值。
7.根据权利要求4所述的方法,还包括:
当上述第二数量的被使用的中央处理单元所对应的上述第二估算的效能值大于上述第一估算的效能值与上述第三估算的效能值时,判断目前估算中的中央处理单元是否处于一低效能状态;以及
当上述目前估算中的中央处理单元处于上述低效能状态时,决定将被使用的中央处理单元的上述数量从上述第一数量调整为上述第二数量。
8.根据权利要求4所述的方法,还包括:
提供上述多重中央处理单元中每一未使用的中央处理单元一温度信息;以及
选择上述未使用的中央处理单元中具有所提供的温度信息中的最低温度值的一者来开启。
9.根据权利要求4所述的方法,其中上述由上述第一数量的被使用的中央处理单元中所选出的欲关闭的上述中央处理单元为上述第一数量的被使用的中央处理单元中具有一最低频率值的一者。
10.根据权利要求2所述的方法,其中上述第一、上述第二、与上述第三估算的效能值是利用查询一对照表的查表操作来得到。
11.一种电子装置,包括:
一储存单元;
多个中央处理单元;以及
一效能管理单元,其耦接至上述储存单元以及上述多个中央处理单元,用以执行线程负载重新排列操作与中央处理单元频率估算操作,以取得相应上述多个中央处理单元中的不同数量的中央处理单元的多个估算的效能值,以及依据上述不同数量的上述多个中央处理单元所对应的上述估算的效能值,判断是否调整被使用的中央处理单元的一数量,其中上述估算的效能值是与上述多个中央处理单元的多个电源损耗值有关。
12.根据权利要求11所述的电子装置,其中上述效能管理单元还执行上述线程负载重新排列操作与中央处理单元频率估算操作,用以取得相应一第一、一第二、与一第三数量的被使用的中央处理单元的一第一、一第二、与一第三估算的效能值,其中,上述第一数量的被使用的中央处理单元表示目前使用中的中央处理单元的数量,上述第二数量是多于上述第一数量,以及上述第三数量是少于上述第一数量。
13.根据权利要求12所述的电子装置,其中上述效能管理单元还比对上述第一、上述第二、以及上述第三估算的效能值,其中当上述第二数量的被使用的中央处理单元所对应的上述第二估算的效能值小于上述第一估算的效能值与上述第三估算的效能值时,决定将被使用的中央处理单元的上述数量从上述第一数量调整为上述第二数量,并于上述第三数量的被使用的中央处理单元所对应的上述第三估算的效能值小于上述第一估算的效能值与上述第二估算的效能值时,决定将被使用的中央处理单元的上述数量从上述第一数量调整为上述第三数量。
14.根据权利要求13所述的电子装置,其中上述效能管理单元经由开启一未使用的中央处理单元来将被使用的中央处理单元的上述数量调整为上述第二数量,以及经由关闭由上述第一数量的被使用的中央处理单元中所选出的一中央处理单元来将被使用的中央处理单元的上述数量调整为上述第三数量。
15.根据权利要求14所述的电子装置,其中上述中央处理单元频率估算操作是用以重新估算相应上述第二数量的被使用的中央处理单元的一频率值,并且上述中央处理单元频率是于开启上述未使用的中央处理单元之后调整至重新估算后的上述频率值。
16.根据权利要求14所述的电子装置,其中上述中央处理单元频率估算操作是用以重新估算相应上述第三数量的被使用的中央处理单元的一频率值,并且上述中央处理单元频率是于关闭所选出的上述中央处理单元之前调整至重新估算后的上述频率值。
17.根据权利要求14所述的电子装置,其中当上述第二数量的被使用的中央处理单元所对应的上述第二估算的效能值大于上述第一估算的效能值与上述第三估算的效能值时,上述效能管理单元还判断目前估算中的中央处理单元是否处于一低效能状态,并于上述目前估算中的中央处理单元处于上述低效能状态时,决定将被使用的中央处理单元的上述数量从上述第一数量调整为上述第二数量。
18.根据权利要求14所述的电子装置,还包括一热感应电路,其具有多个感应器,用以提供上述多个中央处理单元中每一中央处理单元一温度信息,其中上述效能管理单元还经由上述热感应电路得到上述多个中央处理单元中的每一未使用的中央处理单元的一温度信息,并选择上述未使用的中央处理单元中具有所提供的温度信息中的最低温度值的一者来开启。
19.根据权利要求14所述的电子装置,其中上述储存单元还储存有一对照表并且上述效能管理单元还利用查询上述对照表的查表操作来得到上述第一、上述第二、与上述第三估算的效能值。
20.根据权利要求14所述的电子装置,其中上述由上述第一数量的被使用的中央处理单元中所选出的欲关闭的上述中央处理单元为上述第一数量的被使用的中央处理单元中具有一最低频率值的一者。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261704283P | 2012-09-21 | 2012-09-21 | |
US61/704,283 | 2012-09-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103823716A true CN103823716A (zh) | 2014-05-28 |
Family
ID=50340141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310421374.6A Pending CN103823716A (zh) | 2012-09-21 | 2013-09-16 | 具多重中央处理单元的电子装置及其效能管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9552046B2 (zh) |
CN (1) | CN103823716A (zh) |
TW (1) | TWI496087B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045668A (zh) * | 2015-07-28 | 2015-11-11 | 深圳市万普拉斯科技有限公司 | 运算资源的散热控制方法和运算控制系统 |
CN105068872A (zh) * | 2015-07-28 | 2015-11-18 | 深圳市万普拉斯科技有限公司 | 运算单元的控制方法和系统 |
CN105528203A (zh) * | 2014-10-23 | 2016-04-27 | 深圳富泰宏精密工业有限公司 | Cpu使用控制系统及方法 |
WO2017016371A1 (zh) * | 2015-07-28 | 2017-02-02 | 深圳市万普拉斯科技有限公司 | 散热控制方法、装置和计算机存储介质 |
TWI724083B (zh) * | 2016-01-29 | 2021-04-11 | 美商英特爾股份有限公司 | 用於使用可重載的效能計數器監控處理器之效能的處理器、方法及系統晶片 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978233A (zh) * | 2014-04-11 | 2015-10-14 | 郑建锋 | 动态使用内存的方法与装置 |
CN104977986A (zh) * | 2014-04-12 | 2015-10-14 | 郑建锋 | 中心计算机 |
KR20170069730A (ko) | 2015-12-11 | 2017-06-21 | 삼성전자주식회사 | 온도 및 공간적인 위치에 따라 코어들의 동작들을 관리하는 연산 처리 장치, 및 연산 처리 장치를 포함하는 전자 장치 |
TWM528451U (zh) * | 2016-03-14 | 2016-09-11 | Evga Corp | 電腦效能控制裝置 |
US9753773B1 (en) | 2016-10-19 | 2017-09-05 | International Business Machines Corporation | Performance-based multi-mode task dispatching in a multi-processor core system for extreme temperature avoidance |
US9747139B1 (en) | 2016-10-19 | 2017-08-29 | International Business Machines Corporation | Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance |
JP2018106591A (ja) * | 2016-12-28 | 2018-07-05 | ルネサスエレクトロニクス株式会社 | 半導体装置、動作制御方法、及びプログラム |
US10732694B2 (en) * | 2017-09-22 | 2020-08-04 | Qualcomm Incorporated | Power state control of a mobile device |
WO2020000354A1 (en) * | 2018-06-29 | 2020-01-02 | Intel Corporation | Cpu hot-swapping |
CN110659130A (zh) * | 2019-07-25 | 2020-01-07 | 平安科技(深圳)有限公司 | Cpu使用率自适应调整方法、装置、终端及存储介质 |
KR20230037757A (ko) | 2021-09-09 | 2023-03-17 | 삼성전자주식회사 | 주파수 클램핑 및 아이들 인젝션을 이용한 동적 발열 제어를 위한 장치 및 방법 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7251814B2 (en) | 2001-08-24 | 2007-07-31 | International Business Machines Corporation | Yield on multithreaded processors |
TWI240206B (en) * | 2003-10-31 | 2005-09-21 | Via Tech Inc | Power management for processor and optimization method for bus |
CN100508499C (zh) | 2006-11-02 | 2009-07-01 | 杭州华三通信技术有限公司 | 实现自适应调度的多内核处理器及多内核处理方法 |
TWI342498B (en) | 2007-01-12 | 2011-05-21 | Asustek Comp Inc | Multi-processor system and performance enhancement method thereof |
TW200834422A (en) | 2007-02-07 | 2008-08-16 | Asustek Comp Inc | Performance enhancement method for a multi-processing core device |
US8284205B2 (en) * | 2007-10-24 | 2012-10-09 | Apple Inc. | Methods and apparatuses for load balancing between multiple processing units |
US8074087B2 (en) * | 2008-06-24 | 2011-12-06 | Microsoft Corporation | Configuring processors and loads for power management |
JP5091912B2 (ja) * | 2009-05-21 | 2012-12-05 | 株式会社東芝 | マルチコアプロセッサシステム |
KR101648978B1 (ko) * | 2009-11-05 | 2016-08-18 | 삼성전자주식회사 | 저전력 멀티코어 시스템에서의 전력 제어 방법 및 장치 |
US8650426B2 (en) * | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US9292662B2 (en) * | 2009-12-17 | 2016-03-22 | International Business Machines Corporation | Method of exploiting spare processors to reduce energy consumption |
US8627128B2 (en) * | 2010-11-09 | 2014-01-07 | International Business Machines Corporation | Power management for processing capacity upgrade on demand |
EP2643741A4 (en) | 2010-11-25 | 2016-08-24 | Freescale Semiconductor Inc | METHOD AND DEVICE FOR PERFORMANCE MANAGEMENT OF A MULTICULTURAL PROCESSOR |
US9075610B2 (en) * | 2011-12-15 | 2015-07-07 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including thread consolidation |
US9146609B2 (en) * | 2012-11-20 | 2015-09-29 | International Business Machines Corporation | Thread consolidation in processor cores |
JP6051924B2 (ja) * | 2013-02-21 | 2016-12-27 | 富士通株式会社 | 情報処理装置の制御方法、制御プログラム、情報処理装置 |
-
2013
- 2013-09-16 CN CN201310421374.6A patent/CN103823716A/zh active Pending
- 2013-09-16 TW TW102133447A patent/TWI496087B/zh active
- 2013-09-16 US US14/028,003 patent/US9552046B2/en active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105528203A (zh) * | 2014-10-23 | 2016-04-27 | 深圳富泰宏精密工业有限公司 | Cpu使用控制系统及方法 |
CN105528203B (zh) * | 2014-10-23 | 2019-04-12 | 深圳富泰宏精密工业有限公司 | Cpu使用控制系统及方法 |
CN105045668A (zh) * | 2015-07-28 | 2015-11-11 | 深圳市万普拉斯科技有限公司 | 运算资源的散热控制方法和运算控制系统 |
CN105068872A (zh) * | 2015-07-28 | 2015-11-18 | 深圳市万普拉斯科技有限公司 | 运算单元的控制方法和系统 |
WO2017016371A1 (zh) * | 2015-07-28 | 2017-02-02 | 深圳市万普拉斯科技有限公司 | 散热控制方法、装置和计算机存储介质 |
CN105068872B (zh) * | 2015-07-28 | 2018-11-23 | 深圳市万普拉斯科技有限公司 | 运算单元的控制方法和系统 |
US10488900B2 (en) | 2015-07-28 | 2019-11-26 | Oneplus Technology (Shenzhen) Co., Ltd. | Heat dissipation control method for operation resources, operation control system, and storage medium |
US10656694B2 (en) | 2015-07-28 | 2020-05-19 | Oneplus Technology (Shenzhen) Co., Ltd. | Method and system for controlling operation unit, and computer storage medium |
TWI724083B (zh) * | 2016-01-29 | 2021-04-11 | 美商英特爾股份有限公司 | 用於使用可重載的效能計數器監控處理器之效能的處理器、方法及系統晶片 |
Also Published As
Publication number | Publication date |
---|---|
TW201413595A (zh) | 2014-04-01 |
US20140089700A1 (en) | 2014-03-27 |
US9552046B2 (en) | 2017-01-24 |
TWI496087B (zh) | 2015-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103823716A (zh) | 具多重中央处理单元的电子装置及其效能管理方法 | |
US10429921B2 (en) | Datacenter power management optimizations | |
EP3129854B1 (en) | Energy efficiency aware thermal management in a multi-processor system on a chip | |
Ilager et al. | ETAS: Energy and thermal‐aware dynamic virtual machine consolidation in cloud data center with proactive hotspot mitigation | |
US7069189B2 (en) | Method and apparatus for controlling multiple resources using thermal related parameters | |
US9442774B2 (en) | Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip | |
CN105830035B (zh) | 多核动态工作负荷管理 | |
US7818594B2 (en) | Power efficient resource allocation in data centers | |
US7127625B2 (en) | Application management based on power consumption | |
US8065537B2 (en) | Adjusting cap settings of electronic devices according to measured workloads | |
US20050278520A1 (en) | Task scheduling apparatus in distributed processing system | |
US8375228B2 (en) | Multiple-node system power utilization management | |
uz Zaman et al. | A load balanced task scheduling heuristic for large-scale computing systems | |
JP2011123873A (ja) | データセンターにおいて電力を動的に割り当てる方法および装置 | |
CN106716296A (zh) | 计算设备的自适应冷却 | |
Choi et al. | Power consumption prediction and power-aware packing in consolidated environments | |
KR20160089417A (ko) | 휴대용 컴퓨팅 디바이스에서 시스템 온 칩의 다중 상관 학습 열 관리를 위한 시스템 및 방법 | |
US20190146567A1 (en) | Processor throttling based on accumulated combined current measurements | |
Zhang et al. | GreenDRL: managing green datacenters using deep reinforcement learning | |
Long et al. | A global cost-aware container scheduling strategy in cloud data centers | |
CN105068871B (zh) | 运算资源的控制方法和装置 | |
Mohammad et al. | Drop: Distributed run-time and power constraint mapping for many-core systems | |
CN104881271B (zh) | 云动态管理方法及装置 | |
Kumar et al. | COOLIP: Simple yet effective job allocation for distributed thermally-throttled processors | |
US20230153121A1 (en) | Accelerator usage prediction for improved accelerator readiness |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140528 |
|
RJ01 | Rejection of invention patent application after publication |