TW201314433A - 伺服器系統及其電源管理方法 - Google Patents
伺服器系統及其電源管理方法 Download PDFInfo
- Publication number
- TW201314433A TW201314433A TW100135035A TW100135035A TW201314433A TW 201314433 A TW201314433 A TW 201314433A TW 100135035 A TW100135035 A TW 100135035A TW 100135035 A TW100135035 A TW 100135035A TW 201314433 A TW201314433 A TW 201314433A
- Authority
- TW
- Taiwan
- Prior art keywords
- state
- cpu
- node
- load state
- normal load
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
Abstract
一種伺服器系統及其電源管理方法。伺服器系統的電源管理方法包括下列步驟:偵測一特定節點中至少一中央處理單元(CPU)所對應的一使用率以計算特定節點的平均使用率。依據平均使用率判斷此特定節點的狀態。當此狀態低於正常負載狀態時,調整CPU的操作參數以降低CPU的處理速度。以及,當此狀態高於正常負載狀態時,調整CPU的操作參數以提升CPU的處理速度,藉以使上述狀態回到正常負載狀態。本電源管理方法依據節點的中央處理單元(CPU)使用率來動態調整CPU之運算效能及工作週期,以在不影響虛擬主機的工作效率之下節省電源消耗。
Description
本發明是有關於一種電源管理機制,且特別是有關於一種伺服器系統及其電源管理方法。
雲端運算(cloud computing)技術是透過網際網路(Internet)結合大量的伺服器以形成超高運算與超大儲存能力。雲端運算技術可將這些伺服器的軟硬體進行共享或分工,並透過網路及瀏覽器來操作這些服務的網頁,使用上面的介面進行各種運算和工作。由於這些伺服器的數量龐大,由伺服器組成的伺服器機群(server group)通常會採用電源管理機制以降低電源消耗。
圖1所示,圖1是一種伺服器系統100的示意圖。在伺服器系統100中具有大量的節點PM(Physical Machine),每個節點PM便是伺服器系統100中的實體主機,而這些節點PM皆與網路110相連。並且,每個節點PM上皆架設有一至多個虛擬主機VM(virtual machine),以透過網路110執行雲端運算功能。管理伺服器120透過網路110來對這些節點PM執行電源管理。於部分實施例中,管理伺服器120可以是伺服器系統100中某個節點PM,其可執行虛擬主機中的特定功能以進行電源管理機制。
以往所知的電源管理機制會將部份節點PM中負載較重的虛擬主機VM轉移至總量負載較輕的節點PM,以平衡每個節點PM的負載,此動作亦可稱為虛擬主機VM的即時轉移(live migration),藉以實現每個節點的負載平衡(load balance)。
進行即時轉移後,如果每個節點PM的平均總量負載仍然偏低時,便可將某些節點PM中的虛擬主機VM全數轉移至其他節點PM中,並關閉沒有虛擬主機VM在其中的節點PM,便可減少運作中節點PM的數量,亦可使運作中的節點PM能夠在最有效的電源使用效率中執行所有的虛擬主機,上述動作可稱為節點關閉(node power-off)。相對地,如果每個節點PM的平均總量負載偏高而難以負荷時,便會開啟/再啟動未運作的節點PM,並進行虛擬主機VM的即時轉移,以維持電源使用效率,上述動作亦可稱為可稱為節點啟動(node power-on)。
雖然上述的電源管理機制在理論上可節省較多的電源,但虛擬主機VM在其轉移過程中將會耗費大量的網路頻寬,因而降低整體雲端運算的效能。每個虛擬主機VM的負載大小也會因為使用者數量、應用軟體的種類等因素而隨時產生變化,因而難以估計這些變化的發生時點。因此,如果節點PM會經常性進行虛擬主機VM的即時轉移、節點PM的電源關閉與再啟動等電源管理機制時,將會大幅度降低雲端運算的效率。因此,在雲端運算技術中,如何在具有眾多節點的伺服器系統100採用較佳的電源管理機制便是目前欲待深入研究的方向。
本發明提供一種伺服器系統及其電源管理方法,其依據節點的中央處理單元(CPU)使用率來動態調整CPU之運算效能及工作週期的狀態,以在不影響虛擬主機的工作效率之下節省電源消耗。
本發明提供一種伺服器系統的電源管理方法,上述伺服器系統包括有多個節點。伺服器系統的電源管理方法包括下列步驟。偵測每個節點(例如,一特定節點)內中央處理單元所對應的使用率以計算此特定節點的CPU平均使用率。依據此平均使用率以判斷此特定節點的狀態。當此狀態低於正常負載狀態時,便調整此特定節點中的CPU操作參數,以降低CPU的處理速度,並使此狀態回到正常負載狀態而節省電源消耗。類似地,當此狀態高於正常負載狀態時,便調整此特定節點中的CPU操作參數以提升CPU的處理速度,並使此CPU的狀態回到正常負載狀態。
在本發明之一實施例中,伺服器系統的電源管理方法更包括下列步驟。當調升上述CPU的操作參數仍然無法使上述狀態回到正常負載狀態時(例如,當CPU的狀態已是滿載負載狀態且CPU的運算效能已調整至最大值並且CPU的工作週期已調整至最大值),則進行一虛擬主機即時轉移程序,以平衡這些節點所承受的負載。
在本發明之一實施例中,伺服器系統的電源管理方法更包括下列步驟。當降低CPU的處理速度仍然無法使上述狀態回到正常負載狀態時,便進行一節點關閉程序並配合上述之虛擬主機即時轉移程序,以使運作中之每個節點的狀態回到正常負載狀態。相對地,當提升CPU的處理速度仍然無法使上述狀態回到正常負載狀態時,便進行一節點啟動程序並配合上述之虛擬主機即時轉移程序,以使運作中之每個節點的狀態回到正常負載狀態。
在本發明之一實施例中,判斷上述特定節點的狀態包括有下列步驟。當平均使用率高於一最大CPU門檻值時,將上述狀態設定為滿載負載狀態。當平均使用率高於一高度CPU門檻值且低於最大CPU門檻值時,則將上述狀態設定為高度負載狀態。當平均使用率高於一低度CPU門檻值且低於高度CPU門檻值時,則將上述狀態設定為正常負載狀態。以及,當平均使用率低於上述低度CPU門檻值時,將上述狀態設定為低度負載狀態。此外,當平均使用率低於一閒置CPU門檻值時,將上述狀態設定為閒置負載狀態,其中,上述閒置CPU門檻值應低於低度CPU門檻值。
另一方面,本發明提供一種伺服器系統,包括有多個節點及一管理伺服器。每個節點可以視作為一個實體主機,因此每個節點皆包括至少一中央處理單元(CPU)。每個節點及管理伺服器皆耦接至網路。管理伺服器可偵測每個節點(例如,一特定節點)之CPU的使用率以計算此特定節點的平均使用率,並依據平均使用率來判斷出特定節點的狀態。當上述狀態低於正常負載狀態時,管理伺服器便調整特定節點中CPU的操作參數以降低CPU的處理速度。並且,當上述狀態高於正常負載狀態時,管理伺服器便調整特定節點中的CPU操作參數以提升CPU的處理速度,以使上述狀態回到正常負載狀態。此外,伺服器系統的其餘實施細節請參照上述說明,在此不加贅述。
基於上述,由於以往的電源管理機制在執行過程中會佔據較多系統資源、也耗費較多的處理時間。藉此,本發明實施例可依據每個節點的整體負載(或是,各節點之中央處理單元(CPU)的平均使用率)來動態調整中央處理單元(CPU)的運轉速度,使得各個節點能夠在正常負載狀態中進行運轉,以在不影響各個節點的工作效率、不佔據系統資源之下節省電源消耗。
藉此,本發明實施例可避免經常性地執行虛擬主機的即時轉移及節點關閉/節點啟動,免除了雲端運算效率的降低。當調整CPU的運作瀕率(P)及工作週期(T)仍無法使伺服器系統運作在較佳的耗電效率時,再執行以往的電源管理機制,便可達到最佳的電源管理功效。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
現將詳細參考本發明之示範性實施例,在附圖中說明所述示範性實施例之實例。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/符號代表相同或類似部分。
請參照圖2,圖2是根據本發明一實施例說明伺服器系統300的電源管理方法的流程圖。圖3是根據本發明一實施例說明伺服器系統300的示意圖。於本實施例中,在此以圖3所示的伺服器系統300來執行圖2繪示的伺服器系統300電源管理方法。
伺服器系統300具有大量的節點PM,每個節點PM可以是伺服器系統300中的實體主機。這些節點PM及管理伺服器320皆與網路310相連。每個節點PM上皆具備有一至多個虛擬主機(virtual machine)VM、多個中央處理單元(CPU)以及基本輸入輸出系統(BIOS)330,以透過網路310執行雲端運算功能。管理伺服器320則可透過網路310來對這些節點PM執行電源管理。於部分實施例中,管理伺服器320可以是伺服器系統300中某個節點PM,或是在節點PM中其中一個虛擬主機VM的電源管理機制。
在此說明的是,此處所指的實體主機PM可以有多個CPU插槽,因此可以架設許多具有多核心(core)CPU,例如在實體主機PM中架設多個四核心CPU。每個CPU當中的每個核心也可以包含有一個或多個執行緒(thread)。因此,本實施例將多核心CPU稱為實體CPU,而將每個實體CPU中的每一個核心稱為核心CPU。並且,每個核心CPU中也可以包括有多個執行緒,而每一個CPU執行緒稱為邏輯CPU。藉此,在本實施例以及圖1及圖3中所提及的CPU可以是實體CPU,可以是核心CPU,也可以是邏輯CPU。
在此說明伺服器系統300的電源管理方法,於本實施例中,此電源管理方法可以每經過一段時間(例如,60秒)便執行一次。為了簡化說明,在此將其中一個節點PM稱為是一特定節點。因此,於步驟S210中,管理伺服器320偵測特定節點內CPU所對應的使用率,並藉此來計算此特定節點的平均使用率。CPU所對應的使用率係指每個CPU當中的執行緒在執行指令的負載程度,因此每個CPU使用率則可以將這個CPU中每個執行緒的負載程度進行平均以計算求得。最高的CPU使用率便是100%(此時CPU中所有的執行緒應處於滿載狀態),而最低的CPU使用率則為0%(此時CPU中所有的執行緒幾乎處於閒置狀態)。
如同上述,由於每個實體節點PM上皆會包括有多個邏輯CPU或邏輯CPU。因此,在計算特定節點中CPU的平均使用率時,便會先行偵測出特定節點中每個CPU所對應的使用率。接著,將這些CPU的使用率進行加總並除以特定節點上CPU的數量,以計算得到特定節點上的CPU平均使用率。
特別提及的是,於本實施例中,管理伺服器320對於各個節點PM的CPU使用率偵測、CPU操作參數偵測及控制,皆可以採用基本輸入輸出系統(BIOS)的軟體(Software;SW)系統管理中斷(System management interrupt;SMI)機制配合各個節點PM中的晶片組進行管理,而不需要透過基板管理控制器(BMC)來進行此電源管理方法,因此可降低節點PM的架設成本。當然,於其他實施例中,管理伺服器320也可以利用節點PM中的基板管理控制器來進行CPU使用率的偵測、操作參數的偵測、管理與控制,本發明並不限制於此。
在此詳細說明本實施例如何利用BIOS中的SMI處理程序,藉以取得節點PM中各個CPU的使用率、CPU操作參數。圖4為特定節點PM中BIOS 330、晶片組410與其中一個實體CPU的示意圖。為了方便說明,本實施例中所述的實體CPU例如是具有N個執行緒的邏輯CPU,N為一正整數。每個執行緒CT1~CTN都內含一組暫存器,為便於說明,在此以CT1~CTN來分別表示位在執行緒CT1~CTN內的該組暫存器。於本實施例中,每個節點PM可透過其中的晶片組(chipset) 410來產生SMI訊號。
舉例來說,晶片組410包括有表單指向暫存器412、SMI指令輸出/輸入埠(SMI command I/O Port) 414及SMI資料輸出/輸入埠(SMI Data I/O Port)415。於本實施例中,SMI指令輸出/輸入埠414及SMI資料輸出/輸入埠415是透過暫存器來實現。SMI指令輸出/輸入埠414及SMI資料輸出/輸入埠415用以進行SW SMI機制的SMI指令及資料存取,而表單指向暫存器412儲存有一記憶體位址,藉以指向至記憶體(memory buffer)413中諸多表單的存放處,讓BIOS 330之SMI處理程式(SMI handler)得以參考下述之CPU目前使用率狀態表、CPU之運算效能P及工作週期T範圍表、CPU之運算效能P及工作週期T操作參數表等表單,藉以提供操作之所需之輸入、輸出參數。在實作中,假設SMI指令輸出/輸入埠414的位址為B2且SMI資料輸出/輸入埠415之位址為B3,且定義F0值為SW SMI機制之CPU執行緒的管理命令。
因此,請參照圖4,當晶片組410將F0值寫入SMI指令輸出/輸入埠414的位址B2時,B2將產生一個SMI訊號至實體CPU,實體CPU將會立刻跳至BIOS 330中對應的SMI處理程序(SMI handler)以處理此SMI訊號。詳言之,實體CPU將會讀取SMI指令輸出/輸入埠414的位址B2中的值而得F0值,此時實體CPU將會執行CPU執行緒的管理程式,此程式會進一步讀取SMI資料輸出/輸入埠415的位址B3中的值以便進一步得知要做何工作。於此處,本實施例定義SMI資料輸出/輸入埠415的位址B3中的值如下:
0--從CPU暫存器所取得的目前的CPU使用率。
1--從CPU暫存器所取得的CPU運算效能P、工作週期T的最大值與最小值。
2--從CPU暫存器所取得目前的運算效能P、工作週期T之值。
3--對CPU暫存器所設定的運算效能P、工作週期T之值。
因此,CPU執行緒的管理程式將會有如上之工作要進行,但是這些工作所需之輸入、輸出參數可由表單指向暫存器412所指向之記憶體(memory buffer)413中諸多表單取得。
當晶片組410發出SMI訊號至CPU後,CPU中的執行緒都會收到此SMI訊號,然後每個執行緒便會到BIOS 330中讀取各自對應的SMI處理程序來執行,藉以取得對應CPU的使用率,並依照操作參數控制對應的CPU。
為了便於說明,在此以實體CPU中一執行緒對應的一組暫存器CT1作為舉例,而圖4省略了其他暫存器組(例如,暫存器組CT2~CTN)當中的架構,因為其架構與暫存器組CT1應為相同。於本實施例中,每個暫存器組CT1~CTN包括有系統管理模式基底暫存器(system management mode base register)450;用以控制及暫存運算效能P之現狀、P最大值及P最小值的P現狀暫存器421、P最大值暫存器422及P最小值暫存器423;以及,用以控制及暫存工作週期T之現狀、T最大值及T最小值的T現狀暫存器431、T最大值暫存器432及T最小值暫存器433。SMM(system management mode)基底暫存器450用以暫存BIOS 330中的位址起始點,藉以儲存各個執行緒中所需執行之SMI處理程序的進入點(entry)。此外,暫存器組CT1~CTN更包括可暫存此執行緒使用率的CPU使用率暫存器460。
透過上述架構,CPU中的各個執行緒在接收到SMI訊號後,便利用SMM(system management mode)基底暫存器450中所儲存的位址起始點以跳至SMI處理程序的進入點,藉以開始執行各個執行緒對應的SMI處理程序,並將在SMI處理程序中所取得的相關資訊暫存及控制相對應的暫存器421~460中。以目前的實施例流程而言,是利用CPU當中其中一個稱作系統啟動帶狀處理器(system boot strap processor;SBSP)的執行緒會執行正常的SMI處理程序,其他執行緒(稱作應用處理器(application processor))透過訊號旗幟(semaphore)方式來實現與SBSP之間的同步動作,再藉由執行RSM指令來一起結束SMI處理程序,並使CPU離開System Management模式(SMM)。此CPU的SMI機制也就是上述如何利用BIOS中的SMI介面取得節點PM中各個CPU的使用率、CPU操作參數及使用操作參數控制CPU之P及T之操作的相關動作。
另一方面,上述之SMI處理程序的流程略述如下。首先,此SMI處理程序會先分析由晶片組410傳送來的SMI訊號,以判斷所需執行的動作。舉例而言,本實施例將SMI訊號分為以下四種:指令0--取得CPU目前使用率。
指令1--取得CPU運算效能P、工作週期T之最大值及最小值的狀態資訊。
指令2--取得CPU目前的運算效能P、工作週期T的狀態資訊。
指令3--設定CPU現在的運算效能P、工作週期T。
在分析完SMI訊號之後,SMI處理程序會透過晶片組410中表單指向暫存器412所指出的各種表單,並依據上述指令來執行相對應的動作。例如,透過這些表單來得知其指令之輸出及輸入參數為何。
回到圖2及圖3,於步驟S215中,管理伺服器320接著便依據由步驟S210計算得到的平均使用率來判斷此特定節點的負載狀態。於本實施例中,管理伺服器320可利用內建的CPU平均使用率狀態表來判斷每一個節點目前的負載狀態,而此CPU平均使用率狀態表亦可由使用者進行調整與設定。
圖5為管理伺服器320中的CPU平均使用率狀態表。如圖5所示,由於CPU使用率最高便是100%,因此當特定節點的平均使用率高於最大CPU門檻值(例如,95%)且小於等於100%時,管理伺服器320便將特定節點的狀態設定為滿載負載狀態,換句話說,將特定節點的狀態碼設定為5。當平均使用率高於高度CPU門檻值(例如,80%)且低於最大CPU門檻值(95%)時,則將此特定節點的狀態設定為高度負載狀態(設定特定節點的狀態碼為4)。
依此類推,當平均使用率高於低度CPU門檻值(例如,40%)且低於高度CPU門檻值(80%)時,表示此特定節點位於較佳的電源消耗功率中,而特定節點上的虛擬主機VM皆可在不影響其效能下正常執行,因此則將此特定節點的狀態設定為正常負載狀態(設定特定節點的狀態碼為3)。以及,當平均使用率分別低於低度CPU門檻值(40%)或甚至低於閒置CPU門檻值(10%)時,則將此特定節點的狀態分別設定為低度負載狀態(設定特定節點的狀態碼為2)或是閒置負載狀態(設定特定節點的狀態碼為1)。
回到圖2,接著進入步驟S220,管理伺服器320分別判斷每個節點PM的負載狀態。如果每個節點PM的負載狀態皆為正常負載狀態,便可直接進入步驟S225以結束本次的電源管理方法。當特定節點的負載狀態低於正常負載狀態(狀態碼為3)的時候(例如,當特定節點位於低度負載狀態(狀態碼為2)或閒置負載狀態(狀態碼為1)),便由步驟S220進入步驟S230,管理伺服器320便調整此特定節點中的CPU操作參數(例如,CPU的運算效能P及工作週期(duty cycle)T)以降低CPU的處理速度,並期望使此狀態回到正常負載狀態,藉以節省此特定節點中的電源消耗。
相對而言,當特定節點的負載狀態高於正常負載狀態(狀態碼為3)的時候(例如,當特定節點位於滿載負載狀態(狀態碼為5)或高度負載狀態(狀態碼為4)),便由步驟S220進入步驟S240,管理伺服器320依此調整特定節點中的CPU操作參數(例如,CPU的運算效能P或工作週期(duty cycle)T)以提高CPU的處理速度,並期望使此狀態回到正常負載狀態。
在此說明本實施例如何利用調整特定節點中的CPU操作參數來降低/提高CPU處理速度。於本實施例中,CPU處理速度的調整是管理伺服器320利用BIOS的SMI介面,並對每個CPU的運算效能P及工作週期T利用一CPU操作參數表來進行調整,圖6為本發明實施例所述之CPU操作參數表。
於圖6中,CPU操作參數碼用以設定每個CPU的運算效能P及工作週期T。運算效能P及工作週期T在圖4中則是以百分比作為舉例,例如,當某一CPU的操作參數碼被設定為1時,表示此CPU的運算效能P被設定為最大值(100%),而此CPU的工作週期T亦被設定為最大值(100%),以使CPU能夠以最大額度的處理速度來處理指令。相對而言,當某一CPU的操作參數碼被設定為8時,表示此CPU的運算效能P則被設定為最大值的25%,而此CPU的工作週期T亦被設定為最大值的12.5%,以使CPU能夠以最低限度的處理速度來處理指令。在此特別說明的是,應用本實施例者可依據其需求來調整圖6之CPU操作參數表中的數據,本發明不應以此為限。
在此利用圖6並舉例說明步驟S240。假設特定節點的負載狀態為高度負載狀態(狀態碼為4),且特定節點中每一個CPU的操作參數碼皆設定為4,亦即特定節點中每一個CPU的的運算效能P設定為最大值的70%,其工作週期T亦被設定為最大值的62.5%。因為特定節點的負載狀態(高度負載狀態的狀態碼為4)高於正常負載狀態(狀態碼為3),因此於步驟S240中,管理伺服器320首先取得特定節點中先前設定的CPU操作參數碼(4),並且減少特定節點中CPU操作參數碼的數值(例如將CPU操作參數碼由4減少至3),以提升CPU的處理速度。
相對來說,在此利用圖6並舉例說明步驟S230。假設特定節點的負載狀態為低度負載狀態(狀態碼為2),且特定節點中每一個CPU的操作參數碼亦設定為4。因為特定節點的負載狀態(低度負載狀態的狀態碼為2)低於正常負載狀態(狀態碼為3),因此於步驟S230中,管理伺服器320首先取得特定節點中先前設定的CPU操作參數碼(4),並且降低特定節點中CPU操作參數碼的數值(例如將CPU操作參數碼由4提升至5),以降低CPU的處理速度,並期望特定節點的負載狀態能夠藉此回到正常負載狀態。
有鑒於此,本發明實施例的電源管理方法可基於時間相依(time locality)原則,依據此次在每個節點中偵測得到的平均CPU使用率來預測出下次每個節點的負載狀態,進而對CPU的操作參數進行調整,以期望下次每個節點的平均使用率皆能回到正常負載狀態中。
但是,如果特定節點的負載狀態已經為滿載負載狀態(狀態碼為5),且此特定節點中每一個CPU的操作參數碼已被設定為1,亦即每個CPU皆位於滿載狀態,此時上述的電源管理方法已無法進行更多的調整來使每個節點回到正常負載狀態。或是,如果特定節點的負載狀態已經為閒置負載狀態(狀態碼為1),且此特定節點中每一個CPU的操作參數碼已被設定為8,亦即特定節點中每個CPU幾乎位於閒置狀態,此時上述的電源管理方法已無法進行更多的調整來使每個節點回到正常負載狀態。因此,本發明實施例便結合以往的電源管理機制來完善此電源管理方法。
請繼續參照圖2,於步驟S250中,當特定節點的負載狀態已經為閒置負載狀態(狀態碼為1),且此特定節點中每一個CPU的處理速度已降至最低時(亦即,CPU的工作參數碼已被設定為8),則表示降低特定節點之CPU的處理速度已經無法使特定節點的負載狀態回到正常負載狀態時,則進入步驟S270,管理伺服器320進行虛擬主機VM的即時轉移程序,以平衡這些節點PM所承受的負載。
如果虛擬主機VM的即時轉移程序仍然無法使特定節點的負載狀態回到正常負載狀態時,則進行節點關閉程序,配合虛擬主機VM的即時轉移程序,將某些節點PM中的虛擬主機VM全數轉移至其他節點PM中,並關閉已沒有虛擬主機VM在其中的節點PM,以減少運作中節點PM的數量。相對而言,在步驟S250中,如果降低特定節點之CPU的處理速度可以使狀態回到正常負載狀態時,便可從步驟S250回到步驟S225以結束本次電源管理方法。而在執行步驟S270完畢之後,亦回到步驟S225以結束本次電源管理方法,請繼續參考圖2,於步驟S260中,當特定節點的負載狀態已經為滿載負載狀態(狀態碼為5),且此特定節點中每一個CPU的處理速度已提升至最高時(亦即,CPU的工作參數碼已被設定為1),則進入步驟S280,管理伺服器320便進行虛擬主機VM的即時轉移程序,以平衡這些節點PM所承受的負載。
如果虛擬主機VM的即時轉移程序仍然無法使特定節點的負載狀態回到正常負載狀態時,則進行節點啟動程序以開啟/再啟動未運作的節點PM,並配合虛擬主機VM的即時轉移程序將虛擬主機VM依據其負載程度進行節點PM之間的轉移,以在不影響虛擬主機VM的工作效率之下來節省電源。並且,類似於步驟S250及S270,在步驟S260中,如果降低特定節點之CPU的處理速度可以使狀態回到正常負載狀態時,便可從步驟S260回到步驟S225以結束本次電源管理方法。而在執行步驟S280完畢之後,亦回到步驟S225以結束本次電源管理方法。
綜上所述,由於以往的電源管理機制在執行過程中會佔據較多系統資源、也耗費較多的處理時間。藉此,本發明實施例可依據每個節點的整體負載(亦即各節點之中央處理單元(CPU)的使用率)來動態調整中央處理單元(CPU)的運轉速度,使得各個CPU能夠在正常負載狀態中進行運轉,以在不影響虛擬主機的工作效率、不佔據系統資源之下節省電源消耗。
藉此,本發明實施例可避免經常性地執行虛擬主機的即時轉移及節點關閉/節點啟動,免除了雲端運算效率的降低。當調整CPU轉速仍無法使伺服器系統運作在較佳的耗電效率時,再透過以往的電源管理機制以達到最佳的電源管理功效。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100、300...伺服器系統
110、310...網路
120、320...管理伺服器
330...基本輸入輸出系統(BIOS)
410...晶片組
412、414~415、421~460...暫存器
413...記憶體
CT1~CTN...CPU執行緒內含的該組暫存器
CPU...中央處理單元
PM...節點/實體主機
VM...虛擬主機
S210~S280...步驟
P...CPU的運算效能
T...CPU的工作週期
圖1是一種伺服器系統的示意圖。
圖2是根據本發明一實施例說明伺服器系統的電源管理方法的流程圖。
圖3是根據本發明一實施例說明伺服器系統的示意圖。
圖4為特定節點中BIOS、晶片組與其中一個實體CPU的示意圖。
圖5為管理伺服器中的CPU平均使用率狀態表。
圖6為本發明實施例所述之CPU操作參數表。
S210~S280...步驟
Claims (10)
- 一種伺服器系統的電源管理方法,其中該伺服器系統包括多個節點,該伺服器系統的電源管理方法包括下列步驟:偵測一特定節點中至少一中央處理單元(CPU)所對應的至少一使用率以計算該特定節點的一平均使用率,其中該特定節點是該些節點之其一;依據該平均使用率判斷該特定節點的一狀態;當該狀態低於一正常負載狀態時,調整該特定節點中該中央處理單元的一操作參數以降低該中央處理單元的處理速度,以使該狀態回到該正常負載狀態;以及當該狀態高於該正常負載狀態時,調整該操作參數以提升該中央處理單元的處理速度,以使該狀態回到該正常負載狀態。
- 如申請專利範圍第1項所述之伺服器系統的電源管理方法,更包括下列步驟:當調整該操作參數無法使該狀態回到該正常負載狀態時,進行一虛擬主機即時轉移程序,以平衡該些節點的負載。
- 如申請專利範圍第2項所述之伺服器系統的電源管理方法,更包括下列步驟:當降低該中央處理單元的處理速度無法使該狀態回到該正常負載狀態時,進行一節點關閉程序並配合該虛擬主機即時轉移程序,以使運作中的每一節點的該狀態回到該正常負載狀態。
- 如申請專利範圍第2項所述之伺服器系統的電源管理方法,更包括下列步驟:當提升該中央處理單元的處理速度無法使該狀態回到該正常負載狀態時,進行一節點啟動程序並配合該虛擬主機即時轉移程序,以使運作中的每一節點的該狀態回到該正常負載狀態。
- 如申請專利範圍第1項所述之伺服器系統的電源管理方法,判斷該特定節點的該狀態包括下列步驟:當該平均使用率高於一最大CPU門檻值時,將該狀態設定為一滿載負載狀態;當該平均使用率高於一高度CPU門檻值且低於該最大CPU門檻值時,將該狀態設定為一高度負載狀態;當該平均使用率高於一低度CPU門檻值且低於該高度CPU門檻值時,將該狀態設定為該正常負載狀態;當該平均使用率低於該低度CPU門檻值時,將該CPU的該狀態設定為該低度負載狀態,其中,該滿載負載狀態及該高度負載狀態高於該正常負載狀態,且該低度負載狀態低於該正常負載狀態。
- 如申請專利範圍第5項所述之伺服器系統的電源管理方法,判斷該特定節點的該狀態更包括下列步驟:當該平均使用率低於一閒置CPU門檻值時,將該狀態設定為該閒置負載狀態,其中該閒置CPU門檻值低於該低度CPU門檻值,且該閒置負載狀態低於該正常負載狀態。
- 如申請專利範圍第1項所述之伺服器系統的電源管理方法,其中該中央處理單元的該操作參數為該中央處理單元的一運算效能或一工作週期。
- 一種伺服器系統,包括:多個節點,每一節點耦接至一網路,且每一節點包括至少一中央處理單元;一管理伺服器,耦接至該網路,該管理伺服器偵測一特定節點中該中央處理單元所對應的一使用率以計算該特定節點的一平均使用率,依據該平均使用率判斷該特定節點的一狀態,當該狀態低於一正常負載狀態時,調整該特定節點中該中央處理單元的一操作參數以降低該中央處理單元的處理速度,且當該狀態高於該正常負載狀態時,調整該操作參數以提升該中央處理單元的處理速度,以使該狀態回到該正常負載狀態,其中該特定節點為該些節點之其一。
- 如申請專利範圍第8項所述之伺服器系統,當降低該中央處理單元的處理速度無法使該狀態回到該正常負載狀態時,該管理伺服器進行一虛擬主機即時轉移程序及一節點關閉程序,以使運作中的每一節點的該狀態回到該正常負載狀態。
- 如申請專利範圍第8項所述之伺服器系統,當提升該中央處理單元的處理速度無法使該狀態回到該正常負載狀態時,該管理伺服器進行一節點啟動程序並配合一虛擬主機即時轉移程序,以使運作中的每一節點的該狀態回到該正常負載狀態。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW100135035A TW201314433A (zh) | 2011-09-28 | 2011-09-28 | 伺服器系統及其電源管理方法 |
| US13/426,197 US20130080809A1 (en) | 2011-09-28 | 2012-03-21 | Server system and power managing method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW100135035A TW201314433A (zh) | 2011-09-28 | 2011-09-28 | 伺服器系統及其電源管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW201314433A true TW201314433A (zh) | 2013-04-01 |
Family
ID=47912597
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW100135035A TW201314433A (zh) | 2011-09-28 | 2011-09-28 | 伺服器系統及其電源管理方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20130080809A1 (zh) |
| TW (1) | TW201314433A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI596467B (zh) * | 2014-07-11 | 2017-08-21 | 光寶科技股份有限公司 | 伺服電源供應系統及其控制方法 |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102724277B (zh) * | 2012-05-04 | 2016-01-06 | 华为技术有限公司 | 虚拟机热迁移和部署的方法、服务器及集群系统 |
| KR101694518B1 (ko) * | 2013-08-05 | 2017-01-23 | 한국전자통신연구원 | 가상 노드 배치 관리 시스템 및 방법 |
| KR102270239B1 (ko) * | 2014-08-07 | 2021-06-28 | 삼성전자 주식회사 | 전자장치에서 소프트웨어를 실행하기 위한 방법 및 장치 |
| US10819607B2 (en) * | 2015-12-09 | 2020-10-27 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Reducing power consumption of a compute node experiencing a bottleneck |
| US10430266B2 (en) * | 2016-06-13 | 2019-10-01 | Vmware, Inc. | Full state session reviving, forking, and snapshoting based on an application data dump |
| US11023287B2 (en) * | 2019-03-27 | 2021-06-01 | International Business Machines Corporation | Cloud data center with reduced energy consumption |
| CN112929267A (zh) * | 2021-02-09 | 2021-06-08 | 上海弘积信息科技有限公司 | 一种根据cpu温度来提前切换vrrp主备的方法 |
| US12124308B2 (en) | 2022-06-23 | 2024-10-22 | Nvidia Corporation | Techniques to modify processor performance |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7254721B1 (en) * | 2001-05-01 | 2007-08-07 | Advanced Micro Devices, Inc. | System and method for controlling an intergrated circuit to enter a predetermined performance state by skipping all intermediate states based on the determined utilization of the intergrated circuit |
| US20030079151A1 (en) * | 2001-10-18 | 2003-04-24 | International Business Machines Corporation | Energy-aware workload distribution |
| US7711966B2 (en) * | 2004-08-31 | 2010-05-04 | Qualcomm Incorporated | Dynamic clock frequency adjustment based on processor load |
| US9395786B2 (en) * | 2007-11-20 | 2016-07-19 | Hewlett Packard Enterprise Development Lp | Cross-layer power management in a multi-layer system |
| US8099615B2 (en) * | 2008-06-30 | 2012-01-17 | Oracle America, Inc. | Method and system for power management in a virtual machine environment without disrupting network connectivity |
| US9047083B2 (en) * | 2008-09-15 | 2015-06-02 | Vmware, Inc. | Reducing power consumption in a server cluster |
| US8479215B2 (en) * | 2009-08-18 | 2013-07-02 | International Business Machines Corporation | Decentralized load distribution to reduce power and/or cooling costs in an event-driven system |
| US8484498B2 (en) * | 2010-08-26 | 2013-07-09 | Advanced Micro Devices | Method and apparatus for demand-based control of processing node performance |
-
2011
- 2011-09-28 TW TW100135035A patent/TW201314433A/zh unknown
-
2012
- 2012-03-21 US US13/426,197 patent/US20130080809A1/en not_active Abandoned
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI596467B (zh) * | 2014-07-11 | 2017-08-21 | 光寶科技股份有限公司 | 伺服電源供應系統及其控制方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20130080809A1 (en) | 2013-03-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW201314433A (zh) | 伺服器系統及其電源管理方法 | |
| JP5433837B2 (ja) | 仮想計算機システム、仮想計算機の制御方法及びプログラム | |
| CN105183128B (zh) | 强制处理器进入低功率状态 | |
| JP5782565B2 (ja) | プロセッサのターボモード動作での電力効率を向上させる方法 | |
| EP3005079B1 (en) | On-the-fly performance adjustment for solid state storage devices | |
| JP6518672B2 (ja) | 動的チェックポインティングシステムおよび方法 | |
| TWI489266B (zh) | 指定應用程式執行緒的效能狀態之指令 | |
| CN103246340A (zh) | 动态调整中央处理单元的频率的装置和方法 | |
| TWI597600B (zh) | 在運行狀態下藉由減少每個時脈的指令率之微處理器及其省電方法 | |
| CN109313604B (zh) | 用于压缩虚拟存储器的动态配置的计算系统、装置和方法 | |
| US9110723B2 (en) | Multi-core binary translation task processing | |
| US10467106B2 (en) | Data processing method, data processing system, and non-transitory computer program product for controlling a workload delay time | |
| WO2024001994A1 (zh) | 节能管理方法、装置、计算设备及计算机可读存储介质 | |
| US10127076B1 (en) | Low latency thread context caching | |
| CN107132903B (zh) | 一种节能管理实现方法、装置及网络设备 | |
| CN103034539A (zh) | 伺服器系统及其电源管理方法 | |
| JP2024525376A (ja) | サイクル当たりの命令の低減を介してマルチプロセッサコアシステムにおける電流供給を制御するためのシステム及び方法 | |
| US20240248702A1 (en) | Firmware update technologies | |
| US20240211019A1 (en) | Runtime-learning graphics power optimization | |
| US20250321851A1 (en) | Frequency adjustment method and apparatus, processor, chip, and computer device | |
| Zhang et al. | Dissecting the Impact of Mobile DVFS Governors on LLM Inference Performance and Energy Efficiency | |
| US12596426B2 (en) | Control of power state in computer processor | |
| CN111488053B (zh) | 一种网络功能虚拟化系统的功耗调整方法和装置 | |
| US20180341482A1 (en) | Method and arrangement for utilization of a processing arrangement | |
| Wang et al. | A zero-energy consumption scheme for system suspend to limited NVM |