TWI735531B - 藉動態負載平衡之處理器功率監控及控制的技術 - Google Patents
藉動態負載平衡之處理器功率監控及控制的技術 Download PDFInfo
- Publication number
- TWI735531B TWI735531B TW106104761A TW106104761A TWI735531B TW I735531 B TWI735531 B TW I735531B TW 106104761 A TW106104761 A TW 106104761A TW 106104761 A TW106104761 A TW 106104761A TW I735531 B TWI735531 B TW I735531B
- Authority
- TW
- Taiwan
- Prior art keywords
- core
- power
- level
- thread
- service
- Prior art date
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/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- 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
-
- 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)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
可提出設備及方法用於經由一特定機器暫存器預訂一執行緒至一資源監控件及經由該特定機器暫存器預訂該執行緒至一服務類別。用於該執行緒之該資料處理系統或該服務類別可被改變而不中斷該執行緒。基於針對該執行緒之經選取的服務類別可改變分配給該處理器核心的該功率。
Description
政府權益陳述 本發明係根據由能源部贊助的合約號碼B609815獲得政府支持完成。政府對本發明擁有某些權利。
發明領域 實施例大致上係有關於以動態負載平衡之功率監控及控制及監控與控制跨不同軟體實體諸如處理或虛擬機的能量使用。更明確言之,實施例係有關於在使用中的處理器核心諸如分散式計算系統間之動態負載平衡。
發明背景 一應用程式可分割成多個工作,其可被細分成相關子工作(例如,執行緒)之群組,其可在計算資源上並列處理。相關執行緒可在不同組件(或一處理器內部的不同核心)上彼此並列處理為「並列執行緒」,及一給定工作的完成需要形成該工作的全部相關執行緒的完成。各個組件之效能類似,可縮短相關執行緒的完成之等待時間。
處理器之功率管理可包括功率管理策略,其中該等處理器本身可自發地管理其效能及功率策略之大部分面向,而無需考慮於相同處理器內部的其它處理器或其它核心。據此,相關執行緒的完成可能出現在不同時間而伴隨有總體效能的減低。
功率管理軟體可呈作業系統(OS)功率管理器或OS驅動器形式。此種功率管理軟體可能反應過慢而無法於處理器/處理器核心中產生精緻的功率策略。用於有大量處理器之設備或系統,諸如伺服器,在該等處理器間之效能變化可能缺乏由並列執行緒處理應用程式所假設的效能一致性。又復,用於大型分散式計算系統,處理器效能間之變化可能造成應用程式之除錯複雜化,原因在於其可能導致一個應用程式至下一個應用程式間之效能的不確定性故。
依據本發明之一實施例,係特地提出一種功率控制系統,其包含:一或多個處理器,各個處理器具有一或多個核心,各個核心經組配以處理一或多個應用程式執行緒;各個核心包括具有邏輯之一特定機器暫存器,該邏輯以可組配邏輯或固定功能邏輯硬體之一或多者實施,來輔助與一資源監控件及一服務類別相關聯的執行緒;一功率控制單元,其用以根據該相關聯的服務類別針對一核心變化一功率分配;及通訊組織結構,其在該等一或多個處理器與該功率控制單元之間。
較佳實施例之詳細說明 現在轉向附圖細節,圖1描繪一系統10其包括多個處理器20、一功率控制單元50、及輔助處理器20與功率控制單元50間之通訊的一通訊組織結構70。系統10可形成一分散式計算系統的一部分。表示法「分散式計算系統」可有關具有聯網處理器的一系統,其通訊及協調其動作以便達成一共通目標。於一個釋例中,一分散式計算系統可根據各種計算拓樸結構及架構利用組件群組來處理工作。舉例言之,一應用程式可被分割成各種工作,其可被細分成相關子工作群組(例如,執行緒),其可在運算資源上並列地運行。
當在系統10中開始新工作負荷諸如應用程式時,該應用程式可被分布為各種執行緒發送至處理器20。各個處理器20可分派一執行緒至一處理器核心諸如,例如,處理器核心24。於該例示釋例中,執行緒0於處理器核心24中執行及執行緒1於相同處理器核心24中執行。因此單一核心24可處理多個應用程式執行緒,或可處理單一應用程式執行緒。於該描繪實施例中,核心24處理兩個應用程式執行緒。各個處理器核心24也可包括一特定機器暫存器(MSR)22。經由該特定機器暫存器22,各個執行緒可預訂一資源監控件諸如由執行緒1預訂的資源監控件(RMID)30。
RMID 30可經由系統軟體、韌體、或硬體提供功率測量或估計。RMID 30可報告功率之數位估計、來自感測器(於處理器20外部或內部)的功率之測量、或若干混合。於一個實施例中,RMID 30在電壓調節器報告來自感測器的測量,及電壓調節器及感測器係在處理器外部(例如,位在主機板上)。然而,RMID 30在電壓調節器其可以是外部與內部電壓調節器的混合,報告來自感測器的測量。於其它面向中,RMID 30可基於在不同處理器資源中之活動而報告來自一模型的功率之數位估計,該活動係經由事件計數器測量。注意RMID 30技術中之任一者,無論功率係呈估值、來自一或多個感測器的測量值、或其混合報告,係適用於本文中陳述之各種實施例中用於功率管理。
能量取樣率可隨著時間之推移而改變,原因在於RMID可允許軟體產生執行緒群組用於能量監控。當功率樣本被採樣時,跨該等執行緒的時間上可不同。舉例言之,當能量係針對RMID-0採樣時可與當能量係針對RMID-1採樣時不同。因此於能量報告之一釋例中,可使用64-位元暫存器其中下48位元可含有使用於控制暫存器中界定的energy_unit編碼的取樣能量值。上16位元可提供此種能量樣本取樣的時間瞬間的一相對時間戳記。舉例言之,該等16位元可以是由25 MHz時鐘驅動的一「經常性運行計時器」(ART)的最低有效位元。此等最低有效位元提供約2毫秒之能量報告範圍。軟體可讀取組合能量報告最低有效位元的完整ART以重建一絕對時間參考。
各個執行緒可預訂一服務類別諸如由執行緒1預訂的服務類別(CLOS)40。多種層級(例如,4層級)可提供用於一服務類別。CLOS可決定跨執行緒的功率/效能決策。於一個面向中,CLOS可以是0至255間之無單位功率-效能調整策略值。CLOS 8-位元值愈小,則請求的效能愈高。執行緒CLOS預訂可動態地改變而不中斷執行緒。CLOS策略值可經動態修正。CLOS值可與處理器或核心頻率有關以輔助跨處理器/核心的動態負載平衡。然而,相對於相關聯的能量消耗,頻率改變可非必然為線性,原因在於與不同運行頻率相關聯的電壓變化導入了功率之二次方程變化。又復,頻率提高可能不會造成直接成比例的效能增高。
系統層級特定機器暫存器(MSR)可提供於功率控制單元(PCU)50。舉例言之,各種執行緒層級RMID可聚合成一系統層級特定機器暫存器80,而各種執行緒層級CLOS可聚合成一系統層級特定機器暫存器82。具有系統層級MSR及核心層級MSR 22提供兩個不同MSR,其可界定一特定執行緒可相關聯的一CLOS或RMID。於硬體、可組配邏輯及/或軟體中具體實施的邏輯指令可使用系統層級或核心層級MSR以將一執行緒與一特定RMID或CLOS相關聯。若MSR兩者係於指令中界定,則可使用一凌駕組態(如下連結圖2及3討論)來判定使用哪個值。具有一核心層級MSR諸如,例如,MSR 22,及一系統層級MSR諸如,例如,MSR 80,使得當分派執行緒時可有各種選項。
舉例言之,一執行緒藉由寫入於其執行緒範疇MSR CLOS及RMID控制暫存器而自行分派其本身至一特定RMID及CLOS。此種使用模型可整合入傳統作業系統(OS)或特化軟體。
另外,一軟體執行緒可代表系統之其餘部分作為「功率管理器」代理器。此種功率管理器軟體代理器藉將其它執行緒視需要地使用由系統層級RMID MSR 80輔助的RMID結合能力分組及然後針對各個RMID讀取報告的功率可能監控其它執行緒的功率消耗。藉再度寫入系統層級MSR CLOS暫存器82內,相同功率管理器代理器可能調整其它執行緒之功率-效能策略。
系統層級RMID MSR 80可報告其監控資訊給RMID解析邏輯90,其最終報告至監控邏輯94。RMID解析邏輯90及監控邏輯94可包括固定功能邏輯硬體、可組配邏輯、邏輯指令(例如,軟體)等、或其任何組合。同理,系統層級CLOS MSR 82可報告其CLOS至CLOS解析邏輯92,其然後報告至功率操縱邏輯96。如同RMID邏輯,CLOS解析邏輯92及功率操縱邏輯96可包括固定功能邏輯硬體、可組配邏輯、邏輯指令(例如,軟體)等、或其任何組合。
功率操縱邏輯96可使用CLOS資訊以分配電力資源至各種CPU核心24。各個CPU核心可包括功率控制邏輯(PCL)60,其具體實施由PCU 50所判定的功率策略。PCL 60也可包括固定功能邏輯硬體、可組配邏輯、邏輯指令(例如,軟體)等、或其任何組合。於一個面向中,PCL 60於實施功率變化中可改變核心24的頻率。於一或多個應用程式之處理期間因系統總功率需要的改變,PCU 50可基於CLOS組態而在處理器/處理器核心間動態地平衡功率負載以滿足用戶需要。PCL 60可在核心或處理器層級執行PCU 50之動態功率平衡。
圖2描繪一種情況的解析,其中一核心層級特定機器暫存器22及一系統層級RMID MSR 80兩者皆載明一RMID。來自例示的暫存器22及80之值兩者皆發送至一多工器84,其供應一凌駕組態。該凌駕組態可表示為一已解析執行緒RMID 91,其可被發送至監控邏輯95。
同理,圖3描繪一種情況的解析,其中一核心層級特定機器暫存器22及一系統層級特定機器暫存器82兩者皆載明一CLOS。來自例示的暫存器22及82之值兩者皆發送至一多工器85,其供應一凌駕組態。該凌駕組態可表示為一已解析執行緒CLOS 93,其被發送至CLOS策略解析器97。在將結果發送到功率操縱邏輯99之前,CLOS策略解析器97可查詢一CLOS策略表。
圖4顯示依據一實施例動態負載平衡之一方法200的綜論。該方法200通常可於處理器實施諸如,例如,前述處理器20(圖1)。更明確言之,該方法200可如下實施,於一或多個模組中作為儲存於機器-或電腦-可讀取儲存媒體諸如隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可規劃ROM(PROM)、韌體、快閃記憶體等中之一集合的邏輯指令實施;於可組配邏輯中實施諸如,例如,可規劃邏輯陣列(PLA)、現場可程式閘陣列(FPGA)、複雜可規劃邏輯裝置(CPLD);於固定功能邏輯硬體中使用電路技術實施諸如,例如,特定應用積體電路(ASIC)、互補金氧半導體(CMOS)或電晶體-電晶體邏輯(TTL)技術、或其任何組合。舉例言之,進行方法200中顯示的操作之電腦程式碼可以一或多個程式語言之任何組合寫成,包括一物件導向程式語言諸如JAVA、SMALLTALK、C++等及習知程序程式語言,諸如「C」程式語言或類似的程式語言。
例示之處理方塊210提供用於提交一或多個執行緒至一處理器之一核心。繼續參考圖1及圖4,核心可以是核心24其以兩個執行緒描繪。例示之處理方塊220關聯一執行緒與一RMID。方塊220可進行經由特定機器暫存器22的執行緒關聯。RMID可在一執行緒上進行監控操作,其可報告給一功率控制單元諸如,例如,PCU 50。
例示之處理方塊230關聯一執行緒與一CLOS。針對CLOS可提供各種層級指示執行緒之優先順位及資源分配給執行緒之比較重要性。具有高順位CLOS之一執行緒可由PCU 50分配較多電力。例示之處理方塊240基於針對該執行緒的服務類別而分配欲由一處理器消耗的功率。雖然PCU 50可進行功率資源的通用分配,但本地PCL 60可執行功率分配給一處理器核心。 額外備註及釋例
釋例1可包括一種功率控制系統其包含一或多個處理器,各個處理器具有一或多個核心,各個核心經組配以處理一或多個應用程式執行緒;各個核心包括具有邏輯之一特定機器暫存器,該邏輯以可組配邏輯或固定功能邏輯硬體之一或多者實施,來輔助與一資源監控件及一服務類別相關聯的執行緒;一功率控制單元,其用以根據該相關聯的服務類別針對一核心變化一功率分配;及通訊組織結構,其在該等一或多個處理器與該功率控制單元之間。
釋例2可包括釋例1之系統,其進一步包含一系統層級特定機器暫存器。
釋例3可包括釋例1或2之系統,其進一步包含於該功率控制單元中之功率操縱邏輯以分配功率至該等一或多個處理器核心。
釋例4可包括釋例1-3中任一者之系統,其中該核心係經組配使得於執行緒服務類別中之一動態改變不會中斷該執行緒的處理。
釋例5可包括釋例1-4中任一者之系統,其中該功率控制單元平衡同步工作負載。
釋例6可包括一種電腦設備其包含具有一或多個核心之一處理器,各個核心經組配以處理一或多個應用程式執行緒;於具有邏輯之該核心內部之一特定機器暫存器,該邏輯以可組配邏輯或固定功能邏輯硬體之一或多者實施,以輔助與一資源監控件及一服務類別相關聯的執行緒;及核心功率控制邏輯,其用以根據該相關聯的服務類別來汲取變化等級之功率。
釋例7可包括釋例6之設備,其中該核心功率邏輯經組配以從一系統功率控制單元接收功率指令。
釋例8可包括釋例6或7之設備,其中各個核心經組配以處理二或多個執行緒。
釋例9可包括釋例6-8中任一者之設備,其中該核心經組配使得於一執行緒的服務類別中之一動態變化不會中斷該執行緒的處理。
釋例10可包括釋例6-9中任一者之設備,其中各個核心包括一特定機器暫存器。
釋例11可包括一種動態負載平衡方法其包含將一應用程式分割成執行緒,各個執行緒要被提交至一處理器中之一核心;經由一特定機器暫存器將一執行緒與一資源監控件相關聯;經由該特定機器暫存器將該執行緒與一服務類別相關聯;及基於用於該相關聯執行緒的該服務類別分配由該處理器核心消耗的功率。
釋例12可包括釋例11之方法,其中於該執行緒之該服務類別中之一變化不會中斷該執行緒之處理。
釋例13可包括釋例11或12之方法,其中多個執行緒預訂至一單一資源監控件。
釋例14可包括釋例11-13中任一者之方法,其進一步包含報告資源監控及該服務類別至一功率控制單元。
釋例15可包括釋例11-14中任一者之方法,其進一步包含根據該服務類別中之一變化改變該處理器之一頻率。
釋例16可包括一種包含一組指令的至少一電腦可讀取儲存媒體,其中該等指令當被執行時,使得一處理器用以分配用於處理之一執行緒至該處理器中之各個核心;經由一特定機器暫存器將各個執行緒與一資源監控件相關聯;經由該特定機器暫存器將各個執行緒與一服務類別相關聯;及基於用於該相關聯之執行緒的該服務類別分配由該處理器核心消耗的該功率。
釋例17可包括釋例16之媒體,其中該等指令當被執行時於一執行緒之服務類別中之變化不會中斷該執行緒之處理。
釋例18可包括釋例16或17之媒體,其中多個執行緒可預訂至一單一資源監控件。
釋例19可包括釋例16-18中任一者之媒體,其中該等指令當被執行時,報告資源監控及服務類別至一功率控制單元。
釋例20可包括釋例16-19中任一者之媒體,其中該等指令當被執行時根據服務類別中之一變化改變該處理器之一頻率。
釋例21可包括一種用於動態負載平衡之設備其包含,用於將一應用程式分割成執行緒之構件,各個執行緒用以被提交至一處理器中之一核心;用於經由一特定機器暫存器關聯一執行緒與一資源監控件之構件;用於經由該特定機器暫存器關聯該執行緒與一服務類別之構件;及用於基於用於該相關聯執行緒的該服務類別分配由該處理器核心消耗的功率之構件。
釋例22可包括釋例21之設備,其進一步包含用於改變一執行緒之一服務類別伴以中斷該執行緒之處理之構件。
釋例23可包括釋例21或22之設備,其中多個執行緒可預訂至一單一資源監控件。
釋例24可包括釋例21-23中任一者之設備,其進一步包含用於報告資源監控及服務類別至一功率控制單元之構件。
釋例可25包括釋例21-24中任一者之設備,其進一步包含用於根據服務類別中之一變化改變該處理器之一頻率之構件。
實施例適用於使用全部類型的半導體積體電路(「IC」)晶片。此等IC晶片之釋例包括但非僅限於處理器、控制器、晶片組組件、可規劃邏輯陣列(PLA)、記憶體晶片、網路晶片、單晶片系統(SoC)、SSD/NAND控制器ASIC等。於若干圖式中,信號導體線路以線表示。有些可能不同,為了指示更多組成性信號路徑,有一數字標示以指示組成性信號路徑的數目及/或在一或多端具有箭頭,以指示主要資訊流方向。然而,此點不應以限制性方式解譯。反而,此等額外細節可連結一或多個具體實施例使用以輔助更容易瞭解電路。任何表示的信號線路,無論是否有額外資訊,實際上可包含一或多個信號,其可於多個方向行進及可以任何合宜類型的信號方案具體實施,例如,以差分對具體實施的數位線路或類比線路、光纖線路、及/或單端線路。
可能已經給定釋例大小/模型/數值/範圍,但實施例並非受此所限。製造技術(例如,微影術)隨著時間之推移而成熟,預期可製造尺寸較小的裝置。此外,為求例示及討論的簡明,及因而不遮掩實施例之某些面向,至IC晶片及其它組件的眾所周知之功率/接地連結可以或可不顯示於圖式中。又,排列可以方塊圖形式顯示以免遮掩了實施例,及又有鑑於下述事實,就此等方塊圖排列之實施例的特定細節係高度取決於於其內部欲實施實施例的平台,亦即,此等特定細節須明確落入於熟諳技藝人士的技巧範圍內。其中陳述特定細節(例如,電路)以描述具體實施例之情況下,熟諳技藝人士顯然易知可無或有此等特定細節之變化而實施實施例。因此實施方式須視為例示性而非限制性。
術語「耦合」及「通訊」於此處可使用來指示關注組件間之任何類型的關係,包括直接或間接,且適用於電氣、機械、流體、光學、電磁、電機或其它連結。此外,術語「第一」、「第二」等於此處可只使用來輔助討論,及除非另行指示,否則不具有特定時間或順序意義。
自前文描述熟諳技藝人士顯然易知實施例之廣義技術可以各種形式具體實施。因此,雖然已經連結其特定釋例描述實施例,但實施例之真正範圍不應受此所限,原因在於其它修正對熟諳技藝人士當研讀附圖、說明書、及如下申請專利範圍時將更為彰顯。
10‧‧‧系統20‧‧‧處理器22、80、82‧‧‧暫存器24‧‧‧處理器核心30‧‧‧資源監控件(RMID)40‧‧‧服務類別(CLOS)50‧‧‧功率控制單元(PCU)60‧‧‧功率控制邏輯(PCL)70‧‧‧通訊組織結構84、85‧‧‧多工器90‧‧‧RMID解析邏輯91‧‧‧已解析執行緒RMID92‧‧‧CLOS解析邏輯93‧‧‧已解析執行緒CLOS94、95‧‧‧監控邏輯96、99‧‧‧功率操縱邏輯97‧‧‧CLOS策略解析器200‧‧‧方法210-240‧‧‧例示處理方塊
實施例之各種優點對熟諳技藝人士而言藉由研究如下說明書及隨附之申請專利範圍,及藉由參考下列附圖將更為彰顯,附圖中: 圖1為依據一實施例一系統之一釋例的方塊圖; 圖2為依據一實施例資源監控邏輯之一釋例的方塊圖; 圖3為依據一實施例服務類別邏輯之一釋例的方塊圖;及 圖4為依據一實施例一方法之一釋例的流程圖。
10‧‧‧系統
20‧‧‧處理器
22、80、82‧‧‧暫存器
24‧‧‧處理器核心
30‧‧‧資源監控件(RMID)
40‧‧‧服務類別(CLOS)
50‧‧‧功率控制單元(PCU)
60‧‧‧功率控制邏輯(PCL)
70‧‧‧通訊組織結構
90‧‧‧RMID解析邏輯
92‧‧‧CLOS解析邏輯
94‧‧‧監控邏輯
96‧‧‧功率操縱邏輯
Claims (19)
- 一種功率控制系統,其包含:一或多個處理器,各個處理器具有一或多個核心,各個核心經組配以處理一或多個應用程式執行緒;各個核心包括具有邏輯之一特定機器暫存器,該邏輯以可組配邏輯或固定功能邏輯硬體之一或多者實施,來輔助與用以識別一核心層級功率之一資源監控件及該各別應用程式執行緒之一服務核心層級類別相關聯的執行緒,其中該核心層級功率係與要由該核心處理之該等一或多個應用程式執行緒之一各別的應用程式執行緒相關聯之一功率量測,或與該各別的應用程式執行緒相關聯之一功率估計之一或多者,以及其中來自該等一或多個應用程式執行緒之一第一應用程式執行緒係與該等一或多個服務核心層級類別之一第一服務核心層級類別相關聯;一功率控制單元,其用以接收該等一或多個服務核心層級類別及該等一或多個核心層級功率,其中該功率控制單元包括用以識別該第一應用程式執行緒之一第一服務系統層級類別之一系統層級特定機器暫存器;選擇該第一服務系統層級類別或該第一服務核心層級類別作為該第一應用程式執行緒之一服務已解析類別,及根據該服務已解析類別及該等一或多個核心層級功率之至少一者針對該等一或多個核心變化功率 分配;及通訊組織結構,其在該等一或多個處理器與該功率控制單元之間。
- 如請求項1之系統,其中該第一應用程式執行緒係關聯於該等一或多個核心層級功率之一第一核心層級功率,其中該系統層級特定機器暫存器係用以識別該第一應用程式執行緒之一第一系統層級功率,其中該第一系統層級功率係該第一應用程式執行緒之一功率量測或該第一應用程式執行緒之一功率估計之一或多者,並且其中該功率控制單元係用以選擇該第一系統層級功率或該第一核心層級功率作為一已解析功率值。
- 如請求項1之系統,其進一步包含於該功率控制單元中之功率操縱邏輯以分配功率至該等一或多個核心。
- 如請求項1之系統,其中該等一或多個核心之至少一者係經組配使得於藉由該等一或多個核心之至少一者所處理之該等一或多個應用程式執行緒之一執行緒的該服務核心層級類別中之一動態改變不會中斷由該等一或多個核心之該至少一者的處理。
- 如請求項1之系統,其中該功率控制單元平衡同步工作負載。
- 如請求項2之系統,其中該服務已解析類別係根據該已解析功率值來被調整。
- 一種電腦設備,其包含:具有一或多個核心之一處理器,各個核心經組配以 處理一或多個應用程式執行緒;於具有邏輯之該等一或多個核心之一第一核心之內部之一特定機器暫存器,該邏輯以可組配邏輯或固定功能邏輯硬體之一或多者實施,以輔助與用以識別一核心層級功率之一資源監控件及第一應用程式執行緒之一服務核心層級類別相關聯的執行緒,其中該核心層級功率要與一時間戳記相關聯,其中該核心層級功率係與要由該第一核心所處理之該等一或多個應用程式執行緒之該第一應用程式執行緒相關聯之一功率量測或與該第一應用程式執行緒相關聯之一功率估計中之一或多者,其中該服務核心層級類別關聯至該第一核心之一頻率以促進跨該等一或多個核心之動態負載平衡,其中該核心層級功率及該服務核心層級類別要被提供至一系統功率控制單元;及核心功率控制邏輯,其用以根據從該系統功率控制單元所接收且與該服務核心層級類別及核心層級功率相關連之一功率分配,來汲取變化等級之功率。
- 如請求項7之設備,其中藉由該核心功率控制邏輯所接收之該功率分配要與由該系統功率控制單元之該服務核心層級類別之一調整相關聯。
- 如請求項7之設備,其中各個核心經組配以處理二或多個執行緒。
- 如請求項7之設備,其中該第一核心經組配使得於該第一應用程式執行緒的該服務核心層級類別中之一動態變化不會中斷該第一應用程式執行緒的處理。
- 如請求項7之設備,其中各個核心包括一 特定機器暫存器。
- 一種用於動態負載平衡的方法,其包含:將要由一或多個處理器之核心所執行之一應用程式分割成執行緒;提交各個執行緒至該等核心之一各別核心;經由處理該第一執行緒之該等核心之一第一核心之一特定機器暫存器來將該等執行緒之一第一執行緒與用來識別一核心層級功率之一資源監控件相關聯,其中該核心層級功率係與該第一執行緒相關聯之一功率量測或與該第一執行緒相關聯之一功率估計之一或多者,其中該核心層級功率要與一時間戳記相關聯;經由該第一核心之該特定機器暫存器來將該第一執行緒與一服務核心層級類別相關聯,其中該服務核心層級類別關聯至該第一核心之一頻率以促進跨該等核心之動態負載平衡;提供該核心層級功率及該服務核心層級類別至一系統功率控制單元;以及在該系統功率控制單元,基於該服務核心層級類別及該核心層級功率來分配一功率容許量至該第一核心。
- 如請求項12之方法,其中於該第一執行緒之該服務核心層級類別中之一變化不會中斷該第一執行緒之處理。
- 如請求項12之方法,其中多個執行緒預訂至一單一資源監控件。
- 如請求項12之方法,其進一步包含根據 該服務核心層級類別中之一變化來改變該等一或多個處理器之一頻率。
- 一種包含一組指令的至少一非暫態電腦可讀取儲存媒體,其中該等指令當被執行時,使得一處理器用以:將一應用程式分割成要由該處理器之核心所執行之執行緒;分配用於處理之各個執行緒至該等核心之一各別核心;經由處理該第一執行緒之該等核心之一第一核心之一特定機器暫存器來將該等執行緒之第一執行緒與用來識別一核心層級功率之一資源監控件相關聯,其中該核心層級功率要與一時間戳記相關聯,其中該核心層級功率係與該第一執行緒相關聯之一功率量測或與該第一執行緒相關聯之一功率估計之一或多者;經由該第一核心之該特定機器暫存器將第一執行緒與一服務核心層級類別相關聯,其中該服務核心層級類別關聯至該第一核心之一頻率以促進跨該等核心之動態負載平衡;提供該核心層級功率及該服務核心層級類別至一系統功率控制單元;以及在該系統功率控制單元,基於該服務核心層級類別及該核心層級功率來分配一功率容許量至該第一核心。
- 如請求項16之非暫態電腦可讀取儲存媒體,其中該等指令當被執行時,於服務核心層級類別之變 化不會中斷該第一執行緒之處理。
- 如請求項16之非暫態電腦可讀取儲存媒體,其中多個執行緒預訂至一單一資源監控件。
- 如請求項16之非暫態電腦可讀取儲存媒體,其中該等指令當被執行時,根據該服務核心層級類別中之一變化改變該處理器之一頻率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/088,531 US10146287B2 (en) | 2016-04-01 | 2016-04-01 | Processor power monitoring and control with dynamic load balancing |
US15/088,531 | 2016-04-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201738742A TW201738742A (zh) | 2017-11-01 |
TWI735531B true TWI735531B (zh) | 2021-08-11 |
Family
ID=59961518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106104761A TWI735531B (zh) | 2016-04-01 | 2017-02-14 | 藉動態負載平衡之處理器功率監控及控制的技術 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10146287B2 (zh) |
TW (1) | TWI735531B (zh) |
WO (1) | WO2017172207A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10887078B2 (en) * | 2017-07-11 | 2021-01-05 | Wind River Systems, Inc. | Device, system, and method for determining a forwarding delay through a networking device |
US10761641B2 (en) * | 2018-06-29 | 2020-09-01 | Intel Corporation | Dynamic on-demand joint processing of touch sensor data from multiple independent touch sensors at an electronic circuit |
TWI672649B (zh) * | 2018-09-27 | 2019-09-21 | 宏碁股份有限公司 | 執行例行工作的方法與電子裝置 |
TWI725848B (zh) * | 2020-05-14 | 2021-04-21 | 遠東科技大學 | 平衡伺服器負載之方法 |
CN114268640B (zh) * | 2020-09-16 | 2022-09-09 | 上海交通大学 | 云边协同的工业物联网智能路由系统 |
US20220206862A1 (en) * | 2020-12-25 | 2022-06-30 | Intel Corporation | Autonomous and extensible resource control based on software priority hint |
US20220318056A1 (en) * | 2021-03-30 | 2022-10-06 | Advanced Micro Devices, Inc. | Dynamic system power load management |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194513A1 (en) * | 2001-06-19 | 2002-12-19 | Hitachi, Ltd. | Semiconductor device and an operation control method of the semiconductor device |
US20050154861A1 (en) * | 2004-01-13 | 2005-07-14 | International Business Machines Corporation | Method and data processing system having dynamic profile-directed feedback at runtime |
TW201214288A (en) * | 2010-05-26 | 2012-04-01 | Ibm | Optimizing energy consumption and application performance in a multi-core multi-threaded processor system |
US20140189377A1 (en) * | 2012-12-28 | 2014-07-03 | Dheeraj R. Subbareddy | Apparatus and method for intelligently powering hetergeneou processor components |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804632B2 (en) | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
KR101108397B1 (ko) | 2005-06-10 | 2012-01-30 | 엘지전자 주식회사 | 멀티-코어 프로세서의 전원 제어 장치 및 방법 |
US7895454B2 (en) * | 2007-02-06 | 2011-02-22 | International Business Machines Corporation | Instruction dependent dynamic voltage compensation |
US8010822B2 (en) | 2008-03-28 | 2011-08-30 | Microsoft Corporation | Power-aware thread scheduling and dynamic use of processors |
KR102197874B1 (ko) | 2014-09-01 | 2021-01-05 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 쓰레드 스케줄링 방법 |
-
2016
- 2016-04-01 US US15/088,531 patent/US10146287B2/en active Active
-
2017
- 2017-02-14 TW TW106104761A patent/TWI735531B/zh active
- 2017-03-01 WO PCT/US2017/020180 patent/WO2017172207A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194513A1 (en) * | 2001-06-19 | 2002-12-19 | Hitachi, Ltd. | Semiconductor device and an operation control method of the semiconductor device |
US20050154861A1 (en) * | 2004-01-13 | 2005-07-14 | International Business Machines Corporation | Method and data processing system having dynamic profile-directed feedback at runtime |
TW201214288A (en) * | 2010-05-26 | 2012-04-01 | Ibm | Optimizing energy consumption and application performance in a multi-core multi-threaded processor system |
US20140189377A1 (en) * | 2012-12-28 | 2014-07-03 | Dheeraj R. Subbareddy | Apparatus and method for intelligently powering hetergeneou processor components |
Also Published As
Publication number | Publication date |
---|---|
TW201738742A (zh) | 2017-11-01 |
WO2017172207A1 (en) | 2017-10-05 |
US10146287B2 (en) | 2018-12-04 |
US20170285710A1 (en) | 2017-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI735531B (zh) | 藉動態負載平衡之處理器功率監控及控制的技術 | |
US8302102B2 (en) | System utilization through dedicated uncapped partitions | |
US8875142B2 (en) | Job scheduling on a multiprocessing system based on reliability and performance rankings of processors and weighted effect of detected errors | |
WO2019091387A1 (en) | Method and system for provisioning resources in cloud computing | |
TW200945206A (en) | Method for automatic workload distribution on a multicore processor | |
US10503546B2 (en) | GPU resource priorities based on hardware utilization | |
US10831539B2 (en) | Hardware thread switching for scheduling policy in a processor | |
US20160357689A1 (en) | Operating System-Managed Interrupt Steering in Multiprocessor Systems | |
RU2573733C1 (ru) | Способ и устройство для регулировки канала i/о на виртуальной платформе | |
CN103336722A (zh) | 一种虚拟机cpu资源监控和动态分配方法 | |
KR20120066189A (ko) | 매니코어 시스템에서 응용 프로그램의 상태를 동적으로 재구성하는 장치 및 방법 | |
US9710381B2 (en) | Method and apparatus for cache memory data processing | |
CN102654841A (zh) | 细粒度分配虚拟机计算资源的方法和设备 | |
US20140157273A1 (en) | Method, data processing program, and computer program product to compensate for coupling overhead in a distributed computing system, and corresponding overhead calculator for a distributed computing system and corresponding computer system | |
US11954419B2 (en) | Dynamic allocation of computing resources for electronic design automation operations | |
US9038084B2 (en) | Managing utilization of physical processors of a shared processor pool in a virtualized processor environment | |
US20210042157A1 (en) | Multi-core system and controlling operation of the same | |
CN108701062B (zh) | 通过分层性能平衡来减轻负载不平衡 | |
US10157066B2 (en) | Method for optimizing performance of computationally intensive applications | |
US9252131B2 (en) | Chip stack cache extension with coherency | |
US9864423B2 (en) | Mitigating component performance variation | |
CN102945214A (zh) | 基于io延迟时间分布优化中断处理任务的方法 | |
EP3343370A1 (en) | Method of processing opencl kernel and computing device therefor | |
US11983087B2 (en) | Detecting anomalous latent communications in an integrated circuit chip | |
Peng et al. | A low-cost power measuring technique for virtual machine in cloud environments |