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