TWI843676B - 降低功耗的方法及系統 - Google Patents
降低功耗的方法及系統 Download PDFInfo
- Publication number
- TWI843676B TWI843676B TW112142780A TW112142780A TWI843676B TW I843676 B TWI843676 B TW I843676B TW 112142780 A TW112142780 A TW 112142780A TW 112142780 A TW112142780 A TW 112142780A TW I843676 B TWI843676 B TW I843676B
- Authority
- TW
- Taiwan
- Prior art keywords
- power
- machine learning
- learning model
- processors
- subset
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000010801 machine learning Methods 0.000 claims abstract description 57
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
Abstract
降低功耗的方法,包括根據x種提取的信息定義y個操作場景;生成z個功率配置,每一個該功率配置用於控制提供給多個處理器的一個子集的功率,該一個子集中的處理器屬於相同類型的處理器;將該z個功率配置分配給機器學習模型中的該y個操作場景;由該多個處理器收集待評估的信息;將該待評估的信息與該x種提取的信息進行比較,找到最相似的一種提取的信息;使用機器學習模型根據該最相似的一種提取的信息從該z個功率配置中選擇最佳功率配置;和應用該最佳功率配置來控制提供給該多個處理器的該一個子集的功率。x、y和z是整數,y≥z。
Description
本發明涉及功耗管理技術領域,尤其涉及降低功耗的方法及系統。
隨著應用(或稱為:應用程式)的複雜性增加,對處理單元的計算能力的要求也增加。根據目前的技術,對於多核(multi-core)系統,只要利用率相同,將使用相同的功率用作電源(power supply)。
然而,隨著操作場景變得越來越複雜,這種電源供應方法的節能性能受到極大限制。需要一種更好的解決方案來降低功耗。
本發明提供降低功耗的方法及系統。
在一個實施例中,本發明提供的一種降低功耗的方法包括:根據x種提取的信息定義y個操作場景;生成z個功率配置,每一個該功率配置用於控制提供給多個處理器的一個子集的功率,其中該一個子集中的處理器屬於相同類型的處理器;將該z個功率配置分配給機器學習模型中的該y個操作場景;由該多個處理器收集待評估的信息;將該待評估的信息與該x種提取的信息進行比較,找到最相似的一種提取的信息;使用該機器學習模型根據該最相似的一種提取的信息從該z個功率配置中選擇最佳功率配置;和應用該最佳功率配置來控制提供給該多個處理器的該一個子集的功率;其中該x、y和z是大於零的整數,且y≥z。
在另一個實施例中,本發明提供的一種降低功耗的系統包括:多個處理器,配置為運行多個應用程式並收集待評估的信息;和機器學習模型,具有基於x種提取的信息的z個功率配置,其中該z個功率配置對應y個操作場景,該機器學習模型連接到該多個處理器,並配置為將該待評估的信息與該x種提取的信息進行比較,找到最相似的一種提取的信息,根據該最相似的一種提取的信息從該z個功率配置中選擇最佳功率配置,並應用該最佳功率配置來控制提供給該多個處理器的一個子集的功率;其中該一個子集中的處理器屬於相同類型的處理器,其中該x、y和z是大於零的整數,且y≥z。
下面的描述是為了說明本發明的一般原理,不應被理解為限制性的。本發明的範圍最好參照所附申請專利範圍來確定。
下文中參考附圖全面描述了本發明構思,其中示出了本發明構思的示例性實施例。本發明構思的優點和特徵以及實現它們的方法將從參照附圖更詳細地描述的以下示例性實施例中顯而易見。然而,應當注意,本發明構思不限於以下示例性實施例,並且可以以各種形式實現。因此,提供示例性實施例僅是為了公開本發明構思並讓本領域技術人員瞭解本發明構思的類別。此外,所示的附圖僅是示意性的而非限制性的。在附圖中,為了說明的目的,一些元件的尺寸可能被放大而不是按比例繪製。附圖中的尺寸和相對尺寸不對應於本發明實踐中的實際尺寸。
第1圖根據一個實施例示出了降低功耗的系統100。該降低功耗的系統100可包括多個處理器111到11m和機器學習模型120,其中m可以是大於零的整數。處理器111到11m可以用於運行多個應用程式A1到Ap並相應地收集待評估的信息IE,其中p可以是大於零的整數。
降低功耗的系統100可以是多核系統,其中處理器111到11m中的每一個可以對應一個核。例如,處理器111到11m可包括兩個或更多不同類型的處理器核。例如,處理器111到11m可包括用於較重工作負載的大核和用於較輕工作負載的小核。在另一個實施例中,處理器111到11m可包括大核、中核和小核。
根據x種提取的信息I1到Ix,機器學習模型120可以具有z個功率配置PF1到PFz,這些功率配置對應於y個操作場景(表示為S1到Sy),其中x、y和z可以是大於零的整數,且y ≥ z。
以下是一些操作場景的示例:操作場景S1可能是玩視頻遊戲。操作場景S2可能是播放硬盤上的電影。操作場景S3可能是訪問流媒體視頻。操作場景S4可能是進行實時直播。
在另一個示例中,操作場景S1可能是在使用瀏覽器,操作場景S2可能是在打開文檔文件(例如,Microsoft Office文件),操作場景S3可能是在打開PDF(可移植文檔格式)文件,操作場景S4可能是在打開三維圖像。
可通過處理器111到11m中的檢測器、計數器和事件接口提取所述x種提取的信息I1到Ix,接下來將在第2圖中描述更多相關細節。
機器學習模型120可包括神經網絡、監督式機器學習模型、非監督式機器學習模型和/或基於樹的機器學習模型。例如,機器學習模型120可包括神經網絡,如全連接神經網絡和/或卷積神經網絡。在另一個示例中,機器學習模型120可包括基於樹的模型,如隨機森林模型。根據一些實施例,在機器學習模型120中,可以應用任何適當的神經網絡模型進行機器學習。
機器學習模型120可以通過信號線和/或無線路徑連接至處理器111到11m。根據一些實施例,機器學習模型120可以通過硬體路徑和/或軟體路徑連接至處理器111到11m。
機器學習模型120可以用於將待評估的信息IE與x種提取的信息I1到Ix進行比較,以從提取的信息I1到Ix中找到最相似的提取的信息Ii,其中i可以是一個整數,且0 < i ≤ x。機器學習模型120可以根據最相似的提取的信息Ii從z個功率配置PF1到PFz中選擇最佳功率配置PFk。機器學習模型120可以應用最佳功率配置PFk來控制提供給處理器111到11m中的子集的功率,以減少和優化功耗。處理器111到11m的子集中的處理器是相同類型的處理器。例如,處理器111到11m的子集中的處理器可以是圖形處理單元(Graphical Processing Unit,GPU)。在另一個示例中,處理器111到11m的子集中的處理器可以是中央處理單元(Central Processing Unit,CPU)。
如表1所述,功率配置PF1到PFz,x種提取的信息I1到Ix和場景S1到Sy之間的關係如下所示。
(表1)
提取的信息 | I1 | I2 | … | Ii (與待評估的信息IE最相似) | … | Ix |
對應的場景 | S1 | S2 | … | Sj | … | Sy |
對應的功率配置 | PF1 | PF2 | … | PFk (最佳功率配置) | … | PFz |
注意 | 選擇並應用最佳功率配置PFk以優化功耗。 參數i,j,k,x,y,z是大於零的整數。 1≤ i ≤ x,1≤ j ≤ y,1≤ k ≤ z,且y ≥ z 。 |
在應用最佳功率配置PFk之後,可以測量由多個處理器111到11m的子集消耗的功率。理想情況下,在應用最佳功率配置PFk以優化功耗之後,多個處理器111到11m消耗的功率應該減少。然而,如果多個處理器111到11m的子集消耗的功率超過應用最佳功率配置PFk的功率水平,則意味著功率配置PF1到PFz都無法減少功耗,機器學習模型120可以使用相應的新提取的信息(表示為Inew)生成一個新的功率配置(表示為PFnew)和相應的新操作場景(表示為Snew)。
新的功率配置PFnew可以用於控制提供給處理器111到11m的子集的功率。如果使用新的功率配置PFnew使得降低功耗,機器學習模型120可以學習具有新提取的信息Inew的新的功率配置PFnew和相應的新操作場景Snew。如果需要,可以調整新的功率配置PFnew以進一步提高功耗的效率。
在降低功耗的系統100中,處理器111到11m可包括中央處理單元(CPU)、圖形處理單元(GPU)、張量處理單元(Tensor Processing Unit ,TPU)和/或神經網絡處理單元(Neural network Processing Unit,NPU)。根據需求,處理器111到11m可包括其他類型的處理單元。
機器學習模型120可以是使用微控制器實現的機器學習引擎。機器學習模型120的機器學習引擎可以在硬體設備(例如,特定電路)上實現,並/或由在微控制器上運行的軟體程式實現。
從處理器111到11m收集的x種提取的信息I1到Ix可以使用溫度檢測器、電流檢測器、電壓檢測器、頻寬檢測器、性能計數器和/或事件接口生成。
第2圖根據一個實施例示出了處理器210。第1圖中的處理器111到11m中的每一個處理器都可以具有與處理器210相同的結構。處理器210可包括溫度檢測器211、電流檢測器212、電壓檢測器213、頻寬檢測器214、性能計數器215和/或事件接口216。溫度檢測器211可以檢測處理器210的溫度T。電流檢測器212可以檢測處理器210的電流C。電壓檢測器213可以檢測處理器210的電壓V。頻寬檢測器214可以檢測處理器210的資料頻寬BW。性能計數器215可以測量處理器210的時鐘CK。事件接口216可以檢測處理器210的事件E。溫度T、電流C、電壓V、頻寬BW、時鐘CK和/或事件E可以被發送到處理器210的信息收集器285,信息收集器285可以聚合這些資料以生成資料IE'。資料IE'可以用於形成第1圖中提到的待評估的信息IE。在第2圖中,溫度檢測器211到事件接口216均被示出。然而,根據需求,可以選擇性地省略溫度檢測器211到事件接口216中的一些,並且可以在處理器中使用其他類型的檢測器和傳感器來收集用於評估功耗的資料。
第3圖是根據一個實施例的降低功耗的方法300的流程圖。降低功耗的方法300可以被降低功耗的系統100執行。降低功耗的方法300可包括以下步驟。
步驟310:根據x種提取的信息I1到Ix定義y個操作場景S1到Sy;
步驟320:生成z個功率配置PF1到PFz,每一個功率配置用於控制提供給多個處理器111到11m的一個子集的功率,其中該一個子集中的處理器屬於相同類型的處理器;
步驟330:將z個功率配置PF1到PFz分配給機器學習模型120中的y個操作場景S1到Sy;
步驟340:由多個處理器111到11m收集待評估的信息IE;
步驟350:使用機器學習模型120將待評估的信息IE與x種提取的信息I1到Ix進行比較,找到最相似的提取的信息Ii;
步驟360:使用機器學習模型120根據最相似的提取的信息Ii從z個功率配置PF1到PFz中選擇最佳功率配置PFk;
步驟370:應用最佳功率配置PFk來控制提供給多個處理器111到11m的該子集的功率;
步驟380:確定多個處理器111到11m消耗的功率是否超過應用最佳功率配置PFk的功率水平;如果是,進入第385步;否則,進入第340步;
步驟385:使用相應的新提取的信息Inew生成新的功率配置PFnew和相應的新操作場景Snew;
步驟390:使用新的功率配置PFnew和新操作場景Snew更新機器學習模型120;進入第340步。
機器學習模型120可以在離線狀態和/或在線狀態(即運行狀態)下被生成,其中機器學習模型120是使用先前收集的提取的信息進行訓練的。降低功耗的方法300可以在離線狀態下執行,其中在執行所有步驟之前可以預先收集使用的資料。降低功耗的方法300可以在處理器111到11m運行的運行狀態下執行,並且可以在執行降低功耗的方法300時實時收集用於訓練機器學習模型120的資料。
根據一些實施例,降低功耗的方法300的某些步驟可以在離線狀態下執行,其他步驟可以在在線狀態(即運行狀態)下執行。例如,第3圖的步驟310到330可以在離線狀態下執行,步驟340到390可以在在線狀態下執行。在這裡,處理器111到11m在離線狀態下可能不運行,在在線狀態下可能運行。
根據當前運行的應用程式,待評估的信息IE可以在步驟340中動態更新並在步驟350中被評估。
在步驟360中,機器學習模型120可以執行分類以從功率配置PF1到PFz中選擇最佳功率配置PFk。由於可能存在數百萬個應用程式,為每一個應用程式分配特定的功率配置是不實際的。因此,機器學習模型120可以執行分類,從有限數量的功率配置(例如PF1到PFz)中選擇適當的功率配置(例如PFk)。機器學習模型120的分類能力可以被訓練。
例如,根據x種提取的信息I1到Ix,可以生成具有對應於y個操作場景S1到Sy的z個功率配置PF1到PFz的機器學習模型120。然後,處理器111到11m在操作的運行狀態,可以使用檢測器、性能計數器和事件接口來收集待評估的信息IE以便機器學習模型120相應地選擇最佳功率配置PFk。然後,可以執行步驟370和步驟380來動態控制提供給處理器111到11m子集的功率。如步驟380和步驟390所述,如果最佳功率配置PFk無法降低功耗,則可以在運行狀態實時生成並應用新的功率配置PFnew。在步驟385和步驟395中,執行機器學習過程,因為除了z個功率配置PF1到PFz和y個操作場景S1到Sy,機器學習模型120可以學習新的功率配置PFnew和相應的新操作場景Snew。生成新的功率配置PFnew後,可以進一步調整和微調新的功率配置PFnew。
功率配置I1到Ix中的每一個可以對應於處理器111到11m子集的性能和提供給處理器111到11m子集的功率。第4圖根據一個示例示出了對應於不同場景和處理器的功率曲線。在第4圖中,功率曲線410、415、420和425可以在由水平軸和垂直軸定義的二維空間上。水平軸可以表示處理器的性能(例如,以赫茲為單位),垂直軸可以表示功耗(例如,以毫瓦為單位)。在第4圖中,功率曲線410可以與大核處理器和具有第一工作負載的第一場景相關。功率曲線415可以與小核處理器和具有第一工作負載的第一場景相關。功率曲線420可以與大核處理器和具有第二工作負載的第二場景相關。功率曲線425可以與小核處理器和具有第二工作負載的第二場景相關。可以使用適當的功率配置來相應地控制提供給處理器的功率,以優化功耗。第4圖僅為示例,並且本發明的實施例不限於此。
總體而言,通過降低功耗的系統100和降低功耗的方法300,機器學習模型120被訓練為執行機器學習,以選擇最佳功率配置(例如PFk),並在需要時生成新的功率配置(例如PFnew)以適應不同的應用。即使整體工作負載相同,根據應用的不同,可能會選擇不同的功率配置。例如,系統的操作頻率可以降低,同時幀率(以每秒幀數計)保持大致不變。因此,降低功耗的同時保持性能。結果,功耗被優化並有效降低。
雖然已經通過示例和根據優選實施例描述了本發明,但是應當理解,本發明不限於所公開的實施例。相反,本發明旨在涵蓋所公開的實施例的各種修改和類似的佈置(這對於所屬技術領域具有通常知識者來說是顯而易見的)。因此,所附請求項的範圍應給予最廣泛的解釋,以涵蓋所有此類修改和類似佈置。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
111,112,11m,210:處理器
100:降低功耗的系統
120:機器學習模型
211:溫度檢測器
212:電流檢測器
213:電壓檢測器
214:頻寬檢測器
215:性能計數器
216:事件接口
285:信息收集器
300:方法
310,320,330,340,350,360,370,380,385,390:步驟
425,415,420,410:功率曲線
第1圖根據一個實施例示出了降低功耗的系統100。
第2圖根據一個實施例示出了處理器210。
第3圖是根據一個實施例的降低功耗的方法300的流程圖。
第4圖根據一個示例示出了對應於不同場景和處理器的功率曲線。
300:方法
310,320,330,340,350,360,370,380,385,390:步驟
Claims (11)
- 一種降低功耗的方法,包括: 根據x種提取的信息定義y個操作場景; 生成z個功率配置,每一個該功率配置用於控制提供給多個處理器的一個子集的功率,其中該一個子集中的處理器屬於相同類型的處理器; 將該z個功率配置分配給機器學習模型中的該y個操作場景; 由該多個處理器收集待評估的信息; 將該待評估的信息與該x種提取的信息進行比較,找到最相似的一種提取的信息; 使用該機器學習模型根據該最相似的一種提取的信息從該z個功率配置中選擇最佳功率配置;和 應用該最佳功率配置來控制提供給該多個處理器的該一個子集的功率; 其中該x、y和z是大於零的整數,且y≥z。
- 如請求項1所述的方法,進一步包括: 當該多個處理器的該一個子集消耗的功率超過應用該最佳功率配置的功率水平,則生成新的功率配置和相應的新操作場景; 使用該新的功率配置和該新操作場景更新該機器學習模型。
- 如請求項1所述的方法,其中使用溫度檢測器、電流檢測器、電壓檢測器、頻寬檢測器、性能計數器和/或事件接口生成從該多個處理器收集的該x種提取的信息。
- 如請求項1所述的方法,其中該z個功率配置中的每一個對應於該多個處理器的該一個子集的性能和提供給該多個處理器的該一個子集的功率。
- 如請求項1所述的方法,其中該機器學習模型在離線狀態和/或在線狀態下被訓練,其中該機器學習模型使用先前收集的提取的信息進行訓練。
- 如請求項1所述的方法,其中該最佳功率配置應用於運行狀態,其中該多個處理器在該運行狀態運行。
- 一種降低功耗的系統,包括: 多個處理器,配置為運行多個應用程式並收集待評估的信息;和 機器學習模型,具有基於x種提取的信息的z個功率配置,其中該z個功率配置對應y個操作場景,該機器學習模型連接到該多個處理器,並配置為將該待評估的信息與該x種提取的信息進行比較,找到最相似的一種提取的信息,根據該最相似的一種提取的信息從該z個功率配置中選擇最佳功率配置,並應用該最佳功率配置來控制提供給該多個處理器的一個子集的功率;其中該一個子集中的處理器屬於相同類型的處理器,其中該x、y和z是大於零的整數,且y≥z。
- 如請求項7所述的系統,其中每一個處理器包括: 溫度檢測器,配置為檢測相應處理器的溫度; 電流檢測器,配置為檢測相應處理器的電流; 電壓檢測器,配置為檢測相應處理器的電壓; 頻寬檢測器,配置為檢測相應處理器的資料頻寬; 性能計數器,配置為測量相應處理器的時鐘;和/或 事件接口,配置為檢測相應處理器的事件; 其中,該待評估的信息包括溫度、電流、電壓、資料頻寬、時鐘和/或事件。
- 如請求項7所述的系統,其中該機器學習模型包括神經網絡、監督式機器學習模型、非監督式機器學習模型和/或基於樹的機器學習模型。
- 如請求項7所述的系統,其中該機器學習模型進一步配置為: 當該多個處理器的該一個子集消耗的功率超過應用該最佳功率配置的功率水平,則生成新的功率配置和相應的新操作場景; 使用該新的功率配置和該新操作場景更新該機器學習模型。
- 如請求項7所述的系統,其中該多個處理器包括中央處理單元、圖形處理單元、張量處理單元和/或神經網絡處理單元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/423,063 | 2022-11-07 | ||
US18/235,351 | 2023-08-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202420031A TW202420031A (zh) | 2024-05-16 |
TWI843676B true TWI843676B (zh) | 2024-05-21 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114902243A (zh) | 2019-12-27 | 2022-08-12 | 三星电子株式会社 | 电子设备及其控制方法 |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114902243A (zh) | 2019-12-27 | 2022-08-12 | 三星电子株式会社 | 电子设备及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113011602B (zh) | 一种联邦模型训练方法、装置、电子设备和存储介质 | |
Zhang et al. | A multi-agent reinforcement learning approach for efficient client selection in federated learning | |
Hong et al. | Placing virtual machines to optimize cloud gaming experience | |
WO2021088207A1 (zh) | 云计算集群混部作业调度方法、装置、服务器及存储装置 | |
US8489745B2 (en) | Optimizing power consumption by dynamic workload adjustment | |
CN108416465B (zh) | 一种移动云环境下的工作流优化方法 | |
Yi et al. | Efficient compute-intensive job allocation in data centers via deep reinforcement learning | |
CN113778691B (zh) | 一种任务迁移决策的方法、装置及系统 | |
Cao et al. | HADFL: Heterogeneity-aware decentralized federated learning framework | |
Jiang et al. | Towards efficient synchronous federated training: A survey on system optimization strategies | |
Chen et al. | Cuttlefish: Neural configuration adaptation for video analysis in live augmented reality | |
TWI843676B (zh) | 降低功耗的方法及系統 | |
TW202420031A (zh) | 降低功耗的方法及系統 | |
JP7259978B2 (ja) | 制御装置、方法及びシステム | |
Chen et al. | Situation-aware orchestration of resource allocation and task scheduling for collaborative rendering in IoT visualization | |
US20240152194A1 (en) | Power consumption reduction method and power consumption reduction system | |
Yuan et al. | A DRL-Based Container Placement Scheme with Auxiliary Tasks. | |
JP2023031248A (ja) | エッジコンピューティングネットワーク、データ伝送方法、装置、機器、及び記憶媒体 | |
CN114741160A (zh) | 一种基于平衡能耗与服务质量的动态虚拟机整合方法和系统 | |
CN112654077B (zh) | 节能方法及装置、计算机可存储介质 | |
US9477998B2 (en) | Performance control for concurrent animations | |
Lian et al. | Fednorm: An efficient federated learning framework with dual heterogeneity coexistence on edge intelligence systems | |
CN114138416A (zh) | 面向负载-时间窗口的基于dqn云软件资源自适应分配方法 | |
Dong et al. | Energy efficient virtual machine consolidation in mobile media cloud | |
CN110554916A (zh) | 基于分布式集群的风险指标计算方法及装置 |