TWI464570B - 用於平衡具有多核心之計算裝置的效能與電力節省的方法、電腦可讀儲存媒體與多邏輯處理器系統 - Google Patents

用於平衡具有多核心之計算裝置的效能與電力節省的方法、電腦可讀儲存媒體與多邏輯處理器系統 Download PDF

Info

Publication number
TWI464570B
TWI464570B TW098105020A TW98105020A TWI464570B TW I464570 B TWI464570 B TW I464570B TW 098105020 A TW098105020 A TW 098105020A TW 98105020 A TW98105020 A TW 98105020A TW I464570 B TWI464570 B TW I464570B
Authority
TW
Taiwan
Prior art keywords
core
cores
power
parking
policy
Prior art date
Application number
TW098105020A
Other languages
English (en)
Other versions
TW200941209A (en
Inventor
Allen Marshall
Yimin Deng
Nicholas S Judge
Arun U Kishan
Andrew J Ritz
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW200941209A publication Critical patent/TW200941209A/zh
Application granted granted Critical
Publication of TWI464570B publication Critical patent/TWI464570B/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
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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)
  • Power Sources (AREA)

Description

用於平衡具有多核心之計算裝置的效能與電力節省的方法、電腦可讀儲存媒體與多邏輯處理器系統
本發明係有關於處理器之電力察覺執行緒排程與動態使用。
電力消耗之電腦系統管理對於延伸一電池之運作能力以及降低整體的電力消耗來說是很重要的,其可在財務及環境兩者上受益。即使是對於非移動性之電腦來說,當依靠一電池備份系統時(例如在一通用電力中斷期間),降低電力之需求係有益於節省重要的全域資源並延長運算。
儘管一計算系統的大部份元件在系統運作期間會使用電力,但處理器卻使用了不成比例的系統電力。許多電腦系統(包括消費者基礎之系統)包括多處理器及(或)具有多核心的處理器。多處理器係致能該等電腦以平行執行工作之增加層級,然而額外的處理器亦可增加電力消耗。現在大部份處理器的特徵在於非常低電力空閒(idle)的電力狀態,其可應用在多核系統之每一核心上,並可被一作業系統所控制。此外,處理器頻率可在每一核心或每一核心群組之基礎上進行縮放,以降低系統之電力使用。
本發明內容係被提供以引入關於提供處理器之電力察覺執行緒排程與動態使用的簡化概念,其另被詳細描述於以下之實施方式中。本發明內容並不意欲辨識所申請專利範圍主題之基本特徵,亦不意欲用以決定本案所請求標的之範圍。
用以提供處理器之電力察覺執行緒排程與動態使用之該等示範性技術與裝置係被揭露。根據一或多實施例,一多核心系統係被監控以決定核心活動。一電力政策被檢索以對於該等核心來初始一效能與電力節省計劃。根據電力政策與核心活動,多核心系統之一或多核心係被停放(置入一系統特定之低電力狀態)。當一或多核心被停放時,該等未停放核心被留下來處理所有的剩餘系統活動。在一些實施例中,電力政策可被修改以包括影響電力節省或系統效能之該等額外因子。在至少一其他實施例中,除了停放此一或更多核心外,多核心系統可動態地調整一或多未停放核心之一電力狀態。
處理器可致能低電力空閒(idle)之電力狀態,包括沒有消耗任何電力(零瓦特)之一空閒狀態。當沒有有用的工作在執行時,一作業系統可指揮一或多處理器(或僅是「核心」)至一空閒電力狀態(亦即,處理器睡眠狀態)。將花費在此等低電力狀態之時間最大化可能會增加系統的能量效率及(或)延伸電池的效能。除了此等處理器空閒電力狀態之外,處理器亦可提供對於處理器頻率縮放之控制(不是單獨進行就是和一同時發生之處理器核心電壓降低一起進行)。此等控制可被共同代表為處理器電力管理(PPM)特徵。
處理器可易於在每秒中執行大量的指令。儘管具有如此高之電腦指令執行能力,處理器在短週期之時間內可能會在工作量上有相當多的變化。舉例來說,短到如同一打字員在鍵擊間延遲的週期可致能PPM來短暫地降低處理器的電力,或甚至是進入一短的睡眠狀態。儘管在一秒之一小部份內的電力似乎是可以商量的,但經過較長週期之時間後所節省的累積電力可以是顯著的。
因此,當該等處理器並不具有適當的工作量來使用較高的電力狀態時,PPM可藉由將未使用之該等處理器導向至一低電力狀態或一睡眠狀態(「停放」狀態)來降低該等電力需求。該等停放核心可處於一處理器空閒電力狀態(ACPI C-狀態),而此狀態使用最小量之電力或根本沒有使用電力。在系統上被完成之作用中的工作將可在未被停放之該等處理器上被時間多工。
因此,便於提供處理器之電力察覺執行緒排程與動態使用的該等技術以及裝置在此係揭露於以下之各式段落中。
說明性環境
第1圖為一說明性系統100,其可被用來實作該等處理器之電力察覺執行緒排程與動態使用的至少一實施例。系統100包括一計算裝置102。舉例來說,在其他可能的計算裝置中,計算裝置可以是一移動電腦102(1)、一桌上型電腦102(2)、及(或)一伺服器102(N)。在一非常基本的配置設定中,計算裝置102通常會包括一或多處理器(「processor」)104。舉例來說,該等處理器104可以是經配置設定為並列或序列之多獨立處理器以及一多核心處理單元(不是單獨地就是在各式之組合)之至少一者。一多核心處理器可具有被包括在相同晶片或積體電路上之兩或更多處理器(「核心」)。詞彙「處理器」、「核心」、以及「邏輯處理器」可在本揭露中被互相交換使用,除非是特定說明或是參照於一特定元件。
此外,計算裝置102包括系統記憶體106。根據精確的配置設定以及計算裝置之種類,系統記憶體106可以是揮發性(例如像是RAM)、非揮發性(例如像是ROM、快閃記憶體等等)、或兩者之一些組合。系統記憶體106通常包括一作業系統108、一或多程式模組110,並可包括程式資料112。
作業系統108可包括一核心電力管理器114,來負責指揮該等處理器電力管理(PPM)特徵的使用。核心電力管理器114可使用一效能狀態(p-狀態)或線性閥狀態(t-狀態)來調整該等處理器104的效能(例如速度)。舉例來說,核心電力管理器114可以一目前工作量來平衡該等處理器104的電力消耗以儘可能節省能量。額外地或替代地,核心電力管理器114可致能該等處理器104以提供一最大處理能力來回應於一工作量需求。再者,當沒有主動執行緒準備好要運作時(例如像是程式模組110的該等執行緒),核心電力管理器114可指揮一或多處理器104來進入一低電力睡眠狀態。作業系統108可提供用來佇列、排程、排列優先順序、以及發送系統100所有可獲用處理器104上之該等工作單元(執行緒)的該等模組,其可被表示為共同參照為核心執行緒排程器116之一系列模組。當一主動執行緒準備好要運作時,核心排程器116透過透過一或多模組來將此執行緒發送至任何可獲用的核心來加以處理。
一般來說,核心電力管理器114與核心排程器116在該等處理器104的控制與操作上具有競爭的利害關係。核心電力管理器被配置設定為將該等處理器104的電力消耗最小化,因此會試著減少該等處理器104之一或多者的頻率及(或)電力狀態。相反地,核心排程器116被配置設定為將處理產量最大化,因此會傾向將工作分配到所有的處理器104。
計算裝置102可具有額外的特徵或功能性。舉例來說,計算裝置102亦可包括額外的資料儲存裝置(可移除式及(或)不可移除式),舉例來說例如像是磁碟、光碟、或磁帶。此額外的儲存係藉由一可移除式儲存118以及一不可移除式儲存120來顯示於第1圖中。此電腦儲存媒體可包括以任何儲存資訊(例如像是電腦可讀取指令、資料結構、程式模組、或其他資料)之方法或技術來實作之揮發性及非揮發性、可移除式及不可移除式媒體。系統記憶體106、可移除式儲存118、以及不可移除式儲存120皆為電腦儲存媒體之範例。因此,電腦儲存媒體包括(但不限於)RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、數位多用途碟(DVD)或其他光儲存、磁匣、磁帶、磁碟儲存或其他磁儲存裝置、或可被用來儲存所需資訊與可被計算裝置102存取之任何其他媒體。任何此電腦儲存媒體可作為計算裝置102的一部份。
計算裝置102亦可具有一或多輸入裝置122,例如像是鍵盤、滑鼠、筆、聲音輸入裝置、觸碰輸入裝置等等。一或多輸出裝置124(例如像是顯示器、喇叭、印表機等等)亦可直接地或透過連接的方式被包括在計算裝置102中。
計算裝置102亦可包括一通訊連接126,其允許例如在一網路上讓此裝置與其他的計算裝置通訊。通訊連接126是通訊媒體的一範例。通訊媒體通常可藉由電腦可讀指令、資料結構、或程式模組來實作。詞彙「調變資料信號」代表一信號係具有一或多者之其特徵組或將信號中資訊加以編碼之方式來改變。藉由範例方式(並非作為限制),通訊媒體包括有線媒體(例如一有線網路或直線連接)以及無線媒體(例如聲音、RF、紅外線、及其他無線媒體)。電腦可讀媒體可為任何可獲用媒體,其可被計算裝置102所存取。藉由範例方式(並非作為限制),電腦可讀媒體可包含「電腦儲存媒體」以及「通訊媒體」。
各種模組與技術在此可被描述為被一或多電腦或其他裝置執行之電腦可執行指令(例如像是程式模組)的一般情境中。一般來說,程式模組包括常式、程式、物件、元件、資料結構等等,用以執行特定的工作或實作特定的抽象資料類型。這些程式模組及其相似者可被執行為本地碼或可被下載與執行於例如在一虛擬機器或是其他剛好及時之編輯執行環境中。在各種實施例中,這些程式模組的功能性通常可被組合或依需求分配。這些模組與技術的實作可被儲存或被傳輸於某些形式之電腦可讀媒體。
說明性處理器配置設定
第2圖顯示一程序200之至少一實施例的流程圖,用以產生一核心停放遮罩並實作此遮罩與該執行緒排程器來致能對於該等處理器之工作分配。程序200被描繪為在一邏輯流程圖中之一系列方塊,其代表可被實作以硬體、軟體、或在此組合之一連串操作。在軟體之情境中,該等方塊代表電腦可執行指令,當被一或多處理器執行時該等指令係執行所述之操作。一般來說,電腦可執行指令包括常式、程式、物件、元件、資料結構、以及執行特定功能或實作特定抽象資料種類之類似者。該等操作於此所述之順序並非意欲被理解為一限制,且任意個數之所述方塊可以任何順序及(或)平行之方式組合以實作此程序。除了程序200之外,透過此揭露所述之其他的程序應被相應地解譯。為討論起見,程序200係參照於第1圖之系統100來描述。
如第2圖所示,一核心停放遮罩在方塊202中被產生於系統記憶體內。舉例來說,在方塊202中核心電力管理器114可產生核心停放遮罩,其常駐於作業系統108內。一說明性核心停放遮罩(「位元遮罩」或僅是「遮罩」)204可提供一單元來代表一對應核心。如第2圖所示,說明性系統包括8個核心,然而亦可使用更多或更少的核心。位元遮罩204在每一單元中包括一位元值,其中「1」代表一停放核心而「0」代表一未停放核心。一停放核心係一被置入一低電力睡眠狀態之核心。在某些實施例中,一停放核心沒有電力的消耗,因此使用零瓦特。在某些實施例中,該等核心具有相依性,例如像是共享硬體電路。若兩核心皆可被放進一低電力狀態,相依性亦可被隱含地放進一低電力狀態。因此,一核心停放遮罩可被選擇相較於其他遮罩何者將可最大化電力之節省。舉例來說,在一單一處理器插座中將所有核心關閉比起在兩處理器插座中將一半的核心關閉來說可節省更多電力。位元遮罩204包括4個停放核心,(由右至左,數字0至7)被標示為:3、5、6、7。接著該等核心0、1、2、4為未停放核心。
根據一或多實施例,位元遮罩204在方塊206中可被反向來產生反向的位元遮罩208。舉例來說,核心電力管理器114可產生反向的位元遮罩208。反向的位元遮罩包括對於每一單元(亦即核心)之一反向位元值。因此,標示為「1」之該等核心可傾向於處理資料而標示為「0」之該等核心可不傾向於處理該等應用執行緒。
在方塊210中,一應用排程被例如像是核心排程器116所決定。舉例來說,計算裝置102可運作一或更多之程式模組110。某些的程式模組110可包括單一執行緒程式而其他的程式模組可包括多執行緒模組。核心排程器116通常會依據一些因子(像是優先性、核心可獲性、傾向(排程限制)、以及其他因子)來將每一執行緒排程至一可獲用核心。當該等執行緒超出可獲用核心時,核心排程器116交替該等執行緒或是將該等執行緒排程以確保該等執行緒最後會有進展(亦即,被處理器所執行)。該等處理器104可在單一核心上每秒多次交替該等執行緒,因此提供核心排程器116機會來有效率地將該等執行緒排程至可獲用的核心。
許多程式模組並不會將執行緒分配至特定的處理器,但是一些複雜的程式模組可能會需要一執行緒被一特定處理器所執行,而被參照為設置執行緒的處理器傾向。該等程式模組執行緒傾向遮罩212係代表所需之該等核心,以用以處理被該等程式模組110所決定之該等執行緒。舉例來說,一第一程式模組可具有一第一傾向遮罩212(1),其指示出該等執行緒必須被核心排程器116排程在核心0與核心1上。關於一第二程式模組之一第二傾向遮罩212(2)可指示出該等執行緒可被排程在核心2與核心3上,而其他的程式模組可包括一傾向遮罩212(P)來指示出該等執行緒可被排程在任何可獲用的核心上(所有的核心皆被顯示為選取)。應注意到,傾向遮罩212(P)是一特殊情況,因為它有效地對於該等核心上所配置之該等執行緒來說不包括任何限制。
在某些實施例中,於方塊214內利用一「AND」運算子216,該等程式模組傾向遮罩212被一次一個地合併於反向的位元遮罩208,以決定對於一可獲用處理器組218來說之一組適合處理器。在方塊220中,第一傾向遮罩212(1)被用來產生一第一可獲用處理器組218(1)。程序200可包括對於每一程式模組(亦即,對於每一組合之反向位元遮罩208以及傾向遮罩212)來說該等操作210、214、以及220之一反覆程序。因此,在該等操作210、214、以及220之一第二反覆過程中,第二傾向遮罩212(2)被用來產生一第二可獲用處理器組218(2),以及諸如此類。
如以上所討論,對於每一核心(例如,核心0、...、核心7)之該等位元值係被用來決定對於排程該等執行緒來說可獲用的處理器組218。「AND」運算子216回傳一核心位元值「1」,在此兩運算元(亦即對於一核心來說被合併的該等位元值)皆包括一值「1」來代表一執行緒傾向於一特定核心。舉例來說,當第一傾向遮罩212(1)與反向位元遮罩208合併時,如第一可獲用處理器組218(1)內所顯示,核心0與核心1兩者皆為主動核心並將回傳一核心位元值「1」,而剩餘的核心2到核心7則包括一核心位元值「0」。
第二傾向遮罩212(2)在核心3處包括一核心值「1」,反向位元遮罩208則指示核心3係被停放。核心排程器116可選擇推翻反向位元遮罩來提供第二傾向遮罩212(2),其被表示於第二可獲用處理器組218(2)內(其中核心3包括包括一核心值「1」),因此對於在反向位元遮罩208內被標示為停放之一核心移動工作(隨後其可為非停放)。在某些實施例中,執行緒可使用任意個數的試探法(heuristics)來加以排程。在執行緒的傾向中一最理想核心可被使用而忽略反向位元遮罩208。若最理想核心被停放,一撤退可包括在相同NUMA(非一致記憶體存取)節點中選擇一處理器以作為較佳核心。排程器將核停放反向遮罩當作執行執行緒之較佳位置的暗示,但其將選擇其相信是最佳效能選項的硬限制(硬傾向)。
位元值可被忽略(其中所有的核心都被標示為可獲用,例如像是在傾向遮罩212(P)中),因為程式模組指出其允許該等執行緒被任何核心所執行。傾向遮罩212(P)可包括在反向位元遮罩208所指示之任何核心處被排程的核心(例如核心0、1、2、4),其藉由顯示「1/0」之核心值(不是零就是壹,至少一核心必須有一核心值「1」來致能傾向遮罩212(P)工作的排程)來被可獲用處理器組218(P)所表示。在某些實施例中,當決定對於該等可獲用核心之工作的配置時,可獲用處理器組218(P)可選擇非停放與空閒之該等核心。理想上,工作移動可分配工作至該等核心0、1、2、3,因此讓核心4未被使用且可能被停放在一後續動作中。如以下所討論,其他考量可決定哪些核心被分配工作以回應於傾向遮罩212(P)來產生一較佳位置。舉例來說,一較佳位置可根據該等因子像是選項性記憶體存取效能。
如以上參照於第2圖所述,該等操作210、214、220可被用來排程該等執行緒。此外,其他的工作可藉由該等操作210、214、220來被執行於程序200,例如像是一延遲程序呼叫(DPC)、計時器、處理中斷、或其他處理器工作。
根據一或多實施例,第2圖顯示對於一時間片段之一範例核心使用222。舉例來說,在一給定時間檢查期間內(例如沒有該等限制100毫秒),來自可獲用處理器組218之該等主動核心之一組合可造成此核心使用222。如上所述,根據工作是否被排程於可獲用處理器組218(P)之核心4中,核心使用222之核心4可以指示或不指示為被使用。從核心電力管理器114的觀察,核心使用222將理想地包括對於核心4之一核心值「0」,因此將未停放核心的個數最小化並造成電力消耗的減少。不管核心使用222為何,一新的核心停放遮罩可對於下一時間片段來產生,其可使用來自核心使用222之資訊以決定新的核心停放遮罩。在一些範例中,核心3可以不需要,因為核心2可具有足夠的處理利用以滿足第二傾向遮罩212(2)且仍為一未停放核心。
根據本揭露之至少一實施例,第3A圖與第3B圖顯示說明性核心使用。更特定來說,第3B圖顯示該等核心使用之一說明性修正以回應於如第3A圖所示之一說明性系統核心使用。
根據一或多實施例,第3A圖顯示一系統300,系統300包括一些核心302、304、306、以及308,儘管更多或更少的核心可被包括於系統300之替代實施例中。核心電力管理器114可使用一電力政策來控制該等核心。此電力政策可決定主動核心的個數並影響核心電力管理器114可如何計算該等可獲用核心之組。此電力政策可被用來限制可獲用核心的個數,或允許核心電力管理器114來縮放可獲用核心的個數。被一平台所支援之核心個數可在不同的系統上改變,因此有必要使用一彈性方案以允許核心個數被核心電力管理器所限定,而無需事先知道有多少核心是可獲用的。因此,在一些實施例中,被使用之核心個數可被表示為一最大核心使用之百分比。因此,該等核心之一實作可能需要聚集用來代表核心個數之下一可獲用個數的百分比。舉例來說,核心使用百分比可被計算為百分之六十。如果系統包括4個核心,則百分比可被聚集至百分之七十五,並且有3個核心是未停放而有1個核心是停放的。
每一核心包括一核心使用(「核心公用程式」)310,核心使用310代表核心的工作量,工作量被表示為一核心對於總時間之運作時間的百分比,其無關於核心的效能狀態。舉例來說,核心0 302可具有80%的核心使用,以指示出核心目前正在做比起核心0工作量最大能力來說少20%的工作。因此,100%的核心使用係代表一核心工作於一最大能力,而具有0%核心使用之一核心係代表一未使用核心。在某些實施例中,核心電力管理器114可監控此核心使用310。
此外,每一核心可包括一效能狀態(先進配置設定與電力介面(ACPI)p-狀態)312。p-狀態312為一核心頻率與電壓設定,並且被核心電力管理器114所控制。p-狀態312係類似於一引擎之閥控制。100%的p-狀態312代表一核心的最大效能狀態,而50%的p-狀態則代表一核心處於最大頻率的一半並具有一對應的降低核心電壓準位。應注意到,一核心之實際電力消耗可不一致或正比於p-狀態312。舉例來說,因為有其他的因子(例如核心電力洩露、核心基本電力消耗、及(或)其他因子),所以一核心之p-狀態312的加倍可能不會讓核心的電力消耗加倍。在某些實施例中,核心電力管理器114可決定及(或)控制p-狀態312,例如藉由參照電力政策。
每一核心包括一輸出使用值(「輸出公用程式」)314,輸出使用值314係代表關於總工作量能力的核心工作量。舉例來說,輸出公用程式314可具有刻度0到10,000,其中0代表沒有使用而10,000代表最大的使用。輸出公用程式314可藉由將核心公用程式310乘以p-狀態312來加以計算。舉例來說,核心0302包括80%之一核心使用與80%之一p-狀態,因此輸出公用程式是6400。在某些實施例中,輸出公用程式314被核心電力管理器114所使用,以決定該等核心停放決定及(或)決定p-狀態312之設定,例如參照於電力政策。
在某些實施例中,系統300可包括一核心方塊316,例如像是一第一核心方塊316(1)以及一第二核心方塊316(2),然而更多或更少的核心方塊可被實作於系統300中。核心方塊316可代表在單一電路上具有多核心之一平台,例如一雙核心或多核心處理器。每一核心方塊316可包括獨有的電力消耗特徵。舉例來說一核心可包括主動準位電力消耗、核心洩露、或其他電力散逸,其發生於當方塊內之該等核心的任一者為未停放時。舉例來說,若在第一核心方塊316(1)內的兩核心皆為未停放且具有10,000之輸出公用程式時,合併的電力消耗可為2x瓦特。若在第一核心方塊316(1)中的核心0302隨後被停放(例如,輸出使用為零)而核心1304維持未改變的狀態,則合併電力消耗可比x瓦特更大,這是因為關聯於核心方塊316之該等因子(例如電力洩露、主動電力消耗、及(或)其他因子)的緣故。當核心1隨後被停放時,隨之而來的電力消耗可為零瓦特。因此,其可具有優勢來停放該等核心用以讓其他核心隨後被停放之前使整個核心方塊變為被停放,因此將電力節省最大化。
如第3A圖所示,系統300之一說明性實作包括被停放之核心3308,而其他核心則為未停放(亦即主動)。儘管核心3包括100%的p-狀態,此可能並不指示出電力被供應至核心3。以另一方式說明,核心電力管理器114可停放一核心而使一p-狀態處於高出0%之一準位。在一範例使用方案中,核心電力管理器114可計算系統300之輸出以決定最大的總系統公用程式30,000(亦即,3未停放核心x10,000=30,000)之一總系統公用程式12,600(亦即,6400+3200+3000=12,600)。參照於上之該等使用數字係意欲在本質上被說明為可使用總系統公用程式來執行之該等計算,因此未限制於本揭露。
第3B圖顯示在一經修改系統318中該等核心使用之一說明性修改,以回應於如第3A圖所示之總系統使用。修改系統318包括處在停放/未停放狀態之該等核心302、304、306、以及308的一修改。如上所示,參照於系統300,總系統公用程式在一範例中被計算為12,600。因此,核心電力管理器114可停放一額外的核心而不用降低系統的能力來滿足目前工作量的需求,這是因為總系統公用程式小於兩核心之最大使用能力(亦即,12,600<20,000)。根據一些實施例,也許是根據電力政策或對於系統之一使用者來說可以是相當易懂之其他因子,核心電力管理器114可選擇一核心來停放。除了較佳電力效率之其基礎目標,使用者易懂包括無使用者感知系統或應用效能衝擊。對於實作核心停放之任何所需改變可被限制於非常低準位作業系統之內部元件,因此在此對關聯於核心停放之終端使用者來說可以沒有行為上的或經驗上的改變。
當一第二核心被停放時,被修改系統的最大總系統公用程式將下降至20,000(兩核心乘以10,000)。核心電力管理器114可停放在先前狀態中是主動的任何核心(如第3A圖所示)。如上所討論,其可具有優勢來停放核心2306以完全地停放第二核心方塊316(2),以導致一停放核心方塊320。因此,相較於停放核心0302或核心1304而非核心2306,停放核心方塊320可增加電力節省。
為了提供一易懂改變給系統318的任何使用者,停放核心(核心2)的輸出公用程式必須被吸收或被重新配置至剩餘的未停放核心(亦即核心0與核心1)。由第3A圖可得,核心2的輸出公用程式為3,000。因此,在一範例中,藉由讓每一核心具有一修改的輸出公用程式322(其對於每一核心採用一額外的輸出公用程式1500),該等未停放核心可平均地共享負擔。在一些範例中,當將公用程式分配至該等未停放核心時,一停放核心之總公用程式的其他部份可被使用。舉例來說,一未停放核心可運作於接近能力(總公用程式接近10,000,其為最大的公用程式)。在此一範例中,具有較大頻寬之該等核心可吸收更多停放核心之總公用程式。
在一或更多實施例中,核心電力管理器114可分別調整核心0302與核心1304的核心公用程式310為79%與47%。此外,對於兩未停放核心,核心電力管理器114可增加p-狀態312至100%。因此,經修改系統318之總系統公用程式係維持在等於系統300之總系統公用程式為12,600。
當導致經修改系統318電力消耗之降低時,經修改系統318說明被停放/未被停放狀態、核心公用程式310、及(或)p-狀態312之一可能修改,以提供對於使用者來說為易懂之一核心修改。然而,許多其他修改可施作於系統318,其導致電力消耗的降低並且對於使用者來說為易懂的。舉例來說,核心1304的核心公用程式310可被增加至94%而其p-狀態則被降低至50%,這會導致等於4700之總公用程式。修改策略可被電力政策所決定,而電力政策可考量核心電力管理器114與核心排程器116競爭的利害關係。
其他考量可被實作在可影響經修改系統318之電力政策中。舉例來說,當保持對於使用者來說為易懂之該等改變時,對於時間並不敏感之該等執行緒(例如背景執行緒)在核心停放決定上可具有較少的衝擊。更特定來說,藉由包括被執行在給定核心之該等執行緒優先順序上的平均運作時間分布,核心電力管理器114可縮放一核心的計算使用,用以讓該等低優先性執行緒及工作量不會和該等高優先性執行緒及工作量一樣重要。
第4圖顯示一說明性程序400之至少一實施例的流程圖,以評估該等處理器之執行緒排程與動態使用,並決定該等處理器之一經修改配置設定。除了在作業系統108內及(或)常駐在系統記憶體106之其他模組,程序400可藉由核心電力管理器114來實作。
根據一或多實施例,核心電力管理器114評估一時間週期以用來監控此輸出公用程式314(在包括核心公用程式310、p-狀態312等等之其他因子之間)。此時間週期可被選擇成等於或長於可獲用以處理每一執行緒之一時間片段。在一給定的頻率內,核心電力管理器114可初始該等核心之監控。
在方塊404內,核心電力管理器114可計算總系統使用以及最大的總系統使用。在方塊406內,核心電力管理器114可檢視電力政策以決定如何調整核心使用來平衡核心電力管理器114的電力節省需求與核心排程器116的核心可獲性(處理效能)需求。在方塊408內,其他因子可被用來決定是否調整核心使用,若是的話,如何調整使用以達到系統目標(例如對於使用者來說之易懂改變),提供熱需求,及(或)提供其他的限制。
在方塊410內,核心電力管理器114可對於該等核心來計算新的配置設定。舉例來說,如第2圖所示,核心電力管理器可計算一新的位元遮罩202。在一或更多實施例中,位元遮罩於方塊410內可被調整以產生可獲用處理器組218。在方塊412內,核心電力管理器114可實作來自方塊410之該等配置設定。在一些實施例中,程序400可重複以產生一動態核心分配,例如藉由一預定頻率之重複。替代地,程序400可在一給定時間週期上產生一靜態核心分配。
說明性操作
第5圖顯示一說明性程序500之至少一實施例的一流程圖,以提供該等處理器的電力察覺執行緒排程與動態使用。關於程序500之順序與實作,此程序應被理解為類似於第2圖之程序200。舉例來說,在程序500中被描述之該等操作的順序並不意欲被理解為一限制,且任何個數之所述方塊可以任何順序及(或)平行地結合以實作此程序。為了達到討論的目的,程序500參照於第1圖之系統100來描述。
根據一或多實施例,一「TimeCheck」週期性評估常式可開始於方塊502。舉例來說,一延遲程序呼叫(DPC)可開始於方塊502。在一些實施例中,一狀態機器係透過DPC在每一核心上被進入,而DPC係運作在被一電力政策參數「TimeCheck」對於一時間值(例如100ms、50ms、或其他的時間值)所配置設定之一固定的週期速率上。在方塊504中,核心電力管理器114可對於該等核心來收集度量。舉例來說,DPC被佇列於每一目前的主動核心以快照對於主動核心之該等量度。該等量度可包括核心使用、執行緒優先性分配、對每一核心之該等準備好執行緒的一平均等待時間、及(或)在其他可能的量度內對於空閒狀態常駐之成功與失敗量度。
在方塊506中,核心電力管理器114可計算一位元遮罩,例如核心停放遮罩204。舉例來說,根據該等使用界限、電力政策、及(或)任何相依性關係,一對於目標數之該等主動核心的新數值可被計算。在方塊508中,一主動組可被更新,例如藉由實作由核心電力管理器114所掌管之程序200的該等部份來產生可獲用處理器組218。
在方塊510中,主動組可被作業系統108實作。在方塊512中,核心電力管理器114可決定是否該等核心己被加入(未被停放)。若該等核心為未停放,則在方塊514中核心排程器116可被通知並且可開始使用該等未停放核心來排程該等執行緒。這些未停放核心可以是遠端執行緒排程(亦即來自一不同的處理器)的目標,或可以主動地選擇以選取來自其他處理器的該等執行緒。在一些實施例中,該等執行緒可被再分配以運作在該等未停放核心上,因此降低來自其他未停放核心的工作量。
在方塊516中,預期的核心輸出使用可被核心電力管理器114所計算並可包括來自方塊506的該等未停放核心。因此,對決定於方塊506中之主動核心個數的一新值係被用來計算預期的處理器使用。在方塊518中,核心電力管理器114可計算p-狀態之一新值。在一些實施例中,一DPC係被排程於每一核心上以更新其目標p-狀態。在一範例中,若預期的使用增加,則p-狀態值亦可增加(如果在方塊512中沒有核心是未停放的話)。然而,若在方塊512中該等核心是未停放的話,則p-狀態可增加或減少以平衡核心電力管理器114之該等電力節少需求與核心排程器116之該等處理需求。
在方塊520中,根據方塊518中所計算的該等結果,核心電力管理器114決定是否該等p-狀態及(或)t-狀態(線性閥狀態)的目前值應被修改。若p-狀態及(或)t-狀態在方塊520中被修改,則在方塊522中核心電力管理器114可將轉換DPC佇列至該等被影響核心。因此,核心排程器116所排程之該等執行緒可被排程至運作在如方塊520所實作之新p-狀態及(或)t-狀態的該等核心。
在方塊524中,核心電力管理器114決定該等核心是否在506中已停放。舉例來說,來自516之預期的核心輸出使用可能會小於目前的使用。若在方塊524中該等核心已被停放,則在方塊526中核心電力管理器114可通知核心排程器116來中斷對於該等新停放核心之該等執行緒的排程。對於任何被新增或移除於主動核心遮罩的核心,一DPC係對此核心被排程。如參照於第3A圖與第3B圖所述,來自一停放核心的工作可被再分配至一或多未停放核心。在一些實施例中,新停放的核心可被放入可獲用之最深層c-狀態中。最後,在方塊528中,程序500可被重複。
第6圖顯示一示範性程序600之至少一實施例的另一流程圖,用以提供該等處理器之電力察覺執行緒排程與動態使用,另包括域空閒計數。程序600包括如第5圖所描述之許多子程序,因此來自於第5圖之該等子程序將不會被再次描述。
在方塊602中,核心電力管理器114可決定是否將域空閒計數致能。若域空閒計數被致能,則在方塊604中一域主對此域之量度加以快照(例如,核心方塊316或所有的核心)。
在一些實施例中,域空閒計數在方塊606內可初始另一決定。若域空閒計數被致能,則在方塊608中核心電力管理器114可計算域目標p-狀態。最後,在方塊610內程序600可被重複。
第7圖顯示一程序700之至少一實施例的流程圖,用以提供對於處理器電力察覺執行緒排程與動態使用之額外電力政策設定與其他輸入。在一些實施例中,核心停放可被實作為對於存在中之狀態機器(其計算被用於處理器效能狀態之目標狀態)的一加強。在任何給定時間內所使用之正確核心個數將依據如下參照於程序700所述之一些因子來被決定。
根據一或多實施例,目前的電力政策可被用來設定在方塊702內所使用之該等核心的個數。在方塊704內,最小或最大個數的核心可被設定。核心電力管理器114可計算所需之主動核心的個數,以依一有效率能量方式來完成一給定工作量。在一些範例中,最小核心個數之運作對於電力節省來說可為有利的,並且對核心電力管理器114有益。相反地,最大核心個數之運作可提供最高層級之效能,因此有益於核心排程器116。
在方塊706中,對於核心停放之該等額外電力政策參數可被核心電力管理器114使用一或多子程序706(1)、...、706(4)來實作。在方塊706(1)中,對於該等停放及(或)非停放核心來說所需之時間期間可被調整。舉例來說,該等停放及(或)非停放核心之頻率可藉由改變一期間來操控。在一些實施例中,該等核心可在一第一期間被停放並在一第二期間非停放。舉例來說,一政策偏好之電力節省可每隔100ms就停放該等核心一次,但可僅每隔500ms才非停放該等核心一次。
在方塊706(2)中,核心電力管理器114可實作一增加及(或)減少政策。舉例來說,一第一政策選項在一時間可僅停放一設定個數之核心,例如在一時間之一個核心。一第二政策選項可停放或非停放該等核心來達到一理想的核心使用,因此在一時間停放及(或)非停放多個核心。一第三政策可達到一極端或其他(不是儘可能停放就是儘可能非停放)。
在方塊706(3)中,所需使用界限可根據該等處理器的忙碌程度來被增加或減少。舉例來說,一處理器可不用接受在一停放或非停放狀態之一改變,直到此處理器(或其他的處理器)包括對於一給定時間週期之一忙碌狀態為止。此可減少一處理器在快速連續之一停放與非停放狀態間的切換。
最後,在方塊706(4)中,對於縮放該等未停放核心的政策可被實作。舉例來說,核心電力管理器114可根據在目前主動組中之處理器核心的個數來計算理想的目標處理器效能狀態。為了在電力節省、效能、以及特定工作量回應之間提供最佳的折衷方案,核心電力管理器114可在一較高效能狀態內有益地運作較少個數的處理器,或著是相反地,在一較低效能狀態內運作較多個數的處理器。
在方塊708中,核心及(或)系統試探可使用一或多子程序708(1)及708(2)來被核心電力管理器114所實作。在方塊708(1)中,根據該等深處理器空閒電力狀態(睡眠狀態)的成功使用,核心電力管理器114可計算所需之主動核心個數與在主動使用中之該等核心的最佳效能狀態。此可允許核心電力管理器來偵測該等較深的空閒狀態在該組主動(未停放)核心上何時不會被有效率地使用。為了節省電力並且仍然提供效能,其可有益於將更多核心放入停放狀態中並增加該等剩餘主動核心的效能狀態以確保工作被有效率地執行。
在方塊708(2)中,對於準備好被配置(分配)至一核心的該等執行緒,一平均等待時間可被使用。舉例來說,藉由使用在準備好狀態中對於該等執行緒之平均等待時間的分配,核心電力管理器114可計算所需的處理器核心個數,其在準備好狀態中之該等執行緒能夠運作前允許核心電力管理器來縮放使用中之核心個數以降低延遲,因此增加效能與回應。在一範例中,當一大量的執行緒需要被運行時,其可當降低該等核心之p-狀態時有利於非停放該等核心,因為每一核心在一時間僅可執行一執行緒。因此,在一些範例中,更多核心可獲用性將致能大量執行緒的處理。
在方塊710中,該等空閒狀態相依性可被核心電力管理器114所使用以調整一核心停放實作。當核心電力管理器114選擇哪些特定核心應被停放或非停放時,其將首先檢驗該等核心的空閒狀態相依性關係以決定哪些核心可共享電力或時脈資源,並根據該等共享控制以最有電力效率之方式來選擇停放或非停放該等核心。
在方塊712中,當決定是否停放或非停放一或多核心時,效能與閥狀態關係可被考量。關於共享效能狀態或閥控制之該等核心可被一起停放或非停放以實現較高的電力效率。
在方塊714中,該等核心包裝(方塊)關係可被考量,例如像是關於一核心方塊之該等效率在第3A圖與第3B圖所描述之相依性,且在一新核心方塊內停放另一核心之前更特別地停放一核心方塊。最後,在方塊716中,當實作該等核心停放考量時,記憶體區域可被核心電力管理器114所使用。舉例來說,兩或更多核心可具有包裝關係,例如共享一具有一共享記憶體庫(例如NUMA(非一致記憶體存取)節點)之實體處理器包裝的該等核心。相較於不共享該共享記憶體庫的該等核心,此共享記憶體庫可致能該等核心以具有減少的記憶體存取時間。
結論
上述該等技術、系統、與裝置係適用於提供該等處理器之電力察覺執行緒排程與動態使用。儘管該等技術、系統、與裝置己被描述為特定於該等結構特徵及(或)方法行為之語言,其被理解為所附申請專利範圍並不必然被限制於上述之該等特定特徵或行為。更確切地,該等特定特徵與行為係被揭露為實作該等技術與裝置之示範形式。
100...系統
102...計算裝置
102(1)...移動電腦
102(2)...桌上型電腦
102(N)...伺服器102
104...一或多處理器
106...系統記憶體
108...作業系統
110...一或多程式模組
112...程式資料
114...核心電力管理器
116...核心執行緒排程器
118...可移除式儲存
120...不可移除式儲存
122...一或多輸入裝置
124...一或多輸出裝置
126...通訊連接
204...核心停放遮罩
208...反向位元遮罩
212...程式模組執行緒傾向遮罩
212(1)...第一傾向遮罩
212(2)...第二傾向遮罩
212(P)...傾向遮罩
216...「AND」運算子
218...可獲用處理器組
218(1)...第一可獲用處理器組
218(2)...第二可獲用處理器組218
218(P)...可獲用處理器組
222...核心使用
300...系統
302、304、306、308...核心
310...核心使用(「核心公用程式」)
312...效能狀態(p-狀態)
314‧‧‧輸出使用值(「輸出公用程式」)
316‧‧‧核心方塊
316(1)‧‧‧第一核心方塊
316(2)‧‧‧第二核心方塊
318‧‧‧系統
320‧‧‧停放核心方塊
322‧‧‧修改的輸出公用程式
實施方式係參照於隨附圖式所描述。在這些圖式中,一參考編號最左邊的(該等)數字係辨識出此參考編號第一次出現的圖式。不同圖式內的相同參考編號係參照於相似或相同的項目。
第1圖為一說明性系統,其可被用來實作該等處理器之電力察覺執行緒排程與動態使用的至少一實施例。
第2圖顯示一程序之至少一實施例的流程圖,用以產生一核心停放遮罩並實作此遮罩與一執行緒排程器來致能對於該等處理器之工作分配。
第3A圖與第3B圖根據本揭露之至少一實施例來顯示說明性核心使用。更特定來說,第3B圖顯示該等核心使用之一說明性修正以回應於如第3A圖所示之一說明性系統核心使用。
第4圖顯示一說明性程序之至少一實施例的流程圖,以評估該等處理器之執行緒排程與動態使用,並決定該等處理器之一經修改配置設定。
第5圖顯示一說明性程序之至少一實施例的一流程圖,以提供該等處理器的電力察覺執行緒排程與動態使用。
第6圖顯示一示範性程序之至少一實施例的另一流程圖,用以提供該等處理器之電力察覺執行緒排程與動態使用,另包括域空閒計數。
第7圖顯示至少一實施例之一說明性流程圖,用以提供對於處理器電力察覺執行緒排程與動態使用之額外設定。
100...系統
102...計算裝置
102(1)...移動電腦
102(2)...桌上型電腦
102(N)...伺服器102
104...一或多處理器
106...系統記憶體
108...作業系統
110...一或多程式模組
112...程式資料
114...核心電力管理器
116...核心執行緒排程器
118...可移除式儲存
120...不可移除式儲存
122...一或多輸入裝置
124...一或多輸出裝置
126...通訊連接

Claims (18)

  1. 一種用以平衡具有多核心之一計算裝置的效能與電力節省的方法,包含以下步驟:決定該等多核心中的哪些核心正主動地處理工作;決定一電力政策以初始該等多核心的一效能與電力節省計劃,其中決定該電力政策之步驟包含以下步驟:創造一核心停放遮罩,該核心停放遮罩使用一位元值,以代表一核心的一停放狀態或不停放狀態;決定執行序處理器傾向遮罩,該執行序處理器傾向遮罩代表一或更多核心,一執行序被分配在該一或更多核心上處理;藉由使用一「AND」運算子來組合該核心停放遮罩的一反向(inversion)與該執行序處理器傾向遮罩,以創造一可獲用處理器組,來提供該等多核心的該效能與電力節省計劃的至少一部分;以及至少部分基於該可獲用處理器組,來計算哪些核心被標示為停放(parked)或不停放(unparked);以及至少部分根據該電力政策,來停放(park)該等正主動地處理工作之核心中之至少一者,該電力政策指出:該等正主動地處理工作之核心中之該者被標示為一停放核心。
  2. 如申請專利範圍第1項所述之方法,其中該決定一電力政策之步驟以一反覆程序動態地產生。
  3. 如申請專利範圍第1項所述之方法,另包含以下步驟:根據該電力政策來縮放(scaling)該等多核心中之至少一者。
  4. 如申請專利範圍第3項所述之方法,其中該縮放(scaling)該等多核心中之至少一者之步驟包括以下步驟:調整一核心之核心公用程式或電力狀態(p-狀態)中的至少一者,以增加電力節省。
  5. 如申請專利範圍第1項所述之方法,其中該停放(park)該等多核心中之至少一者之步驟包括以下步驟:決定一不停放核心方塊是否包括一停放核心;以及若決定出該不停放核心方塊具有該停放核心,則在該不停放核心方塊內停放至少一不停放核心。
  6. 如申請專利範圍第1項所述之方法,另包含以下步驟:使用核心與系統試探(core and system heuristics)來修正該電力政策。
  7. 如申請專利範圍第1項所述之方法,另包含以下步驟:使用處理器空閒狀態相依關係來修正該電力政策。
  8. 一種用以平衡具有多核心之一計算裝置的效能與電力節省之電腦可讀儲存媒體,該電腦可讀儲存媒體包含電腦可執行指令,當該等電腦可執行指令被一電腦執行時執行動作,該等動作包含:在一多核心系統內監控核心活動;擷取(retrieving)用於該多核心系統的一電力政策,該電力政策係平衡在該多核心系統內的每一核心之電力節省與處理效能;根據該電力政策來停放(parking)至少一核心,以回應於該核心活動;以及調整在該多核心系統內至少一不停放核心之電力狀態。
  9. 如申請專利範圍第8項所述之電腦可讀儲存媒體,其中停放一核心之動作包括:將核心電力狀態減少至最小電力處理器空閒電力狀態(C-狀態)。
  10. 如申請專利範圍第8項所述之電腦可讀儲存媒體,其中係以一預定頻率被動態地初始該停放至少一核心以回應於該核心活動之動作。
  11. 如申請專利範圍第8項所述之電腦可讀儲存媒體,其 中該在一多核心系統內監控核心活動之動作係在一預定時間週期內發生,以及其中該停放至少一核心以回應於該核心活動之動作係動態地發生,以回應由該經監控核心活動所偵測到之一電力節省機會。
  12. 如申請專利範圍第8項所述之電腦可讀儲存媒體,其中停放至少一核心以回應於該核心活動之動作包括:當被關聯於一程式排程之一傾向遮罩所允許時,將工作轉移至一不停放核心。
  13. 如申請專利範圍第8項所述之電腦可讀儲存媒體,另包含:修改該經監控核心活動以產生一經修改核心活動;根據該電力政策不停放(unparking)至少一核心,以回應於該經修改核心活動;以及重新分配至少一執行緒至該至少一不停放核心。
  14. 如申請專利範圍第8項所述之電腦可讀儲存媒體,其中停放至少一核心之動作包含:不停放一核心方塊中之一核心,該核心方塊包括其他不停放核心,其中當該核心方塊中之該等核心中的任一核心係不停放時,該核心方塊具有:電力散逸之一準位。
  15. 一種用以平衡具有多核心之一計算裝置的效能與電力 節省之多邏輯處理器系統,包含:複數個處理器;其中該等複數個處理器包括:具有多核心的至少一個核心方塊;以及一控制器,耦接於該等複數個處理器,該控制器執行以下步驟:實作一效能排程;實作包括一核心停放遮罩之一電力節省政策,該核心停放遮罩與程式模組排程合併,以決定用以排程工作之處理器的一結果組;以及藉由停放該等複數個處理器之一或多者以及在具有至少一停放核心之該核心方塊內對一不停放核心產生一核心停放優先順序,來平衡該效能排程與電力節省政策。
  16. 如申請專利範圍第15項所述之系統,其中該控制器從常駐於系統記憶體之一核心電力管理器接收指令,以實作該電力節省政策。
  17. 如申請專利範圍第15項所述之系統,另包含:調整至少一不停放核心之電力狀態。
  18. 如申請專利範圍第15項所述之系統,其中該電力節省政策限制將被使用的核心的個數,該將被使用的核心的個數係表示為一最大核心使用百分比。
TW098105020A 2008-03-28 2009-02-17 用於平衡具有多核心之計算裝置的效能與電力節省的方法、電腦可讀儲存媒體與多邏輯處理器系統 TWI464570B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/057,716 US8010822B2 (en) 2008-03-28 2008-03-28 Power-aware thread scheduling and dynamic use of processors

Publications (2)

Publication Number Publication Date
TW200941209A TW200941209A (en) 2009-10-01
TWI464570B true TWI464570B (zh) 2014-12-11

Family

ID=41114264

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098105020A TWI464570B (zh) 2008-03-28 2009-02-17 用於平衡具有多核心之計算裝置的效能與電力節省的方法、電腦可讀儲存媒體與多邏輯處理器系統

Country Status (9)

Country Link
US (2) US8010822B2 (zh)
EP (1) EP2257861B1 (zh)
JP (1) JP5075274B2 (zh)
KR (2) KR20100138954A (zh)
CN (1) CN101981529B (zh)
BR (1) BRPI0907774B1 (zh)
RU (1) RU2503987C2 (zh)
TW (1) TWI464570B (zh)
WO (1) WO2009120427A1 (zh)

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101390067B (zh) * 2006-02-28 2012-12-05 英特尔公司 增强众核处理器的可靠性
GB0614515D0 (en) 2006-07-21 2006-08-30 Ibm An apparatus for managing power-consumption
US8112648B2 (en) * 2008-03-11 2012-02-07 Globalfoundries Inc. Enhanced control of CPU parking and thread rescheduling for maximizing the benefits of low-power state
US8010822B2 (en) 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US20090320031A1 (en) * 2008-06-19 2009-12-24 Song Justin J Power state-aware thread scheduling mechanism
US8296773B2 (en) * 2008-06-30 2012-10-23 International Business Machines Corporation Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance
US20100058086A1 (en) * 2008-08-28 2010-03-04 Industry Academic Cooperation Foundation, Hallym University Energy-efficient multi-core processor
US8473964B2 (en) * 2008-09-30 2013-06-25 Microsoft Corporation Transparent user mode scheduling on traditional threading systems
US8321874B2 (en) * 2008-09-30 2012-11-27 Microsoft Corporation Intelligent context migration for user mode scheduling
US8209554B2 (en) * 2009-02-23 2012-06-26 International Business Machines Corporation Applying power management on a partition basis in a multipartitioned computer system
MX337582B (es) 2009-03-03 2016-03-11 Coca Cola Co Empaque de tereftalato de polietileno bio-basado y metodo para hacer el mismo.
US8689017B2 (en) * 2009-03-12 2014-04-01 Cisco Technology, Inc. Server power manager and method for dynamically managing server power consumption
US8271818B2 (en) * 2009-04-30 2012-09-18 Hewlett-Packard Development Company, L.P. Managing under-utilized resources in a computer
US8239699B2 (en) * 2009-06-26 2012-08-07 Intel Corporation Method and apparatus for performing energy-efficient network packet processing in a multi processor core system
US8683476B2 (en) * 2009-06-30 2014-03-25 Oracle America, Inc. Method and system for event-based management of hardware resources using a power state of the hardware resources
US9146755B2 (en) * 2009-07-08 2015-09-29 Kaseya Limited System and method for transporting platform independent power configuration parameters
US8428930B2 (en) * 2009-09-18 2013-04-23 International Business Machines Corporation Page mapped spatially aware emulation of a computer instruction set
US8543857B2 (en) * 2009-09-26 2013-09-24 Intel Corporation Method and apparatus for low power operation of multi-core processors
US8578384B2 (en) * 2009-10-28 2013-11-05 Freescale Semiconductor, Inc. Method and apparatus for activating system components
KR101648978B1 (ko) * 2009-11-05 2016-08-18 삼성전자주식회사 저전력 멀티코어 시스템에서의 전력 제어 방법 및 장치
US9098274B2 (en) 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
US8850404B2 (en) * 2009-12-23 2014-09-30 Intel Corporation Relational modeling for performance analysis of multi-core processors using virtual tasks
US8572622B2 (en) * 2009-12-30 2013-10-29 International Business Machines Corporation Reducing queue synchronization of multiple work items in a system with high memory latency between processing nodes
US9462556B2 (en) 2010-03-22 2016-10-04 Freescale Semiconductor, Inc. Integrated circuit device, signal processing system, electronic device and method for configuring a signal processing operating mode
US8335935B2 (en) * 2010-03-29 2012-12-18 Intel Corporation Power management based on automatic workload detection
US8607083B2 (en) 2010-04-01 2013-12-10 Intel Corporation Method and apparatus for interrupt power management
US9804874B2 (en) 2011-04-20 2017-10-31 Microsoft Technology Licensing, Llc Consolidation of idle virtual machines on idle logical processors
US8381004B2 (en) 2010-05-26 2013-02-19 International Business Machines Corporation Optimizing energy consumption and application performance in a multi-core multi-threaded processor system
US8736619B2 (en) 2010-07-20 2014-05-27 Advanced Micro Devices, Inc. Method and system for load optimization for power
US9311102B2 (en) * 2010-07-13 2016-04-12 Advanced Micro Devices, Inc. Dynamic control of SIMDs
JP6130296B2 (ja) * 2010-07-13 2017-05-17 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated グラフィクスプロセッサにおけるsimdユニットの動的な有効化及び無効化
US8631253B2 (en) * 2010-08-17 2014-01-14 Red Hat Israel, Ltd. Manager and host-based integrated power saving policy in virtualization systems
US8484498B2 (en) * 2010-08-26 2013-07-09 Advanced Micro Devices Method and apparatus for demand-based control of processing node performance
US8677361B2 (en) 2010-09-30 2014-03-18 International Business Machines Corporation Scheduling threads based on an actual power consumption and a predicted new power consumption
US8656408B2 (en) 2010-09-30 2014-02-18 International Business Machines Corporations Scheduling threads in a processor based on instruction type power consumption
CN103229123B (zh) * 2010-11-25 2016-08-31 飞思卡尔半导体公司 在多核处理器内管理功率的方法及装置
US20120137289A1 (en) * 2010-11-30 2012-05-31 International Business Machines Corporation Protecting high priority workloads in a virtualized datacenter
US9069555B2 (en) * 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US8924752B1 (en) * 2011-04-20 2014-12-30 Apple Inc. Power management for a graphics processing unit or other circuit
US20120284729A1 (en) * 2011-05-03 2012-11-08 Microsoft Corporation Processor state-based thread scheduling
US9086883B2 (en) 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
KR101812583B1 (ko) 2011-07-21 2018-01-30 삼성전자주식회사 태스크 할당 장치, 태스크 할당 방법 및 컴퓨터로 읽을 수 있는 저장 매체
KR101873935B1 (ko) 2011-09-06 2018-07-04 인텔 코포레이션 전력 효율적 프로세서 아키텍처
US9128769B2 (en) 2011-10-13 2015-09-08 Cavium, Inc. Processor with dedicated virtual functions and dynamic assignment of functional resources
US9129060B2 (en) * 2011-10-13 2015-09-08 Cavium, Inc. QoS based dynamic execution engine selection
CN102945162B (zh) * 2011-10-26 2016-12-21 微软技术许可有限责任公司 用于设备实现逻辑cpu划分的使用热度图表示的方法和装置
US10114679B2 (en) * 2011-10-26 2018-10-30 Microsoft Technology Licensing, Llc Logical CPU division usage heat map representation
TWI493332B (zh) * 2011-11-29 2015-07-21 Intel Corp 用於電力管理的方法與設備及其平台與電腦可讀取媒體
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US8856566B1 (en) 2011-12-15 2014-10-07 Apple Inc. Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened
US9372524B2 (en) * 2011-12-15 2016-06-21 Intel Corporation Dynamically modifying a power/performance tradeoff based on processor utilization
US8881145B2 (en) * 2011-12-15 2014-11-04 Industrial Technology Research Institute System and method for generating application-level dependencies in one or more virtual machines
US9436512B2 (en) * 2011-12-22 2016-09-06 Board Of Supervisors Of Louisana State University And Agricultural And Mechanical College Energy efficient job scheduling in heterogeneous chip multiprocessors based on dynamic program behavior using prim model
KR101899811B1 (ko) * 2012-04-04 2018-09-20 엘지전자 주식회사 이동 단말기 및 그 제어 방법, 이를 위한 기록 매체
US9137848B2 (en) * 2012-01-31 2015-09-15 Lg Electronics Inc. Mobile terminal, controlling method thereof and recording medium thereof
KR101621776B1 (ko) 2012-02-02 2016-05-17 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 멀티코어 프로세서에서의 서비스 품질 타깃
US9110777B2 (en) * 2012-02-14 2015-08-18 International Business Machines Corporation Reducing performance degradation in backup semiconductor chips
JP5554358B2 (ja) 2012-03-23 2014-07-23 株式会社東芝 マルチプロセッサシステムおよび電力制御方法
JP5853817B2 (ja) * 2012-03-28 2016-02-09 富士通株式会社 情報処理装置、制御方法及び制御プログラム
US8726255B2 (en) 2012-05-01 2014-05-13 Concurix Corporation Recompiling with generic to specific replacement
US8650538B2 (en) 2012-05-01 2014-02-11 Concurix Corporation Meta garbage collection for functional code
US9035956B1 (en) 2012-05-08 2015-05-19 Apple Inc. Graphics power control with efficient power usage during stop
US9390461B1 (en) 2012-05-08 2016-07-12 Apple Inc. Graphics hardware mode controls
US9176563B2 (en) * 2012-05-14 2015-11-03 Broadcom Corporation Leakage variation aware power management for multicore processors
CN102707996A (zh) * 2012-05-15 2012-10-03 江苏中科梦兰电子科技有限公司 一种异构多核处理器上的任务调度方法
US9250665B2 (en) 2012-06-07 2016-02-02 Apple Inc. GPU with dynamic performance adjustment
CN102779075B (zh) * 2012-06-28 2014-12-24 华为技术有限公司 一种在多处理器核系统中进行调度的方法、装置及系统
US8904204B2 (en) * 2012-06-29 2014-12-02 International Business Machines Corporation Managing computing resources through aggregated core management
US8793669B2 (en) 2012-07-17 2014-07-29 Concurix Corporation Pattern extraction from executable code in message passing environments
US9575813B2 (en) 2012-07-17 2017-02-21 Microsoft Technology Licensing, Llc Pattern matching process scheduler with upstream optimization
CN104641352B (zh) * 2012-08-02 2018-06-29 西门子公司 用于周期控制系统的流水线操作
US8943252B2 (en) 2012-08-16 2015-01-27 Microsoft Corporation Latency sensitive software interrupt and thread scheduling
US20140089699A1 (en) * 2012-09-27 2014-03-27 Advanced Micro Devices Power management system and method for a processor
US10585801B2 (en) * 2012-11-26 2020-03-10 Advanced Micro Devices, Inc. Prefetch kernels on a graphics processing unit
US9182807B2 (en) * 2012-12-31 2015-11-10 Hewlett-Packard Development Company, L.P. Systems and methods for predictive power management in a computing center
JP6042217B2 (ja) * 2013-01-28 2016-12-14 ルネサスエレクトロニクス株式会社 半導体装置、電子装置、及び半導体装置の制御方法
EP2778915A1 (de) * 2013-03-13 2014-09-17 Siemens Aktiengesellschaft Verfahren zum Betrieb einer Industriesteuerung und Industriesteuerung
US9727345B2 (en) 2013-03-15 2017-08-08 Intel Corporation Method for booting a heterogeneous system and presenting a symmetric core view
CN105210038B (zh) * 2013-05-15 2018-10-30 英派尔科技开发有限公司 核亲和性位掩码变换
US9629020B2 (en) * 2013-05-28 2017-04-18 Rivada Networks, Llc Methods and systems for data context and management via dynamic spectrum controller and dynamic spectrum policy controller
KR102110812B1 (ko) * 2013-05-30 2020-05-14 삼성전자 주식회사 멀티 코어 시스템 및 멀티 코어 시스템의 작업 스케줄링 방법
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US9304573B2 (en) 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
JPWO2015015756A1 (ja) * 2013-08-02 2017-03-02 日本電気株式会社 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム
US9495001B2 (en) 2013-08-21 2016-11-15 Intel Corporation Forcing core low power states in a processor
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9927866B2 (en) 2013-11-21 2018-03-27 Qualcomm Incorporated Method and system for optimizing a core voltage level and enhancing frequency performance of individual subcomponents for reducing power consumption within a PCD
US9541985B2 (en) 2013-12-12 2017-01-10 International Business Machines Corporation Energy efficient optimization in multicore processors under quality of service (QoS)/performance constraints
JP5946068B2 (ja) 2013-12-17 2016-07-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 演算コア上で複数の演算処理単位が稼働可能なコンピュータ・システムにおける応答性能を評価する計算方法、計算装置、コンピュータ・システムおよびプログラム
US9652298B2 (en) 2014-01-29 2017-05-16 Vmware, Inc. Power-aware scheduling
KR102205836B1 (ko) * 2014-01-29 2021-01-21 삼성전자 주식회사 태스크 스케줄링 방법 및 장치
US9189273B2 (en) 2014-02-28 2015-11-17 Lenovo Enterprise Solutions PTE. LTD. Performance-aware job scheduling under power constraints
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
US9354943B2 (en) * 2014-03-19 2016-05-31 International Business Machines Corporation Power management for multi-core processing systems
US9195493B2 (en) * 2014-03-27 2015-11-24 International Business Machines Corporation Dispatching multiple threads in a computer
US20150355942A1 (en) * 2014-06-04 2015-12-10 Texas Instruments Incorporated Energy-efficient real-time task scheduler
US10162683B2 (en) * 2014-06-05 2018-12-25 International Business Machines Corporation Weighted stealing of resources
US10082858B2 (en) * 2014-06-23 2018-09-25 Mellanox Technologies, Ltd. Peripheral device assistance in reducing CPU power consumption
US9395797B2 (en) 2014-07-02 2016-07-19 Freescale Semiconductor, Inc. Microcontroller with multiple power modes
US9785481B2 (en) * 2014-07-24 2017-10-10 Qualcomm Innovation Center, Inc. Power aware task scheduling on multi-processor systems
US10324513B2 (en) 2014-08-31 2019-06-18 Mellanox Technologies, Ltd. Control of peripheral device data exchange based on CPU power state
US9424092B2 (en) 2014-09-26 2016-08-23 Microsoft Technology Licensing, Llc Heterogeneous thread scheduling
US9489242B2 (en) * 2014-09-30 2016-11-08 Telefonaktiebolaget L M Ericsson (Publ) Algorithm for faster convergence through affinity override
US9190989B1 (en) 2014-10-07 2015-11-17 Freescale Semiconductor, Inc. Integrated circuit power management
US9891699B2 (en) * 2014-12-18 2018-02-13 Vmware, Inc. System and method for performing distributed power management without power cycling hosts
US9588811B2 (en) * 2015-01-06 2017-03-07 Mediatek Inc. Method and apparatus for analysis of thread latency
US9652027B2 (en) * 2015-04-01 2017-05-16 Microsoft Technology Licensing, Llc Thread scheduling based on performance state and idle state of processing units
US20160314024A1 (en) * 2015-04-24 2016-10-27 Mediatek Inc. Clearance mode in a multicore processor system
US9760160B2 (en) 2015-05-27 2017-09-12 Intel Corporation Controlling performance states of processing engines of a processor
US10558500B2 (en) 2015-07-27 2020-02-11 Hewlett Packard Enterprise Development Lp Scheduling heterogenous processors
US9710041B2 (en) 2015-07-29 2017-07-18 Intel Corporation Masking a power state of a core of a processor
US10073718B2 (en) 2016-01-15 2018-09-11 Intel Corporation Systems, methods and devices for determining work placement on processor cores
US10146287B2 (en) * 2016-04-01 2018-12-04 Intel Corporation Processor power monitoring and control with dynamic load balancing
US10133341B2 (en) * 2016-06-06 2018-11-20 Arm Limited Delegating component power control
CN106201726A (zh) * 2016-07-26 2016-12-07 张升泽 多内核芯片线程分配方法及系统
US10379904B2 (en) 2016-08-31 2019-08-13 Intel Corporation Controlling a performance state of a processor using a combination of package and thread hint information
US10503238B2 (en) 2016-11-01 2019-12-10 Microsoft Technology Licensing, Llc Thread importance based processor core parking and frequency selection
US10372494B2 (en) 2016-11-04 2019-08-06 Microsoft Technology Licensing, Llc Thread importance based processor core partitioning
KR20180098904A (ko) * 2017-02-27 2018-09-05 삼성전자주식회사 컴퓨팅 장치 및 컴퓨팅 장치에 포함된 복수의 코어들에 전력을 할당하는 방법
CN107239348B (zh) * 2017-06-23 2020-05-15 厦门美图移动科技有限公司 一种多核处理器调度方法、装置及移动终端
RU2703188C1 (ru) * 2017-10-05 2019-10-15 НФВаре, Инц Способ распределения нагрузки в многоядерной системе
US20190146567A1 (en) * 2017-11-10 2019-05-16 Advanced Micro Devices, Inc. Processor throttling based on accumulated combined current measurements
KR102466012B1 (ko) 2018-04-20 2022-11-09 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 프로세서 코어를 스케쥴링하는 방법, 장치, 단말 및 저장 매체
US10721172B2 (en) 2018-07-06 2020-07-21 Marvell Asia Pte, Ltd. Limiting backpressure with bad actors
US20200034190A1 (en) * 2018-07-24 2020-01-30 Vmware, Inc. Live migration of virtual machines between heterogeneous virtualized computing environments
US10915356B2 (en) * 2018-08-30 2021-02-09 Intel Corporation Technology to augment thread scheduling with temporal characteristics
US10997029B2 (en) * 2019-03-07 2021-05-04 International Business Machines Corporation Core repair with failure analysis and recovery probe
US11409560B2 (en) * 2019-03-28 2022-08-09 Intel Corporation System, apparatus and method for power license control of a processor
US11766975B2 (en) * 2019-07-17 2023-09-26 Marvell Asia Pte, Ltd. Managing power in an integrated circuit for high-speed activation
CN112241197A (zh) * 2019-07-17 2021-01-19 马维尔亚洲私人有限公司 针对高速激活管理集成电路中的功率
US10948957B1 (en) 2019-09-26 2021-03-16 Apple Inc. Adaptive on-chip digital power estimator
US11782755B2 (en) * 2019-12-02 2023-10-10 Intel Corporation Methods, systems, articles of manufacture, and apparatus to optimize thread scheduling
US11301298B2 (en) 2020-03-28 2022-04-12 Intel Corporation Apparatus and method for dynamic control of microprocessor configuration
US11880306B2 (en) 2021-06-09 2024-01-23 Ampere Computing Llc Apparatus, system, and method for configuring a configurable combined private and shared cache
US11947454B2 (en) * 2021-06-09 2024-04-02 Ampere Computing Llc Apparatuses, systems, and methods for controlling cache allocations in a configurable combined private and shared cache in a processor-based system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
US7315952B2 (en) * 2004-06-02 2008-01-01 Intel Corporation Power state coordination between devices sharing power-managed resources
TW200809469A (en) * 2006-06-06 2008-02-16 Intel Corp Predict computing platform memory power utilization

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530932A (en) * 1994-12-23 1996-06-25 Intel Corporation Cache coherent multiprocessing computer system with reduced power operating features
JPH09185589A (ja) * 1996-01-05 1997-07-15 Toshiba Corp 情報処理システムと情報処理システムの省電力方法
JP2000112585A (ja) 1998-10-02 2000-04-21 Toshiba Corp システムlsi及びパワーマネジメント方法
US7137117B2 (en) 2000-06-02 2006-11-14 Microsoft Corporation Dynamically variable idle time thread scheduling
US7174467B1 (en) 2001-07-18 2007-02-06 Advanced Micro Devices, Inc. Message based power management in a multi-processor system
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US20050050310A1 (en) * 2003-07-15 2005-03-03 Bailey Daniel W. Method, system, and apparatus for improving multi-core processor performance
US7111182B2 (en) 2003-08-29 2006-09-19 Texas Instruments Incorporated Thread scheduling mechanisms for processor resource power management
KR100673690B1 (ko) * 2004-01-13 2007-01-24 엘지전자 주식회사 복수의 코어가 구비된 프로세서의 전원 제어방법
US7676655B2 (en) 2004-06-30 2010-03-09 Sun Microsystems, Inc. Single bit control of threads in a multithreaded multicore processor
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7788670B2 (en) 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US7526661B2 (en) 2004-12-02 2009-04-28 Intel Corporation Performance state-based thread management
US20060123422A1 (en) 2004-12-02 2006-06-08 International Business Machines Corporation Processor packing in an SMP server to conserve energy
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US20060212677A1 (en) 2005-03-15 2006-09-21 Intel Corporation Multicore processor having active and inactive execution cores
JP4555140B2 (ja) * 2005-04-22 2010-09-29 株式会社日立製作所 複合型計算機装置およびその管理方法
US20070204268A1 (en) 2006-02-27 2007-08-30 Red. Hat, Inc. Methods and systems for scheduling processes in a multi-core processor environment
US7574613B2 (en) 2006-03-14 2009-08-11 Microsoft Corporation Scaling idle detection metric for power management on computing device
US7490256B2 (en) 2006-04-04 2009-02-10 Microsoft Corporation Identifying a target processor idle state
US7992151B2 (en) * 2006-11-30 2011-08-02 Intel Corporation Methods and apparatuses for core allocations
US7900069B2 (en) * 2007-03-29 2011-03-01 Intel Corporation Dynamic power reduction
JP4834625B2 (ja) * 2007-07-31 2011-12-14 株式会社東芝 電源管理装置及び電源管理方法
US7966506B2 (en) * 2007-12-12 2011-06-21 Intel Corporation Saving power in a computer system
US7962770B2 (en) * 2007-12-19 2011-06-14 International Business Machines Corporation Dynamic processor reconfiguration for low power without reducing performance based on workload execution characteristics
US8010822B2 (en) 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
US7315952B2 (en) * 2004-06-02 2008-01-01 Intel Corporation Power state coordination between devices sharing power-managed resources
TW200809469A (en) * 2006-06-06 2008-02-16 Intel Corp Predict computing platform memory power utilization

Also Published As

Publication number Publication date
BRPI0907774B1 (pt) 2020-06-02
JP2011515776A (ja) 2011-05-19
US20090249094A1 (en) 2009-10-01
EP2257861A4 (en) 2017-10-25
KR101629155B1 (ko) 2016-06-21
JP5075274B2 (ja) 2012-11-21
KR20100138954A (ko) 2010-12-31
KR20160005367A (ko) 2016-01-14
EP2257861B1 (en) 2022-08-03
CN101981529B (zh) 2013-09-11
US9003215B2 (en) 2015-04-07
CN101981529A (zh) 2011-02-23
RU2503987C2 (ru) 2014-01-10
EP2257861A1 (en) 2010-12-08
US8010822B2 (en) 2011-08-30
WO2009120427A1 (en) 2009-10-01
RU2010139638A (ru) 2012-04-10
US20110307730A1 (en) 2011-12-15
BRPI0907774A2 (pt) 2015-07-14
TW200941209A (en) 2009-10-01

Similar Documents

Publication Publication Date Title
TWI464570B (zh) 用於平衡具有多核心之計算裝置的效能與電力節省的方法、電腦可讀儲存媒體與多邏輯處理器系統
JP6289444B2 (ja) 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
JP5564564B2 (ja) 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置
CN104239152B (zh) 用于提高事件处理的涡轮加速性能的方法和装置
US8443209B2 (en) Throttling computational units according to performance sensitivity
US20100332876A1 (en) Reducing power consumption of computing devices by forecasting computing performance needs
JP5763168B2 (ja) プロセッサパフォーマンスマネジメントシステムからの処理のマスキングによる電源消費の低減
US20060123263A1 (en) Method, system, and apparatus for improving multi-core processor performance
JP2009521056A (ja) パフォーマンス解析に基づくシステムレベルの電力管理
Wang et al. Using per-loop CPU clock modulation for energy efficiency in OpenMP applications
TWI748135B (zh) 用於多處理器的任務排程的方法及系統
Hwang et al. A comparative study of the effectiveness of cpu consolidation versus dynamic voltage and frequency scaling in a virtualized multicore server
Nathuji et al. Feedback driven qos-aware power budgeting for virtualized servers
JP5585651B2 (ja) マルチコアシステム、スケジューリング方法およびスケジューリングプログラム
Wang et al. Achieving fair or differentiated cache sharing in power-constrained chip multiprocessors
Islam et al. Learning based power management for periodic real-time tasks
Nour et al. Energy optimization by using last level cache partitioning for multicore platforms
Nassiffe et al. A Model for Reconfiguration of Multi-Modal Real-Time Systems under Energy Constraints
Lien et al. Energy efficiency and performance of a controlled model for scalable computing systems
Ellis Energy-Aware Application Code

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees