TWI557553B - 電子裝置及其節能方法 - Google Patents
電子裝置及其節能方法 Download PDFInfo
- Publication number
- TWI557553B TWI557553B TW105108597A TW105108597A TWI557553B TW I557553 B TWI557553 B TW I557553B TW 105108597 A TW105108597 A TW 105108597A TW 105108597 A TW105108597 A TW 105108597A TW I557553 B TWI557553 B TW I557553B
- Authority
- TW
- Taiwan
- Prior art keywords
- graphics processor
- processor
- application
- phase
- central
- Prior art date
Links
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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Description
本發明為一種可彌補電子裝置處理器層級以及需求層級的差距,以減少圖形密集型應用程式能源消耗之電子裝置及其節能方法。
自從圖形處理器問世以來,有效率的圖形呈現係藉由系統中中央處理器(Central Processing Unit, 中央處理器)以及圖形處理器(Graphics Processing Unit, 圖形處理器)的合作來實現的。舉例來說,一個典型的3D遊戲工作量包含至少兩個不同的階段,其為加載(loading)階段以及影格呈現(frame rendering)階段。在加載階段中,中央處理器係忙碌於藉由使用複合遊戲物理效果來建構用於3D場景的圖形數據以及配置圖形處理器為初始化(例如:物件加載,3D場景配置等等)。另一方面,在影格呈現階段中,圖形處理器係忙碌於以盡可能的方式根據從中央處理器傳送的資料來呈現影格。
為了進行這兩個階段,應用程式藉由庫(libraries)、編譯器(compilers)以及運行架構(runtime frameworks)的幫助下產生一連串的圖形處理器指令。用於圖形處理器裝置的圖形處理器驅動器包含一指令緩衝器以及一指令調度單元。為了從中央處理器傳送圖形處理器指令至圖形處理器,應用程式首先推送圖形處理器指令至該指令緩衝器。因此,該圖形處理器驅動器藉由配置該指令調度單元以通知該指令的圖形處理器裝置,其中,該指令意指圖形處理器裝置的工作內容。應用程式透過圖形處理器驅動器將指令放入指令緩衝器中,由於此指令緩衝器為圖形處理器裝置與中央處理器共享記憶體空間,便可成功地將工作量調度至圖形處理器裝置。以這種方式,可以成功地將工作量調度至圖形處理器裝置。
為了符合使用者的期望而衍生出各種不同的效能/能量(Performance/Energy)策略,用於能量調速器以調節處理器可用頻率的不同策略已經被提出。具體來說,能量調速器基於策略的一些規則分配處理器(例如:中央處理器或圖形處理器)的運算資源。在後文中,我們來探討在Linux系統中最常見的策略。為了發揮處理器的最佳效能,效能策略設定該處理器為最高的可用頻率。然而,為了盡可能的減少能量消耗,節電策略設定該處理器為最低的可用頻率。此外,考慮到這兩種狀況,隨需求(On-demand)策略以及保守(Conservative)策略被設計以適用於不同的工作量。隨需求策略以及保守策略兩者皆設定有高利用率閾值以及低利用率閾值。當達到低利用率閾值時,兩者的策略都採用在下一個可用的低頻率對處理器降速。
不過,當達到高利用率閾值時,這兩個策略的行為卻不同。也就是說,隨需求策略將加速處理器至可行的最高頻率,而保守策略將在下一個可行的高頻率對處理器加速。有鑑於這些策略,使用者可以根據所期望的效能/能量分別地權衡管理中央處理器或圖形處理器以強制執行策略。不過,由於中央處理器以及圖形處理器兩者的工作量能藉由圖形處理器指令揭示,如果我們能共同管理中央處理器以及圖形處理器兩者的能量消耗,將可以得到一個較好的策略。
現在,假設我們可以推知應用程式的執行階段,並且有能力共同配置用於中央處理器以及圖形處理器的所採用的調速器策略。具體而言,當應用程式在加載階段時,用於該中央處理器以及圖形處理器的管理策略係分別配置為保守以及省電策略。不過,當應用程式在影格呈現階段時,用於中央處理器以及圖形處理器兩者的管理策略被配置為省電。
隨著動態電壓以及頻率調節(Dynamic Voltage and Frequency Scaling-enabled, DVFS)中央處理器的問世,許多研究一直致力於理論以及節能排程的實踐。在理論上,有鑑於應用程式的實時(real-time)限制為可推知的,Yao等人提供了一種離線優化排程演算法(off-line optimal scheduling algorithm)。
不過,在實際應用中,經常難以提前判斷應用程式的準確執行特徵。商用操作系統的推出,除了工作量排程器之外,調速器可在排程期間內監控中央處理器負載,並相對應地調整處理器頻率。
當考慮不同的效能/能源折衷策略時,不同頻率調節標準的調速器策略已被提出。動態電壓以及頻率調節中央處理器已可以達到節能效果,而導致動態電壓以及頻率調節中央處理器被大量的推廣與使用。如將動態電壓以及頻率調節中央處理器應用在最新的行動裝置上,藉此,有效率地執行圖形密集(graphics-intensive)遊戲應用程式成為可能。
然而,現有的研究只針對影格呈現階段的電源管理策略。它的目的是為了達到目標畫面更新率(Frame per Second,FPS)範圍的同時將能量消耗降到最低。然而,它僅側重於遊戲應用程式的呈現階段,因此,經常改變階段的應用程式則被排除在外。由於使用者在意遊戲應用程式(需求層級差距)不同階段不同的效能指標,這樣的管理策略可能導致使用者體驗產生負面的影響。
以往對於遊戲應用程式的最佳化能源效率的研究已考慮使用者互動以及工作量預測的觀點。對於沒有涉及太多使用者互動的遊戲應用程式,遊戲影格工作量的場景很大程度的取決它提供了豐富多樣的結構資訊。由於這些結構資訊,遊戲工作量特徵可以通過分析遊戲影格來導出,如紋理操作或線條的數量以及模型。
如此,用於中央處理器或圖形處理器的頻率調節策略已經被提出。另一方面,當考慮到密集的使用者互動時,事情變得更加複雜。這是因為在遊戲應用程式中緩衝影格幾乎是不可能的,肇因其對於使用者輸入的依賴。有鑑於此,用於中央處理器頻率調節針對預測精確度的演算法被提出來,此演算法基於預測誤差的反饋,周期性的來調整工作量預測。它考慮到共同管理中央處理器和圖形處理器,目的是為了實現目標的畫面更新率範圍,同時在反應的方式將能量消耗降至最低。
以往對於遊戲應用程式的最佳化能源效率的研究已考慮使用者互動以及工作量預測的觀點。這些方法只考慮到隔離管理中央處理器或將圖形處理器。然而,圖形密集型遊戲應用程式在中央處理器和圖形處理器兩者都具有相當高的要求。因此,隔離管理這些處理器可能導致各自調速器(處理器層級差距)的資訊差距,進一步造成低效率能源使用。為了減少圖形密集型應用程式的能源消耗,本發明的目的可彌補處理器層級以及需求層級的差距。
是以,要如何解決上述習用之問題與缺失,即為本發明之發明人與從事此行業之相關廠商所亟欲研究改善之路徑所在者。
故,本發明之發明人有鑑於上述缺失,乃搜集相關資料,經由多方評估及考量,並以從事於此行業累積之多年經驗,經由不斷試作及修改,始設計出此種發明專利者。
本發明之目的在於提供一種可彌補電子裝置處理器層級以及需求層級的差距,以減少圖形密集型應用程式能源消耗之電子裝置及其節能方法。
為了達到上述或其他目的,本創作一種電子裝置,用以運行一應用程式,該應用程式用以產生至少一圖形處理器指令,包括:一中央處理器;一中央處理器調速器,係連接於該中央處理器;一圖形處理器;一圖形處理器調速器,係連接於該圖形處理器;一管理架構,包括:一使用者需求分類器,連接於該應用程式,用以分析該應用程式所產生之該至少一圖形處理器指令,並根據該至少一圖形處理器指令,分類該應用程式為至少一應用程式階段;一統一策略選擇器,連接於該使用者需求分類器、該中央處理器調速器以及該圖形處理器調速器,用以根據該至少一應用程式階段,判斷該中央處理器調速器以及該圖形處理器調速器的調速策略;以及一頻率調節目標溝通器,包括:一處理器狀態偵測器,連接於該中央處理器調速器以及該圖形處理器調速器,用以偵測該中央處理器以及該圖形處理器的使用狀態;以及一頻率調節目標解釋器,連接於該處理器狀態偵測器、該中央處理器調速器以及該圖形處理器調速器,用以根據該使用狀態,分類該中央處理器以及該圖形處理器的頻率調節目標;其中,該中央處理器調速器以及該圖形處理器調速器根據該調速策略以及該頻率調節目標,判斷該中央處理器以及該圖形處理器的管理策略。
在一較佳實施例中,更包括一指令佇列,用以接收該至少一圖形處理器指令。
在一較佳實施例中,該中央處理器調速器基於包括該中央處理器的操作頻率、活動中央處理器核心的數量以及活動中央處理器叢集來分配該中央處理器的運算資源。
在一較佳實施例中,該圖形處理器調速器基於包括該圖形處理器的操作頻率、活動圖形處理器核心的數量來分配該圖形處理器的運算資源。
在一較佳實施例中,該頻率調節目標包括加速、減速或自主管理其中之一者,以及該應用程式階段包括圖形處理器敏感階段或圖形處理器不敏感階段其中之一者。
在一較佳實施例中,在該應用程式最後一個周期,如該至少一圖形處理器指令為中央處理器運算或沒有該至少一圖形處理器指令時,判斷該應用程式階段為圖形處理器不敏感階段;在該應用程式最後一個周期,如不是圖形處理器不敏感階段時,判斷該應用程式階段為圖形處理器敏感階段。
在一較佳實施例中,更包括如有觸碰事件,判斷使用者關注為互動階段,如果不是在互動階段,判斷使用者關注為非互動階段,並且該中央處理器調速器以及該圖形處理器調速器根據該使用者關注、該調速策略以及該頻率調節目標,判斷該中央處理器以及該圖形處理器的管理策略。
為了達到上述或其他目的,本發明一種電子裝置節能方法,用以運行一應用程式,該應用程式用以產生至少一圖形處理器指令,包括:分析該應用程式所產生之該至少一圖形處理器指令;偵測一中央處理器以及一圖形處理器的使用狀態;根據該至少一圖形處理器指令,分類該應用程式為至少一應用程式階段;根據該至少一應用程式階段,判斷一中央處理器以及一圖形處理器的調速策略;根據該使用狀態,分類該中央處理器以及該圖形處理器的頻率調節目標;以及根據該調速策略以及該頻率調節目標,判斷該中央處理器以及該圖形處理器的管理策略。
在一較佳實施例中,該頻率調節目標包括加速、減速或自主管理其中之一者,以及該應用程式階段包括圖形處理器敏感階段或圖形處理器不敏感階段其中之一者。
在一較佳實施例中,在該應用程式最後一個周期,如該至少一圖形處理器指令為中央處理器運算或沒有該至少一圖形處理器指令時,判斷該應用程式階段為圖形處理器不敏感階段;在該應用程式最後一個周期,如不是圖形處理器不敏感階段時,判斷該應用程式階段為圖形處理器敏感階段。
在一較佳實施例中,如有觸碰事件,判斷使用者關注為互動階段,如果不是在互動階段,判斷使用者關注為非互動階段,並且根據該使用者關注、該調速策略以及該頻率調節目標,判斷該中央處理器以及該圖形處理器的管理策略。
為達成上述目的及功效,本發明所採用之技術手段及構造,茲繪圖就本發明較佳實施例詳加說明其特徵與功能如下,俾利完全了解。
然而,由於先前技術都沒有考慮到使用者、中央處理器以及圖形處理器之間的資訊差距。在本實施方式說明中,本發明提出了一種以使用者為中心的中央處理器-圖形處理器管理架構,藉以彌補雙方的需求層級和處理器層級之間的差距。為了彌補在需求層級的差距,在運行時有必要辨識使用者的需求,並且藉此判斷用於相對應處理器的適當管理策略。
相應地,為了彌補處理器層級的差距,溝通處理器間的頻率調節(frequency-scaling)目標是很重要的。通過這種方式,本發明能阻止調速器(governors)調節頻率,而不是改善使用者體驗。需要特別說明的是,本發明不是另起爐灶,本發明所提出的管理架構係架構於既有的調速器策略之上,因此當需要時,既有的調速器策略能被納入本發明管理架構。
請參閱圖1所示,係依據本發明電子裝置較佳實施例之實施示意圖。由圖中可清楚看出,本發明一種電子裝置,用以運行一應用程式10,該應用程式10用以產生至少一圖形處理器指令12,包括:一中央處理器111、一中央處理器調速器122、一圖形處理器112、一圖形處理器調速器121、以及一管理架構131。其中該中央處理器調速器122,係連接於該中央處理器111,且其基於包括該中央處理器111的操作頻率、活動中央處理器核心的數量以及活動中央處理器叢集來分配該中央處理器111的運算資源。以及該圖形處理器調速器121,係連接於該圖形處理器112,且其基於包括該圖形處理器112的操作頻率、活動圖形處理器核心的數量來分配該圖形處理器112的運算資源。
本發明的管理架構131係包括:一使用者需求分類器1312、一統一策略選擇器1313、以及一頻率調節目標溝通器1311。
該使用者需求分類器1312連接於該應用程式10,用以分析該應用程式10所產生之該至少一圖形處理器指令12,並根據該至少一圖形處理器指令12,分類該應用程式10為至少一應用程式階段;
該統一策略選擇器1313,連接於該使用者需求分類器1312、該中央處理器調速器122以及該圖形處理器調速器1211,用以根據該至少一應用程式階段,判斷該中央處理器調速器122以及該圖形處理器調速器1211的調速策略。
該頻率調節目標溝通器1311係包括:一處理器狀態偵測器13111以及一頻率調節目標解釋器13112。其中該處理器狀態偵測器13111連接於該中央處理器調速器122以及該圖形處理器調速器1211,用以偵測該中央處理器111以及該圖形處理器112的使用狀態。該頻率調節目標解釋器13112連接於該處理器狀態偵測器13111、該中央處理器調速器122以及該圖形處理器調速器1211,用以根據該使用狀態,分類該中央處理器111以及該圖形處理器112的頻率調節目標。
該中央處理器調速器122以及該圖形處理器調速器121根據該調速策略以及該頻率調節目標,判斷該中央處理器111以及該圖形處理器112的管理策略。
以及請同時參閱圖2,係依據本發明電子裝置節能方法較佳實施例之流程圖。本發明一種電子裝置節能方法,用以運行一應用程式,該應用程式用以產生至少一圖形處理器指令,包括步驟:(1)分析該應用程式所產生之該至少一圖形處理器指令;(2)偵測一中央處理器以及一圖形處理器的使用狀態;(3)根據該至少一圖形處理器指令,分類該應用程式為至少一應用程式階段;(4)根據該至少一應用程式階段,判斷一中央處理器以及一圖形處理器的調速策略;(5)根據該使用狀態,分類該中央處理器以及該圖形處理器的頻率調節目標;以及(6)根據該調速策略以及該頻率調節目標,判斷該中央處理器以及該圖形處理器的管理策略。
該使用者需求分類器1312係在運行時定期地啟動以監控應用程式10,例如:遊戲應用程式。而該統一策略選擇器1313配置中央處理器111以及圖形處理器112的中央處理器調速器122以及圖形處理器調速器1211的調速策略。以及,當中央處理器111或圖形處理器112達到用於調節頻率的利用率閾值時,該頻率調節目標溝通器1311才啟動。為了分類使用者需求,本發明基於圖形處理器指令12來區分應用程式階段,並且根據任何觸碰事件的發生來判斷使用者關注11。在使用者需求分類完成後,本發明再分類中央處理器111以及圖形處理器112的頻率調節目標。
本發明的細節描述於以下的實施例。本發明提出一種方式來彌補中央處理器111以及圖形處理器112的溝通渠道,其考慮到了使用者體驗以及裝置的系統架構。圖1示出了本發明機構部件之間的系統架構以及相互關係。本發明接下來透過圖1說明本發明的功能以及概念。不過,本發明並不被此實施例所提出部件的相對位置以及系統架構所限制。
現有的運算裝置架構可以被分為三層:一硬體層110、一核心空間層120以及一使用者空間層130。該硬體層110包括了各種硬體裝置,例如中央處理器111以及圖形處理器112,其為可提供運算能力的裝置。一般而言,中央處理器111以及圖形處理器112提供控制介面以調整頻率、電壓以及電源狀態等等,例如一多核心中央處理器111配備有調整操作頻率以及操作核心數量的能力。而在典型的操作系統如Linux中,系統記憶體以及程式能被分為兩個不同的部分:使用者空間層130以及核心空間層120。使用者空間層130包括了本發明的管理架構131,且其包含提供服務予用戶的應用程式。而核心空間層120包括一中央處理器調速器122以及一圖形處理器裝置驅動器121,其中該圖形處理器裝置驅動器121包括一圖形處理器調速器1211以及一指令佇列1212,其被設計提供服務予使用者空間層130以及管理在硬體層110中可用的硬體,其中該指令佇列1212用以接收該至少一圖形處理器指令12。
例如,一中央處理器調速器122基於一預先定義政策週期地控制中央處理器111的資源,例如,如該中央處理器111的利用率高於一預先定義閾值,即提高頻率並打開中央處理器111的核心,而如該中央處理器111的利用率低於一預先定義閾值,即降低頻率並關閉中央處理器111的核心。
該圖形處理器裝置驅動器121不僅管理圖形處理器112的資源,也調度圖形處理器112的工作量。同樣地,該圖形處理器裝置驅動器121的圖形處理器調速器1211根據使用情況(如圖形處理器112的使用率)管理圖形處理器112的資源分配。圖形處理器裝置驅動器121包含該指令佇列1212,該指令佇列1212其緩衝了應用程式10引起的圖形處理器112工作量,並且可藉由圖形處理器裝置驅動器121來處理。一旦指令佇列1212包含未讀的圖形處理器指令12,圖形處理器裝置驅動器121抓取並處理該圖形處理器指令12。
為了彌補處理器層級的差距,管理架構131於本發明中被建立。頻率調節目標溝通器1311係包括該處理器狀態偵測器13111以及該頻率調節目標解釋器13112。頻率調節目標解釋器13112與中央處理器調速器122以及圖形處理器調速器1211進行溝通,以基於從頻率調節目標解釋器13112所接收的頻率調節目標,完成管理中央處理器111以及圖形處理器112的頻率調節目標決定。如該決定違反中央處理器調速器122(相對應為圖形處理器調速器1211)的頻率調節目標,中央處理器調速器122(相對應為圖形處理器調速器1211)的管理決定將是無效的。例如,如本發明管理架構131之頻率調節目標解釋器13112決定為增加(相對應為減少)中央處理器111的頻率,而該中央處理器調速器122的頻率調節目標係減少(相對應為增加),該中央處理器調速器122的決定將被丟棄。
為了監控中央處理器111以及圖形處理器112的狀態,處理器狀態偵測器13111偵測中央處理器111以及圖形處理器112的使用狀態。透過存取中央處理器111以及圖形處理器112驅動程序的相關介面,處理器狀態偵測器13111能在核心空間120中的每個採樣周期偵測中央處理器111以及圖形處理器112的變量,例如使用率、啟用核心的數量,當前頻率層級以及圖形處理器指令12的使用情況。在處理器狀態偵測器13111的每個偵測後,處理器狀態偵測器13111傳送這些變量至頻率調節目標解釋器13112。
在本發明中,頻率調節目標解釋器13112根據使用狀態,亦即所收集的資訊以及裝置的中央處理器111、圖形處理器112互動模型分類中央處理器111以及圖形處理器112的頻率調節目標。在一實施例中,本發明分類頻率調節目標解釋器13112的頻率調節目標為"加速"、"減速"以及"自主管理"。然而,類型和分類頻率調節目標的數目在本發明中並不侷限。在本實施例中,頻率調節目標的"減速"被解釋為處理器運算使用率不會增加。例如,如果該中央處理器111產生圖形處理器112的工作量,並且中央處理器111透過處理器狀態偵測器13111的處理器資訊而偵測到中央處理器111過載,由於中央處理器111過於忙碌於產生接下來的工作量。頻率調節目標解釋器13112知道圖形處理器112的工作量將不會增加。因此,調節目標解釋器13112令圖形處理器調速器1211的頻率調節目標為"減速"。
如果該中央處理器111以及該圖形處理器112的工作量需要增加,頻率調節目標被解釋為"加速"。例如,如果正在運行的應用程式10需要中央處理器111的運算能力,且該中央處理器111沒有過載,頻率調節目標解釋器13112解釋中央處理器調速器122的頻率調節目標為"加速",以提高該裝置的使用者體驗。如果沒有中央處理器111以及影像處理器112的具體需求,中央處理器調速器122以及圖形處理器調速器1211的頻率調節目標被解釋為"自主管理",並且當該"自主管理"被接收時,中央處理器調速器122以及圖形處理器調速器1211能藉由它預設的策略來進行調速。
在一實施例中,當使用者執行一圖形密集型(graphic-intensive)應用程式10時,管理架構131為了建立中央處理器調速器122以及圖形處理器調速器1211的溝通渠道,周期地執行處理器狀態偵測器13111以及頻率調節目標解釋器13112。例如,當使用者正在執行一3D行動遊戲時,處理器狀態偵測器13111在運行時偵測中央處理器111以及圖形處理器112的使用狀態。為了分類頻率調節目標,中央處理器111以及圖形處理器112的使用狀態被傳送到頻率調節目標解釋器13112。
同時考慮到中央處理器調速器122以及圖形處理器調速器1211的互動模式以及中央處理器111以及圖形處理器112的使用狀態,頻率調節目標解釋器13112實現了處理器接下來的工作量趨勢。然後,頻率調節目標解釋器13112基於預先定義規則解釋頻率調節目標。一旦中央處理器調速器122以及圖形處理器調速器1211基於先前技術的管理方式,如Linux常用的Ondemand, Conservative等等管理方式來做出決定,頻率調節目標解釋器13112在該決定發生之前,最終確定中央處理器調速器122以及圖形處理器調速器1211的管理決定。如果決定互相牴觸,該中央處理器調速器122以及圖形處理器調速器1211的決定將被丟棄或修改。透過以上程序,本發明提出了中央處理器111以及圖形處理器112兩者間的互動渠道,因此當使用者使用圖形密集型應用程式10時,可改善使用者體驗或減少能源消耗。
另一方面,為了彌補需求層級的差距,管理架構131在運行時分類使用者的需求,使用者需求分類器1312識別正在執行的遊戲應用程式10的應用程式階段,並且分別透過監控圖形處理器指令12流以及使用者的觸碰活動,來識別使用者關注層級。不同類型的圖形處理器指令12把不同的負擔給中央處理器111以及圖形處理器112,並影響不同的使用者體驗,因此,使用者需求分類器1312透過分析圖形處理器指令12的使用情況來識別應用程式10的應用程式階段。
如果從遊戲應用程式10發送至指令佇列1212的圖形處理器指令需要大量的中央處理器111或圖形處理器112的運算能力,使用者需求分類器1312識別中央處理器111以及圖形處理器112硬體要求層級的使用者需求。例如,基於所發送圖形處理器指令12對使用者的影響,使用者需求分類器1312分類當前遊戲應用程式10的主要效能指標,亦即,影格速率或響應時間。
不過,使用者需求分類器1312透過分析電子裝置的互動行為監控使用者關注11層級,更高的使用者關注11層級意味著使用者需要遊戲應用程式10更好的效能。例如一旦使用者與遊戲應用程式10互動時,使用者期望在互動期間能有更好的效能。
使用者需求分類器1312識別正在執行的遊戲應用程式10的應用程式階段,並且通過分別透過監控圖形處理器指令12流以及使用者的觸碰活動,識別使用者關注11層級。對於分類應用程式10階段,我們首先提供源於分析圖形處理器指令12的觀察,因而區別圖形處理器112敏感階段(圖形處理器-sensitive phase)(例如:呈現階段)以及圖形處理器不敏感階段(圖形處理器-insensitive phase)(例如:加載階段)兩者。進一步說明,在該應用程式10最後一個周期,如該至少一圖形處理器指令12為中央處理器111運算或沒有該至少一圖形處理器指令12時,判斷該應用程式階段為圖形處理器不敏感階段;在該應用程式10最後一個周期,如不是圖形處理器不敏感階段時,判斷該應用程式階段為圖形處理器敏感階段。
另一方面,當使用者與應用程式10互動時,為了能夠響應輸入事件而提高效能要求。因此該管理架構131藉由調查是否有在螢幕上的觸碰事件來分類一互動階段或一非互動階段。
進一步說明,如有觸碰事件,判斷使用者關注11為互動階段,如果不是在互動階段,判斷使用者關注11為非互動階段,並且該中央處理器調速器122以及該圖形處理器調速器1211根據該使用者關注、該調速策略以及該頻率調節目標,判斷該中央處理器111以及該圖形處理器112的管理策略。
使用者需求分類器1312識別過後,統一策略選擇器1313基於使用者需求來選擇中央處理器調速器122以及圖形處理器調速器1211的調速策略。例如,如果使用者需求分類器1312識別在當前的應用程式10之應用程式階段使用者需求更多中央處理器111資源,統一策略選擇器1313選擇一效能優先策略予中央處理器調速器122。例如,如果使用者需求分類器1312當前應用程序10的效能指數不主要被圖形處理器112所影響,統一策略選擇器1313選擇一節能優先的調速策略予圖形處理器調速器1211。
例如,藉由結合遊戲應用程式階段以及使用者關注11,本發明最終分類使用者需求為四個不同的類別。所負責的統一策略選擇器1313根據不同的應用程式階段以及使用者的互動情況選擇相應的調速策略。當該應用程式10在圖形處理器不敏感階段以及該使用者不與該應用程式10互動時,本發明配置該中央處理器調速器122為隨需求(On-demand)策略,以及該圖形處理器調速器1211為保守(Conservative)策略。
另一方面,當該應用程式10係在圖形處理器不敏感階段以及使用者與該應用程式10互動時,本發明配置中央處理器調速器122為效能(Performance)策略以及該圖形處理器調速器1211為隨需求(On-demand)策略。其原因係由於互動所引起的事件應該由中央處理器111盡快處理,以便能提供最佳的使用者體驗。此外,使用者與應用程式10互動之後,該應用程式10階段切換為圖形處理器敏感(GPU-sensitive)階段,圖形處理器112的調速策略應該配置為增加效能優先。
同樣地,當該應用程式10在圖形處理器敏感(圖形處理器-sensitive)階段以及使用者不與該應用程式10互動時,本發明配置中央處理器調速器122以及圖形處理器調速器1211兩者為保守策略。另一方面,當該應用程式10在圖形處理器敏感(GPU -sensitive)階段以及使用者與該應用程式10互動時,本發明配置該中央處理器調速器122為隨需求(On-demand)策略以及圖形處理器調速器1211為保守(Conservative)策略。究其原因係由於中央處理器111需要對簡單的互動事件做出反應。
在一實施例中,管理架構131為了匹配中央處理器111以及圖形處理器112的管理策略以符合使用者的預期,周期地執行使用者需求分類器1312以及統一策略選擇器1313。例如,當使用者正在執行3D遊戲且在呈現場景期間(圖形處理器敏感階段)互動時,使用者需求分類器 1312基於使用圖形處理器指令12來辨識此遊戲當前應用程式階段需求更多的圖形處理器112運算資源。
使用者需求分類器1312還檢查當前的使用者行為是否正與電子裝置進行互動。然而,考慮該應用程式階段以及使用者關注,使用者需求分類器1312發送當前的使用者需求至統一策略選擇器1313。當統一策略選擇器1313接收到用於呈現場景的使用者需求,統一策略選擇器1313為了達到更好的使用者體驗(例如:流暢的影格速率),選擇一個用於圖形處理器調速器1211適於呈現場景特性的調速策略。
另一方面,統一策略選擇器1313為了節省不必要的能源,設定中央處理器調速器122的策略為節能優先策略,因為使用者體驗主要由圖形處理器調速器1211的決定為主,如果 中央處理器調速器122分配更多中央處理器111運算資源,使用者體驗將不會得到改善。
惟,以上所述僅為本發明之較佳實施例而已,非因此即拘限本發明之專利範圍,故舉凡運用本發明說明書及圖式內容所為之簡易修飾及等效結構變化,均應同理包含於本發明之專利範圍內,合予陳明。
10‧‧‧應用程式
11‧‧‧使用者關注
12‧‧‧圖形處理器指令
110‧‧‧硬體層
111‧‧‧中央處理器
112‧‧‧圖形處理器
120‧‧‧核心空間層
121‧‧‧圖形處理器裝置驅動器
1211‧‧‧圖形處理器調速器
1212‧‧‧指令佇列
122‧‧‧中央處理器調速器
130‧‧‧使用者空間層
131‧‧‧管理架構
1311‧‧‧頻率調節目標溝通器
13111‧‧‧處理器狀態偵測器
13112‧‧‧頻率調節目標解釋器
1312‧‧‧使用者需求分類器
1313‧‧‧統一策略選擇器
1~6‧‧‧步驟
11‧‧‧使用者關注
12‧‧‧圖形處理器指令
110‧‧‧硬體層
111‧‧‧中央處理器
112‧‧‧圖形處理器
120‧‧‧核心空間層
121‧‧‧圖形處理器裝置驅動器
1211‧‧‧圖形處理器調速器
1212‧‧‧指令佇列
122‧‧‧中央處理器調速器
130‧‧‧使用者空間層
131‧‧‧管理架構
1311‧‧‧頻率調節目標溝通器
13111‧‧‧處理器狀態偵測器
13112‧‧‧頻率調節目標解釋器
1312‧‧‧使用者需求分類器
1313‧‧‧統一策略選擇器
1~6‧‧‧步驟
〔圖1〕係為依據本發明電子裝置較佳實施例之實施示意圖;以及 〔圖2〕係為依據本發明電子裝置節能方法較佳實施例之流程圖。
10‧‧‧應用程式
11‧‧‧使用者關注
12‧‧‧圖形處理器指令
110‧‧‧硬體層
111‧‧‧中央處理器
112‧‧‧圖形處理器
120‧‧‧核心空間層
121‧‧‧圖形處理器裝置驅動器
1211‧‧‧圖形處理器調速器
1212‧‧‧指令佇列
122‧‧‧中央處理器調速器
130‧‧‧使用者空間層
131‧‧‧管理架構
1311‧‧‧頻率調節目標溝通器
13111‧‧‧處理器狀態偵測器
13112‧‧‧頻率調節目標解釋器
1312‧‧‧使用者需求分類器
1313‧‧‧統一策略選擇器
Claims (11)
- 一種電子裝置,用以運行一應用程式,該應用程式用以產生至少一圖形處理器指令,包括: 一中央處理器; 一中央處理器調速器,係連接於該中央處理器; 一圖形處理器; 一圖形處理器調速器,係連接於該圖形處理器; 一管理架構,包括: 一使用者需求分類器,連接於該應用程式,用以分析該應用程式所產生之該至少一圖形處理器指令,並根據該至少一圖形處理器指令,分類該應用程式為至少一應用程式階段; 一統一策略選擇器,連接於該使用者需求分類器、該中央處理器調速器以及該圖形處理器調速器,用以根據該至少一應用程式階段,判斷該中央處理器調速器以及該圖形處理器調速器的調速策略;以及 一頻率調節目標溝通器,包括: 一處理器狀態偵測器,連接於該中央處理器調速器以及該圖形處理器調速器,用以偵測該中央處理器以及該圖形處理器的使用狀態;以及 一頻率調節目標解釋器,連接於該處理器狀態偵測器、該中央處理器調速器以及該圖形處理器調速器,用以根據該使用狀態,分類該中央處理器以及該圖形處理器的頻率調節目標; 其中,該中央處理器調速器以及該圖形處理器調速器根據該調速策略以及該頻率調節目標,判斷該中央處理器以及該圖形處理器的管理策略。
- 如申請專利範圍第1項所述之電子裝置,更包括一指令佇列,用以接收該至少一圖形處理器指令。
- 如申請專利範圍第1項所述之電子裝置,其中該中央處理器調速器基於包括該中央處理器的操作頻率、活動中央處理器核心的數量以及活動中央處理器叢集來分配該中央處理器的運算資源。
- 如申請專利範圍第1項所述之電子裝置,其中該圖形處理器調速器基於包括該圖形處理器的操作頻率、活動圖形處理器核心的數量來分配該圖形處理器的運算資源。
- 如申請專利範圍第1項所述之電子裝置,其中該頻率調節目標包括加速、減速或自主管理其中之一者,以及該應用程式階段包括圖形處理器敏感階段或圖形處理器不敏感階段其中之一者。
- 如申請專利範圍第1項所述之電子裝置,其中在該應用程式最後一個周期,如該至少一圖形處理器指令為中央處理器運算或沒有該至少一圖形處理器指令時,判斷該應用程式階段為圖形處理器不敏感階段;在該應用程式最後一個周期,如不是圖形處理器不敏感階段時,判斷該應用程式階段為圖形處理器敏感階段。
- 如申請專利範圍第1項所述之電子裝置,更包括如有觸碰事件,判斷使用者關注為互動階段,如果不是在互動階段,判斷使用者關注為非互動階段,並且該中央處理器調速器以及該圖形處理器調速器根據該使用者關注、該調速策略以及該頻率調節目標,判斷該中央處理器以及該圖形處理器的管理策略。
- 一種電子裝置節能方法,用以運行一應用程式,該應用程式用以產生至少一圖形處理器指令,包括: 分析該應用程式所產生之該至少一圖形處理器指令; 偵測一中央處理器以及一圖形處理器的使用狀態; 根據該至少一圖形處理器指令,分類該應用程式為至少一應用程式階段; 根據該至少一應用程式階段,判斷一中央處理器以及一圖形處理器的調速策略; 根據該使用狀態,分類該中央處理器以及該圖形處理器的頻率調節目標;以及 根據該調速策略以及該頻率調節目標,判斷該中央處理器以及該圖形處理器的管理策略。
- 如申請專利範圍第8項所述之電子裝置節能方法,其中該頻率調節目標包括加速、減速或自主管理其中之一者,以及該應用程式階段包括圖形處理器敏感階段或圖形處理器不敏感階段其中之一者。
- 如申請專利範圍第8項所述之電子裝置節能方法,其中在該應用程式最後一個周期,如該至少一圖形處理器指令為中央處理器運算或沒有該至少一圖形處理器指令時,判斷該應用程式階段為圖形處理器不敏感階段;在該應用程式最後一個周期,如不是圖形處理器不敏感階段時,判斷該應用程式階段為圖形處理器敏感階段。
- 如申請專利範圍第8項所述之電子裝置節能方法,更包括如有觸碰事件,判斷使用者關注為互動階段,如果不是在互動階段,判斷使用者關注為非互動階段,並且根據該使用者關注、該調速策略以及該頻率調節目標,判斷該中央處理器以及該圖形處理器的管理策略。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105108597A TWI557553B (zh) | 2016-03-18 | 2016-03-18 | 電子裝置及其節能方法 |
US15/233,226 US20170269667A1 (en) | 2016-03-18 | 2016-08-10 | Electronic device and energy saving method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105108597A TWI557553B (zh) | 2016-03-18 | 2016-03-18 | 電子裝置及其節能方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI557553B true TWI557553B (zh) | 2016-11-11 |
TW201734705A TW201734705A (zh) | 2017-10-01 |
Family
ID=57851543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105108597A TWI557553B (zh) | 2016-03-18 | 2016-03-18 | 電子裝置及其節能方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170269667A1 (zh) |
TW (1) | TWI557553B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023113822A1 (en) * | 2021-12-17 | 2023-06-22 | Google Llc | Loading state detection for gaming applications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060030272A1 (en) * | 2004-01-21 | 2006-02-09 | Hideyuki Nakamizo | Transceiver and receiver |
US20130283073A1 (en) * | 2011-12-09 | 2013-10-24 | Nithyananda S. Jeganathan | Adaptive graphics subsystem power and performance management |
TW201351122A (zh) * | 2012-06-05 | 2013-12-16 | Via Tech Inc | 圖形處理單元與其管理方法 |
TW201405305A (zh) * | 2012-07-17 | 2014-02-01 | Tencent Tech Shenzhen Co Ltd | 一種終端設備及其運行方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9052895B2 (en) * | 2010-04-07 | 2015-06-09 | International Business Machines | Power budget allocation in multi-processor systems |
-
2016
- 2016-03-18 TW TW105108597A patent/TWI557553B/zh not_active IP Right Cessation
- 2016-08-10 US US15/233,226 patent/US20170269667A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060030272A1 (en) * | 2004-01-21 | 2006-02-09 | Hideyuki Nakamizo | Transceiver and receiver |
US20130283073A1 (en) * | 2011-12-09 | 2013-10-24 | Nithyananda S. Jeganathan | Adaptive graphics subsystem power and performance management |
TW201351122A (zh) * | 2012-06-05 | 2013-12-16 | Via Tech Inc | 圖形處理單元與其管理方法 |
TW201405305A (zh) * | 2012-07-17 | 2014-02-01 | Tencent Tech Shenzhen Co Ltd | 一種終端設備及其運行方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170269667A1 (en) | 2017-09-21 |
TW201734705A (zh) | 2017-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102073545B (zh) | 操作系统中防止用户界面卡屏的进程调度方法及装置 | |
US10191772B2 (en) | Dynamic resource configuration based on context | |
US9946563B2 (en) | Batch scheduler management of virtual machines | |
US9477298B2 (en) | Method and apparatus for power-efficiency management in a virtualized cluster system | |
CN101488098B (zh) | 基于虚拟计算技术的多核计算资源管理系统 | |
Zhang et al. | vGASA: Adaptive scheduling algorithm of virtualized GPU resource in cloud gaming | |
US9875145B2 (en) | Load based dynamic resource sets | |
Liu et al. | Task scheduling with precedence and placement constraints for resource utilization improvement in multi-user MEC environment | |
CN102521055B (zh) | 一种虚拟机资源分配方法及其系统 | |
Reddy et al. | Qos-Aware Video Streaming Based Admission Control And Scheduling For Video Transcoding In Cloud Computing | |
CN104991830A (zh) | 基于服务等级协议的yarn资源分配和节能调度方法及系统 | |
KR101113943B1 (ko) | 워크로드 관리 방법과 장치 및 이를 이용한 분산 컴퓨팅 시스템 | |
KR20120095758A (ko) | 가상 머신 스케줄 시점 조절 장치 및 방법 | |
CN107122233A (zh) | 一种面向tsn业务的多vcpu自适应实时调度方法 | |
US20120254822A1 (en) | Processing optimization load adjustment | |
US20120047383A1 (en) | Mechanism for Manager and Host-Based Integrated Power Saving Policy in Virtualization Systems | |
CN112130963A (zh) | 虚拟机任务的调度方法、装置、计算机设备及存储介质 | |
US20100211680A1 (en) | Apparatus and method to allocate limited resources | |
CN112162835A (zh) | 一种异构云环境下实时任务的调度优化方法 | |
Caglar et al. | A performance interferenceaware virtual machine placement strategy for supporting soft realtime applications in the cloud | |
CN115080209A (zh) | 系统资源调度方法、装置、电子设备及存储介质 | |
Caglar et al. | Towards a performance interference-aware virtual machine placement strategy for supporting soft real-time applications in the cloud. | |
TWI557553B (zh) | 電子裝置及其節能方法 | |
US20240004707A1 (en) | Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices | |
CN109144664B (zh) | 一种基于用户服务质量需求差异的虚拟机动态迁移方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |