專利名稱:響應(yīng)分區(qū)工作負(fù)荷動(dòng)態(tài)再分區(qū)計(jì)算機(jī)系統(tǒng)的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及管理計(jì)算機(jī)系統(tǒng)的方法和裝置。更具體地,本發(fā)明涉及響應(yīng)分區(qū)工作負(fù)荷動(dòng)態(tài)再分區(qū)計(jì)算機(jī)系統(tǒng)的方法和裝置。
背景技術(shù):
目前,許多計(jì)算機(jī)制造商設(shè)計(jì)具有分區(qū)能力的計(jì)算機(jī)系統(tǒng)。對(duì)計(jì)算機(jī)系統(tǒng)分區(qū)就是要把計(jì)算機(jī)系統(tǒng)的資源(即存儲(chǔ)設(shè)備、處理器等)分成組;因此,允許多個(gè)操作系統(tǒng)(OS)在該計(jì)算機(jī)系統(tǒng)上并行執(zhí)行。
對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行分區(qū)可能是為了各種原因。第一,它可能是為了合并的目的進(jìn)行的。通過只在一個(gè)計(jì)算機(jī)系統(tǒng)上運(yùn)行多個(gè)以前駐留于不同計(jì)算機(jī)系統(tǒng)上的應(yīng)用程序,將各種計(jì)算機(jī)系統(tǒng)明確地合并為一個(gè),降低了(i)擁有系統(tǒng)的開銷,(ii)系統(tǒng)管理要求和(iii)所占空間(footprint)的大小。
第二,進(jìn)行分區(qū)可能是為了提供生產(chǎn)環(huán)境和測(cè)試環(huán)境的一致性。一旦一個(gè)新的OS或應(yīng)用程序已經(jīng)被測(cè)試和驗(yàn)證,可以簡(jiǎn)單地將測(cè)試分區(qū)指定為生產(chǎn)分區(qū),并在需要時(shí)將資源轉(zhuǎn)移到該生產(chǎn)分區(qū)。反過來,這激發(fā)了更多的信心,那就是已被成功測(cè)試的應(yīng)用程序?qū)搭A(yù)期執(zhí)行。
第三,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行分區(qū)可提供增加的硬件利用率。例如,當(dāng)應(yīng)用程序不能很好地伸縮到大量的處理器時(shí),在各別的較小分區(qū)上運(yùn)行該程序的多個(gè)實(shí)例可提供較佳的吞吐量。
第四,對(duì)系統(tǒng)進(jìn)行分區(qū)可提供應(yīng)用程序隔離。當(dāng)應(yīng)用程序運(yùn)行于不同的分區(qū)時(shí),它們被保證彼此互不干涉。因此,在一個(gè)分區(qū)發(fā)生故障時(shí),其它分區(qū)將不受影響。而且,沒有一個(gè)應(yīng)用程序可能消耗過多量的硬件資源。因此,沒有應(yīng)用程序?qū)⒁驗(yàn)槿狈τ布Y源而無法運(yùn)行。
最后,進(jìn)行分區(qū)提供了增加的資源分配靈活性。具有在一段時(shí)間內(nèi)變化的資源需求的工作負(fù)荷可更容易被管理,如果它正運(yùn)行在一個(gè)分區(qū)上的話。也就是說,該分區(qū)可被容易地改變以滿足該工作負(fù)荷的變化需求。
具有分區(qū)能力的計(jì)算機(jī)系統(tǒng)一般使用分區(qū)管理軟件。分區(qū)管理軟件通常與系統(tǒng)硬件相關(guān)聯(lián)并且與嵌入在計(jì)算機(jī)系統(tǒng)內(nèi)的一支持處理器交互作用。因此,分區(qū)管理軟件不是運(yùn)行在計(jì)算機(jī)系統(tǒng)上的OS的一部分。
雖然如此,眾所周知,現(xiàn)代的計(jì)算機(jī)操作系統(tǒng)如國(guó)際商業(yè)機(jī)器公司(IBMTM)的Advanced Interactive ExecutiveTM(ATXTM)引入了硬件資源管理的各種方法。ATX的基本資源管理系統(tǒng)叫作工作負(fù)荷管理器(WLM)。WLM自動(dòng)地把運(yùn)行的進(jìn)程指派給各類,然后依照為該類請(qǐng)求的資源共享的數(shù)量,試圖使系統(tǒng)資源諸如CPU、存儲(chǔ)器和盤I/O帶寬可用??蛇x擇地,WLM可強(qiáng)加可用于某一類的資源數(shù)量的最大限度。或者,WLM可為某一類預(yù)留最小數(shù)量的資源,即使該些資源沒有被使用。其他的OS,如Sun的Solaris、Hewlett Packard的HP-UX等,也提供了類似的能力。
因此,硬件資源管理和計(jì)算機(jī)系統(tǒng)的動(dòng)態(tài)分區(qū)是兩個(gè)方案,它們可被用于使資源當(dāng)需要時(shí)對(duì)特定工作負(fù)荷可用。資源管理軟件,如WLM可被用于響應(yīng)資源需求方面的短期起伏,而分區(qū)管理軟件被用于基于長(zhǎng)期需求提交資源。
目前,這兩種方案(即資源管理軟件和分區(qū)管理軟件)不能以將它們的能力結(jié)合以實(shí)現(xiàn)最有效和最靈活的解決方案的方式相交互。例如,運(yùn)行于具有一個(gè)處理器或CPU的分區(qū)上的關(guān)鍵應(yīng)用程序可能持續(xù)地接近最大數(shù)量的CPU使用,即使其它的處理器可能處于空閑狀態(tài),例如在CPU沒有被指派給一分區(qū)的情況下。在這種情況下,WLM將不能自己提供附加的CPU資源,但會(huì)要求分區(qū)管理軟件將附加的CPU指派到該分區(qū)。當(dāng)前,每當(dāng)這種情況發(fā)生時(shí),系統(tǒng)管理員就不得不重新對(duì)該計(jì)算機(jī)系統(tǒng)進(jìn)行分區(qū)。讓系統(tǒng)管理員處理這一任務(wù)將不會(huì)如計(jì)算機(jī)系統(tǒng)自動(dòng)處理這一任務(wù)那樣有效率。
因此,需要一種從運(yùn)行于一個(gè)分區(qū)上的操作系統(tǒng)向分區(qū)管理軟件傳送有關(guān)資源需求高峰信息的裝置和方法,從而該軟件可以根據(jù)需要重新將附加資源指派給該分區(qū)。
發(fā)明內(nèi)容
本發(fā)明提供一種方法、系統(tǒng)和裝置,用于響應(yīng)工作負(fù)荷需求動(dòng)態(tài)對(duì)分區(qū)的計(jì)算機(jī)系統(tǒng)進(jìn)行再分區(qū)。在一個(gè)實(shí)施例中,一監(jiān)視軟件被用于監(jiān)視所有分區(qū)中的所有資源上的工作負(fù)荷。如果某分區(qū)中的某資源上的工作負(fù)荷被確定超過最大閾值,則類似的資源被增加到該分區(qū)上。優(yōu)選地,該類似資源是未被指派或未被分配的資源。然而,如果沒有類似的未分配的資源,那么該類似資源可能來自具有不只一個(gè)這些類似資源(例如CPU、I/O插槽等)、或者具有比正使用的資源數(shù)量更多的資源(例如存儲(chǔ)器、帶寬等)并且這些資源上的工作負(fù)荷處于最小閾值內(nèi)的另一分區(qū)。
在另一個(gè)實(shí)施例中,一工作負(fù)荷時(shí)間安排表被存儲(chǔ)在工作負(fù)荷配置文件(profile)中。如果某一分區(qū)的任何資源中的被安排的工作負(fù)荷將超過最大閾值,則在該被安排的工作負(fù)荷之前,附加的類似資源將被指派給該分區(qū)。再次地,只要可能,優(yōu)選地使用未分配出的資源作為附加資源。但如果沒有可用的未分配出的資源,則可使用來自于饋贈(zèng)分區(qū)的類似資源,只要饋贈(zèng)分區(qū)能夠這樣做(即饋贈(zèng)分區(qū)具有不只一個(gè)該類似資源或者具有比正在使用的資源數(shù)量更多的資源且在饋贈(zèng)分區(qū)中不存在超過閾值的被安排的工作負(fù)荷)。
在所附權(quán)利要求中陳述了被認(rèn)為是本發(fā)明的特點(diǎn)的新穎特征。然而,通過結(jié)合附圖參考下面對(duì)示例實(shí)施例的詳細(xì)描述,將對(duì)本發(fā)明自身及其優(yōu)選的使用模式、進(jìn)一步的目的和優(yōu)點(diǎn)有更好的理解,其中
圖1是根據(jù)本發(fā)明的分布式數(shù)據(jù)處理系統(tǒng)的示例方框圖;圖2是根據(jù)本發(fā)明的服務(wù)器裝置的示例方框圖;圖3是根據(jù)本發(fā)明的客戶端裝置的示例方框圖;圖4說明了計(jì)算機(jī)系統(tǒng)邏輯上的多個(gè)分區(qū);圖5說明了屬于每個(gè)分區(qū)的資源被注冊(cè)到其中的映射表;圖6顯示了圖5的更改的映射表;圖7為可與本發(fā)明一起使用的過程的流程圖。
具體實(shí)施例方式
現(xiàn)參照附圖,圖1顯示了可在其中實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)的圖示表示。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是一個(gè)計(jì)算機(jī)網(wǎng)絡(luò),本發(fā)明可實(shí)現(xiàn)于其中。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)102,其是媒介,用于提供在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)連接在一起的各種設(shè)備和計(jì)算機(jī)之間的通信鏈路。網(wǎng)絡(luò)102可包括連接,如有線、無線通信鏈路、或者光纜。
在所顯示的例子中,服務(wù)器104與存儲(chǔ)單元106一起連接到網(wǎng)絡(luò)102。另外,客戶機(jī)108、110和112連接到網(wǎng)絡(luò)102。這些客戶機(jī)108、110和112可以是例如個(gè)人計(jì)算機(jī)或者網(wǎng)絡(luò)計(jì)算機(jī)。在所顯示的例子中,服務(wù)器104向客戶機(jī)108、110和112提供數(shù)據(jù),如引導(dǎo)文件、操作系統(tǒng)映像和應(yīng)用程序??蛻魴C(jī)108、110和112是相對(duì)于服務(wù)器104的客戶機(jī)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可包括未示出的附加的服務(wù)器、客戶機(jī)和其他設(shè)備。在所顯示的例子中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是因特網(wǎng),其中網(wǎng)絡(luò)102代表使用TCP/IP系列協(xié)議相互通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的全世界集合。在因特網(wǎng)的核心是主節(jié)點(diǎn)或主計(jì)算機(jī)之間的高速數(shù)據(jù)通信線路的主干,其中這些主節(jié)點(diǎn)和主計(jì)算機(jī)包括數(shù)以千計(jì)路由數(shù)據(jù)和消息的商業(yè)的、政府的、教育的和其他的計(jì)算機(jī)系統(tǒng)。當(dāng)然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100也可以實(shí)現(xiàn)為若干不同類型的網(wǎng)絡(luò),諸如內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。圖1旨在作為例子,不作為本發(fā)明的體系結(jié)構(gòu)限制。
參照?qǐng)D2,顯示了根據(jù)本發(fā)明優(yōu)選實(shí)施例的數(shù)據(jù)處理系統(tǒng)的方框圖,該數(shù)據(jù)處理系統(tǒng)可實(shí)現(xiàn)為服務(wù)器,如圖1中的服務(wù)器104。數(shù)據(jù)處理系統(tǒng)200可以是對(duì)稱多處理器(SMP)系統(tǒng),包括有多個(gè)連接于系統(tǒng)總線206的處理器202和204。可選擇地,也可以使用單處理器系統(tǒng)。同樣連接到系統(tǒng)總線206的是存儲(chǔ)器控制器/高速緩存208,其向本地存儲(chǔ)器209提供接口。I/O總線橋210連接于系統(tǒng)總線206,并向I/O總線212提供接口。存儲(chǔ)器控制器/高速緩存208和I/O總線橋210可被集成在一起,如所顯示的那樣。
外圍部件互連(PCI)總線橋214連接于I/O總線212,向PCI局部總線216提供接口。多個(gè)調(diào)制解調(diào)器可被連接到PCI局部總線216。典型的PCI總線實(shí)現(xiàn)將支持四個(gè)PCI擴(kuò)展槽或者外接連接器。圖1中到網(wǎng)絡(luò)計(jì)算機(jī)108、110和112的通信鏈路可通過調(diào)制解調(diào)器218和網(wǎng)絡(luò)適配器220來提供,其中調(diào)制解調(diào)器218和網(wǎng)絡(luò)適配器220通過外接板連接到PCI局部總線216。
附加PCI總線橋222和224為附加PCI局部總線226和228提供接口,附加的調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器可以從附加PCI局部總線226和228得到支持。以這種方式,數(shù)據(jù)處理系統(tǒng)200允許到多個(gè)網(wǎng)絡(luò)計(jì)算機(jī)的連接。存儲(chǔ)器映射的圖形適配器230和硬盤232也可直接或間接地連接到I/O總線212,如所顯示的那樣。
本領(lǐng)域普通技術(shù)人員將理解圖2顯示的硬件可以變換。例如,其他的外圍設(shè)備,如光盤驅(qū)動(dòng)器等也可以附加于或者替代所顯示的硬件。所顯示的例子不意味著是對(duì)本發(fā)明的體系結(jié)構(gòu)限制。
圖2顯示的數(shù)據(jù)處理系統(tǒng)可以是,例如IBM e-Server pSeries系統(tǒng),其是位于紐約Armonk的IBM的產(chǎn)品,運(yùn)行Advanced InteractiveExecutive(ATX)操作系統(tǒng)或Linux操作系統(tǒng)。
現(xiàn)參照?qǐng)D3,其示出了說明本發(fā)明可在其中實(shí)現(xiàn)的數(shù)據(jù)處理系統(tǒng)的方框圖。數(shù)據(jù)處理系統(tǒng)300是客戶端計(jì)算機(jī)的一個(gè)例子。數(shù)據(jù)處理系統(tǒng)300使用外圍部件互連(PCI)局部總線體系結(jié)構(gòu)。盡管所顯示的例子使用了PCI總線,但其他總線結(jié)構(gòu),如加速圖形端口(AGP)和工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)也可以使用。處理器302和主存儲(chǔ)器304通過PCI橋308與PCI局部總線306連接。PCI橋308也可包括集成的存儲(chǔ)器控制器和用于處理器302的高速緩存。到PCI局部總線306的附加連接可以通過直接部件互連或通過外接板來實(shí)現(xiàn)。在所顯示的例子中,局域網(wǎng)(LAN)適配器310、SCSI主機(jī)總線適配器312和擴(kuò)展總線接口314通過直接部件連接被連接到PCI局部總線306。相反地,音頻適配器316、圖形適配器318和音頻/視頻適配器319通過插入到擴(kuò)展槽中的外接板與PCI局部總線306連接。擴(kuò)展總線接口314為鍵盤和鼠標(biāo)適配器320、調(diào)制解調(diào)器322和附加存儲(chǔ)器324提供連接。小型計(jì)算機(jī)系統(tǒng)接口(SCSI)主機(jī)總線適配器312為硬盤驅(qū)動(dòng)器326、磁帶驅(qū)動(dòng)器328和CD-ROM驅(qū)動(dòng)器330提供連接。典型的PCI局部總線實(shí)現(xiàn)將支持3或4個(gè)PCI擴(kuò)展槽或外接連接器。
一個(gè)操作系統(tǒng)運(yùn)行于處理器302上并用于協(xié)調(diào)和提供圖3中數(shù)據(jù)處理系統(tǒng)中的各部件的控制。該操作系統(tǒng)可以是可購買到的操作系統(tǒng),如可從微軟公司獲得的Windows 2000。面向?qū)ο蟮木幊滔到y(tǒng),如Java,可與操作系統(tǒng)一起運(yùn)行并提供來自在數(shù)據(jù)處理系統(tǒng)300上執(zhí)行的Java程序或應(yīng)用的對(duì)操作系統(tǒng)的調(diào)用?!癑ava”是Sun Microsystems公司的商標(biāo)。操作系統(tǒng)、面向?qū)ο蟮牟僮飨到y(tǒng)及應(yīng)用或程序的指令位于存儲(chǔ)設(shè)備如硬盤驅(qū)動(dòng)器326上,并可被加載到主存儲(chǔ)器304中以供處理器302執(zhí)行。
本領(lǐng)域普通技術(shù)人員將理解,圖3中的硬件可依照具體實(shí)現(xiàn)而變換。其他的內(nèi)部硬件或外圍設(shè)備,如快閃ROM(或等效的非易失性存儲(chǔ)器)或光盤驅(qū)動(dòng)器等,可用于附加于或者取代圖3中所示的硬件。并且,本發(fā)明的過程可被用到多處理器數(shù)據(jù)處理系統(tǒng)。
作為另一個(gè)例子,數(shù)據(jù)處理系統(tǒng)300可以是單機(jī)系統(tǒng),其被配置成無需依賴于某種類型的網(wǎng)絡(luò)通信接口便可引導(dǎo),不論數(shù)據(jù)處理系統(tǒng)300是否包含有某種類型的網(wǎng)絡(luò)通信接口。作為進(jìn)一步的例子,數(shù)據(jù)處理系統(tǒng)300可以是個(gè)人數(shù)字助理(PDA)設(shè)備,其配有ROM和/或快閃ROM以提供用于存儲(chǔ)操作系統(tǒng)文件和/或用戶生成的數(shù)據(jù)的非易失性存儲(chǔ)器。
圖3中所顯示的例子和上述的例子不意味著體系結(jié)構(gòu)限制。例如,數(shù)據(jù)處理系統(tǒng)300除采用PDA形式之外也可是筆記本計(jì)算機(jī)或手持計(jì)算機(jī)。數(shù)據(jù)處理系統(tǒng)300也可是信息亭或Web設(shè)備(Web appliance)。
本發(fā)明提供了一種響應(yīng)工作負(fù)荷對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行動(dòng)態(tài)再分區(qū)的裝置和方法。本發(fā)明可以對(duì)圖1的客戶機(jī)系統(tǒng)108、110和112是本地的或者對(duì)服務(wù)器104是本地的或者對(duì)服務(wù)器104和客戶機(jī)108、110和112都是本地的。因此,本發(fā)明可駐留在計(jì)算機(jī)系統(tǒng)使用的任何數(shù)據(jù)存儲(chǔ)介質(zhì)(如軟盤、壓縮光盤、硬盤、ROM、RAM等)上。
圖4說明了計(jì)算機(jī)系統(tǒng)的多個(gè)分區(qū)。分區(qū)1 410有兩(2)個(gè)處理器、兩(2)個(gè)I/O插槽并使用一百分比的存儲(chǔ)裝置。分區(qū)2 420使用一(1)個(gè)處理器、五(5)個(gè)I/O插槽并且還使用較小百分比的存儲(chǔ)裝置。分區(qū)3 430使用四(4)個(gè)處理器、五(5)個(gè)I/O插槽并且使用較大百分比的存儲(chǔ)裝置。計(jì)算機(jī)系統(tǒng)的區(qū)域440和450沒有被指派給分區(qū)且未被使用。注意,在圖4中只示出了支持一個(gè)操作系統(tǒng)所需的資源的子集。
如圖所示,當(dāng)計(jì)算機(jī)系統(tǒng)被分區(qū)時(shí),它的資源被在這些分區(qū)中劃分。未指派到分區(qū)的資源沒有被使用。更具體地,一個(gè)資源可以或?qū)儆趩蝹€(gè)分區(qū)或根本不屬于任何一個(gè)分區(qū)。如果資源屬于某分區(qū),那么它被該分區(qū)知道并且僅被該分區(qū)訪問。如果資源不屬于任何分區(qū),它既不被任何分區(qū)知道也不被任何分區(qū)訪問。注意,一個(gè)CPU可以被兩個(gè)或更多個(gè)分區(qū)共享。在這種情況下,該CPU將花費(fèi)相等數(shù)量的時(shí)間對(duì)來自不同分區(qū)的數(shù)據(jù)進(jìn)行處理。
計(jì)算機(jī)系統(tǒng)確保被指派給一個(gè)分區(qū)的資源不被另一分區(qū)所使用,這是通過被分區(qū)管理軟件管理的映射表來實(shí)現(xiàn)的。圖5示出了這樣的映射表。圖5中,CPU1和CPU2、存儲(chǔ)單元1至存儲(chǔ)單元50(即M1-M50)和輸入/輸出I/O插槽4和I/O插槽5被映射到分區(qū)1500。同樣地,CPU3、M51-M75和I/O插槽6至I/O插槽10被映射到分區(qū)2502,及CPU4至CPU7、M76-M150和I/O插槽11至I/O插槽15被映射到分區(qū)3504。如前面提到的,最后的CPU(圖4的CPU8)、一些存儲(chǔ)單元和I/O插槽1至I/O插槽3、I/O插槽16至I/O插槽20沒有被指派給任何分區(qū)(見圖4),因此沒有出現(xiàn)在該表中。然而,分區(qū)管理軟件知道它們存在但目前沒有被指派到任何分區(qū)。
注意,圖4和圖5被用作示例并且不應(yīng)當(dāng)被視作是限制性的。事實(shí)上,一些現(xiàn)存的計(jì)算機(jī)系統(tǒng)能夠支持達(dá)十六(16)個(gè)分區(qū),每個(gè)分區(qū)包含至少一個(gè)CPU、一千兆字節(jié)的存儲(chǔ)區(qū)和一個(gè)I/O插槽。
如前面提到的,分區(qū)管理軟件可以運(yùn)行在一個(gè)單獨(dú)的支持處理器上。使用該軟件,系統(tǒng)管理員通過指定將專用于每個(gè)分區(qū)的CPU數(shù)量、存儲(chǔ)區(qū)數(shù)量和特定的I/O插槽來定義這些分區(qū)。在動(dòng)態(tài)分區(qū)過程中,管理員能從某一分區(qū)增加和移除處理器、存儲(chǔ)區(qū)和/或I/O插槽而無需中斷在該分區(qū)上運(yùn)行的軟件。系統(tǒng)管理員也可啟動(dòng)或停止運(yùn)行于任何分區(qū)上的OS。所有這些可通過使用圖形用戶接口(GUI)或資源管理軟件命令語言來實(shí)現(xiàn)。但不管在哪種情況下,這都是人工過程。
目前,運(yùn)行于分區(qū)上的OS沒有向資源管理軟件發(fā)送任何關(guān)于該分區(qū)正使用著的資源的信息。管理員可打開一終端并通過各種OS命令接收關(guān)于被一個(gè)分區(qū)使用的資源的使用信息。例如,管理員可能想要查明正處理一個(gè)大的批作業(yè)的分區(qū)是否正使用最大百分比(如95%)的所分配CPU資源。如果是,管理員可返回資源管理軟件界面以指派額外的CPU到該分區(qū)。如果該批作業(yè)運(yùn)行不頻繁(如一月一次),那么一旦該大的批作業(yè)完成管理員就將所述額外的CPU返回給它們所取自的分區(qū)。
本發(fā)明監(jiān)視運(yùn)行于分區(qū)中的資源管理軟件以確定資源是否正以接近或超過資源管理軟件的表中指定的最大值的值被使用。如果檢測(cè)到持續(xù)超過一個(gè)時(shí)間段閾值的資源過負(fù)荷,則資源管理軟件可定位或者沒被分配的或者分配了但未被使用的資源,并自動(dòng)將它們指派或重新指派給過負(fù)荷分區(qū)。
例如,假設(shè)當(dāng)資源管理軟件在監(jiān)視分區(qū)的資源利用時(shí)確定了正運(yùn)行著CPU密集的大的批作業(yè)的分區(qū)2,已經(jīng)在過長(zhǎng)的時(shí)間量(即由系統(tǒng)管理員設(shè)置的時(shí)間量閾值)內(nèi)使用了95%的CPU3的處理能力(95%等于或超出也由系統(tǒng)管理員設(shè)置的CPU上的工作負(fù)荷量的閾值),則資源管理軟件可分配未使用的CPU(如圖4中的CPU8)給分區(qū)2。因此,圖5將被修改為如圖6所示。
通過循環(huán)于系統(tǒng)內(nèi)的所有分區(qū)上,資源管理軟件可監(jiān)視這些分區(qū)。為監(jiān)視某一分區(qū),資源管理軟件可打開進(jìn)入該分區(qū)的虛擬終端會(huì)話,并重復(fù)執(zhí)行命令以返回該分區(qū)中的每一資源的使用狀態(tài)。如果注意到超額的資源需求持續(xù)了預(yù)定的時(shí)間量,則資源管理軟件可從另一分區(qū)重新分配類似的未充分利用的資源,或者如果可獲得類似的未指派資源,則將該資源分配給該分區(qū)。
可選地或附加于上述本發(fā)明的實(shí)施例,資源管理軟件可向工作負(fù)荷管理軟件(即WLM)發(fā)出命令以改變目標(biāo)、最小或最大資源值。例如,如果被指派到某一分區(qū)的CPU數(shù)量加倍,則被許可用于一類進(jìn)程的CPU使用的最大百分比可被降低。換言之,這類進(jìn)程可使用較大的資源池的較小片段。
進(jìn)一步地,通過基于時(shí)間的和基于日期的配置文件,預(yù)料資源需求的高峰期是可能的。在這種情況下,資源管理軟件可在高峰期之前重新部署資源,且然后在高峰期結(jié)束之后或者該些資源上的工作負(fù)荷達(dá)到了最小閾值或者預(yù)定的時(shí)間段過去之后,將資源重新指派回到它們?cè)嫉姆謪^(qū)。在上述每月執(zhí)行的批作業(yè)的例子中,基于日期的和基于時(shí)間的配置文件可指定剛好在每個(gè)月該批作業(yè)將要運(yùn)行之前,運(yùn)行該作業(yè)的分區(qū)才將接收額外的CPU、存儲(chǔ)區(qū)和/或I/O插槽。該配置文件也可指定在該批作業(yè)終止運(yùn)行后,將增加的資源返回給它們?cè)嫉姆謪^(qū)。
圖7是可被用作動(dòng)態(tài)指派或重新指派資源給過負(fù)荷分區(qū)的過程。當(dāng)計(jì)算機(jī)系統(tǒng)被開啟或者當(dāng)管理員運(yùn)行該過程(步驟700)時(shí),過程開始。該過程運(yùn)行時(shí),它不斷監(jiān)視被指派給分區(qū)的所有資源的工作狀態(tài)。當(dāng)它注意到對(duì)某一資源的需求超出了系統(tǒng)管理員設(shè)置的閾值時(shí),它檢查看在計(jì)算機(jī)系統(tǒng)中是否存在類似的未被指派給任何一個(gè)分區(qū)的資源。如果存在,它將該類似資源指派給具有過負(fù)荷資源的分區(qū)。當(dāng)作業(yè)完成或當(dāng)對(duì)該過負(fù)荷資源的需求下降到最小閾值時(shí),它從該分區(qū)釋放該資源(步驟702、704、706、708和710)。
如果不存在目前沒有指派給任何分區(qū)的類似資源,則執(zhí)行檢查以確定是否存在被指派給一分區(qū)的、或空閑的或在一最小閾值下運(yùn)行的類似資源。如果存在空閑的資源或在最小閾值下運(yùn)行的資源,則該資源被重新指派給具有過負(fù)荷類似資源的分區(qū)。然而,在重新指派該資源之前,執(zhí)行檢查以確定該類似資源將從中被借出的該分區(qū)中有不只一個(gè)這樣的類似資源。如果沒有,則該資源將不被重新分配。如果資源被重新分配到具有過負(fù)荷資源的分區(qū),則一旦作業(yè)終止或在預(yù)定的時(shí)間段過去之后,該資源將從該分區(qū)被釋放并被重新指派給原始分區(qū)(步驟712、708、710、714、716和718)。
本發(fā)明的說明已基于說明和解釋的目的被呈現(xiàn),且并不意味著是窮舉的和以所公開的形式限制本發(fā)明。許多修改和變換對(duì)本領(lǐng)域普通技術(shù)人員來說是明顯的。被選出和描述的實(shí)施例是為了更好地解釋本發(fā)明的原理、其實(shí)際應(yīng)用,并使本領(lǐng)域的其他普通技術(shù)人員理解本發(fā)明可具有適合于所構(gòu)想的特定使用的各種修改的各種實(shí)施例。
權(quán)利要求
1.一種響應(yīng)工作負(fù)荷對(duì)分區(qū)的計(jì)算機(jī)系統(tǒng)動(dòng)態(tài)再分區(qū)的方法,該分區(qū)的計(jì)算機(jī)系統(tǒng)的每個(gè)分區(qū)具有多個(gè)資源,該方法包括以下步驟確定分區(qū)中資源上的工作負(fù)荷是否超出了最大閾值;及若確定了該工作負(fù)荷超出了最大閾值,則自動(dòng)向該分區(qū)分配一類似資源。
2.權(quán)利要求1的方法,其中所述類似資源是沒有被分配給任何分區(qū)的資源。
3.權(quán)利要求2的方法,其中所述類似資源在所述工作負(fù)荷已降到最小閾值之后從該分區(qū)上被釋放。
4.權(quán)利要求1的方法,其中所述類似資源是被分配給另一個(gè)分區(qū)的、具有在一個(gè)特定閾值內(nèi)的工作負(fù)荷的多個(gè)類似資源之一。
5.權(quán)利要求4的方法,其中所述類似資源在工作負(fù)荷已降到最小閾值之后從該分區(qū)被釋放并被重新指派給該另一個(gè)分區(qū)。
6.一種響應(yīng)工作負(fù)荷對(duì)分區(qū)的計(jì)算機(jī)系統(tǒng)動(dòng)態(tài)再分區(qū)的方法,該分區(qū)的計(jì)算機(jī)系統(tǒng)的每個(gè)分區(qū)具有多個(gè)資源,該方法包括以下步驟為每個(gè)分區(qū)創(chuàng)建一個(gè)工作負(fù)荷配置文件,該配置文件具有工作負(fù)荷和工作負(fù)荷時(shí)間安排表;及若在原始指派給一分區(qū)的資源上的工作負(fù)荷將要超出最大閾值,則在該工作負(fù)荷發(fā)生之前,自動(dòng)向該分區(qū)分配額外的資源。
7.權(quán)利要求6的方法,其中所述資源之一是處理器。
8.權(quán)利要求7的方法,其中所述資源的另一個(gè)是存儲(chǔ)空間。
9.權(quán)利要求8的方法,其中所述資源的又一個(gè)是I/O插槽。
10.權(quán)利要求9的方法,其中所述額外的資源未被指派給任何分區(qū)。
11.權(quán)利要求10的方法,其中所述額外資源在所述工作負(fù)荷已降到最小閾值之后被從該分區(qū)釋放。
12.權(quán)利要求9的方法,其中所述額外資源是被分配給一個(gè)或多個(gè)其他分區(qū)的、具有未超出特定閾值的被安排工作負(fù)荷的多個(gè)類似資源的一部分。
13.權(quán)利要求12的方法,其中所述額外資源在該工作負(fù)荷已降到最小閾值之后從該分區(qū)上被釋放并重新分配給所述一個(gè)或多個(gè)分區(qū)。
14.一種用于響應(yīng)工作負(fù)荷對(duì)分區(qū)的計(jì)算機(jī)系統(tǒng)動(dòng)態(tài)再分區(qū)的、計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,該分區(qū)的計(jì)算機(jī)系統(tǒng)的每個(gè)分區(qū)具有多個(gè)資源,該計(jì)算機(jī)程序產(chǎn)品包括用于確定分區(qū)中資源上的工作負(fù)荷是否超出了最大閾值的代碼手段;及若確定了該工作負(fù)荷超出了最大閾值,則自動(dòng)向該分區(qū)分配一類似資源的代碼手段。
15.一種用于響應(yīng)工作負(fù)荷對(duì)分區(qū)的計(jì)算機(jī)系統(tǒng)動(dòng)態(tài)再分區(qū)的、計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,該分區(qū)的計(jì)算機(jī)系統(tǒng)的每個(gè)分區(qū)具有多個(gè)資源,該計(jì)算機(jī)程序產(chǎn)品包括為每個(gè)分區(qū)創(chuàng)建一個(gè)工作負(fù)荷配置文件的代碼手段,該配置文件具有工作負(fù)荷和工作負(fù)荷時(shí)間安排表;及若在原始指派給一分區(qū)的資源上的工作負(fù)荷將要超出最大閾值,則在該工作負(fù)荷發(fā)生之前,自動(dòng)向該分區(qū)分配額外的資源的代碼手段。
16.一種用于響應(yīng)工作負(fù)荷對(duì)分區(qū)的計(jì)算機(jī)系統(tǒng)動(dòng)態(tài)再分區(qū)的裝置,該分區(qū)的計(jì)算機(jī)系統(tǒng)的每個(gè)分區(qū)具有多個(gè)資源,該裝置包括確定分區(qū)中資源上的工作負(fù)荷是否超出了最大閾值的裝置;及若確定了該工作負(fù)荷超出了最大閾值,則自動(dòng)向該分區(qū)分配一類似資源的裝置。
17.一種用于響應(yīng)工作負(fù)荷對(duì)分區(qū)的計(jì)算機(jī)系統(tǒng)動(dòng)態(tài)再分區(qū)的裝置,該分區(qū)的計(jì)算機(jī)系統(tǒng)的每個(gè)分區(qū)具有多個(gè)資源,該裝置包括為每個(gè)分區(qū)創(chuàng)建一個(gè)工作負(fù)荷配置文件的裝置,該配置文件具有工作負(fù)荷和工作負(fù)荷時(shí)間安排表;及若在原始指派給一分區(qū)的資源上的工作負(fù)荷將要超出最大閾值,則在該工作負(fù)荷發(fā)生之前,自動(dòng)向該分區(qū)分配額外的資源的裝置。
18.一種被分區(qū)的且具有用于響應(yīng)工作負(fù)荷動(dòng)態(tài)再分區(qū)其自身的代碼數(shù)據(jù)的計(jì)算機(jī)系統(tǒng),該分區(qū)的計(jì)算機(jī)系統(tǒng)的每個(gè)分區(qū)具有多個(gè)資源,該計(jì)算機(jī)系統(tǒng)包括至少一個(gè)用于存儲(chǔ)所述代碼數(shù)據(jù)的存儲(chǔ)裝置;及至少一個(gè)用于處理所述代碼數(shù)據(jù)以確定分區(qū)中資源上的工作負(fù)荷是否超出了最大閾值,且若確定了該工作負(fù)荷超出了最大閾值,則自動(dòng)向該分區(qū)分配一類似資源的處理器。
19.一種被分區(qū)為多個(gè)分區(qū)的且具有用于響應(yīng)工作負(fù)荷動(dòng)態(tài)再分區(qū)其自身的代碼數(shù)據(jù)的計(jì)算機(jī)系統(tǒng),該分區(qū)的計(jì)算機(jī)系統(tǒng)的每個(gè)分區(qū)具有多個(gè)資源,該計(jì)算機(jī)系統(tǒng)包括至少一個(gè)用于存儲(chǔ)所述代碼數(shù)據(jù)的存儲(chǔ)裝置;及至少一個(gè)用于處理所述代碼數(shù)據(jù)以為每個(gè)分區(qū)創(chuàng)建一個(gè)工作負(fù)荷配置文件,該配置文件具有工作負(fù)荷和工作負(fù)荷時(shí)間安排表,及若在原始指派給一分區(qū)的資源上的工作負(fù)荷將要超出最大閾值,則在該工作負(fù)荷發(fā)生之前,自動(dòng)向該分區(qū)分配額外的資源的處理器。
全文摘要
本發(fā)明提供了一種響應(yīng)工作負(fù)荷需求對(duì)分區(qū)的計(jì)算機(jī)系統(tǒng)動(dòng)態(tài)再分區(qū)的方法、系統(tǒng)和裝置。在一個(gè)實(shí)施例中,一監(jiān)視軟件用于監(jiān)視所有分區(qū)中所有資源上的工作負(fù)荷。如果某一分區(qū)中某一資源上的工作負(fù)荷被確定超出了最大閾值,則一類似資源將被分配給該分區(qū)。該類似資源優(yōu)選是未指派或未分配的資源。然而,來自其它分區(qū)的資源也可能被使用。在另一實(shí)施例中,工作負(fù)荷時(shí)間安排表被存儲(chǔ)在工作負(fù)荷配置文件中。若一分區(qū)的任何資源中的安排的工作負(fù)荷將要超出最大閾值,則在該安排的工作負(fù)荷之前,額外的類似資源將被分配給該分區(qū)。
文檔編號(hào)G06F9/50GK1636191SQ03804285
公開日2005年7月6日 申請(qǐng)日期2003年2月5日 優(yōu)先權(quán)日2002年2月21日
發(fā)明者J·A·奧爾福德 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司