TW201413595A - 具多重中央處理單元之電子裝置及其效能管理方法 - Google Patents

具多重中央處理單元之電子裝置及其效能管理方法 Download PDF

Info

Publication number
TW201413595A
TW201413595A TW102133447A TW102133447A TW201413595A TW 201413595 A TW201413595 A TW 201413595A TW 102133447 A TW102133447 A TW 102133447A TW 102133447 A TW102133447 A TW 102133447A TW 201413595 A TW201413595 A TW 201413595A
Authority
TW
Taiwan
Prior art keywords
central processing
processing units
processing unit
cpu
estimated performance
Prior art date
Application number
TW102133447A
Other languages
English (en)
Other versions
TWI496087B (zh
Inventor
Wen-Yen Chang
Chih-Tsung Wu
Ching-Tsung Lai
Original Assignee
Htc Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Htc Corp filed Critical Htc Corp
Publication of TW201413595A publication Critical patent/TW201413595A/zh
Application granted granted Critical
Publication of TWI496087B publication Critical patent/TWI496087B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

一種適用於具有多重中央處理單元之電子裝置之效能管理方法。首先,分別對上述多重中央處理單元中之不同數量的中央處理單元執行執行緒負載重新排列操作與中央處理單元頻率估算操作,用以取得相應不同數量的上述中央處理單元之複數估算的效能值,其中上述估算的效能值係與上述多重中央處理單元之複數電源損耗值有關。接著,依據上述不同數量的上述中央處理單元所對應之上述估算的效能值,判斷是否調整被使用的中央處理單元之一數量。

Description

具多重中央處理單元之電子裝置及其效能管理方法
本發明係有關於效能管理方法及其相關電子裝置,特別是有關於一種適用於具有多重處理單元之電子裝置之效能管理方法。
中央處理單元(Central processing unit,簡稱CPU)熱插拔技術(hot-plug)係為一項作業系統機制,其可插入一處於電源(power-gated)的中央處理單元或處於電源崩潰(power-collapsed)的中央處理單元,或拔掉閒置中的中央處理單元。尤其,在可攜式電子裝置例如行動裝置上,CPU熱插拔可視為節省並延長電池壽命的一項重要關鍵特徵。
當判定是否插入一CPU或是將其拔掉時,不僅需要考慮省電因素,同時也要能維持整體的系統效能。在多數的設計中,最常用來判斷是否進行熱插拔的因子可包括目前CPU的頻率、CPU使用情形以及執行中的執行緒(threads)的數量等等。然而,所有前述的因子都缺少了可以真實反應在決定熱插拔之後系統的真正情形的能力。舉例來說,在插入一CPU之後,假設只能將具有一較少負載的一執行緒搬到新插入的CPU 上執行,則新插入的CPU可能大部分的時間都會處於閒置狀態。然而,在這種情形下,插入一CPU的熱插拔決定可能只會得到一點的效能好處,然而卻會耗費較多的電源,因此必須在兩者之間取得平衡點。
有鑑於此,本發明提供一種適用於具有多重中央處理單元之電子裝置之效能管理方法及其電子裝置。
本發明實施例提供一種適用於具有多重中央處理單元之電子裝置之效能管理方法。首先,分別對上述多重中央處理單元中之不同數量的中央處理單元執行執行緒負載重新排列操作與中央處理單元頻率估算操作,用以取得相應不同數量的上述中央處理單元之複數估算的效能值,其中上述估算的效能值係與上述多重中央處理單元之複數電源損耗值有關。接著,依據上述不同數量的上述中央處理單元所對應之上述估算的效能值,判斷是否調整被使用的中央處理單元之一數量。
本發明實施例另提供一種電子裝置,其包括一儲存單元、複數中央處理單元以及一效能管理單元。效能管理單元係耦接至上述儲存單元以及上述複數中央處理單元,用以分別對上述複數中央處理單元中之不同數量的中央處理單元執行執行緒負載重新排列操作與中央處理單元頻率估算操作,以取得相應不同數量的上述複數中央處理單元之複數估算的效能值,以及依據上述不同數量的上述複數中央處理單元所對應之上述估算的效能值,判斷是否調整被使用的中央處理單元之一數量,其中上述估算的效能值係與上述複數中央處理單元之 複數電源損耗值有關。
100‧‧‧電子裝置
110‧‧‧儲存單元
112‧‧‧對照表
120‧‧‧效能管理單元
130‧‧‧熱偵測電路
CPU1、CPU2、CPU3、CPU4‧‧‧中央處理單元
S202、S204‧‧‧步驟
300‧‧‧對照表
S402、S404、…、S414‧‧‧步驟
500‧‧‧中央處理單元配置
S602、S604、…、S612‧‧‧步驟
S702、S704、…、S710‧‧‧步驟
第1圖顯示本發明一實施例之電子裝置的示意圖;第2圖顯示依據本發明一實施例之效能管理方法的流程圖;第3圖顯示依據本發明一實施例之對照表的示意圖;第4圖顯示依據本發明另一實施例之效能管理方法的流程圖,用以判斷是否要開啟一顆CPU;第5圖顯示依據本發明一實施例之CPU配置的示意圖;第6圖顯示依據本發明另一實施例之效能管理方法的流程圖,用以判斷是否要關閉一顆CPU;第7圖顯示依據本發明另一實施例之效能管理方法的流程圖,用以判斷是否要開啟或關閉一顆CPU。
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:本發明提供適用於具有多重中央處理單元之電子裝置之效能管理方法及其電子裝置。本發明實施例中提供一種具有多重中央處理單元之電子裝置之效能管理方法,其可推論於插入一顆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的數量下能夠取得電源與效能兩者之間的平衡點的最佳熱插拔選擇,因此可達到省電的目的並且可延長電池壽命。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可以包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
雖然本發明已以較佳實施例揭露如上,然其並非 用以限定本發明,任何所屬技術領域中包括通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。舉例來說,本發明實施例所述之系統以及方法可以硬體、軟體或硬體以及軟體的組合的實體實施例加以實現。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S202、S204‧‧‧步驟

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項所述之電子裝置,其中上述由上述第一數量之被使用的中央處理單元中所選出之欲關閉之上述中央處理單元係為上述第一數量之被使用的中央處理單元中具有一最低頻率值之一者。
TW102133447A 2012-09-21 2013-09-16 具多重中央處理單元之電子裝置及其效能管理方法 TWI496087B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201261704283P 2012-09-21 2012-09-21

Publications (2)

Publication Number Publication Date
TW201413595A true TW201413595A (zh) 2014-04-01
TWI496087B TWI496087B (zh) 2015-08-11

Family

ID=50340141

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102133447A TWI496087B (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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528203A (zh) * 2014-10-23 2016-04-27 深圳富泰宏精密工业有限公司 Cpu使用控制系统及方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978233A (zh) * 2014-04-11 2015-10-14 郑建锋 动态使用内存的方法与装置
CN104977986A (zh) * 2014-04-12 2015-10-14 郑建锋 中心计算机
CN105045668A (zh) 2015-07-28 2015-11-11 深圳市万普拉斯科技有限公司 运算资源的散热控制方法和运算控制系统
CN105068872B (zh) * 2015-07-28 2018-11-23 深圳市万普拉斯科技有限公司 运算单元的控制方法和系统
CN105045359A (zh) * 2015-07-28 2015-11-11 深圳市万普拉斯科技有限公司 散热控制方法和装置
KR20170069730A (ko) 2015-12-11 2017-06-21 삼성전자주식회사 온도 및 공간적인 위치에 따라 코어들의 동작들을 관리하는 연산 처리 장치, 및 연산 처리 장치를 포함하는 전자 장치
US9766997B2 (en) * 2016-01-29 2017-09-19 Intel Corporation Monitoring performance of a processor using reloadable performance counters
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)

* Cited by examiner, † Cited by third party
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
CN103229123B (zh) 2010-11-25 2016-08-31 飞思卡尔半导体公司 在多核处理器内管理功率的方法及装置
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 富士通株式会社 情報処理装置の制御方法、制御プログラム、情報処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528203A (zh) * 2014-10-23 2016-04-27 深圳富泰宏精密工业有限公司 Cpu使用控制系统及方法
TWI566087B (zh) * 2014-10-23 2017-01-11 群邁通訊股份有限公司 Cpu使用控制系統及方法
US9746897B2 (en) 2014-10-23 2017-08-29 Chiun Mai Communication Systems, Inc. Method for controlling a multi-core central processor unit of a device establishing a relationship between device operational parameters and a number of started cores
CN105528203B (zh) * 2014-10-23 2019-04-12 深圳富泰宏精密工业有限公司 Cpu使用控制系统及方法

Also Published As

Publication number Publication date
TWI496087B (zh) 2015-08-11
US20140089700A1 (en) 2014-03-27
US9552046B2 (en) 2017-01-24
CN103823716A (zh) 2014-05-28

Similar Documents

Publication Publication Date Title
TWI496087B (zh) 具多重中央處理單元之電子裝置及其效能管理方法
US9442774B2 (en) Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
CN106170742B (zh) 多处理器片上系统中的能效感知热管理的方法和系统
JP6005895B1 (ja) ワット当たりの最適パフォーマンスのためのインテリジェントマルチコア制御
US10649518B2 (en) Adaptive power control loop
US8601300B2 (en) System and method for managing thermal energy generation in a heterogeneous multi-core processor
US8996902B2 (en) Modal workload scheduling in a heterogeneous multi-processor system on a chip
KR101534450B1 (ko) 누설 전류 측정으로부터 열 관리 폴리시를 결정하는 시스템 및 방법
US8065537B2 (en) Adjusting cap settings of electronic devices according to measured workloads
US20150148981A1 (en) System and method for multi-correlative learning thermal management of a system on a chip in a portable computing device
US10064141B2 (en) Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
CN110214298B (zh) 用于便携式计算设备中的情境感知热管理和工作负荷调度的系统和方法