專利名稱:在邏輯分區(qū)的數(shù)據(jù)處理系統(tǒng)中降低功耗的方法和裝置的制作方法
技術領域:
本發(fā)明一般地涉及改進的數(shù)據(jù)處理系統(tǒng),特別是涉及處理數(shù)據(jù)的方法和裝置。更具體地說,本發(fā)明提供在邏輯分區(qū)的數(shù)據(jù)處理系統(tǒng)中降低功耗的方法、裝置和計算機指令。
背景技術:
隨著提供給用戶的處理能力的增強,數(shù)據(jù)處理系統(tǒng)在變得越來越強有力。處理能力的一種增強來自使用更快的處理器。處理能力的另一種增強是通過具有多個處理器的數(shù)據(jù)處理系統(tǒng)提供的。
在這類系統(tǒng)中,多個處理器用于完成不同的任務。在處置多個任務時,可以與這些處理器分割用于不同任務的線程的處理時間。在對稱多處理系統(tǒng)(SMP)中,多個過程能在任何可得到的處理器中運行,而單個過程的多個線程能同時在不同的處理器上運行。所有處理器可以自動地用于運行系統(tǒng)中存在的任何線程。再有,多個線程可由不同的處理器并行地執(zhí)行。結果,一個多線程的應用可同時運行多個線程,從而在較少的時間內(nèi)完成更多的任務。
隨著處理器數(shù)量的增大和這類多處理器數(shù)據(jù)處理系統(tǒng)速度的提高,功耗和生熱變成更普遍的問題。例如,處理器產(chǎn)生的熱量隨處理器所用時鐘頻率的增加而增加。熱量還隨著多處理器數(shù)據(jù)處理系統(tǒng)中添加或包括更多處理器而上升。
在解決這些問題時,當前使用的技術是冷卻系統(tǒng)和降低處理器操作頻率。冷卻系統(tǒng)往往是費錢的且會遭受失敗。那類系統(tǒng)只解決熱的問題而不解決功耗問題。降低數(shù)據(jù)處理系統(tǒng)中處理器時鐘周期的頻率要求將特定接口暴露于操作系統(tǒng),這意味著降低功耗的方法是不透明的,在不修改操作系統(tǒng)的條件下不能被采用。
所以,如果有一種改進的方法、裝置和計算機指令用于降低數(shù)據(jù)處理系統(tǒng)中的功耗,那會是很有好處的。
發(fā)明內(nèi)容
本發(fā)明提供一種管理一組處理器的方法、裝置和計算機指令。來自操作系統(tǒng)的一個呼叫被接收。該呼叫指出在該組處理器中的一個選定處理器在一段時間內(nèi)不被需要。響應對這一呼叫的接收,選定處理器的操作被改變,以在該時段期間減少對電源的使用。
在所附權利要求中提出了表征本發(fā)明的新特征。然而,結合附圖閱讀下文中對實施示例的詳細描述,將會最好地理解發(fā)明本身以及優(yōu)選的使用方式及其進一步的目的和優(yōu)點,在這些附圖中圖1是可在其中實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方塊圖;圖2是可在其中實現(xiàn)本發(fā)明的邏輯分區(qū)平臺示例的方塊圖;以及圖3是根據(jù)本發(fā)明的優(yōu)選實施例管理一個邏輯分區(qū)的數(shù)據(jù)處理系統(tǒng)中多個處理器的過程的流程圖。
具體實施例方式
越來越大的對稱多處理器數(shù)據(jù)處理系統(tǒng),如可從InternationalBusiness Machines Corporation得到的IBM eServer P690,可從Hewlett-Packard Company得到的DHP 9000 Superdome EnterpriceServer以及可從Sun Microsystems,Inc.得到的Sunfire 15K Server,都往往被分區(qū),用作邏輯分區(qū)(LPAR)的數(shù)據(jù)處理系統(tǒng)。在數(shù)據(jù)處理系統(tǒng)內(nèi)的邏輯分區(qū)功能允許單個操作系統(tǒng)的多個副本或多個異構操作系統(tǒng)同時在單個數(shù)據(jù)處理系統(tǒng)平臺上運行。本發(fā)明可在這類LPAR數(shù)據(jù)處理系統(tǒng)中實現(xiàn),以降低對電源的使用,無需將特定接口暴露于操作系統(tǒng)。
在其中運行操作系統(tǒng)映像(image)的分區(qū)(partition)被賦予平臺資源的一個不重疊子集。該平臺的可分配資源包括一個或多個體系結構上不同的處理器以及它們的中斷管理區(qū)、系統(tǒng)存儲器區(qū)以及輸入/輸出(I/O)適配器總線槽。分區(qū)資源由該平臺的操作系統(tǒng)映像的固件代表。
在一個平臺內(nèi)運行的每個不同的操作系統(tǒng)或一個操作系統(tǒng)的映像被彼此防護,使得一個邏輯分區(qū)上的軟件錯誤不能影響任何其他分區(qū)的正確操作。所提供的這一防護是通過分配由每個操作系統(tǒng)直接管理的不相交平臺資源集合和通過提供保證各映像不能控制尚未分配給這一映像的任何資源的機制來實現(xiàn)的。再有,在控制一個操作系統(tǒng)所得到的資源時的軟件錯誤受到防護使其不影響任何其他映像的資源。這樣,操作系統(tǒng)的每個映像或每個不同的操作系統(tǒng)直接控制該平臺內(nèi)可分配資源的不同集合。對于一個邏輯分區(qū)的數(shù)據(jù)處理系統(tǒng)中的硬件資源,這些資源在各分區(qū)當中被不相交地共享。例如,這些資源可包括輸入/輸出(I/O)適配器、存儲器DIMM、非易失隨機存取存儲器(NVRAM)以及硬盤驅(qū)動器。一個LPAR數(shù)據(jù)處理系統(tǒng)內(nèi)的每個分區(qū)可被屢次啟動或關掉,而無需開關整個數(shù)據(jù)處理系統(tǒng)電源。
本發(fā)明提供一種方法、裝置和計算機指令,用于在包括多分區(qū)管理軟件的多處理器系統(tǒng),如LPAR數(shù)據(jù)處理系統(tǒng)中管理功耗。在用于管理分區(qū)的軟件內(nèi)可實現(xiàn)多個呼叫(call),以降低LPAR數(shù)據(jù)處理系統(tǒng)內(nèi)選定處理器對電源的使用。在所示舉例中,當管理多個分區(qū)的軟件接收一個指示說明一個處理器在一段時間內(nèi)被放棄(cede)或不被需要時,該處理器對電源的使用可予以降低。這一指示可通過從操作系統(tǒng)接收的呼叫或消息來識別。
現(xiàn)在參考附圖,特別是參考圖1,圖中描繪可在其中實現(xiàn)本發(fā)明的一個數(shù)據(jù)處理系統(tǒng)的方塊圖。數(shù)據(jù)處理系統(tǒng)100可以是一個對稱多處理器(SMP)系統(tǒng),包括多個處理器101、102、103及104連接于系統(tǒng)總線106。例如,數(shù)據(jù)處理系統(tǒng)100可以是IBM eServer,這是位于Armonk,New York的International Business MachinesCorporation的產(chǎn)品,實現(xiàn)為網(wǎng)絡內(nèi)的一個服務器?;蛘呖衫脝翁幚砥飨到y(tǒng)。也與系統(tǒng)總線106連接的是存儲器控制器/高速緩存108,它提供與多個局部(local)存儲器160-163的接口。I/O總線橋110連接于系統(tǒng)總線106并提供與I/O總線112的接口。如圖所示,存儲器控制器/高速緩存108和I/O總線橋110可集成在一起。
數(shù)據(jù)處理系統(tǒng)100是一個邏輯分區(qū)(LPAR)的數(shù)據(jù)處理系統(tǒng)。這樣,數(shù)據(jù)處理系統(tǒng)100可有多個異構操作系統(tǒng)(或單個操作系統(tǒng)的多個實例)同時運行。這多個操作系統(tǒng)每個可有任何數(shù)量的軟件在其中執(zhí)行。數(shù)據(jù)處理系統(tǒng)100被邏輯分區(qū),使得不同的PCI I/O適配器120-121、128-129以及136、圖形適配器148和硬盤適配器149可賦予不同的邏輯分區(qū)。在這種情況下,圖形適配器148為顯示設備(未示出)提供連接,而硬盤適配器149提供連接以控制硬盤150。
這樣,例如,假定數(shù)據(jù)處理系統(tǒng)100被分成三個邏輯分區(qū)P1、P2和P3。PCI I/O適配器120-121、128-129、136的每一個,圖形適配器148,硬盤適配器149,主機處理器101-104的每一個,以及局部存儲器160-163中的存儲器,各被賦予到這三個分區(qū)的每一個。在這些舉例中,存儲器160-163可采取雙列直插存儲模塊(DIMM)。DIMM通常不是基于每個DIMM被賦予到各分區(qū)。相反,一個分區(qū)將得到由平臺看到的整個存儲器的一部分。例如,存儲器101、局部存儲器160-163的存儲器的某一部分、以及I/O適配器120、128和129可被賦予到邏輯分區(qū)P1;處理器102-103、局部存儲器160-163的存儲器的某些部分、以及PCI I/O適配器121和136可被賦予到分區(qū)P2;而處理器104、局部存儲器160-163的存儲器的某一部分、圖形適配器148以及硬盤適配器149可被賦予到邏輯分區(qū)P3。
在數(shù)據(jù)處理系統(tǒng)100內(nèi)執(zhí)行的每個操作系統(tǒng)被賦予到一個不同的邏輯分區(qū)。這樣,在數(shù)據(jù)處理系統(tǒng)100內(nèi)執(zhí)行的每個操作系統(tǒng)只可訪問在其邏輯分區(qū)內(nèi)的那些I/O單元。這樣,例如,高級交互執(zhí)行(AIX)操作系統(tǒng)的一個實例可在分區(qū)P1內(nèi)執(zhí)行,AIX操作系統(tǒng)的第二實例(映像)可在分區(qū)P2內(nèi)執(zhí)行,而一個Windows XP操作系統(tǒng)可在邏輯分區(qū)P3內(nèi)執(zhí)行。Windows XP是Redmond,Washington的MicrosoftCorporation的產(chǎn)品和商標。
與I/O總線112連接的外圍部件互連(PCI)主橋(host bridge)提供到PCI局部(local)總線115的接口。若干PCI輸入/輸出適配器120-121可通過PCI至PCI橋116、PCI總線118、PCI總線119、I/O槽170和I/O槽171與PCI總線115相連。PCI至PCI橋116提供到PCI總線118和PCI總線119的接口。PCI I/O適配器120和121分別被放入I/O槽170和171。典型的PCI總線實現(xiàn)將支持至八個I/O適配器(即用于添加連接器的擴展槽)。每個PCI I/O適配器120-121提供數(shù)據(jù)處理系統(tǒng)100和作為數(shù)據(jù)處理系統(tǒng)100的客戶機的輸入/輸出設備(如其他網(wǎng)絡計算機)之間的接口。
附加的PCI主橋122提供用于附加PCI總線123的接口。PCI總線123連接到多個PCI I/O適配器128-129。PCI I/O適配器128-129可通過PCI至PCI橋124、PCI總線126、PCI總線127、I/O槽172及I/O槽173與PCI總線123相連。PCI至PCI橋124提供到PCI總線126和PCI總線127的接口。PCI I/O適配器128和129分別被放入I/O槽172和173。以這種方式,通過每個PCI I/O適配器128-129可支持附加的I/O設備,如調(diào)制解調(diào)器或網(wǎng)絡適配器。以這種方式,數(shù)據(jù)處理系統(tǒng)100允許連接于多個網(wǎng)絡計算機。
插入I/O槽174的存儲器映射圖形適配器148可通過PCI總線144、PCI到PCI橋142、PCI總線141和PCI主橋140連接到I/O總線112。硬盤適配器149可被放在I/O槽175中,I/O槽175與PCI總線145相連。這一總線又與PCI到PCI橋142相連,PCI到PCI橋142又通過PCI總線141與PCI主橋140相連。
PCI主橋130為PCI總線131提供連接到I/O總線112的接口。PCI I/O適配器136連接于I/O槽176,I/O槽176由PCI總線133連接于PCI到PCI橋132。PCI到PCI橋132連接于PCI總線131。這一PCI總線還將PCI主橋130連接于服務處理器郵箱接口和ISA總線訪問通過邏輯194以及PCI到PCI橋132。服務處理器郵箱接口和ISA總線訪問通過邏輯194轉發(fā)PCI/ISA橋193為目的地的PCI訪問。NVRAM存儲器192連接于ISA總線196。服務處理器135通過它的局部PCI總線195耦合于服務處理器郵箱和ISA訪問通過邏輯194。服務處理器135還經(jīng)由多個JTAG/I2C總線134連接于處理器101-104。JTAP/I2C總線134是JTAG/scan總線(見IEEE 1149.1)和Phillips I2C總線的組合。然而,另一種作法是JTAG/I2C總線134可以只由PhillipsI2C總線或只由JTAG/scan取代。主機處理器101、102、103和104的所有SP-ATTN信號一起與服務處理器的中斷輸入信號相連。服務處理器135有它自己的局部存儲器191并能訪問硬件OP面板190。
當數(shù)據(jù)處理系統(tǒng)100初始被加電時,服務處理器135使用JTAG/I2C總線134向系統(tǒng)(主機)處理器101-104、存儲器控制器/高速緩存108以及I/O橋110提出質(zhì)詢。在完成這一步驟時,服務處理器135有了數(shù)據(jù)處理系統(tǒng)100的資源清單和對其拓撲結構的理解。服務處理器135還對質(zhì)詢主機處理器101-104、存儲器控制器/高速緩存108以及I/O橋110所發(fā)現(xiàn)的所有部件執(zhí)行內(nèi)置自測試(BIST)、基本保證(assurance)測試(BAT)以及存儲器測試。服務處理器135收集和報告在BIST、BAT和存儲器測試過程中檢測到的失敗的任何出錯信息。
如果在去掉BIST、BAT和存儲器測試過程中發(fā)現(xiàn)失效的部件之后系統(tǒng)資源的有意義/有效配置仍然可能,則數(shù)據(jù)處理系統(tǒng)100被允許前進到將可執(zhí)行代碼加載到局部(主機)存儲器160-163。然后,服務處理器135釋放主機處理器101-104,供執(zhí)行加載到局部存儲器160-163的代碼。當主機處理器101-104執(zhí)行來自數(shù)據(jù)處理系統(tǒng)100內(nèi)各操作系統(tǒng)的代碼時,服務處理器135進入監(jiān)視和報告差錯方式。由服務處理器135監(jiān)視的項目類型包括例如冷卻扇速度和操作、熱傳感器、電源調(diào)節(jié)器以及由處理器101-104、局部存儲器160-163和I/O橋110報告的可恢復和不可恢復差錯。
服務處理器135負責保存和報告關于數(shù)據(jù)處理系統(tǒng)100中所有被監(jiān)視項目的差錯信息。服務處理器135還根據(jù)差錯類型和定義的閥值采取行動。例如,服務處理器135可把過量的可恢復差錯記錄在一個處理器的高速緩存存儲器并確定這是一個硬件故障的預兆。根據(jù)這一確定,服務服務器135可標明在當前運行時段和將來的初始程序加載(IPL)期間那個資源從配置中去掉。有時IPL也稱作“自舉”或“自展”。
可使用各種市場上可得到的計算機系統(tǒng)實現(xiàn)數(shù)據(jù)處理系統(tǒng)100。例如,可使用從International Business Machines Corporation可得到的IBM eServer iSeries Model 840系統(tǒng)實現(xiàn)數(shù)據(jù)處理系統(tǒng)100。這樣的系統(tǒng)可支持使用OS/400操作系統(tǒng)進行邏輯分區(qū),該操作系統(tǒng)也可從International Business Machines Corporation得到。
本領域普通技術人員將會理解,圖1中描繪的硬件可以改變。例如,其他外圍設備,如光盤設備等,也可用于添加于或替換所描繪的硬件。所描繪的舉例不意味著對本發(fā)明有體系結構限制。
現(xiàn)在參考圖2,圖中描繪了可在其中實現(xiàn)本發(fā)明的示例性邏輯分區(qū)的平臺的方塊圖。在邏輯分區(qū)的平臺200中的硬件可作為例如圖1中的數(shù)據(jù)處理系統(tǒng)100來實現(xiàn)。邏輯分區(qū)平臺200包括被分區(qū)的硬件230、操作系統(tǒng)202以及分區(qū)管理固件210。通常,邏輯分區(qū)平臺200除操作系統(tǒng)202外還包含若干操作系統(tǒng)。在這些示例中,針對單個分區(qū)中的單個操作系統(tǒng)描述本發(fā)明的機制。當然,本發(fā)明也可在多個分區(qū)中含有多個操作系統(tǒng)的邏輯分區(qū)平臺中實現(xiàn)。當使用多操作系統(tǒng)時,這些操作系統(tǒng)可以是在邏輯分區(qū)平臺200上同時運行的單一操作系統(tǒng)的多個副本或多個異構操作系統(tǒng)。
在這些示例中,操作系統(tǒng)202可以用OS/400實現(xiàn),它被設計成與開放(open)固件,如一個管理程序(hypervisor)接口,該固件可從International Business Machines Corporation得到。操作系統(tǒng)202位于單個分區(qū)203中。再有,分區(qū)203包括固件加載器211。固件加載器211可以用IEEE-1275標準開放固件和運行時抽象(runtimeabstraction)軟件(RTAS)實現(xiàn),其可從International BusinessMachines Corporation得到。當分區(qū)203被實例化時,由管理程序的分區(qū)管理器將開放固件的一個副本加載到分區(qū)203。于是,與分區(qū)203關聯(lián)的或賦予到分區(qū)203的處理器被調(diào)度到該分區(qū)的存儲器以執(zhí)行該分區(qū)固件。
被分區(qū)的硬件230包括多個處理器232-238、多個系統(tǒng)存儲器單元240-246、多個輸入/輸出(I/O)適配器248-262以及存儲單元270。被分區(qū)的硬件230還包括服務處理器290,它可提供各種服務,如在分區(qū)中處理差錯。處理器232-238、存儲器單元240-246、NVRAM 298以及I/O適配器248-262的每一個被賦予到邏輯分區(qū)的平臺200內(nèi)的分區(qū)203。如果存在多個分區(qū),則在被分區(qū)的硬件230內(nèi)的不同部件可能賦予到不同的分區(qū)。
分區(qū)管理固件(管理程序)210為邏輯分區(qū)平臺200中的分區(qū)203執(zhí)行多種功能和服務。分區(qū)管理固件210是由固件實現(xiàn)的與底層硬件相同的虛擬機。管理程序軟件是一類分區(qū)管理固件,它可從International Business Machines Corporation得到。固件是存儲在存儲器芯片中的“軟件”,該芯片保持其內(nèi)容而無需電源,如只讀存儲器(ROM)、可編程ROM(PROM)、可擦可編程ROM(EPROM)、電可擦可編程ROM(EEPROM)以及非易失隨機存取存儲器(非易失RAM)。這樣,分區(qū)管理固件210允許通過虛擬化邏輯分區(qū)平臺200的全部硬件資源來同時執(zhí)行多個獨立的OS映像。
可通過硬件管理控制臺,如硬件管理控制臺280來控制不同分區(qū)的操作。硬件管理控制臺280是一個單獨的數(shù)據(jù)處理系統(tǒng),系統(tǒng)管理員可從它那里實現(xiàn)各種功能,包括向不同分區(qū)重新分配資源。利用這類系統(tǒng),可采用子處理器分區(qū)。這類分區(qū)允許一個物理處理器被映射到多個邏輯處理器,以支持比物理處理器更大量的邏輯處理器。以這種方式,可以支持比物理存儲器更大量的分區(qū)。
在這些示例中,只使用單個分區(qū)。本發(fā)明的機制響應操作系統(tǒng)202對分區(qū)管理固件210的呼叫,管理處理器的功耗。當一個邏輯處理器在一段時間內(nèi)可不被需要時,操作系統(tǒng)202向分區(qū)管理固件210發(fā)送一個消息或呼叫。這些呼叫是那些通常在邏輯分區(qū)平臺中用于子處理器分區(qū)的呼叫,以請求或放棄對一個邏輯處理器的使用。利用子處理器分區(qū),分區(qū)管理固件210能控制不同分區(qū)中對單個處理器的分配和使用。利用這類分區(qū),一個處理器可被分配給不只一個分區(qū)。換言之,這類配置允許實現(xiàn)比系統(tǒng)中的物理處理器更大量的分區(qū)。
本發(fā)明的機制以對分區(qū)203中執(zhí)行的程序透明的方式使用這一呼叫或消息傳送系統(tǒng)以降低功耗和生熱。在一個處理器不被需要的一段時間,不是允許該處理器被另一個分區(qū)使用,而是使該處理器置于節(jié)能方式。本發(fā)明的機制不要求任何特定類型的節(jié)能方式,而是可以使用任何類型的節(jié)能機制。
特別是,操作系統(tǒng)202可產(chǎn)生一個對分區(qū)管理固件210的空閑呼叫。這一呼叫是一個消息,其中包括與邏輯處理器關聯(lián)的物理處理器要被放棄或不被需要的時間長度。分區(qū)管理固件210響應接收來自操作系統(tǒng)202的空閑呼叫,可把該物理處理器置于節(jié)能方式。例如,這一節(jié)能方式可包括降低時鐘速度的頻率或?qū)⑻幚砥髦糜谒叻绞健.斠粋€處理器處于睡眠方式時,整個處理器被完全關掉,只有處理器狀態(tài)被存儲在一個動態(tài)隨機存取存儲器(DRAM)中供快速恢復。在這種方式下,外部處理器總線時鐘被停止。
以這種方式,本發(fā)明的機制允許在多處理器數(shù)據(jù)處理系統(tǒng)中當那些處理器在一段時間內(nèi)不被需要時通過將處理器置于節(jié)能方式來減少對電源的使用,本發(fā)明的機制可以以任何支持分區(qū)的操作系統(tǒng)實現(xiàn),因為這一機制獨立于任何操作系統(tǒng)對減少電源使用的支持。再有,本發(fā)明的機制對性能有最小影響,因為只有當存在空閑時間時處理器才被置于節(jié)能方式。
現(xiàn)在轉到圖3,圖中根據(jù)本發(fā)明的一個優(yōu)選實施例描繪了在邏輯分區(qū)的數(shù)據(jù)處理系統(tǒng)中管理處理器的過程的流程圖。圖3中所示過程可在一個控制過程中實現(xiàn),如在圖2中的分區(qū)管理固件中實現(xiàn)。在這些示例中,這一過程與只有單個分區(qū)的邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)相比較,如圖2中的邏輯分區(qū)平臺200。當然,這一機制也可應用于具有不只一個分區(qū)的系統(tǒng)。
該過程以接收一個要放棄該邏輯處理器的呼叫開始(步驟300)。這一呼叫是從一個操作系統(tǒng)接收的,它通常是在該操作系統(tǒng)對一個邏輯處理器沒有需求的時候產(chǎn)生。這一呼叫也稱作空閑呼叫,包括要被放棄的處理器的標識以及該處理器要被放棄的時間長度。在這些例子中,處理器的映射是一個邏輯處理器對一個物理處理器。結果,當從一個操作系統(tǒng)接收一個呼叫時,與該邏輯處理器關聯(lián)的物理處理器可能被置于節(jié)能狀態(tài),這一點是清楚的。
接下來,確定一個等待時間,即該處理器不被需要的時間,是否小于一個閾值(步驟302),該閾值的確定可根據(jù)將該處理器置于節(jié)能方式和/或使該處理器返回正常操作方式所需要的時間。如果該等待時間不小于該閾值,則映射到該邏輯處理器的物理處理器被置于節(jié)能方式(步驟304)。這一節(jié)能方式可采取各種形式,例如,處理器可被置于睡眠方式,可降低時鐘速度,或者任何其他節(jié)能方法或機制可予以使用。可執(zhí)行其他任務以防止該處理器在節(jié)能方式時被訪問。例如,對于該處理器可禁止中斷。
然后,該處理器等待一個事件(步驟306)。該事件可以是該處理器不被操作系統(tǒng)需要或被操作系統(tǒng)放棄的時間的終止。再有,該事件還可以是例如操作系統(tǒng)請求該邏輯處理器的一個指示。在接收該事件之后,進行后處理(步驟308),然后控制返回到呼叫方。后處理涉及將物理處理器置回先前的操作方式以及進行為允許處理器完成工作或任務所需的任何任務。回來參考步驟302,如果等待閾值條件未滿足,則過程也將控制返回到呼叫方,而不把該處理器置于節(jié)能方式。
這樣,本發(fā)明的機制提供在多處理器數(shù)據(jù)處理系統(tǒng)中降低功耗的方法、裝置和計算機指令。在這些示例中本發(fā)明的機制是在單處理器或多處理器數(shù)據(jù)處理系統(tǒng)中實現(xiàn)的,其中存在管理一個或多個分區(qū)的控制程序。在這類系統(tǒng)中,當一個邏輯分區(qū)在某一選定時間段內(nèi)不被一個操作系統(tǒng)所需要時,該操作系統(tǒng)向該控制程序發(fā)出一個呼叫。響應這一呼叫,映射到該邏輯處理器的物理存儲器被置于節(jié)能方式,直至發(fā)生某個選定的事件,如選定的時間段終止。以這種方式,在一個處理器的空閑時間,對電源的使用減小。這一機制避免或最大限度減小性能的降低,因為只使用空閑時間。
盡管所示舉例是針對只有單個分區(qū)的邏輯分區(qū)的數(shù)據(jù)處理系統(tǒng),但通過記錄下列事實,本發(fā)明的機制可應用于多個分區(qū),所記錄的事實是該處理器處在睡眠方式,因而在收到一個事件以使該處理器恢復到完全操作方式之前,該處理器不能作為活動處理器參與。
指出下述內(nèi)容是重要的盡管在全功能數(shù)據(jù)處理系統(tǒng)的環(huán)境中描述了本發(fā)明,但本領域普通技術人員將會理解,本發(fā)明的過程能以指定的計算機可讀介質(zhì)形式和多種形式分發(fā),而且本發(fā)明同樣地適用,不論實際用于進行這種分發(fā)的信號承載介質(zhì)的具體類型如何。計算機可讀介質(zhì)的實例包括可記錄型介質(zhì),如軟盤、硬盤驅(qū)動器、RAM、CD-ROM、DVD-ROM,以及傳輸型介質(zhì),如數(shù)字的和模擬的通信鏈路。以及使用射頻和光波通信等傳輸形式的有線或無線通信。計算機可讀介質(zhì)可采取編碼格式的形式,在具體的數(shù)據(jù)處理系統(tǒng)中它們被解碼以供實際使用。
本發(fā)明的描述是為了說明和描述的目的,而非以所公開的形式窮盡或限制本發(fā)明。許多修改和變化對于本領域技術人員是顯然的。選擇和描述該實施例是為了最好地解釋本發(fā)明的原理和實際應用,并使本領域其他普通技術人員能理解本發(fā)明以實現(xiàn)具有各種修改的各種實施例,使其適用于所考慮的具體應用。
權利要求
1.一種在數(shù)據(jù)處理系統(tǒng)中管理一組處理器的方法,該方法包含接收來自一個操作系統(tǒng)的呼叫,其中該呼叫指出在這組處理器中的一個選定處理器在一段時間內(nèi)不被需要;以及改變選定處理器的操作,以在該段時間內(nèi)減少對電源的使用。
2.權利要求1的方法,其中呼叫是一個子處理器分區(qū)呼叫。
3.權利要求1的方法,其中該段時間是選定處理器存在空閑周期的時間。
4.權利要求1的方法,其中在改變選定處理器的操作之前,所選定的處理器處于一種原始狀態(tài),該方法進一步包含在該段時間已過去之后,使選定處理器返回原始狀態(tài)。
5.權利要求4的方法,進一步包含如果該段時間尚未過去而收到一個外部中斷,指出該選定處理器存在要做的工作,則使選定處理器返回到原始狀態(tài)。
6.權利要求1的方法,其中接收步驟和改變步驟由運行時抽象層完成。
7.權利要求1的方法,其中改變步驟包含降低選定處理器的時鐘速度。
8.權利要求1的方法,其中改變步驟包含將選定處理器置于睡眠方式。
9.一種管理一組處理器的數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包含接收裝置,用于接收來自一個操作系統(tǒng)的呼叫,其中該呼叫指出在這組處理器中的一個選定處理器在一段時間內(nèi)不被需要;以及改變裝置,用于改變選定處理器的操作,以在該段時間內(nèi)減少對電源的使用。
10.權利要求9的數(shù)據(jù)處理系統(tǒng),其中呼叫是一個子處理器分區(qū)呼叫。
11.權利要求9的數(shù)據(jù)處理系統(tǒng),其中該段時間是選定處理器存在空閑周期的時間。
12.權利要求9的數(shù)據(jù)處理系統(tǒng),其中在改變選定處理器的操作之前,所選定的處理器處于一種原始狀態(tài),該數(shù)據(jù)處理系統(tǒng)進一步包含返回裝置,用于在該段時間過去之后使選定處理器返回原始狀態(tài)。
13.權利要求12的數(shù)據(jù)處理系統(tǒng),其中該返回裝置是第一返回裝置,該數(shù)據(jù)處理系統(tǒng)進一步包含第二返回裝置,用于如果該段時間尚未過去而收到一個外部中斷,指出該處理器存在要做的工作,則使選定處理器返回到原始狀態(tài)。
14.權利要求9的數(shù)據(jù)處理系統(tǒng),其中接收裝置和改變裝置位于一個運行時抽象層。
15.權利要求9的數(shù)據(jù)處理系統(tǒng),其中改變裝置包含降低裝置,用于降低選定處理器的時鐘速度。
16.權利要求9的數(shù)據(jù)處理系統(tǒng),其中改變裝置包含設置裝置,用于將選定處理器置于睡眠方式。
17.在計算機可讀介質(zhì)中的用于管理一組處理器的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包含第一組指令,用于接收來自一個操作系統(tǒng)的呼叫,其中該呼叫指出在這組處理器中的一個選定處理器在一段時間內(nèi)不被需要;以及第二組指令,用于改變選定處理器的操作,以在該段時間內(nèi)減少對電源的使用。
18.權利要求17的計算機程序產(chǎn)品,其中呼叫是一個子處理器分區(qū)呼叫。
19.權利要求17的計算機程序產(chǎn)品,其中該段時間是選定處理器存在空閑周期的時間。
20.權利要求17的計算機程序產(chǎn)品,其中在改變選定處理器的操作之前,所選定的處理器處于一種原始狀態(tài),該計算機程序產(chǎn)品進一步包含第三組指令,用于在該段時間已過去之后使選定處理器返回原始狀態(tài)。
21.權利要求20的計算機程序產(chǎn)品,進一步包含第四組指令,用于如果該段時間尚未過去而收到一個外部中斷,指出該選定處理器存在要做的工作,則使選定處理器返回到原始狀態(tài)。
22.權利要求17的計算機程序產(chǎn)品,其中第一組指令和第二組指令位于一個運行時抽象層。
23.權利要求17的計算機程序產(chǎn)品,其中第二組指令包含子組指令,用于降低選定處理器的時鐘速度。
24.權利要求17的計算機程序產(chǎn)品,其中第二組指令包含子組指令,用于將選定處理器置于睡眠方式。
25.一種數(shù)據(jù)處理系統(tǒng),包含總線系統(tǒng);與總線系統(tǒng)連接的存儲器,其中該存儲器包括一組指令;以及與總線系統(tǒng)連接的處理單元,其中該處理單元執(zhí)行一組指令,以接收來自一個操作系統(tǒng)的呼叫,其中該呼叫指出在這組處理器中的一個選定處理器在一段時間內(nèi)不被需要;以及改變選定處理器的操作,以在該段時間內(nèi)減少對電源的使用。
全文摘要
用于管理一組處理器的方法、裝置和計算機指令。來自操作系統(tǒng)的一個呼叫被接收。該呼叫指出在該組處理器中的一個選定處理器在一段時間內(nèi)不被需要。響應對這一呼叫的接收,選定處理器的操作被改變,以在該段時間減少對電源的使用。
文檔編號G06F9/38GK1645294SQ20051000458
公開日2005年7月27日 申請日期2005年1月18日 優(yōu)先權日2004年1月22日
發(fā)明者馬克·艾洛特·哈克 申請人:國際商業(yè)機器公司