亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中動(dòng)態(tài)分配和解除分配處理器的方法和裝置的制作方法

文檔序號(hào):6408035閱讀:159來源:國知局
專利名稱:在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中動(dòng)態(tài)分配和解除分配處理器的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及一改進(jìn)的數(shù)據(jù)處理系統(tǒng),并具體涉及一種用于在一數(shù)據(jù)處理系統(tǒng)中管理組件的方法和裝置。更具體的,本發(fā)明提供一種用于在一邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中管理處理器的方法和裝置。
背景技術(shù)
一數(shù)據(jù)處理系統(tǒng)(平臺(tái))中的邏輯分區(qū)(LPAR)功能允許一個(gè)操作系統(tǒng)(OS)的多個(gè)副本或多個(gè)異類的操作系統(tǒng)同時(shí)在一個(gè)數(shù)據(jù)處理系統(tǒng)平臺(tái)上運(yùn)行。將該平臺(tái)的資源的一個(gè)不重疊子集分配給一個(gè)其中運(yùn)行一操作系統(tǒng)映像的分區(qū)。這些平臺(tái)可分配的資源包括位于它們的中斷管理區(qū)域(interrupt management area)內(nèi)的一個(gè)或多個(gè)結(jié)構(gòu)上分離的處理器、諸系統(tǒng)存儲(chǔ)器區(qū)域和諸輸入/輸出(I/O)適配器總線插槽。用平臺(tái)的固件對(duì)該OS的映像來代表該分區(qū)的資源。
防止在該平臺(tái)內(nèi)運(yùn)行的每個(gè)不同的OS或OS的映像相互影響,從而在一邏輯分區(qū)上的軟件錯(cuò)誤不能影響任何其他分區(qū)的正確操作。通過提供不相交的平臺(tái)資源集給每個(gè)OS映像直接管理以及提供用于確保各映像不能控制沒有分配給該OS的任何資源的機(jī)制,可以實(shí)現(xiàn)這一點(diǎn)。此外,防止對(duì)分配給一操作系統(tǒng)的資源的控制中的軟件錯(cuò)誤影響任何其他映像的資源。因此,該OS的每個(gè)映像(或每個(gè)不同的OS)直接控制該平臺(tái)內(nèi)不同的可分配資源集。
對(duì)于一LPAR系統(tǒng)內(nèi)的硬件資源,不同的分區(qū)不相交地共享這些資源,這些分區(qū)本身是不相交的,每個(gè)分區(qū)好像是一個(gè)孤立的計(jì)算機(jī)。這些資源可包括例如輸入/輸出(I/O)適配器、存儲(chǔ)器DIMM(雙內(nèi)聯(lián)存儲(chǔ)器模塊)、非易失隨機(jī)存取存儲(chǔ)器(NVRAM)和硬盤驅(qū)動(dòng)器??梢苑磸?fù)引導(dǎo)和關(guān)閉該LPAR系統(tǒng)內(nèi)的每個(gè)分區(qū)而不必重新啟動(dòng)(power-cycle)整個(gè)系統(tǒng)。
實(shí)際上,被分區(qū)不相交地共享的一些I/O設(shè)備本身受到一個(gè)公共硬件例如主(host)外圍組件接口(PCI)橋的控制,該橋可具有受控于該橋或位于該橋之下的多個(gè)I/O適配器。該主橋和連接到該橋的諸I/O適配器在該LPAR系統(tǒng)內(nèi)形成一個(gè)層級(jí)的硬件子系統(tǒng)。另外,可認(rèn)為這個(gè)橋被分配給它的插槽的所有分區(qū)共享。
目前,當(dāng)一系統(tǒng)管理員想要改變分配給不同分區(qū)的資源時(shí),在能夠?qū)⑦@些資源從一個(gè)分區(qū)解除分配并再分配給另一個(gè)分區(qū)之前,必須停止或關(guān)閉受該改變影響的分區(qū)。這種類型的解除分配和分配的能力稱為靜態(tài)邏輯分區(qū)。這種類型的能力會(huì)暫時(shí)中斷受影響的分區(qū)的正常操作。暫時(shí)中斷正常操作會(huì)影響該LPAR系統(tǒng)的用戶或其他客戶。
因此,具有一種用于在一LPAR系統(tǒng)內(nèi)管理分區(qū)而不需要中斷受影響的分區(qū)的操作的改進(jìn)的方法、裝置和計(jì)算機(jī)指令是有利的。

發(fā)明內(nèi)容
在第一個(gè)方面,本發(fā)明提供一種在一邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中用于管理該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)內(nèi)的一組處理器的方法,該方法包括響應(yīng)于一個(gè)將分配給該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)內(nèi)的一個(gè)分區(qū)的處理器解除分配的請(qǐng)求,停止該處理器,其中該處理器屬于該一組處理器;響應(yīng)于停止該處理器,使將該處理器置于一隔離狀態(tài),其中該處理器與該分區(qū)隔離;并將該處理器安置到一資源池中以便以后再分配。
該方法優(yōu)選地還包括,響應(yīng)于一個(gè)分配該處理器的請(qǐng)求,將該處理器分配給該分區(qū);配置該處理器以便由該分區(qū)使用;初始化用于訪問該處理器的資源;將該處理器安置到一自循環(huán)(spin loop)軟件狀態(tài)機(jī)中;將對(duì)該處理器的控制發(fā)送給該分區(qū)。
優(yōu)選地,通過禁止該處理器處理中斷的能力來將該處理器置于一隔離狀態(tài)。
優(yōu)選地,將該處理器安置到一資源池中以便以后再分配會(huì)使該處理器變到一未分配狀態(tài)。
優(yōu)選地,本發(fā)明在動(dòng)態(tài)基礎(chǔ)上將該處理器解除分配。
優(yōu)選地,將該處理器解除分配時(shí)無須終止該分區(qū)的執(zhí)行。
在第二個(gè)方面,本發(fā)明提供一種在一邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中用于管理該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的處理器的方法,該方法包括響應(yīng)于一個(gè)將分配給該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)內(nèi)的一個(gè)分區(qū)的處理器解除分配的請(qǐng)求,將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)中以將該處理器置于一停止?fàn)顟B(tài);使該處理器與該分區(qū)隔離,其中該分區(qū)不能訪問該處理器;以及在已將該處理器與該分區(qū)隔離后將該處理器解除分配。
優(yōu)選地,該解除分配步驟從該自循環(huán)軟件狀態(tài)機(jī)去掉該處理器,并將該處理器安置到一池中以便再分配。
優(yōu)選地,該分區(qū)是一第一分區(qū)并還包括響應(yīng)于在該處理器已被解除分配后接收到一個(gè)將該處理器分配給一第二分區(qū)的請(qǐng)求,在該第二分區(qū)不能訪問該處理器的狀態(tài)下將該處理器分配給該第二分區(qū);將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)中;在將該處理器安置到該自循環(huán)軟件狀態(tài)機(jī)中后解除該處理器與該分區(qū)的隔離;以及將該處理器置于一運(yùn)行狀態(tài),在該狀態(tài)中該處理器開始執(zhí)行該第二分區(qū)指定的地址處的代碼。
優(yōu)選地,該第二分區(qū)是該第一分區(qū)。
本方法優(yōu)選地還包括配置該處理器以在該第二分區(qū)中使用。
優(yōu)選地,在解除分配和分配該處理器時(shí)沒有停止該第一分區(qū)和第二分區(qū)的執(zhí)行。
在第三個(gè)方面,本發(fā)明提供一用于管理一組處理器的邏輯分區(qū)數(shù)據(jù)處理系統(tǒng),該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)包括一總線系統(tǒng);一連接到該總線系統(tǒng)的通信單元;一連接到該總線系統(tǒng)的存儲(chǔ)器,其中該存儲(chǔ)器包括一組指令;一具有一組連接到該總線系統(tǒng)的處理器的處理單元,其中響應(yīng)于一個(gè)將分配給該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)的一個(gè)分區(qū)的一個(gè)處理器解除分配的請(qǐng)求,該處理單元執(zhí)行該一組指令以停止屬于該組處理器的一個(gè)處理器;響應(yīng)于停止該處理器將該處理器置于一隔離狀態(tài),其中該處理器與該分區(qū)相隔離;以及將該處理器安置到一資源池中以便以后再分配。
在第四個(gè)方面,本發(fā)明提供一邏輯分區(qū)數(shù)據(jù)處理器系統(tǒng),用于管理該邏輯分區(qū)數(shù)據(jù)系統(tǒng)中的一組處理器,該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)包括一總線系統(tǒng);一連接到該總線系統(tǒng)的連接單元;一連接到該總線單元的存儲(chǔ)器,其中該存儲(chǔ)器包括一組指令;一連接到該總線系統(tǒng)的處理器單元,其中響應(yīng)于一個(gè)將分配給該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)的一個(gè)分區(qū)的一個(gè)處理器解除分配的請(qǐng)求,該處理單元執(zhí)行該一組指令以將該處理單元中的一個(gè)處理器安置到一自循環(huán)軟件狀態(tài)機(jī)中以使該處理器處于停止?fàn)顟B(tài);使該處理器與該分區(qū)相隔離,其中該分區(qū)不能訪問該處理器;以及在該處理器已經(jīng)與該分區(qū)隔離后解除該處理器的分配。
在第五個(gè)方面,本發(fā)明提供一邏輯分區(qū)數(shù)據(jù)處理系統(tǒng),用于管理該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的一組處理器,該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)包括用于響應(yīng)于一個(gè)將分配給該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)的一個(gè)分區(qū)的一個(gè)處理器解除分配的請(qǐng)求,停止該處理器的停止裝置,其中該處理器屬于該一組處理器;用于響應(yīng)于停止該處理器,將該處理器置于一隔離狀態(tài)的第一安置裝置,其中該處理器與該分區(qū)隔離;以及用于將該處理器安置到一資源池中以便以后再分配的第二安置裝置。
優(yōu)選地,該安置裝置是一第一安置裝置,并還包括用于響應(yīng)于一個(gè)分配該處理器的請(qǐng)求將該處理器分配給該分區(qū)的分配裝置;用于配置該處理器以便由該分區(qū)使用的配置裝置;用于初始化用于訪問該處理器的資源的初始化裝置;用于將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)中的第二安置裝置;以及用于將對(duì)該處理器的控制發(fā)送給該分區(qū)的發(fā)送裝置。
優(yōu)選地,通過禁止該處理器處理中斷的能力來將該處理器置于一隔離狀態(tài)。
優(yōu)選地,將該處理器安置到一資源池中以便以后再分配使得該處理器變到一未分配狀態(tài)。
優(yōu)選地,本方法在動(dòng)態(tài)基礎(chǔ)上解除分配該處理器。
優(yōu)選地,在解除分配該處理器時(shí)不需要終止該分區(qū)的執(zhí)行。
在第六個(gè)方面,本發(fā)明提供一種邏輯分區(qū)數(shù)據(jù)處理系統(tǒng),用于管理該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的處理器,該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)包括用于響應(yīng)于一個(gè)將分配給該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)的一個(gè)分區(qū)的一個(gè)處理器解除分配的請(qǐng)求,將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)以將該處理器置于一停止?fàn)顟B(tài)的安置裝置;用于將該處理器與該分區(qū)隔離的隔離裝置,其中該分區(qū)不能訪問該處理器;以及用于在該處理器已經(jīng)與該分區(qū)隔離后解除分配該處理器的解除分配裝置。
優(yōu)選地,該解除分配裝置從該自循環(huán)軟件狀態(tài)機(jī)中去掉該處理器并將該處理器安置到一個(gè)池中以便再分配。
優(yōu)選地,該分區(qū)是一第一分區(qū),并且其中該安置裝置是一第一安置裝置并還包括用于在該處理器已經(jīng)被解除分配后響應(yīng)于接收到一個(gè)將該處理器分配給一第二分區(qū)的請(qǐng)求,在該第二分區(qū)不能訪問該處理器的狀態(tài)下將該處理器分配給該第二分區(qū)的分配裝置;用于將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)的第二安置裝置;用于在將該處理器安置到該自循環(huán)軟件狀態(tài)機(jī)中之后,使該處理器與該分區(qū)解除隔離的解除隔離裝置;以及用于將該處理器置于一運(yùn)行狀態(tài)的第三安置裝置,在該運(yùn)行狀態(tài)中該處理器開始執(zhí)行該第二分區(qū)指定的地址處的代碼。
優(yōu)選地,該第二分區(qū)是該第一分區(qū)。
該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)優(yōu)選地還包括用于配置該處理器以在該第二分區(qū)中使用的配置裝置。
優(yōu)選地,在解除分配和分配該處理器時(shí)沒有終止該第一分區(qū)和該第二分區(qū)的執(zhí)行。
在第七個(gè)方面,提供一種計(jì)算機(jī)程序,當(dāng)將該計(jì)算機(jī)程序加載到一計(jì)算機(jī)系統(tǒng)上并執(zhí)行時(shí),其執(zhí)行所述第一個(gè)方面或第二個(gè)方面中的任何方法的所有步驟。
優(yōu)選地,提供一種用于管理該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的處理器的位于一計(jì)算機(jī)可讀介質(zhì)中的一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括用于響應(yīng)于一個(gè)將分配給該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)的一個(gè)分區(qū)的一個(gè)處理器解除分配的請(qǐng)求,將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)以將該處理器置于一停止?fàn)顟B(tài)的第一指令;用于將該處理器與該分區(qū)隔離的第二指令,其中該分區(qū)不能訪問該處理器;以及用于在該處理器已經(jīng)與該分區(qū)隔離后解除該處理器的分配的第三指令。
因此,本發(fā)明提供了一種用于管理一組處理器的適當(dāng)?shù)姆椒ā⒀b置和計(jì)算機(jī)指令。響應(yīng)于一個(gè)將分配給該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)的一個(gè)分區(qū)的一個(gè)處理器解除分配的請(qǐng)求,停止該組處理器中的該處理器。響應(yīng)于停止該處理器,將該處理器置于一隔離狀態(tài),在該狀態(tài)中該處理器與該分區(qū)隔離。然后將該處理器安置到一資源池中以便以后再分配。


現(xiàn)將參照附圖,僅作為示例描述本發(fā)明的一個(gè)優(yōu)選實(shí)施例,附圖如下圖1是一數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)圖,其中可實(shí)現(xiàn)本發(fā)明;圖2是一示例性邏輯分區(qū)平臺(tái)的結(jié)構(gòu)圖,其中可實(shí)現(xiàn)本發(fā)明;圖3示出一根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的LPAR表;圖4是一根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的用于將一處理器從一分區(qū)重新分到另一分區(qū)的過程的流程圖;圖5是一根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的用于解除分配一處理器的過程的流程圖;圖6是一根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的用于將該一處理器分配給一分區(qū)的過程的流程圖;以及圖7是一根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的用于一自循環(huán)軟件狀態(tài)機(jī)的過程的流程圖。
具體實(shí)施例方式
參照附圖并具體參照?qǐng)D1,示出一個(gè)數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)圖,在該數(shù)據(jù)處理系統(tǒng)中可實(shí)現(xiàn)本發(fā)明。數(shù)據(jù)處理系統(tǒng)100可以是一包括連接到系統(tǒng)總線106上的多個(gè)處理器101、102、103和104的對(duì)稱多處理器(SMP)系統(tǒng)。例如,數(shù)據(jù)處理系統(tǒng)100可以是一IBM RS/6000,它是位于紐約Armonk的國際商業(yè)機(jī)器公司的產(chǎn)品,在網(wǎng)絡(luò)中用作服務(wù)器?;蛘撸墒褂靡粏我惶幚砥飨到y(tǒng)。存儲(chǔ)器控制器/高速緩沖存儲(chǔ)器108也連接到系統(tǒng)總線106上并提供到多個(gè)局部存儲(chǔ)器160-163的接口。I/O總線橋110連接到系統(tǒng)總線106上并提供到I/O總線112的接口。如圖所示,存儲(chǔ)器控制器/高速緩沖存儲(chǔ)器108和I/O總線橋110可以集成在一起。
數(shù)據(jù)處理系統(tǒng)100是一邏輯分區(qū)(LPAR)數(shù)據(jù)處理系統(tǒng)。因此,數(shù)據(jù)處理系統(tǒng)100可具有同時(shí)運(yùn)行的多個(gè)異類的操作系統(tǒng)(或單一操作系統(tǒng)的多個(gè)實(shí)例)。該多個(gè)操作系統(tǒng)中的每一個(gè)中可執(zhí)行任何數(shù)量的軟件程序。數(shù)據(jù)處理系統(tǒng)100是邏輯分區(qū)的,從而可將不同的PCI I/O適配器120-121、128-129和136、圖形適配器148和硬盤適配器149分配給不同的邏輯分區(qū)。在這種情況下,圖形適配器148為一顯示設(shè)備(未示出)提供連接,而硬盤適配器149提供連接以控制硬盤150。
因此,例如,假設(shè)數(shù)據(jù)處理系統(tǒng)100被劃分成三個(gè)邏輯分區(qū)P1、P2和P3。PCI I/O適配器120-121、128-129和136中的每一個(gè)、圖形適配器148、硬盤適配器149、主處理器101-104的每一個(gè)以及局部存儲(chǔ)器160-163的每一個(gè)被分配給該三個(gè)分區(qū)中的一個(gè)。例如,處理器101、局部存儲(chǔ)器160和I/O適配器120、128和129可被分配給邏輯分區(qū)P1;處理器102-103、局部存儲(chǔ)器161和PCI I/O適配器121和136可被分配給邏輯分區(qū)P2;處理器104、局部存儲(chǔ)器162-163、圖形適配器148和硬盤適配器149可被分配給邏輯分區(qū)P3。
將在數(shù)據(jù)處理系統(tǒng)100中執(zhí)行的每個(gè)操作系統(tǒng)分配給一個(gè)不同的邏輯分區(qū)。因此,在數(shù)據(jù)處理系統(tǒng)100中執(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 2000操作系統(tǒng)可在邏輯分區(qū)P1內(nèi)執(zhí)行。Windows 2000是位于華盛頓州Redmond的微軟公司的產(chǎn)品和商標(biāo)。
連接到I/O總線112的外圍部件互連(PCI)主橋114為PCI局部總線115提供一個(gè)接口。多個(gè)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實(shí)現(xiàn)將支持四到八個(gè)I/O適配器(例如用于附加連接器的擴(kuò)充槽)。每個(gè)PCI I/O適配器120-121在數(shù)據(jù)處理系統(tǒng)100和輸入/輸出設(shè)備例如作為數(shù)據(jù)處理系統(tǒng)100的客戶的其他網(wǎng)絡(luò)計(jì)算機(jī)之間提供接口。
一附加PCI主橋122為一附加PCI總線提供一接口。PCI總線123連接到多個(gè)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和128被分別安置到I/O插槽172和173中。這樣,通過PCI I/O適配器128-129的每一個(gè)可支持附加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可通過PCI總線144、PCI-到-PCI橋142、PCI總線141和PCI主橋140連接到I/O總線112上??蓪⒂脖P適配器149安置于連接到PCI總線145的I/O插槽175中。接著,該總線145連接到PCI-到-PCI橋142上,該橋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上。該P(yáng)CI總線也將PCI主橋130連接到服務(wù)處理器郵箱接口和ISA總線訪問直通(pass-through)邏輯194和PCI-到-PCI橋132上。服務(wù)處理器郵箱接口和ISA總線訪問直通邏輯194轉(zhuǎn)送目標(biāo)為PCI/ISA橋193的PCI訪問。NVRAM存儲(chǔ)器192連接到該ISA總線196上。服務(wù)處理器135通過它的局部PCI總線195連接到服務(wù)處理器郵箱接口和ISA總線訪問直通邏輯194上。服務(wù)處理器135也通過多個(gè)JTAG/I2C總線134連接到處理器101-104。JTAG/I2C總線134是JTAG/掃描總線(見IEEE 1149.1)和Phillips I2C總線的組合。然而,可選擇地,可僅用Phillips I2C總線或僅用JTAG/掃描總線來替換JTAG/I2C總線134。將該些主處理器101、102、103和104的所有SP-ATTN信號(hào)連接到一起以形成該服務(wù)處理器的一個(gè)中斷輸入信號(hào)。該服務(wù)處理器135有自己的局部存儲(chǔ)器191,并訪問該硬件操作面板190。
當(dāng)一開始向數(shù)據(jù)處理器系統(tǒng)100供電時(shí),服務(wù)處理器135使用該JTAG/I2C總線134詢問該系統(tǒng)(主)處理器101-104、存儲(chǔ)器控制器/高速緩沖存儲(chǔ)器108和I/O橋110。完成這個(gè)步驟后,服務(wù)處理器135了解了該數(shù)據(jù)處理系統(tǒng)100的各元件和拓?fù)?。服?wù)處理器135還在通過詢問(主)處理器101-104、存儲(chǔ)器控制器/高速緩沖存儲(chǔ)器108和I/O橋110發(fā)現(xiàn)的所有元件上進(jìn)行內(nèi)建自測試(BIST)、基本保證測試(BAT)和存儲(chǔ)器測試。服務(wù)處理器135收集并報(bào)告在該些BIST、BAT和存儲(chǔ)器測試中檢測到的關(guān)于故障的任何錯(cuò)誤信息。
如果在去掉在該些BIST、BAT和存儲(chǔ)器測試中發(fā)現(xiàn)的有故障的元件后仍可得到系統(tǒng)資源的一有意義/有效的配置,則允許數(shù)據(jù)處理系統(tǒng)繼續(xù)下去,將可執(zhí)行代碼加載到局部(主)存儲(chǔ)器160-163中。然后服務(wù)處理器135釋放該些主處理器101-104以執(zhí)行加載到局部存儲(chǔ)器160-163的代碼。當(dāng)該些主處理器101-104執(zhí)行來自該數(shù)據(jù)處理系統(tǒng)100內(nèi)的各個(gè)操作系統(tǒng)的代碼時(shí),服務(wù)處理器135進(jìn)入監(jiān)視和報(bào)告錯(cuò)誤模式。服務(wù)處理器135監(jiān)視的項(xiàng)目類型包括例如冷卻風(fēng)扇的速度和操作、熱傳感器、電源調(diào)節(jié)器以及由處理器101-104、局部存儲(chǔ)器160-163和I/O橋110報(bào)告的可恢復(fù)和不可恢復(fù)的錯(cuò)誤。
服務(wù)處理器135負(fù)責(zé)保存并報(bào)告與在數(shù)據(jù)處理系統(tǒng)100中所有被監(jiān)視的項(xiàng)目有關(guān)的錯(cuò)誤信息。服務(wù)處理器135也根據(jù)錯(cuò)誤類型和定義的閾值采取行動(dòng)。例如,服務(wù)處理器135會(huì)注意到一處理器的高速緩沖存儲(chǔ)器上的過多的可恢復(fù)的錯(cuò)誤并判定這是硬件故障的前兆。根據(jù)該判定,服務(wù)處理器135可標(biāo)記該資源以使之在當(dāng)前運(yùn)行的會(huì)話以及將來的初始程序裝入(IPL)期間退出配置。IPL有時(shí)也稱為“引導(dǎo)”(boot)或“引導(dǎo)”(bootstrap)。
可使用各種市售的計(jì)算機(jī)系統(tǒng)來實(shí)現(xiàn)數(shù)據(jù)處理系統(tǒng)100。例如,可使用國際商業(yè)機(jī)器公司的IBM eServer i系列840型系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)處理系統(tǒng)100。這樣的系統(tǒng)支持使用一OS/400操作系統(tǒng)的邏輯分區(qū),該OS/400操作系統(tǒng)也可從國際商業(yè)機(jī)器公司得到。
本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員應(yīng)理解,圖1中所描述的硬件是可以改變的。例如,除了所述的硬件外還可使用其他的外圍設(shè)備例如光盤驅(qū)動(dòng)器及其類似物,作為附加或替代。所述示例并不打算限制本發(fā)明的結(jié)構(gòu)。
現(xiàn)參照?qǐng)D2,示出一示例性的邏輯分區(qū)平臺(tái)的結(jié)構(gòu)圖,在該邏輯平臺(tái)中可實(shí)現(xiàn)本發(fā)明。邏輯分區(qū)平臺(tái)200中的硬件可實(shí)現(xiàn)為例如圖1中的數(shù)據(jù)處理系統(tǒng)100。邏輯分區(qū)平臺(tái)200包括分區(qū)硬件230、操作系統(tǒng)202、204、206、208以及管理程序(supervisor)210。操作系統(tǒng)202、204、206和208可以是在平臺(tái)200上同時(shí)運(yùn)行的一個(gè)操作系統(tǒng)的多個(gè)副本或多個(gè)異類的操作系統(tǒng)。可使用OS/400實(shí)現(xiàn)這些操作系統(tǒng),并將這些操作系統(tǒng)設(shè)計(jì)成與一管理程序接口連接。操作系統(tǒng)202、204、206和208位于分區(qū)203、205、207和209內(nèi)。
另外,這些分區(qū)還包括固件裝入程序211、213、215和217。使用可從國際商業(yè)機(jī)器公司得到的IEEE-1275標(biāo)準(zhǔn)開放固件和運(yùn)行時(shí)間抽象軟件(RTAS)可實(shí)現(xiàn)固件裝入程序211、213、215和217。當(dāng)實(shí)例化分區(qū)203、205、207和209時(shí),由該管理程序的分區(qū)管理程序?qū)⒃撻_放固件的一個(gè)副本加載到每個(gè)分區(qū)中。然后將與該分區(qū)相關(guān)聯(lián)的或分配給該分區(qū)的處理器分派到該分區(qū)的存儲(chǔ)器以執(zhí)行該分區(qū)固件。
分區(qū)硬件230包括多個(gè)處理器232-238、多個(gè)系統(tǒng)存儲(chǔ)器單元240-246、多個(gè)輸入/輸出(I/O)適配器248-262和一存儲(chǔ)設(shè)備單元270。分區(qū)硬件230還包括服務(wù)處理器290,其可用于提供多種服務(wù)例如處理該些分區(qū)內(nèi)的錯(cuò)誤。可將處理器232-238、存儲(chǔ)器單元240-246、NVRAM存儲(chǔ)器298和I/O適配器248-262中的每一個(gè)分配給邏輯分區(qū)平臺(tái)220中的多個(gè)分區(qū)中的一個(gè),該邏輯分區(qū)平臺(tái)220內(nèi)的每個(gè)分區(qū)對(duì)應(yīng)于操作系統(tǒng)202、204、206和208中的一個(gè)。
分區(qū)管理固件(管理程序)210為分區(qū)203、205、207和209執(zhí)行多個(gè)功能和服務(wù)以創(chuàng)建和實(shí)施邏輯分區(qū)平臺(tái)200的分區(qū)。管理程序210是與作為基礎(chǔ)的硬件相同的一個(gè)由固件實(shí)現(xiàn)的虛擬機(jī)??蓮膰H商業(yè)機(jī)器公司得到管理程序軟件。固件是存儲(chǔ)在一存儲(chǔ)器芯片中的“軟件”,該存儲(chǔ)器片在不帶電時(shí)仍保留其內(nèi)容,例如只讀存儲(chǔ)器(ROM)、可編程ROM(PROM)、可擦除的可編程ROM(EPROM)、電可擦除的可編程ROM(EEPROM)和非易失的隨機(jī)存取存儲(chǔ)器(非易失RAM)。因此,管理程序210通過虛擬化邏輯分區(qū)平臺(tái)200的所有硬件資源允許同時(shí)執(zhí)行獨(dú)立的OS映像202、204、206和208。
通過硬件管理控制臺(tái)例如控制臺(tái)264可控制不同分區(qū)的操作??刂婆_(tái)264是一個(gè)單獨(dú)的數(shù)據(jù)處理系統(tǒng),從該數(shù)據(jù)處理系統(tǒng)中一系統(tǒng)管理員可執(zhí)行包括將資源重新分配到不同分區(qū)的多種功能。
接著參照?qǐng)D3,示出根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的LPAR表。在此示例中,LPAR表位于NVRAM 300和系統(tǒng)存儲(chǔ)器302中。NVRAM 300可實(shí)現(xiàn)為圖2中的NVRAM 298,并且系統(tǒng)存儲(chǔ)器302可實(shí)現(xiàn)為圖2中的系統(tǒng)存儲(chǔ)器244。這些表中的信息用于識(shí)別什么資源被分配給特定的分區(qū)以及狀況信息。
在此示例中,在NVRAM 300中這些表包括處理器表304、抽屜表306、輸入/輸出(I/O)插槽分配表308、狀況/命令表310和系統(tǒng)資源表312。對(duì)于該LPAR數(shù)據(jù)處理系統(tǒng)中每個(gè)處理器,處理器表304中都維護(hù)一條記錄。該表中的每條記錄包括例如分配給該處理器的邏輯分區(qū)的ID、物理位置ID、處理器狀況以及處理器狀態(tài)。
對(duì)于該LPAR系統(tǒng)中的每個(gè)抽屜,抽屜表306中都有一條記錄,其中每條記錄都可包括抽屜狀況和插槽的數(shù)量。抽屜是位于機(jī)架內(nèi)的位置。每個(gè)抽屜具有某個(gè)最大數(shù)量的插槽,在該些插槽內(nèi)安放處理器節(jié)點(diǎn)、I/O設(shè)備和存儲(chǔ)器板。機(jī)架為各組件提供了托架以及電能。
對(duì)于該LPAR系統(tǒng)內(nèi)的每個(gè)插槽,I/O插槽分配表308中都有一條記錄,并且例如,每條記錄可包括位置代碼、I/O設(shè)備ID和分配給該插槽的分區(qū)的ID。
系統(tǒng)存儲(chǔ)器302包括轉(zhuǎn)換控制條目(TCE)表314、存儲(chǔ)器映射輸入/輸出(MMIO)表316和中斷表318。這些表包括用于識(shí)別用于訪問I/O插槽的資源的信息。例如TCE表314可包括針對(duì)每個(gè)插槽的直接存儲(chǔ)器存取(DMA)地址的轉(zhuǎn)換控制條目(TCE)。另外,插槽的存儲(chǔ)器映射輸入/輸出(MMIO)地址位于MMIO表316中。另外,在中斷表318中也可識(shí)別分配給不同插槽的中斷。一管理程序例如圖2中的管理程序210控制并可訪問此信息。
對(duì)于每個(gè)分區(qū),狀況/命令表310中都有一條記錄。該表可包括該分區(qū)的命令狀態(tài)、對(duì)該分區(qū)的當(dāng)前命令和對(duì)該分區(qū)的最后命令。
系統(tǒng)資源表312中維護(hù)關(guān)于該系統(tǒng)可利用的資源的信息。此表可包括例如插槽的最大數(shù)量、處理器的最大數(shù)量、抽屜的最大數(shù)量、被安裝的總的存儲(chǔ)器、分配給該些分區(qū)的總的存儲(chǔ)器以及時(shí)間信息。
現(xiàn)參照?qǐng)D4,示出根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的用于將一處理器從一分區(qū)重新分配到另一分區(qū)的過程的流程圖??梢栽谝挥布芾砜刂婆_(tái)例如圖2中控制臺(tái)264中實(shí)現(xiàn)圖4中示出的過程。該些步驟可通過由用戶發(fā)起每個(gè)步驟來實(shí)現(xiàn),或者通過在該過程根據(jù)該操作系統(tǒng)的響應(yīng)發(fā)起每個(gè)步驟時(shí),由用戶輸入選擇與該動(dòng)態(tài)再分配有關(guān)的一處理器以及分區(qū)來實(shí)現(xiàn)。在此示例中,請(qǐng)求為從一第一分區(qū)中將一處理器解除分配并將該處理器分配給一第二分區(qū)。
該過程開始于該操作系統(tǒng)發(fā)送一個(gè)從第一分區(qū)將一處理器解除分配的請(qǐng)求(步驟400)。在此示例中這個(gè)請(qǐng)求包括一處理器ID以識(shí)別該處理器。然后判定該處理器是否可用(步驟402)。這個(gè)判定主要監(jiān)視該處理器在一全局處理器池中的可用性。如果一處理器是不可用的,則該過程繼續(xù)進(jìn)行,返回到步驟402。否則,將可用處理器表中的分區(qū)ID從第一分區(qū)變成第二分區(qū)(步驟404)。在一處理器表例如圖3中的處理器表304中改變此分區(qū)ID。此后,向位于該第二分區(qū)內(nèi)的操作系統(tǒng)發(fā)送一個(gè)增加該處理器的請(qǐng)求(步驟406),然后該過程結(jié)束。
在下面的附圖示出操作系統(tǒng)、固件裝入程序和管理程序用來解除分配和分配一處理器的過程。在這些示例中,這些過程是響應(yīng)于一控制臺(tái)的請(qǐng)求而發(fā)起的過程。
現(xiàn)參照?qǐng)D5,示出根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的用于將一處理器解除分配的過程的流程圖。在一邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)例如圖2中的邏輯分區(qū)平臺(tái)200中可實(shí)現(xiàn)圖5中示出的過程。
通過接收到一個(gè)解除分配一處理器的請(qǐng)求(步驟500)來開始該過程。在這些示例中,從該分區(qū)的該操作系統(tǒng)接收到該請(qǐng)求。接下來,判定是否選擇了一處理器(步驟502)。如果沒有選擇一處理器,則選擇一處理器(步驟504)。在此示例中,操作系統(tǒng)根據(jù)某種策略或某組規(guī)則選擇該處理器。例如,響應(yīng)于這個(gè)不確定的解除分配的請(qǐng)求,該操作系統(tǒng)根據(jù)諸如處理器中斷優(yōu)先權(quán)和處理器的工作負(fù)荷等屬性來確定將選擇哪個(gè)處理器。
將該處理器的狀態(tài)變成停止(步驟506),從而停止該處理器的執(zhí)行(步驟508)。通過由該操作系統(tǒng)調(diào)度該被選擇的處理器發(fā)出一RTAS調(diào)用來開始步驟506。在此示例中,該調(diào)用是一rtas_stop_self()調(diào)用。響應(yīng)于該調(diào)用,該被選擇的處理器發(fā)起對(duì)該管理程序例如管理程序210的調(diào)用以將該處理器的狀態(tài)從運(yùn)行變成停止。在此狀態(tài)下,該處理器進(jìn)入一循環(huán),也稱為一rtas_spin_loop(),在該循環(huán)中該處理器等待來自該分區(qū)中的其他處理器的觸發(fā)事件。另外,該操作系統(tǒng)將發(fā)出詢問以確保該被選擇的處理器已變到停止?fàn)顟B(tài)。該操作系統(tǒng)可通過對(duì)該固件裝入程序的RTAS組件的一rtas_query_stopped_state()調(diào)用來發(fā)出詢問。
去除用于訪問該處理器的資源(步驟510)。執(zhí)行步驟510以使該處理器與該分區(qū)隔離。在這些示例中,隔離是指該處理器不能再作為一中斷服務(wù)器。換句話說,該處理器不能再接收和處理中斷。在此示例中被去除的資源包括去除外部中斷源,該外部中斷源將該處理器指定為服務(wù)器,并禁止一個(gè)向該處理器路由發(fā)送任何外部中斷的全局服務(wù)器隊(duì)列。響應(yīng)于來自操作系統(tǒng)的調(diào)用,通過該RTAS調(diào)用該管理程序可實(shí)現(xiàn)該隔離。然后,將該處理器的狀態(tài)變成停止(步驟512)。
在隔離該處理器后,該操作系統(tǒng)準(zhǔn)備好使該處理器返回到一全局可用處理器池。解除分配該處理器(步驟514)并將該處理器的狀態(tài)變成未分配的(步驟516)。通過該處理系統(tǒng)發(fā)出調(diào)用以將該處理器解除分配來發(fā)起該解除分配。在此示例中,該調(diào)用是對(duì)包括該RTAS的固件裝入程序發(fā)出的rtas_set_indicator()調(diào)用。修改當(dāng)前可獲得的rtas_set_indicator()調(diào)用以處理新類型的指示符,本發(fā)明的機(jī)制使用該些新類型的指示符以實(shí)現(xiàn)所希望的功能。該RTAS通過向當(dāng)前位于該rtas_spin_loop()中的處理器發(fā)送一解除分配或觸發(fā)事件以實(shí)現(xiàn)解除分配。該處理器確認(rèn)此事件,接著該處理器調(diào)用該管理程序以將該處理器發(fā)送回全局可用處理器池。該處理器將它的分區(qū)寄存器標(biāo)識(shí)符重置為零以指示該處理器現(xiàn)在處于一未分配狀態(tài)。該解除分配或觸發(fā)事件也稱為“去往全局處理器池”事件。通過將此該分區(qū)標(biāo)識(shí)符設(shè)為零來更新該分區(qū)標(biāo)識(shí)符以指示現(xiàn)在該處理器位于該全局可用處理器池中(步驟518)。在一個(gè)表例如圖3中的位于NVRAM 300中的處理器表304中進(jìn)行該更新。發(fā)送一報(bào)警消息(步驟520),然后該過程結(jié)束。將此報(bào)警消息發(fā)送給一硬件管理控制臺(tái)例如圖2中的控制臺(tái)264。
使用該報(bào)警消息以指示已經(jīng)解除分配該處理器。
再次返回步驟502,如果選擇一處理器,則該過程進(jìn)到如上所述的步驟506。
現(xiàn)參照?qǐng)D6,示出根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的用于將一處理器分配給一分區(qū)的過程的流程圖??稍谝贿壿嫹謪^(qū)數(shù)據(jù)處理系統(tǒng)例如圖2中的邏輯分區(qū)平臺(tái)200中實(shí)現(xiàn)圖6中示出的過程。
通過接收一分配一處理器的請(qǐng)求來開始該過程(步驟600)。在此步驟中,可由在一控制臺(tái)例如圖2中的控制臺(tái)264前的一操作者或系統(tǒng)管理員發(fā)起該請(qǐng)求。該操作系統(tǒng)接收一個(gè)分配一處理器的許可,其可能指示或沒有指示將要分配哪個(gè)處理器。如果沒有識(shí)別一處理器,則進(jìn)行調(diào)用以識(shí)別該處理器。該操作系統(tǒng)發(fā)出調(diào)用以使該處理器被分配給該分區(qū)。然后將該處理器分配給該分區(qū)(步驟602)。使用一rtas_set_indicator()調(diào)用可發(fā)起此分配。響應(yīng)于接收到來自該操作系統(tǒng)的這個(gè)調(diào)用,該RTAS將該處理器的狀態(tài)從未分配的變成隔離的(步驟604)。
調(diào)度并停止該處理器(步驟606)。在被調(diào)度給該分區(qū)后,該處理器初始化它的分區(qū)ID寄存器和其他管理程序資源寄存器。每個(gè)處理器在其硬件中具有一分區(qū)ID寄存器。所有屬于同一分區(qū)的處理器必須具有寫入它們的內(nèi)部分區(qū)ID寄存器中的相同的分區(qū)ID值(從該LPAR處理器表中獲得)。當(dāng)將該新處理器分派給新分區(qū)時(shí),設(shè)置該處理器的內(nèi)部分區(qū)ID寄存器以具有與已位于該分區(qū)內(nèi)的其他處理器的分區(qū)ID相同的分區(qū)ID。處理器硬件使用該分區(qū)ID以便正常運(yùn)行。類似的,存在其他的處理器專用寄存器例如頁表寄存器、實(shí)模式偏移量寄存器、實(shí)模式大小寄存器等,該些寄存器必須被初始化為具有與已位于該分區(qū)內(nèi)的其他處理器所使用的值相同的值。通過將該處理器安置到一軟件狀態(tài)機(jī)rtas_spin_loop()中來停止該處理器,在該狀態(tài)機(jī)中該處理器執(zhí)行一自循環(huán)過程,在該自循環(huán)過程中該處理器等待一觸發(fā)事件以執(zhí)行其他的指令。將該處理器的狀態(tài)變成停止(步驟608)。這是該操作系統(tǒng)發(fā)出調(diào)用來解除隔離該處理器以便由該操作系統(tǒng)配置的結(jié)果。通過調(diào)用該RTAS例如一rtas_set_indicator()調(diào)用來發(fā)起狀態(tài)改變,該調(diào)用中包含一參數(shù)來指示所需的狀態(tài)改變。接著,通過RTAS調(diào)用該管理程序來改變?cè)摖顟B(tài),可將該處理器的狀態(tài)從隔離的改變?yōu)橥V沟摹?br> 當(dāng)作為步驟604的結(jié)果,該處理器開始進(jìn)入該自循環(huán)時(shí),該操作系統(tǒng)可能不知道該處理器是否成功地位于該自循環(huán)中。步驟608將狀態(tài)從隔離的改變?yōu)橥V沟模⑶疫@是操作系統(tǒng)確定該處理器確實(shí)位于該分區(qū)的RTAS狀態(tài)機(jī)rtas_spin_loop()中的機(jī)制。作為步驟608的結(jié)果,現(xiàn)在該處理器已準(zhǔn)備好被調(diào)度到該OS的內(nèi)核處理器資源管理程序的控制中。
配置該處理器(步驟610)。該配置是由該操作系統(tǒng)發(fā)起的。在此示例中,向該RTAS發(fā)出一rtas_configure_connector()調(diào)用。執(zhí)行的配置可包括例如將該處理器設(shè)置成發(fā)揮一中斷服務(wù)器的功能。另外,可使能一全局服務(wù)器隊(duì)列向此處理器路由傳送中斷。
將該處理器的狀態(tài)變成運(yùn)行的以給予該操作系統(tǒng)內(nèi)核對(duì)該處理器的完全控制(步驟612),然后該過程結(jié)束。當(dāng)該操作系統(tǒng)準(zhǔn)備好使用一處理器時(shí)該操作系統(tǒng)發(fā)起此步驟。該操作系統(tǒng)可向該RTAS發(fā)送一個(gè)調(diào)用例如rtas_start_cpu()以請(qǐng)求將對(duì)該處理器的控制給予該操作系統(tǒng)。作為響應(yīng),該RTAS調(diào)用該管理程序以將此處理器的狀態(tài)從停止的設(shè)為運(yùn)行的。此后,該RTAS發(fā)送一觸發(fā)事件以使該處理器開始執(zhí)行用于該操作系統(tǒng)的一目標(biāo)地址上的指令。該觸發(fā)事件可包括一存儲(chǔ)器緩沖區(qū)地址,作為用于該目標(biāo)地址處的子程序的參數(shù)。響應(yīng)于這個(gè)狀態(tài)改變,該處理器認(rèn)可該事件,退出該自循環(huán)狀態(tài),將所提供的存儲(chǔ)器緩沖區(qū)地址設(shè)置到該處理器的寄存器中,并分支到在該目標(biāo)地址處提供的子程序。
現(xiàn)參照?qǐng)D7,示出一根據(jù)本發(fā)明一優(yōu)選實(shí)施例的用于一自循環(huán)軟件狀態(tài)機(jī)的過程的流程圖。在一處理器例如圖2中的處理器232中可實(shí)現(xiàn)圖7中示出的過程。圖7中的過程更詳細(xì)地描述了當(dāng)一處理器進(jìn)入一自循環(huán)狀態(tài)例如被一rtas_spin_loop()調(diào)用發(fā)起的狀態(tài)時(shí)發(fā)生的事件。此狀態(tài)也是停止?fàn)顟B(tài),當(dāng)該處理器執(zhí)行下述的自循環(huán)過程中的步驟時(shí)將發(fā)生此狀態(tài)。
通過判定是否已發(fā)生一觸發(fā)事件(步驟700)來開始該過程。這些事件是可以在一個(gè)調(diào)用中被傳遞給該處理器以使該處理器執(zhí)行一個(gè)功能或執(zhí)行被選定的代碼的特定指令或參數(shù)。如果已發(fā)生一觸發(fā)事件,則判定該事件是否是“go_to_OS”(去往操作系統(tǒng))(步驟702)。如果該事件不是“go_to_OS”,則判定該事件是否是“go_to_globalprocessor_pool”(去往全局處理器池)(步驟704)。如果該事件不是“go_to_globalprocessor_pool”,則判定該事件是否是“turn_off_myself”(關(guān)閉我自己)(步驟706)。如果該事件是“turn_off_myself”,則從該系統(tǒng)中去掉該處理器(步驟708),然后該過程結(jié)束。如果已識(shí)別該處理器是一個(gè)壞的處理器或是一個(gè)運(yùn)行時(shí)出現(xiàn)故障的處理器,則發(fā)生形式為“turn_off_myself”的事件。
再返回步驟706,如果該事件不是“turn_off_myself”,則過程返回上述的步驟700。如果沒有任何觸發(fā)事件,則在一個(gè)也稱為“自循環(huán)”的“循環(huán)”中該過程繼續(xù)進(jìn)行,返回到步驟706。
再參照步驟704,如果該事件是“go_to_globalprocessor_pool”,則調(diào)用該管理程序以將該NVRAM的狀態(tài)從隔離的變成未分配的(步驟712)。在一處理器表例如圖3中的處理器表304中改變?cè)摖顟B(tài)。然后,該過程在全局處理器池管理程序的處理器控制循環(huán)中執(zhí)行,并等待以后的調(diào)度(步驟714),然后該過程結(jié)束。
再參照步驟702,如果該事件是“go_to_OS”,則該處理器分支到由該操作系統(tǒng)設(shè)置的地址并執(zhí)行來自該地址的代碼(步驟710),然后過程結(jié)束。步驟710示出該處理器從一停止?fàn)顟B(tài)進(jìn)入一運(yùn)行狀態(tài)。在該處理器可以響應(yīng)該“go_to_OS”以在步驟710中進(jìn)入該運(yùn)行狀態(tài)之前,該處理器的狀態(tài)已從隔離的變成停止的。再參照步驟700,如果一觸發(fā)事件沒有發(fā)生,則該過程返回到開始。
因此,本發(fā)明提供一種允許在一邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中動(dòng)態(tài)解除分配和分配處理器資源的改進(jìn)的方法、裝置和計(jì)算機(jī)指令。此過程允許一用戶或系統(tǒng)管理員發(fā)送一個(gè)從一分區(qū)解除分配一處理器并使該處理器分配給另一分區(qū)的請(qǐng)求。該操作系統(tǒng)發(fā)起將該處理器從該分區(qū)解除分配并將其安置到一全局池中以便再分配所必須的步驟。當(dāng)檢測到再分配時(shí),可通過在一處理器表例如圖3中的處理器表304中改變分區(qū)ID來將該處理器分配給另一分區(qū)。此后,該用戶可向位于分區(qū)2中的操作系統(tǒng)發(fā)送一個(gè)將該處理器授予該分區(qū)的請(qǐng)求,然后該操作系統(tǒng)執(zhí)行分配該處理器所需的步驟。執(zhí)行所有這些步驟時(shí)不需要終止受影響的分區(qū)中任何一個(gè)的操作。
應(yīng)注意,盡管已經(jīng)在一全功能的數(shù)據(jù)處理系統(tǒng)的情境中描述了本發(fā)明,但本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員將理解,能夠以包含指令的計(jì)算機(jī)可讀介質(zhì)的形式以及多種形式分發(fā)本發(fā)明的過程,并且不管實(shí)際用于執(zhí)行該分發(fā)的信號(hào)承載介質(zhì)的具體形式如何,可同樣地應(yīng)用本發(fā)明。計(jì)算機(jī)可讀介質(zhì)的例子包括可記錄類型的介質(zhì)例如軟盤、硬盤驅(qū)動(dòng)器、RAM、CD-ROM、DVD-ROM,和傳輸型介質(zhì)例如數(shù)字和模擬通信鏈路、使用諸如射頻或光波傳輸?shù)葌鬏斝问降挠芯€或無線通信鏈路。該計(jì)算機(jī)可讀介質(zhì)可采取編碼格式的形式,可以對(duì)其解碼以在一特定的數(shù)字處理系統(tǒng)中使用。
已給出的對(duì)本發(fā)明的描述是出于說明和描述的目的,而不是打算是窮盡性的或?qū)⒈景l(fā)明限制在公開的形式中。對(duì)于本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員而言,很明顯可進(jìn)行多種修正和變動(dòng)。例如,所示參與處理器的動(dòng)態(tài)分配和解除分配的具體組件是一操作系統(tǒng)、一RTAS和一管理程序。描述這些具體組件是出于說明目的而不是打算限制動(dòng)態(tài)分配過程的實(shí)現(xiàn)方式。選擇和描述該實(shí)施例是為了更好地解釋本發(fā)明的原理、實(shí)際應(yīng)用,并使本領(lǐng)域內(nèi)的其他技術(shù)人員理解本發(fā)明的適于預(yù)期的特定用途的具有各種修正的各種實(shí)施例。
權(quán)利要求
1.一種在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)用于管理該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的一組處理器的方法,該方法包括響應(yīng)于一個(gè)將被分配給該邏輯分區(qū)數(shù)據(jù)處理器系統(tǒng)中的一個(gè)分區(qū)的一處理器解除分配的請(qǐng)求,停止該處理器,其中該處理器屬于該一組處理器;響應(yīng)于停止該處理器,將該處理器置于一隔離狀態(tài),其中該處理器與該分區(qū)隔離;以及將該處理器安置到一資源池中以便以后再分配。
2.根據(jù)權(quán)利要求1的方法,其特征在于,還包括響應(yīng)于一個(gè)分配該處理器的請(qǐng)求,將該處理器分配給該分區(qū);配置該處理器以便由該分區(qū)使用;初始化用于訪問該處理器的資源;將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)中;以及將對(duì)該處理器的控制發(fā)送給該分區(qū)。
3.根據(jù)權(quán)利要求2的方法,其特征在于,通過禁止該處理器處理中斷的能力來將該處理器置于一隔離狀態(tài)。
4.根據(jù)權(quán)利要求1或權(quán)利要求2的方法,其特征在于,解除分配該處理器時(shí)沒有終止該分區(qū)的執(zhí)行。
5.根據(jù)前面的權(quán)利要求中的任何一個(gè)的方法,其特征在于,還包括響應(yīng)于一個(gè)將被分配給該邏輯分區(qū)數(shù)據(jù)處理器系統(tǒng)中的一個(gè)分區(qū)的一處理器解除分配的請(qǐng)求,將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)中以將該處理器置于一停止?fàn)顟B(tài);將該處理器與該分區(qū)隔離,其中該分區(qū)不能訪問該處理器;以及在該處理器已與該分區(qū)隔離后,將該處理器解除分配。
6.根據(jù)權(quán)利要求5的方法,其特征在于,該解除分配步驟將該處理器從該自循環(huán)軟件狀態(tài)機(jī)中取出并將該處理器安置到一個(gè)池中以便再分配。
7.根據(jù)權(quán)利要求5的方法,其特征在于,該分區(qū)是一第一分區(qū),并且還包括在已將該處理器解除分配后響應(yīng)于接收到一個(gè)將該處理器分配給一第二分區(qū)的請(qǐng)求,在一種該第二分區(qū)不能訪問該處理器的狀態(tài)下將該處理器分配給該第二分區(qū);將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)中;在將該處理器安置到該自循環(huán)軟件狀態(tài)機(jī)中后,解除該處理器與該分區(qū)的隔離;以及將該處理器置于一運(yùn)行狀態(tài),其中該處理器開始執(zhí)行由該第二分區(qū)指定的一地址處的代碼。
8.一種用于管理一組處理器的邏輯分區(qū)數(shù)據(jù)處理系統(tǒng),該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)包括一總線系統(tǒng);一連接到該總線系統(tǒng)的通信單元;一連接到該總線系統(tǒng)的存儲(chǔ)器,該存儲(chǔ)器包括一組指令;以及一具有一組連接到該總線系統(tǒng)的處理器的處理單元,其中該處理單元執(zhí)行該一組指令以停止一處理器,其中該處理器屬于該一組處理器,以響應(yīng)一個(gè)將分配給該邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)內(nèi)的一個(gè)分區(qū)的一處理器解除分配的請(qǐng)求;將該處理器置于一隔離狀態(tài),在該狀態(tài)中該處理器與該分區(qū)隔離,以響應(yīng)停止該處理器;以及將該處理器安置到一資源池中以便以后再分配。
9.根據(jù)權(quán)利要求8的邏輯分區(qū)數(shù)據(jù)處理系統(tǒng),其特征在于,該安置裝置是一第一安置裝置,并還包括分配裝置,用于響應(yīng)于一個(gè)分配該處理器的請(qǐng)求,將該處理器分配給該分區(qū);配置裝置,用于配置該處理器以便由該分區(qū)使用;初始化裝置,用于初始化用于訪問該處理器的資源;第二安置裝置,用于將該處理器安置到一自循環(huán)軟件狀態(tài)機(jī)中;以及發(fā)送裝置,用于將對(duì)該處理器的控制發(fā)送給該分區(qū)。
10.一種計(jì)算機(jī)程序,當(dāng)被加載到一計(jì)算機(jī)系統(tǒng)中并在該系統(tǒng)上執(zhí)行時(shí),執(zhí)行根據(jù)權(quán)利要求1到7的任何一個(gè)的方法的所有步驟。
全文摘要
一種用于管理一組處理器的方法、裝置和計(jì)算機(jī)指令。響應(yīng)于一個(gè)將分配給邏輯分區(qū)數(shù)據(jù)處理器系統(tǒng)中的一個(gè)分區(qū)的處理器解除分配的請(qǐng)求,停止該一組處理器中的該處理器。響應(yīng)于停止該處理器,將該處理器置于一隔離狀態(tài),其中該處理器與該分區(qū)隔離。然后將該處理器安置在資源池中以便以后再分配。
文檔編號(hào)G06F9/46GK1653425SQ03810387
公開日2005年8月10日 申請(qǐng)日期2003年4月1日 優(yōu)先權(quán)日2002年5月9日
發(fā)明者V·H·李, D·威洛比 申請(qǐng)人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1