專(zhuān)利名稱(chēng):用于在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中管理資源的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理,并且更具體地,涉及邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)。更具體地,本發(fā)明涉及一種用于在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中通過(guò)利用區(qū)域進(jìn)行自動(dòng)資源管理的方法、設(shè)備和程序。
背景技術(shù):
大型對(duì)稱(chēng)多處理器數(shù)據(jù)處理系統(tǒng)可以分區(qū),并且用作多個(gè)較小系統(tǒng)。這樣系統(tǒng)的例子包括可從國(guó)際商業(yè)機(jī)器公司得到的IBMeServerTM,可從惠普公司得到的DHP9000 Superdome企業(yè)服務(wù)器,和可從Sun微系統(tǒng)有限公司得到的Sun FireTM15K服務(wù)器。這些系統(tǒng)經(jīng)常被稱(chēng)為邏輯分區(qū)(LPAR)數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)內(nèi)的邏輯分區(qū)功能性允許單一操作系統(tǒng)的多個(gè)拷貝或多個(gè)異構(gòu)操作系統(tǒng)同時(shí)在單一數(shù)據(jù)處理系統(tǒng)平臺(tái)上運(yùn)行。在其之內(nèi)運(yùn)行操作系統(tǒng)映像的分區(qū)分配給平臺(tái)的物理資源的非重疊子集。這些平臺(tái)可分配資源包括一個(gè)或多個(gè)架構(gòu)截然不同的處理器以及它們的中斷管理區(qū)域、系統(tǒng)存儲(chǔ)器區(qū)和輸入/輸出(I/O)適配器總線插槽。分區(qū)的資源由平臺(tái)的固件提供給操作系統(tǒng)映像。
在平臺(tái)內(nèi)運(yùn)行的每個(gè)不同的操作系統(tǒng)或操作系統(tǒng)的映像相互受到保護(hù),以便在一個(gè)邏輯分區(qū)上的軟件錯(cuò)誤不能影響任何其他分區(qū)的正確操作。通過(guò)把平臺(tái)資源的不相交集分配給由各操作系統(tǒng)映像直接管理,以及通過(guò)提供機(jī)制以確保各映像不能控制沒(méi)有分配給那個(gè)映像的任何資源,提供這種保護(hù)。而且,防止在操作系統(tǒng)的所分配資源的控制中的軟件錯(cuò)誤影響任何其他映像的資源。因而,操作系統(tǒng)的各映像或各個(gè)不同操作系統(tǒng)直接控制平臺(tái)內(nèi)的可分配資源的不同集合。
LPAR數(shù)據(jù)處理系統(tǒng)中的資源時(shí)常欠利用或過(guò)利用。需要經(jīng)常人工管理,以監(jiān)視資源利用,并且據(jù)此分配資源,以提供最優(yōu)利用。例如,一個(gè)分區(qū)可能在一個(gè)中央處理單元(CPU)以100%的利用下運(yùn)行。通過(guò)把另一個(gè)CPU分配給這個(gè)分區(qū),管理員可以提供附加資源,以幫助工作負(fù)荷。
然而,從哪里獲得附加資源也可能引起問(wèn)題。如果目前所有資源分配給了其他分區(qū),那么必須決定從哪里取得資源,以及應(yīng)該把它們分配到哪里。因而,系統(tǒng)管理員必須登錄各分區(qū),并且記錄利用,然后把利用統(tǒng)計(jì)量與每個(gè)其他分區(qū)比較。這種人工處理耗費(fèi)時(shí)間而且代價(jià)高。
發(fā)明內(nèi)容
本發(fā)明認(rèn)識(shí)到現(xiàn)有技術(shù)的缺點(diǎn),并且提供了一種用于在邏輯分區(qū)環(huán)境中自動(dòng)地監(jiān)視和分配資源的客戶(hù)/服務(wù)器模型。各分區(qū)包括監(jiān)視那個(gè)分區(qū)的資源利用的客戶(hù)應(yīng)用程序。該客戶(hù)應(yīng)用程序周期地收集資源利用度量,并且把資源狀態(tài)通知發(fā)送給服務(wù)器應(yīng)用程序。該服務(wù)器應(yīng)用程序運(yùn)行在分區(qū)或外部工作站上。該服務(wù)器應(yīng)用程序等待從客戶(hù)的資源狀態(tài)通知,并且基于這些通知,把分區(qū)分類(lèi)進(jìn)利用區(qū)域。該服務(wù)器然后把資源從低利用區(qū)域中的分區(qū)重新分配給高利用區(qū)域中的分區(qū)。
所附權(quán)利要求書(shū)闡述了被認(rèn)為是本發(fā)明之特征的新穎特征。然而,通過(guò)連同附圖一起閱讀說(shuō)明性的實(shí)施方式的下述詳細(xì)描述,將更好地理解該發(fā)明本身、其優(yōu)選使用方式、其它目的及其優(yōu)點(diǎn),其中圖1是一個(gè)其中可以實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方塊圖;圖2是一個(gè)其中可以實(shí)現(xiàn)本發(fā)明的示例性邏輯分區(qū)平臺(tái)的方塊圖;圖3是示出了根據(jù)本發(fā)明的示例性實(shí)施方式,在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)內(nèi)的動(dòng)態(tài)資源管理系統(tǒng)的方塊圖;圖4A至圖4C示出了根據(jù)本發(fā)明的示例性實(shí)施方式,基于利用區(qū)域排序成鏈接表的示例分區(qū);圖5是示出了根據(jù)本發(fā)明的示例性實(shí)施方式,監(jiān)視客戶(hù)的操作的流程圖;以及圖6是示出了根據(jù)本發(fā)明的示例性實(shí)施方式,監(jiān)視和資源管理服務(wù)器的操作的流程圖。
具體實(shí)施例方式
本發(fā)明提供了一種用于在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中通過(guò)利用區(qū)域進(jìn)行自動(dòng)資源管理的方法、設(shè)備和計(jì)算機(jī)程序產(chǎn)品。數(shù)據(jù)處理裝置可以是獨(dú)立計(jì)算裝置,或可以是分布式的數(shù)據(jù)處理系統(tǒng),其中利用多個(gè)計(jì)算裝置執(zhí)行本發(fā)明的各個(gè)方面。因此,以下圖1和圖2作為其中可以實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理環(huán)境的示例性圖提供。應(yīng)該理解圖1和圖2只是示例性的,并且不意在規(guī)定或暗示關(guān)于其中可以實(shí)現(xiàn)本發(fā)明的環(huán)境的任何限制??梢詫?duì)所示環(huán)境進(jìn)行許多變更而不脫離本發(fā)明的精神和范圍。
現(xiàn)在參考附圖,并且更具體地參考圖1,其示出了其中可以實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方塊圖。數(shù)據(jù)處理系統(tǒng)100可以是對(duì)稱(chēng)多處理器(SMP)系統(tǒng),包括多個(gè)與系統(tǒng)總線106連接的處理器101、102、103和104。例如,數(shù)據(jù)處理系統(tǒng)100可以是IBM eServerTM系統(tǒng),其為位于紐約阿芒克的國(guó)際商業(yè)機(jī)器公司的一種產(chǎn)品,實(shí)現(xiàn)為網(wǎng)絡(luò)內(nèi)的服務(wù)器。與系統(tǒng)總線106連接的還有存儲(chǔ)器控制器/高速緩沖存儲(chǔ)器108,它提供多個(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è)異構(gòu)操作系統(tǒng)(或單一操作系統(tǒng)的多個(gè)實(shí)例)。這些多個(gè)操作系統(tǒng)的每個(gè)可以具有任何數(shù)量的軟件程序在其內(nèi)執(zhí)行。對(duì)數(shù)據(jù)處理系統(tǒng)100進(jìn)行邏輯分區(qū),以便把不同的PCI I/O適配器120-121、128-129和136,圖形適配器148和硬盤(pán)適配器149分配給不同的邏輯分區(qū)。在這種情況下,圖形適配器148提供用于顯示設(shè)備(未示出)的連接,而硬盤(pán)適配器149提供用于控制硬盤(pán)150的連接。
因此,例如,假設(shè)數(shù)據(jù)處理系統(tǒng)100被劃分為三個(gè)邏輯分區(qū)P1、P2和P3。把PCI I/O適配器120-121、128-129和136的每一個(gè),圖形適配器148,硬盤(pán)適配器149,主處理器101-104的每一個(gè),以及局部存儲(chǔ)器160-163中的存儲(chǔ)器分配給三個(gè)分區(qū)中的一個(gè)分區(qū)。在這些例子中,存儲(chǔ)器160-163可采取雙列直插存儲(chǔ)模塊(DIMM)的形式。DIMM通常不是以每DIMM為基礎(chǔ)分配給所有分區(qū)的。相反,一個(gè)分區(qū)獲得該平臺(tái)發(fā)現(xiàn)的全部存儲(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和硬盤(pán)適配器149可以分配給邏輯分區(qū)P3。
在數(shù)據(jù)處理系統(tǒng)100內(nèi)執(zhí)行的每個(gè)操作系統(tǒng)分配給不同的邏輯分區(qū)。因此,在數(shù)據(jù)處理系統(tǒng)100內(nèi)執(zhí)行的每個(gè)操作系統(tǒng)只能訪問(wèn)在其邏輯分區(qū)內(nèi)的那些I/O單元。因此,例如,可以在分區(qū)P1內(nèi)執(zhí)行高級(jí)交互執(zhí)行(AIX)操作系統(tǒng)的一個(gè)實(shí)例,可以在分區(qū)P2內(nèi)執(zhí)行AIX操作系統(tǒng)的第二實(shí)例(映象),而可以在邏輯分區(qū)P3內(nèi)運(yùn)行Windows XPTM操作系統(tǒng)。Windows XPTM是位于華盛頓州雷蒙德的微軟公司的產(chǎn)品和商標(biāo)。
與I/O總線112相連的周邊元件互連(PCI)主橋114提供到局部總線115的接口。多個(gè)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è)至八個(gè)I/O適配器(即,用于插式連接器的擴(kuò)展插槽)。各PCI I/O適配器120-121提供數(shù)據(jù)處理系統(tǒng)100和諸如其它是數(shù)據(jù)處理系統(tǒng)100的客戶(hù)機(jī)的網(wǎng)絡(luò)計(jì)算機(jī)之類(lèi)的輸入/輸出設(shè)備之間的接口。
附加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ò)各PCI I/O適配器128-129,可以支持諸如調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器之類(lèi)的附加I/O設(shè)備。照這樣,數(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。硬盤(pán)適配器149可以插入在與PCI總線145相連的I/O插槽175中。該總線145連接到PCI到PCI橋142,利用PCI總線141,PCI到PCI橋142連接到PCI主橋140。
PCI主橋130提供PCI總線131連接到I/O總線112的接口。PCII/O適配器136連接到I/O插槽176,利用PCI總線133,該I/O插槽176連接到PCI到PCI橋132。PCI到PCI橋132連接到PCI總線131。同時(shí),該P(yáng)CI總線131把PCI主橋130連接到服務(wù)處理器郵箱接口和ISA總線訪問(wèn)通過(guò)邏輯194以及PCI到PCI橋132。服務(wù)處理器郵箱接口和ISA總線訪問(wèn)通過(guò)邏輯194轉(zhuǎn)發(fā)前往PCI/ISA橋193的PCI訪問(wèn)。NVRAM存儲(chǔ)器192連接到ISA總線196。服務(wù)處理器135通過(guò)其局部PCI總線195連接到服務(wù)處理器郵箱接口和ISA總線訪問(wèn)通過(guò)邏輯194。同時(shí),服務(wù)處理器135經(jīng)由多個(gè)JTAG/I2C總線134,連接到處理器101-104。JTAG/I2C總線134為JTAG/掃描總線(參見(jiàn)IEEE 1149.1)和飛利浦I2C總線的組合。然而,作為選擇,可單獨(dú)利用飛利浦I2C總線或單獨(dú)利用JTAG/掃描總線替換JTAG/I2C總線134。主處理器101、102、103和104的所有SP-ATTN信號(hào)連接在一起,作為服務(wù)處理器的中斷輸入信號(hào)。服務(wù)處理器135有它自己的局部存儲(chǔ)器191,并且有權(quán)使用硬件OP面板190。
在最初給數(shù)據(jù)處理系統(tǒng)100加電時(shí),服務(wù)處理器135使用JTAG/I2C總線134來(lái)詢(xún)問(wèn)系統(tǒng)(主)處理器101-104、存儲(chǔ)器控制器/高速緩沖存儲(chǔ)器108和I/O橋110。在完成此步驟后,服務(wù)處理器135具有數(shù)據(jù)處理系統(tǒng)100的詳細(xì)目錄和拓?fù)淅斫狻M瑫r(shí),服務(wù)處理器135對(duì)通過(guò)詢(xún)問(wèn)主處理器101-104、存儲(chǔ)器控制器/高速緩沖存儲(chǔ)器108和I/O橋110發(fā)現(xiàn)的所有元件執(zhí)行內(nèi)置自檢(BIST)、基本正確性檢測(cè)(BAT)和存儲(chǔ)器測(cè)試。由服務(wù)處理器135收集并報(bào)告BIST、BAT和存儲(chǔ)器測(cè)試期間檢測(cè)出的任何故障的出錯(cuò)信息。
如果在去除BIST、BAT和存儲(chǔ)器測(cè)試期間發(fā)現(xiàn)的故障元件后系統(tǒng)資源的有意義的/有效配置仍然可行,則允許數(shù)據(jù)處理系統(tǒng)100繼續(xù)向局部(主)存儲(chǔ)器160-163中裝載可執(zhí)行代碼。接著,服務(wù)處理器135釋放主處理器101-104以執(zhí)行裝載到局部存儲(chǔ)器160-163中的代碼。在主處理器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)目類(lèi)型包括例如,風(fēng)扇速度和操作,熱傳感器,電源穩(wěn)壓器,以及由處理器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ò)信息。同時(shí),服務(wù)處理器135根據(jù)錯(cuò)誤類(lèi)型和定義的閾值采取措施。例如,服務(wù)處理器135可以注意到某個(gè)處理器的高速緩沖存儲(chǔ)器上過(guò)多的可恢復(fù)的錯(cuò)誤,并確定這是硬故障的預(yù)兆?;谏鲜龃_定,服務(wù)處理器135可以標(biāo)記該資源以便在當(dāng)前的運(yùn)行會(huì)話和未來(lái)的初始程序裝入(IPL)期間解除配置。IPL有時(shí)也稱(chēng)為“引導(dǎo)”或“自舉”。
可以使用可從市場(chǎng)上買(mǎi)到的各種計(jì)算機(jī)系統(tǒng)來(lái)實(shí)現(xiàn)數(shù)據(jù)處理系統(tǒng)100。例如,可使用可從國(guó)際商業(yè)機(jī)器公司獲得的IBM eServerTMiSeriesTMModel 840系統(tǒng)來(lái)實(shí)現(xiàn)數(shù)據(jù)處理系統(tǒng)100。此系統(tǒng)可以支持使用OS/400操作系統(tǒng)的邏輯分區(qū),OS/400操作系統(tǒng)也可以從國(guó)際商業(yè)機(jī)器公司獲得。
本領(lǐng)域的一般技術(shù)人員可以理解,圖1描述的硬件可以改變。例如,除所示硬件之外,也可以使用諸如光盤(pán)驅(qū)動(dòng)器之類(lèi)的其它外圍設(shè)備,或代替所示硬件。所示例子并不意味著對(duì)本發(fā)明的體系結(jié)構(gòu)的限制。
現(xiàn)在參照?qǐng)D2,其描述了一個(gè)可在其中實(shí)現(xiàn)本發(fā)明的示例性邏輯分區(qū)平臺(tái)的框圖。例如,邏輯分區(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和系統(tǒng)管理程序(hypervisor)210。操作系統(tǒng)202、204、206和208可以是同時(shí)運(yùn)行于平臺(tái)200上的單一操作系統(tǒng)的多個(gè)拷貝或多個(gè)異構(gòu)的操作系統(tǒng)。這些操作系統(tǒng)可使用設(shè)計(jì)用來(lái)與系統(tǒng)管理程序通信的OS/40操作系統(tǒng)實(shí)現(xiàn)。操作系統(tǒng)202、204、206和208位于分區(qū)203、205、207和209中。
此外,這些分區(qū)還包括固件加載器211、213、215和217。固件加載器211、213、215和217可使用可從國(guó)際商業(yè)機(jī)器公司得到的運(yùn)行時(shí)間提取軟件(RTAS)以及IEEE-1275標(biāo)準(zhǔn)的開(kāi)放固件來(lái)實(shí)現(xiàn)。在將分區(qū)203、205、207和209實(shí)例化時(shí),系統(tǒng)管理程序的分區(qū)管理器將開(kāi)放固件的拷貝裝載到每個(gè)分區(qū)里。然后,將與各分區(qū)相關(guān)的或分配給各分區(qū)的處理器調(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ū)內(nèi)的錯(cuò)誤的處理??蓪⑻幚砥?32-238、存儲(chǔ)單元240-246,NVRAM存儲(chǔ)器298,以及輸入/輸出(I/O)適配器248-262中的每一個(gè)分配給邏輯分區(qū)平臺(tái)200中多個(gè)分區(qū)中的一個(gè),每個(gè)分區(qū)對(duì)應(yīng)于操作系統(tǒng)202、204、206和208中的一個(gè)。
系統(tǒng)管理程序固件210為分區(qū)203、205、207和209完成多種功能和服務(wù),以產(chǎn)生和執(zhí)行對(duì)邏輯分區(qū)平臺(tái)200的分區(qū)。系統(tǒng)管理程序210是一個(gè)與下層硬件相同的固件實(shí)現(xiàn)的虛擬機(jī)。系統(tǒng)管理程序軟件可從國(guó)際商業(yè)機(jī)器公司得到。固件是存儲(chǔ)在例如只讀存儲(chǔ)器(ROM)、可編程ROM(PROM)、可擦除可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)以及非易失性隨機(jī)存取存儲(chǔ)器(非易失性RAM)等不需要電源就能保存其中內(nèi)容的存儲(chǔ)芯片中的“軟件”。從而,系統(tǒng)管理程序210通過(guò)把邏輯分區(qū)平臺(tái)200的所有硬件資源虛擬化允許同時(shí)執(zhí)行獨(dú)立的操作系統(tǒng)映像202、204、206和208。
不同分區(qū)的操作可以通過(guò)硬件管理控制臺(tái),例如硬件管理控制臺(tái)280來(lái)控制。硬件管理控制臺(tái)280是一個(gè)分開(kāi)的數(shù)據(jù)處理系統(tǒng),由此系統(tǒng)管理員可以對(duì)不同分區(qū)執(zhí)行各種功能,包括資源的重新分配。
LPAR數(shù)據(jù)處理系統(tǒng)中的資源時(shí)常欠利用或過(guò)利用。需要經(jīng)常人工管理,以監(jiān)視資源利用,并且據(jù)此分配資源,以提供最優(yōu)利用。例如,分區(qū)203可能僅在處理器232以100%的利用下運(yùn)行。通過(guò)對(duì)這個(gè)分區(qū)分配另一個(gè)處理器,管理員可以提供附加資源,以幫助工作負(fù)荷。
然而,從哪里獲得附加資源也可能引起問(wèn)題。如果目前所有資源分配給了其他分區(qū),那么必須決定從哪里取得資源,以及應(yīng)該把它們分配到哪里。因而,系統(tǒng)管理員必須登錄各分區(qū),并且記錄利用,然后把利用統(tǒng)計(jì)量與每個(gè)其他分區(qū)比較。這種人工處理耗費(fèi)時(shí)間且代價(jià)高。
本發(fā)明提供了一種用于在邏輯分區(qū)環(huán)境中自動(dòng)地監(jiān)視和分配資源的客戶(hù)/服務(wù)器模型。各分區(qū)包括監(jiān)視那個(gè)分區(qū)的資源利用的客戶(hù)應(yīng)用程序。該客戶(hù)應(yīng)用程序周期地收集資源利用度量,并且把資源狀態(tài)通知發(fā)送給服務(wù)器應(yīng)用程序。該服務(wù)器應(yīng)用程序運(yùn)行在分區(qū)或外部工作站上。該服務(wù)器應(yīng)用程序等待從容戶(hù)的資源狀態(tài)通知,并且基于這些通知,把分區(qū)分類(lèi)進(jìn)利用區(qū)域。該服務(wù)器然后把資源從低利用區(qū)域中的分區(qū)重新分配給高利用區(qū)域中的分區(qū)。
圖3是示出了根據(jù)本發(fā)明的示例性實(shí)施方式,在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)內(nèi)的動(dòng)態(tài)資源管理系統(tǒng)的方塊圖。系統(tǒng)管理程序360通過(guò)使邏輯分區(qū)310、320、330和340的所有硬件資源虛擬化,允許獨(dú)立的OS映像的同時(shí)執(zhí)行。監(jiān)視器客戶(hù)312、322、332、342分別運(yùn)行在分區(qū)310、320、330和340上。服務(wù)器350可以運(yùn)行在分區(qū)310、320、330、340中的一個(gè)、數(shù)據(jù)處理系統(tǒng)內(nèi)的另一個(gè)分區(qū)(未示出),或在一個(gè)外部終端,例如圖2中的硬件系統(tǒng)控制臺(tái)280上。
服務(wù)器應(yīng)用程序350起系統(tǒng)管理員作用。策略文件352描述要監(jiān)視的這些分區(qū)和應(yīng)用于這些分區(qū)的利用區(qū)域閾值。這些閾值確定資源使用的狀態(tài)。這些分區(qū)的每一個(gè)建立通信會(huì)話。服務(wù)器350和監(jiān)視器客戶(hù)312、322、332、342例如可以是資源監(jiān)視和控制(RMC)類(lèi)。有已知類(lèi)型的RMC類(lèi);然而,可以得到專(zhuān)門(mén)類(lèi),以用于LPAR環(huán)境中的自動(dòng)和動(dòng)態(tài)資源分配。一旦連接,服務(wù)器350可以向要被監(jiān)視的分區(qū)發(fā)送閾值,并且在各監(jiān)視器客戶(hù)實(shí)例中設(shè)置這些閾值。
當(dāng)監(jiān)視器客戶(hù),例如監(jiān)視器客戶(hù)312產(chǎn)生資源狀態(tài)通知事件時(shí),服務(wù)器350基于該事件把該分區(qū)排序進(jìn)代表適當(dāng)區(qū)域的鏈接表。該鏈接表是通過(guò)實(shí)際資源利用度量排序的。作為一個(gè)特定例子,高區(qū)域按降序排序,中區(qū)域按降序排序,以及低區(qū)域按升序排序。
當(dāng)分區(qū)被放置在高區(qū)域表或低區(qū)域表上時(shí),服務(wù)器350檢查以發(fā)現(xiàn)資源是否能重新分配。如果有分區(qū)在高區(qū)域表上,那么服務(wù)器350檢查低區(qū)域表,以發(fā)現(xiàn)是否能將資源從低分區(qū)移到高分區(qū)。一旦資源重新分配/解除分配,就將所述的兩個(gè)分區(qū)從它們的各自表中移除。重復(fù)這個(gè)過(guò)程,直到高區(qū)域表或低區(qū)域表為空為止。
如果分區(qū)已經(jīng)在一個(gè)區(qū)域中,并且服務(wù)器350接收到將這個(gè)分區(qū)放置到另一個(gè)區(qū)域中的事件(通知),那么服務(wù)器350首先把該分區(qū)從它的當(dāng)前區(qū)域表中移除,然后把該分區(qū)放置在適當(dāng)?shù)睦脜^(qū)域表中。如果當(dāng)分區(qū)已經(jīng)在一個(gè)區(qū)域中的時(shí)候,并且服務(wù)器350接收到把該分區(qū)放置在相同區(qū)域中的事件,那么服務(wù)器350用該分區(qū)的新利用度量對(duì)該表重新排序。
每個(gè)客戶(hù),例如監(jiān)視器客戶(hù)312,運(yùn)行在分區(qū)上,例如分區(qū)310。監(jiān)視器客戶(hù)312、322、332、342例如可以是RMC資源類(lèi),該RMC資源類(lèi)被修改為根據(jù)本發(fā)明的示例性方面包括利用區(qū)域的自動(dòng)資源管理。監(jiān)視器客戶(hù)312例如周期地收集資源利用度量,例如CPU使用、存儲(chǔ)器使用、I/O適配器使用等。例如,監(jiān)視器客戶(hù)312例如可以每十秒喚醒它自己,并且收集資源利用度量。監(jiān)視間隔可以基于實(shí)現(xiàn)來(lái)選擇。
基于收集的利用度量和從服務(wù)器350接收的如策略文件352所定義的閾值,監(jiān)視器客戶(hù)把分區(qū)的當(dāng)前狀態(tài)通知給服務(wù)器。如果利用在低閾值之下,監(jiān)視器客戶(hù)請(qǐng)求服務(wù)器350從分區(qū)中移除資源。另一方面,如果利用在高閾值之上,監(jiān)視器客戶(hù)請(qǐng)求服務(wù)器350對(duì)分區(qū)分配更多資源。如果利用在低閾值與高閾值之間,監(jiān)視器客戶(hù)報(bào)告分區(qū)的當(dāng)前分配足夠。
服務(wù)器350可以運(yùn)行在管理控制臺(tái),例如圖2中的硬件系統(tǒng)控制臺(tái)280上。在這種情況下,服務(wù)器350向系統(tǒng)管理程序360提出資源分配和解除分配請(qǐng)求。在一個(gè)可供選擇的實(shí)施方式中,服務(wù)器350運(yùn)行在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的分區(qū)上。在這種情況下,服務(wù)器350通過(guò)管理控制臺(tái)(未示出)向系統(tǒng)管理程序360請(qǐng)求資源的分配和解除分配。
低閾值和高閾值可以基于實(shí)現(xiàn)來(lái)選擇。例如,低閾值可以設(shè)定為40%,而高閾值可以設(shè)定為90%。然而,LPAR數(shù)據(jù)處理系統(tǒng)的特定情況可能指示必須變更閾值,以達(dá)到資源分配中的更多平衡。換句話說(shuō),應(yīng)該這樣設(shè)定低閾值和高閾值,以確保分區(qū)的大多數(shù)把它們的時(shí)間中的大多數(shù)花費(fèi)在中區(qū)域。管理員可以在試圖達(dá)到這個(gè)平衡的任何時(shí)間,通過(guò)例如在圖2的硬件系統(tǒng)控制臺(tái)280的用戶(hù)接口,變更策略352。
圖4A至圖4C示出了根據(jù)本發(fā)明的示例性實(shí)施方式,基于利用區(qū)域排序成鏈接表的示例分區(qū)。服務(wù)器應(yīng)用程序從要監(jiān)視的分區(qū)的監(jiān)視客戶(hù)接收資源狀態(tài)通知。服務(wù)器然后把分區(qū)分類(lèi)進(jìn)利用區(qū)域,并且然后為各利用區(qū)域形成鏈接表。在圖4A至圖4C所示的例子中,有三個(gè)利用區(qū)域高區(qū)域、中區(qū)域和低區(qū)域。然而,根據(jù)實(shí)現(xiàn)可以使用較多或較少的利用區(qū)域。例如,可以使用兩個(gè)區(qū)域,以對(duì)分區(qū)動(dòng)態(tài)地分配資源,以實(shí)現(xiàn)一種公平策略,其中各分區(qū)在一個(gè)時(shí)間片可以比其他分區(qū)接收較多資源。作為另一個(gè)例子,可以使用五個(gè)區(qū)域,以便可以從最低區(qū)域到最高區(qū)域產(chǎn)生更急劇的資源分配。
在圖4A中,分區(qū)A和分區(qū)C在高區(qū)域,這意味著它們的資源利用在高閾值之上。高區(qū)域鏈接表按降序排序;因此,分區(qū)A的資源利用高于分區(qū)C的資源利用。同樣,分區(qū)B和分區(qū)E在低區(qū)域,這意味著它們的資源利用在低閾值之下。低區(qū)域鏈接表按升序排序;因此,分區(qū)B的資源利用低于分區(qū)E的資源利用。分區(qū)D在中利用區(qū)域,這意味著它的資源利用在低閾值與高閾值之間。
因?yàn)榉謪^(qū)B具有最低資源利用,以及分區(qū)A具有最高資源利用,于是服務(wù)器應(yīng)用程序試圖從分區(qū)B解除分配資源,并且把它們分配給分區(qū)A。服務(wù)器然后從低區(qū)域鏈接表中移除分區(qū)B,并且從高區(qū)域鏈接表中移除分區(qū)A。類(lèi)似地,服務(wù)器試圖從分區(qū)E解除分配資源,并且把它們分配給分區(qū)C。然后,服務(wù)器從低區(qū)域鏈接表中移除分區(qū)E,并且從高區(qū)域鏈接表中移除分區(qū)C。
如圖4B所示,下一次收集資源利用度量時(shí),服務(wù)器接收到分區(qū)C在中區(qū)域的通知。也就是,分區(qū)C的資源利用在低閾值與高閾值之間。中區(qū)域鏈接表按降序排序;因此,分區(qū)C的資源利用高于分區(qū)D的資源利用。在本例中,基于收集的利用度量,分區(qū)B和分區(qū)E保持在低利用區(qū)域中。
因?yàn)榉謪^(qū)B具有最低資源利用,以及分區(qū)A具有最高資源利用,于是服務(wù)器應(yīng)用程序試圖從分區(qū)B解除分配資源,并且把它們分配給分區(qū)A。服務(wù)器然后從低區(qū)域鏈接表中移除分區(qū)B,并且從高區(qū)域鏈接表中移除分區(qū)A。然后,如圖4C所示,下一次收集資源利用度量時(shí),服務(wù)器接收到分區(qū)A和分區(qū)E現(xiàn)在在中區(qū)域的通知。因?yàn)楦邊^(qū)域鏈接表為空,所以無(wú)需分配/解除分配。
圖5是示出了根據(jù)本發(fā)明的示例性實(shí)施方式,監(jiān)視客戶(hù)的操作的流程圖。操作開(kāi)始,并且客戶(hù)從服務(wù)器應(yīng)用程序接收閾值,而且初始化(塊502)。然后,確定是否存在退出情況(塊504)。例如,當(dāng)解除配置分區(qū)時(shí),或當(dāng)數(shù)據(jù)處理系統(tǒng)關(guān)閉時(shí),可能存在退出情況。如果存在退出情況,操作結(jié)束。
如果在塊504不存在退出情況,確定是否喚醒和收集統(tǒng)計(jì)量(塊506)。該確定例如可以通過(guò)確定監(jiān)視間隔是否到期而實(shí)現(xiàn)。監(jiān)視間隔可以在塊502中的初始化時(shí)設(shè)定,并且可以由在服務(wù)器的策略來(lái)定義。監(jiān)視器客戶(hù)例如也可以響應(yīng)另一個(gè)事件,例如由于資源不足引起的錯(cuò)誤情況而喚醒。如果監(jiān)視器客戶(hù)在塊506不喚醒,操作返回塊504,以確定是否存在退出情況。
如果監(jiān)視器客戶(hù)在塊506喚醒,監(jiān)視器客戶(hù)收集資源利用度量(塊508),確定資源狀態(tài)(塊510),并且把資源狀態(tài)通知發(fā)送給服務(wù)器(塊512)。其后,操作返回塊504,以確定是否存在退出情況。
圖6是示出了根據(jù)本發(fā)明的示例性實(shí)施方式,監(jiān)視和資源管理服務(wù)器的操作的流程圖。操作開(kāi)始,并且服務(wù)器讀取一個(gè)策略文件,而且初始化(塊602)。如上所述,策略文件可以定義要監(jiān)視哪些分區(qū)、利用區(qū)域的閾值、監(jiān)視間隔,和用于監(jiān)視和管理資源的其他信息。然后,服務(wù)器把閾值發(fā)送給監(jiān)視客戶(hù)(塊604)。
接下來(lái),確定是否存在退出情況(塊606)。例如,當(dāng)數(shù)據(jù)處理系統(tǒng)關(guān)閉時(shí),可能存在退出情況。如果存在退出情況,操作結(jié)束。如果在塊606不存在退出情況,服務(wù)器確定是否接收到一個(gè)或多個(gè)資源狀態(tài)通知(塊608)。如果沒(méi)有接收到資源狀態(tài)通知,操作返回塊606,以確定是否存在退出情況。
如果在塊608接收到資源狀態(tài)通知,服務(wù)器把分區(qū)分離進(jìn)利用區(qū)域(塊610)。然后,服務(wù)器為各利用區(qū)域形成鏈接表(塊612),并且對(duì)各鏈接表排序(塊614)。接下來(lái),確定高區(qū)域是否為空(塊616)。如果高區(qū)域表為空,那么無(wú)需資源的重新分配,并且操作返回塊606,以確定是否存在退出情況。
如果在塊616高區(qū)域表不為空,確定低區(qū)域表是否為空(塊618)。如果低區(qū)域表為空,那么無(wú)未使用的資源重新分配給高區(qū)域表中的分區(qū),并且操作返回塊606,以確定是否存在退出情況。
如果在塊618低區(qū)域表不為空,那么服務(wù)器把資源從低區(qū)域中具有最低利用的分區(qū)重新分配給高區(qū)域中具有最高利用的分區(qū)(塊620)。接下來(lái),服務(wù)器把這些分區(qū)從它們的各自表中移除(塊622),并且操作返回塊616和618,以確定高區(qū)域表或低區(qū)域表是否為空。服務(wù)器然后繼續(xù)把資源從低區(qū)域表中的分區(qū)重新分配給高區(qū)域表中的分區(qū),直到高區(qū)域表或低區(qū)域表為空為止。
這樣,本發(fā)明通過(guò)提供一種用于在邏輯分區(qū)環(huán)境中自動(dòng)地監(jiān)視和分配資源的客戶(hù)/服務(wù)器模型,解決了現(xiàn)有技術(shù)的缺點(diǎn)。各分區(qū)包括監(jiān)視那個(gè)分區(qū)的資源利用的客戶(hù)應(yīng)用程序。該客戶(hù)應(yīng)用程序周期地收集資源利用度量,并且把資源狀態(tài)通知發(fā)送給服務(wù)器應(yīng)用程序。該服務(wù)器應(yīng)用程序運(yùn)行在分區(qū)或外部工作站上。該服務(wù)器應(yīng)用程序等待從客戶(hù)的資源狀態(tài)通知,并且基于這些通知,把分區(qū)分類(lèi)進(jìn)利用區(qū)域。該服務(wù)器然后把資源從低利用區(qū)域中的分區(qū)重新分配給高利用區(qū)域中的分區(qū)。
本發(fā)明的客戶(hù)/服務(wù)器模型允許自動(dòng)資源管理和動(dòng)態(tài)分配,而無(wú)需管理員的人工干預(yù)。管理員于是可以把他的或她的寶貴時(shí)間花費(fèi)在其他任務(wù)上。而且,因?yàn)榉謪^(qū)得以更頻繁地被監(jiān)視,并且資源得以更智能地被分配,所以允許數(shù)據(jù)處理系統(tǒng)更有效地執(zhí)行,因而更好地滿(mǎn)足服務(wù)水平協(xié)議。
重要的是請(qǐng)注意,盡管本發(fā)明是在全功能數(shù)據(jù)處理系統(tǒng)的情況下描述的,但是本領(lǐng)域的一般技術(shù)人員可以理解,可以以指令的計(jì)算機(jī)可讀介質(zhì)的形式,以及多種形式分布本發(fā)明的進(jìn)程,并且不論實(shí)際完成分布的信號(hào)承載介質(zhì)的特定類(lèi)型,本發(fā)明同樣適用。計(jì)算機(jī)可讀介質(zhì)的例子包括可記錄類(lèi)型的介質(zhì),如軟盤(pán)、硬盤(pán)驅(qū)動(dòng)器、RAM、CD-ROM、DVD-ROM,以及傳輸類(lèi)型的介質(zhì),如數(shù)字和模擬通信鏈路,使用諸如射頻和光波傳輸之類(lèi)的傳輸形式的有線或無(wú)線通信鏈路。計(jì)算機(jī)可讀介質(zhì)可以采取編碼的格式的形式,其中當(dāng)在特定數(shù)據(jù)處理系統(tǒng)中實(shí)際使用時(shí)進(jìn)行解碼。
提供本發(fā)明的說(shuō)明書(shū)的目的是為了說(shuō)明和描述,而不是用來(lái)窮舉或?qū)⒈景l(fā)明限制為所公開(kāi)的形式。對(duì)本領(lǐng)域的一般技術(shù)人員而言,許多修改和變更都是顯而易見(jiàn)的。選擇并描述實(shí)施方式是為了更好地解釋本發(fā)明的原理,其實(shí)際應(yīng)用,并使本領(lǐng)域的其他一般技術(shù)人員理解帶有各種修改的各種實(shí)施方式的本發(fā)明同樣適用于設(shè)想的特定用途。
權(quán)利要求
1.一種用于在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中管理資源的方法,所述方法包括接收來(lái)自分區(qū)的資源利用狀態(tài)信息;把所述分區(qū)分類(lèi)進(jìn)利用區(qū)域;以及把資源從低利用區(qū)域中的低利用分區(qū)動(dòng)態(tài)地重新分配給高利用區(qū)域中的高利用分區(qū)。
2.根據(jù)權(quán)利要求1的方法,其中接收資源利用狀態(tài)信息包括從運(yùn)行在特定分區(qū)中的監(jiān)視器客戶(hù)應(yīng)用程序接收資源利用狀態(tài)通知。
3.根據(jù)權(quán)利要求2的方法,其中所述資源利用狀態(tài)通知標(biāo)識(shí)所述特定分區(qū)的利用區(qū)域。
4.根據(jù)權(quán)利要求3的方法,其中把所述分區(qū)分類(lèi)進(jìn)利用區(qū)域包括為每個(gè)利用區(qū)域形成一個(gè)表;以及為每個(gè)利用區(qū)域排序所述表。
5.根據(jù)權(quán)利要求4的方法,還包括在把資源從低利用區(qū)域中的低利用分區(qū)動(dòng)態(tài)地重新分配給高利用區(qū)域中的高利用分區(qū)之后,從所述低利用區(qū)域的所述表中移除所述低利用分區(qū),并且從所述高利用區(qū)域的所述表中移除所述高利用分區(qū)。
6.根據(jù)權(quán)利要求5的方法,還包括重復(fù)資源的所述重新分配,直到所述高利用區(qū)域的所述表或所述低利用區(qū)域的所述表為空為止。
7.根據(jù)權(quán)利要求1的方法,其中所述利用區(qū)域包括低利用區(qū)域,中利用區(qū)域,和高利用區(qū)域。
8.根據(jù)權(quán)利要求1的方法,其中通過(guò)運(yùn)行在所述邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)內(nèi)的分區(qū)和硬件管理控制臺(tái)中的一個(gè)上的服務(wù)器應(yīng)用程序,執(zhí)行所述方法。
9.一種用于在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中管理資源的設(shè)備,所述設(shè)備包括多個(gè)監(jiān)視客戶(hù)應(yīng)用程序,運(yùn)行在所述邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)內(nèi)的分區(qū)中;服務(wù)器應(yīng)用程序;以及系統(tǒng)管理程序,其中每個(gè)監(jiān)視客戶(hù)應(yīng)用程序收集它的各自分區(qū)資源利用統(tǒng)計(jì)量,標(biāo)識(shí)它的各自分區(qū)利用區(qū)域,并且把所述利用區(qū)域的通知發(fā)送給所述服務(wù)器應(yīng)用程序;其中所述服務(wù)器應(yīng)用程序從每個(gè)監(jiān)視客戶(hù)應(yīng)用程序接收利用區(qū)域通知,把所述分區(qū)分類(lèi)進(jìn)利用區(qū)域,并且把資源從低利用區(qū)域中的低利用分區(qū)動(dòng)態(tài)地重新分配給高利用區(qū)域中的高利用分區(qū)。
10.根據(jù)權(quán)利要求9的設(shè)備,其中所述服務(wù)器應(yīng)用程序通過(guò)為各利用區(qū)域形成一個(gè)表,并且為各利用區(qū)域排序所述表,把所述分區(qū)分類(lèi)進(jìn)利用區(qū)域。
11.根據(jù)權(quán)利要求10的設(shè)備,其中在把資源從低利用區(qū)域中的低利用分區(qū)動(dòng)態(tài)地重新分配給高利用區(qū)域中的高利用分區(qū)之后,所述服務(wù)器應(yīng)用程序從所述低利用區(qū)域的所述表中移除所述低利用分區(qū),并且從所述高利用區(qū)域的所述表中移除所述高利用分區(qū)。
12.根據(jù)權(quán)利要求11的設(shè)備,其中所述服務(wù)器應(yīng)用程序重復(fù)資源的所述重新分配,直到所述高利用區(qū)域的所述表或所述低利用區(qū)域的所述表為空為止。
13.根據(jù)權(quán)利要求9的設(shè)備,其中所述利用區(qū)域包括低利用區(qū)域,中利用區(qū)域,和高利用區(qū)域。
14.根據(jù)權(quán)利要求9的設(shè)備,其中所述服務(wù)器應(yīng)用程序運(yùn)行在所述邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)內(nèi)的分區(qū)和硬件管理控制臺(tái)中的一個(gè)上。
15.一種在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品,用于在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中管理資源,所述計(jì)算機(jī)程序產(chǎn)品包括用于接收來(lái)自分區(qū)的資源利用狀態(tài)信息的指令;用于把所述分區(qū)分類(lèi)進(jìn)利用區(qū)域的指令;以及用于把資源從低利用區(qū)域中的低利用分區(qū)動(dòng)態(tài)地重新分配給高利用區(qū)域中的高利用分區(qū)的指令。
16.根據(jù)權(quán)利要求15的計(jì)算機(jī)程序產(chǎn)品,其中用于接收資源利用狀態(tài)信息的指令包括用于從運(yùn)行在特定分區(qū)中的監(jiān)視器客戶(hù)應(yīng)用程序接收資源利用狀態(tài)通知的指令。
17.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中所述資源利用狀態(tài)通知標(biāo)識(shí)所述特定分區(qū)的利用區(qū)域。
18.根據(jù)權(quán)利要求17的計(jì)算機(jī)程序產(chǎn)品,其中用于把所述分區(qū)分類(lèi)進(jìn)利用區(qū)域的所述指令包括用于為每個(gè)利用區(qū)域形成一個(gè)表的指令;以及用于為每個(gè)利用區(qū)域排序所述表的指令。
19.根據(jù)權(quán)利要求18的計(jì)算機(jī)程序產(chǎn)品,還包括在把資源從低利用區(qū)域中的低利用分區(qū)分配給高利用區(qū)域中的高利用分區(qū)之后,用于從所述低利用區(qū)域的所述表中移除所述低利用分區(qū),和從所述高利用區(qū)域的所述表中移除所述高利用分區(qū)的指令。
20.根據(jù)權(quán)利要求19的計(jì)算機(jī)程序產(chǎn)品,還包括用于重復(fù)資源的所述重新分配,直到所述高利用區(qū)域的所述表或所述低利用區(qū)域的所述表為空為止的指令。
全文摘要
本發(fā)明提供了一種用于在邏輯分區(qū)環(huán)境中自動(dòng)地監(jiān)視和分配資源的客戶(hù)/服務(wù)器模型。各分區(qū)包括監(jiān)視那個(gè)分區(qū)的資源利用的客戶(hù)應(yīng)用程序。該客戶(hù)應(yīng)用程序周期地收集資源利用度量,并且把資源狀態(tài)通知發(fā)送給服務(wù)器應(yīng)用程序。該服務(wù)器應(yīng)用程序運(yùn)行在分區(qū)或外部工作站上。該服務(wù)器應(yīng)用程序等待從容戶(hù)的資源狀態(tài)通知,并且基于這些通知,把分區(qū)分類(lèi)進(jìn)利用區(qū)域。該服務(wù)器然后把資源從低利用區(qū)域中的分區(qū)重新分配給高利用區(qū)域中的分區(qū)。
文檔編號(hào)G06F9/50GK1786919SQ200510083068
公開(kāi)日2006年6月14日 申請(qǐng)日期2005年7月8日 優(yōu)先權(quán)日2004年12月7日
發(fā)明者迪安·約瑟夫·伯迪克, 馬科斯·A·維拉里爾 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司