專利名稱:計(jì)算環(huán)境中的工作負(fù)載管理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及在計(jì)算系統(tǒng)內(nèi)管理工作負(fù)載(workload),并且更具體地涉及在分區(qū)系統(tǒng)中管理工作負(fù)載。
邏輯分區(qū)使得在單個(gè)實(shí)際機(jī)器或中央處理器組合體(CPC)內(nèi)可以建立多個(gè)系統(tǒng)映象。每個(gè)系統(tǒng)映象能夠以好像它是一個(gè)獨(dú)立的計(jì)算系統(tǒng)地進(jìn)行操作。即,每個(gè)邏輯分區(qū)能夠獨(dú)立地進(jìn)行重新配置,初始化裝載對(duì)于每個(gè)分區(qū)可能不同的操作系統(tǒng),并且使用不同的輸入/輸出(I/O)設(shè)備以不同的軟件程序進(jìn)行操作。
在例如1986年1月14日授權(quán)的美國(guó)專利4564903、1989年6月27日授權(quán)的美國(guó)專利4843541、以及1996年10月8日授權(quán)的美國(guó)專利5564040中描述了邏輯分區(qū)計(jì)算系統(tǒng)的例子。
邏輯分區(qū)系統(tǒng)的商業(yè)實(shí)施例包括,例如,帶有“處理器資源/系統(tǒng)管理器(PR/SMTM)”特性的IBMS/390處理器,該特性在例如IBM(國(guó)際商用機(jī)器公司)1999年3月的出版物Processor Resource/Systems Manager PlanningGuide(處理器資源/系統(tǒng)管理器計(jì)劃指南)GA22-7236-04中有所描述。
邏輯分區(qū)系統(tǒng)的一個(gè)重要方面是在系統(tǒng)的分區(qū)內(nèi)運(yùn)行的工作負(fù)載的管理。在例如S/390的系統(tǒng)中,工作負(fù)載管理器用于在分區(qū)之內(nèi)和分區(qū)之間管理工作負(fù)載。工作負(fù)載管理器通過(guò)移動(dòng)工作到系統(tǒng)的物理資源,試圖平衡多個(gè)分區(qū)的工作負(fù)載。然而,為了移動(dòng)該工作,確保重新分配工作所需的數(shù)據(jù)在被移動(dòng)的位置處是非常重要的。這經(jīng)常需要限制工作的移動(dòng)。由此,需要進(jìn)一步改善在計(jì)算機(jī)系統(tǒng)中的工作負(fù)載管理。
相應(yīng)地,本發(fā)明提供一種如在所附權(quán)利要求中所定義的方法、系統(tǒng)和計(jì)算機(jī)程序。
在一個(gè)實(shí)施例中,該方法包括跨越計(jì)算環(huán)境的多個(gè)分區(qū)中的兩個(gè)或多個(gè)分區(qū)管理工作負(fù)載,其中所述管理包括動(dòng)態(tài)調(diào)節(jié)兩個(gè)或多個(gè)分區(qū)中的至少一個(gè)分區(qū)的可共享資源的分配,使得可以平衡所述兩個(gè)或多個(gè)分區(qū)的工作負(fù)載目標(biāo)。
在本發(fā)明的另一個(gè)實(shí)施例中,管理計(jì)算環(huán)境的工作負(fù)載的方法包括跨越計(jì)算環(huán)境的多個(gè)分區(qū)中的兩個(gè)或多個(gè)分區(qū)管理工作負(fù)載,其中所述兩個(gè)或多個(gè)分區(qū)同時(shí)共享一可共享資源。所述管理包括動(dòng)態(tài)調(diào)整兩個(gè)或多個(gè)分區(qū)中的至少一個(gè)分區(qū)的可共享資源的分配。
本發(fā)明的優(yōu)選實(shí)施例使得在工作負(fù)載管理器的指導(dǎo)下能夠跨越邏輯分區(qū)對(duì)可共享資源進(jìn)行動(dòng)態(tài)再分配。這些資源包括例如CPU資源、邏輯處理器資源、I/O資源、協(xié)處理器、信道資源、網(wǎng)絡(luò)適配器、和存儲(chǔ)器資源。典型地,根據(jù)工作負(fù)載目標(biāo),經(jīng)由工作負(fù)載管理器(WLM)、系統(tǒng)復(fù)用體(sysplex)和PR/SM的組合,提供物理資源的動(dòng)態(tài)調(diào)整,而不要求并行系統(tǒng)復(fù)用體的數(shù)據(jù)共享。
另外,在該優(yōu)選實(shí)施例中,提供跨越邏輯分區(qū)(LPAR)的CPU資源的WLM動(dòng)態(tài)管理,以及提供跨越LPAR的動(dòng)態(tài)信道路徑(CHPID)管理、在信道子系統(tǒng)中的基于I/O優(yōu)先級(jí)隊(duì)列的WLM、和跨越LPAR的存儲(chǔ)器的WLM動(dòng)態(tài)管理。在一個(gè)實(shí)例中,LPAR組通過(guò)基于優(yōu)先級(jí)的資源分配,使得資源能夠共享。
本發(fā)明的另一個(gè)實(shí)施例提供一種管理計(jì)算環(huán)境的分區(qū)組的方法,包括確定計(jì)算環(huán)境的一組多個(gè)分區(qū)。所述方法還包括確定要分配給所述組的可共享資源,其中所述可共享資源的至少一個(gè)分區(qū)分配給所述組的多個(gè)分區(qū)。
另一個(gè)實(shí)施例提供一種管理計(jì)算環(huán)境的分區(qū)組的方法,包括確定計(jì)算環(huán)境已經(jīng)修改的組,其中所述組包括計(jì)算環(huán)境的多個(gè)分區(qū);并且響應(yīng)于所述確定,在所述組內(nèi)動(dòng)態(tài)調(diào)整組資源的分配。
在該優(yōu)選實(shí)施例中,這些組的資源受到指派(scope),以確定分配哪些資源到特定組,并執(zhí)行這些資源的分配。指派(scoping)在允許改變的資源上提供了句柄(handle),使得WLM能夠?qū)ο乱徊阶魇裁醋鞒龊线m的決定。指派使得資源的子集在機(jī)器上以這樣的方式提供,以至于該機(jī)器能夠理解軟件所想做的事情、并且該軟件理解該機(jī)器的配置。
本發(fā)明的另一個(gè)優(yōu)選實(shí)施例提供一種在計(jì)算環(huán)境中管理中央處理單元(CPU)資源的方法,包括確定分配CPU資源到計(jì)算環(huán)境的分區(qū)能夠進(jìn)行調(diào)整;并且跨越該分區(qū)和計(jì)算環(huán)境的另一個(gè)分區(qū)動(dòng)態(tài)調(diào)整所述分配。
優(yōu)選地,所述動(dòng)態(tài)調(diào)整是響應(yīng)于至少所述分區(qū)的工作負(fù)載目標(biāo)的,并且得以跨越計(jì)算環(huán)境的多個(gè)分區(qū)執(zhí)行。
在該優(yōu)選實(shí)施例中,工作負(fù)載管理器跨越邏輯分區(qū),通過(guò)動(dòng)態(tài)調(diào)整與該邏輯分區(qū)相關(guān)的CPU處理器權(quán)重(weight)分配CPU資源。例如,WLM理解何時(shí)由于它正運(yùn)行其內(nèi)的分區(qū)的權(quán)重太低而造成重要的工作負(fù)載被延誤。通過(guò)例如提高該分區(qū)的權(quán)重和降低其它分區(qū)的權(quán)重,WLM能夠幫助該工作負(fù)載,由此對(duì)重要的工作負(fù)載提供額外的CPU能力。這使得當(dāng)工作負(fù)載需求變化時(shí),CPU資源可以動(dòng)態(tài)地移動(dòng)到所需的分區(qū)。
本發(fā)明還提供用于實(shí)現(xiàn)上述方法的計(jì)算機(jī)程序。該計(jì)算機(jī)程序一般地包括機(jī)器可執(zhí)行的指令,它在計(jì)算機(jī)可用的介質(zhì)上、或在機(jī)器可讀的程序存儲(chǔ)設(shè)備上進(jìn)行編碼,并且能夠被包括作為計(jì)算機(jī)系統(tǒng)的一部分,或單獨(dú)出售(可通過(guò)網(wǎng)絡(luò)發(fā)送)。
本發(fā)明也提供對(duì)應(yīng)于上述方法的系統(tǒng),一般通過(guò)結(jié)合用于實(shí)現(xiàn)方法的計(jì)算機(jī)程序與合適的硬件而形成。
應(yīng)該預(yù)計(jì)到這樣的計(jì)算機(jī)程序和系統(tǒng)受益于與本發(fā)明方法相同的優(yōu)選特性。
現(xiàn)在將僅作為示例而結(jié)合附圖詳細(xì)描述本發(fā)明的各優(yōu)選實(shí)施例。
圖1a描述計(jì)算環(huán)境的一個(gè)例子;圖1b描述計(jì)算環(huán)境的另一實(shí)施例;圖2描述計(jì)算環(huán)境的其它部件;圖3描述邏輯分區(qū)組的一個(gè)例子;圖4a-4b描述與分區(qū)加入組相關(guān)的邏輯的一個(gè)例子;圖5描述與從組中移去分區(qū)相關(guān)的邏輯的一實(shí)施例;圖6描述與確定是否能夠增加分區(qū)的權(quán)重以幫助該分區(qū)的受方(receiver)服務(wù)級(jí)別相關(guān)的邏輯的一個(gè)實(shí)施例;圖7描述與動(dòng)態(tài)調(diào)整邏輯處理器的配置相關(guān)的邏輯的一個(gè)實(shí)施例;圖8描述信道子系統(tǒng)的一個(gè)實(shí)施例;圖9描述與選擇要處理的I/O操作相關(guān)的邏輯的一個(gè)實(shí)施例;圖10描述與確定是否調(diào)整I/O配置相關(guān)的邏輯的一個(gè)實(shí)施例;圖11描述與圖10中的數(shù)據(jù)收集相關(guān)的邏輯的一個(gè)實(shí)施例;圖12描述與圖10中的平衡檢查相關(guān)的邏輯的一個(gè)實(shí)施例;圖13a-13b描述與修正I/O配置的不平衡相關(guān)的邏輯的一個(gè)實(shí)施例;圖14描述與確定受影響的子系統(tǒng)相關(guān)的邏輯的一個(gè)實(shí)施例;圖15描述與設(shè)定明確的I/O速度目標(biāo)相關(guān)的邏輯的一個(gè)實(shí)施例;以及圖16a-22c描述在確定熵(entropy)中使用的I/O配置的各種例子。
提供了工作負(fù)載管理能力,使得計(jì)算環(huán)境的資源分配的動(dòng)態(tài)調(diào)整能夠平衡該環(huán)境的工作負(fù)載。在一個(gè)例子中,計(jì)算環(huán)境包括多個(gè)邏輯分區(qū),并且工作負(fù)載是跨越兩個(gè)或多個(gè)分區(qū)管理的。
參考圖1a描述了使用工作負(fù)載管理能力的計(jì)算環(huán)境的一個(gè)實(shí)施例。計(jì)算環(huán)境100是基于例如由位于紐約、阿蒙克(Armonk)的國(guó)際商用機(jī)器公司提供的企業(yè)系統(tǒng)體系結(jié)構(gòu)(Enterprise Systems Architecture,ESA)/390的。ESA/390在IBM于1997年6月的標(biāo)題為“Enterprise Systems Architecture/390Principles of Operation”(ESA/390操作原理)、IBM出版號(hào)是SA22-7201-04的出版物中有描述?;贓SA/390的計(jì)算環(huán)境的一個(gè)例子是由國(guó)際商用機(jī)器公司提供的9672并行企業(yè)服務(wù)器(Parallel Enterprise Server)。
計(jì)算環(huán)境100包括例如具有一個(gè)或多個(gè)中央處理器106(例如CP1-CP4)的中央處理器組合體(CPC)102、一個(gè)或多個(gè)分區(qū)108(例如,邏輯分區(qū)(LP1-LP4))、和至少一個(gè)邏輯分區(qū)管理器110,它們中的每一個(gè)描述如下。
中央處理器106是分配給邏輯分區(qū)的的實(shí)際處理器資源。具體地,每個(gè)邏輯分區(qū)108具有一個(gè)或多個(gè)邏輯處理器(為清晰起見(jiàn),沒(méi)有單獨(dú)示出),它們每一個(gè)表示分配給該分區(qū)的實(shí)際處理器106的全部或部分。特定分區(qū)108的邏輯處理器可以專用于該分區(qū)(因而下層處理器資源106為該分區(qū)保留)、或與其它分區(qū)共享(因而下層處理器資源可用于其它分區(qū))。
如在該具體例子中所示,邏輯分區(qū)LP1-LP4中的每一個(gè)作為獨(dú)立系統(tǒng)工作,所述獨(dú)立系統(tǒng)具有駐留的操作系統(tǒng)112(它在每個(gè)邏輯分區(qū)中可能是不同的)和一個(gè)或多個(gè)應(yīng)用程序114。在一實(shí)施例中,操作系統(tǒng)112是由國(guó)際商用機(jī)器公司提供的OS/390TM或MVS/ESATM操作系統(tǒng)。
另外,每個(gè)操作系統(tǒng)(或其子集)包括用于管理在分區(qū)內(nèi)和分區(qū)間的工作負(fù)載的工作負(fù)載管理器。工作負(fù)載管理器的一個(gè)例子是由國(guó)際商用機(jī)器公司提供的WLM。WLM在例如授權(quán)于1995年12月5日的5473773號(hào)美國(guó)專利、和授權(quán)于1997年10月7日的5675739號(hào)美國(guó)專利中有描述。
邏輯分區(qū)108是通過(guò)邏輯分區(qū)管理器110管理的,所述邏輯分區(qū)管理器110是由運(yùn)行在處理器106上的微碼(microcode)實(shí)現(xiàn)的。邏輯分區(qū)108(LP1-LP4)和邏輯分區(qū)管理器110的每一個(gè)包括一個(gè)或多個(gè)駐留在與中央處理器相關(guān)的各自中央存儲(chǔ)部分中的程序。邏輯分區(qū)管理器110的一個(gè)例子是PR/SM。
在計(jì)算環(huán)境的另一個(gè)實(shí)施例中,兩個(gè)或多個(gè)中央處理器組合體互相耦合形成一個(gè)系統(tǒng)復(fù)用體(sysplex),如圖1b所示。作為一個(gè)例子,中央處理器組合體(CPC)102經(jīng)由例如耦合裝置122耦合于一個(gè)或多個(gè)其它CPC120。
如在一個(gè)例子中所示,CPC120包括多個(gè)邏輯分區(qū)124(例如,LP1-LP3),它們由邏輯分區(qū)管理器126管理。一個(gè)或多個(gè)邏輯分區(qū)包括可能具有工作負(fù)載管理器和一個(gè)或多個(gè)應(yīng)用程序(為清晰起見(jiàn),在該例子中未示出)的操作系統(tǒng)。另外,CPC120包括多個(gè)中央處理器128(例如,CP1-CP3)、在多個(gè)邏輯分區(qū)間分配的資源。具體地,資源在每個(gè)分區(qū)的一個(gè)或多個(gè)邏輯處理器130之間分配。(在其它實(shí)施例中,每個(gè)CPC可以具有一個(gè)或多個(gè)邏輯分區(qū)和一個(gè)或多個(gè)中央處理器)。
耦合裝置122(也稱作結(jié)構(gòu)化外部存儲(chǔ)器(SES)處理器)包含可由中央處理器組合體訪問(wèn)的存儲(chǔ)器,并執(zhí)行由CPC中的程序請(qǐng)求的操作。該耦合裝置用于在共享資源重新分配決定中使用的狀態(tài)信息的共享。(在一實(shí)施例中,每個(gè)中央處理器組合體耦合多個(gè)耦合裝置)。耦合裝置的操作的情況在諸如Elko(專利)等處有詳細(xì)描述,授權(quán)于1994年5月31日的5317739號(hào)美國(guó)專利、授權(quán)于1996年10月1日的5561809號(hào)美國(guó)專利、和授權(quán)于1998年1月6日的5706432號(hào)美國(guó)專利,并且這些專利和應(yīng)用列舉在此作為參考。
在一個(gè)實(shí)施例中,一個(gè)或多個(gè)中央處理器耦合于至少一個(gè)用于與I/O設(shè)備通信的信道子系統(tǒng)。例如,中央處理器200(圖2)耦合于主存儲(chǔ)器202和至少一個(gè)信道子系統(tǒng)204。信道子系統(tǒng)204進(jìn)一步耦合于一個(gè)或多個(gè)控制單元206??刂茊卧又詈嫌谝粋€(gè)或多個(gè)I/O設(shè)備208。
信道子系統(tǒng)控制在輸入/輸出設(shè)備與主存儲(chǔ)器之間的信息流。它減輕中央處理單元直接與輸入/輸出設(shè)備進(jìn)行通信的任務(wù),并且使得數(shù)據(jù)處理能夠與輸入/輸出處理同時(shí)進(jìn)行。信道子系統(tǒng)使用一個(gè)或多個(gè)信道路徑214作為在管理進(jìn)出輸入/輸出設(shè)備208的信息流中的通信鏈路。
每個(gè)信道路徑214包括例如信道子系統(tǒng)204的信道210、控制單元206、以及在信道與控制單元之間的鏈路212。在其它實(shí)施例中,信道路徑可以具有多個(gè)信道、控制單元、和/或鏈接。另外,在另一例子中,還可能具有一個(gè)或多個(gè)動(dòng)態(tài)開(kāi)關(guān)作為該信道路徑的一部分。動(dòng)態(tài)開(kāi)關(guān)耦合于信道和控制單元,并提供物理地相互連接任何兩個(gè)連在該開(kāi)關(guān)上的鏈路的能力。關(guān)于信道子系統(tǒng)的進(jìn)一步細(xì)節(jié)在授權(quán)于1996年6月11日的5526484號(hào)美國(guó)專利中描述。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,各種物理資源是在一個(gè)或多個(gè)工作負(fù)載管理器控制下跨越計(jì)算環(huán)境的邏輯分區(qū)動(dòng)態(tài)地重新分配的。該動(dòng)態(tài)重新分配對(duì)應(yīng)用子系統(tǒng)是透明的。例如,要重新分配的物理資源包括CPU資源、邏輯處理器資源、I/O資源、協(xié)處理器、信道資源、網(wǎng)絡(luò)適配器、和存儲(chǔ)器資源。作為一個(gè)例子,協(xié)處理器是在CPC中提供特定功能的微處理器(除CPU外)。協(xié)處理器的例子包括例如,信道子系統(tǒng)、網(wǎng)絡(luò)適配器卡和密碼協(xié)處理器。上述物理資源僅作為示例提供;其它可共享資源也可以重新分配。
為了便于資源的動(dòng)態(tài)重新分配,在一個(gè)實(shí)施例中,邏輯分區(qū)成組在一起,以便在該組的分區(qū)之間共享資源。每個(gè)組在尺寸上能夠在1個(gè)分區(qū)到n個(gè)分區(qū)之間變化(在一實(shí)施例中,一個(gè)或多個(gè)組包括一個(gè)或多個(gè)分區(qū),但是小于計(jì)算環(huán)境的所有分區(qū))。具體地,每個(gè)組包括例如,運(yùn)行在機(jī)器的獨(dú)立域中的一個(gè)或多個(gè)操作系統(tǒng)映象,這些映象由公共工作負(fù)載管理器功能管理,以分配工作負(fù)載和資源。在一個(gè)例子中,這些域是以邏輯分區(qū)模式運(yùn)行的邏輯分區(qū),并且操作系統(tǒng)是運(yùn)行在邏輯分區(qū)中的OS/390。一組的邏輯分區(qū)可以是系統(tǒng)(例如,CPC)或系統(tǒng)復(fù)用體的分區(qū)的子集、整個(gè)系統(tǒng)或系統(tǒng)復(fù)用體、或可以是不同系統(tǒng)復(fù)用體(例如,在單個(gè)CPC上)或系統(tǒng)的分區(qū)。
在圖3中描述了中央處理器組合體的兩個(gè)邏輯分區(qū)組或簇的一實(shí)施例。如所示,有邏輯分區(qū)組A300和邏輯分區(qū)組B302,其中每一個(gè)包括一個(gè)或多個(gè)邏輯分區(qū)。邏輯分區(qū)的成組使得資源能夠通過(guò)資源分配(例如,基于優(yōu)先級(jí)的資源分配)在一個(gè)組的分區(qū)之間共享。
例如,可以共享的資源包括CPU資源、I/O資源、和存儲(chǔ)器、還有協(xié)處理器或任何其它該機(jī)器可以提供的可共享資源。特定邏輯分區(qū)組可以或不可以訪問(wèn)特定機(jī)器的所有資源。事實(shí)上,可以定義多個(gè)邏輯分區(qū)組在單個(gè)機(jī)器上同時(shí)操作。為了有效地管理每個(gè)邏輯分區(qū),組成特定邏輯分區(qū)組的資源被有效地指派(scope)到該組。
指派包括確定哪些資源可分配到每個(gè)組。具體地,指派定義限定哪些資源到組中,并能夠由組管理。組成邏輯分區(qū)組的邏輯分區(qū)可以看作是資源的容器。這些容器存在于邏輯分區(qū)可得到的全部資源的集合的范圍內(nèi)。在一例子中,是在特定CPC上可用的資源的全集。
組成特定邏輯分區(qū)組(例如,邏輯分區(qū)組A)的邏輯分區(qū)被分配全部可共享資源的特定部分。例如,假定可共享資源是CPU資源。利用共享的CPU資源,包括在邏輯分區(qū)組A中的邏輯分區(qū)被分配全部中央處理器組合體CPU資源的特定部分。這些資源由在特定組內(nèi)的邏輯分區(qū)、潛在地還有在其它邏輯分區(qū)組中的邏輯分區(qū)、和不包括在任何邏輯分區(qū)組中的邏輯分區(qū)共享。由此,試圖對(duì)關(guān)于在組內(nèi)移動(dòng)資源(例如,從邏輯分區(qū)組中的一個(gè)分區(qū)到該組的另一個(gè)分區(qū))作出決定的工作負(fù)載管理器將理解包括該組的資源,也理解較大的容器(例如CPC)包含什么。用于決定關(guān)于管理工作負(fù)載資源的測(cè)量反饋(例如,存儲(chǔ)于耦合裝置中的狀態(tài)信息)應(yīng)該足以理解如上用戶定義的容器。
一旦建立了這種理解,工作負(fù)載管理器受控制改變?cè)诮o定組的邏輯分區(qū)中的資源分配,這一般地以保持容器的尺寸(即,分配給邏輯分區(qū)組的資源)不變的方式進(jìn)行。例如,假定要管理的資源是CPU資源,并且進(jìn)一步假定每個(gè)邏輯分區(qū)被分配一表示優(yōu)先級(jí)的CPU處理權(quán)重(processing weight)。為管理CPU的相對(duì)權(quán)重,在給定組中邏輯分區(qū)的相對(duì)權(quán)重的總和(sum)在經(jīng)由例如工作負(fù)載管理器的受控改變之前和以后保持不變。這保留了用戶指定的給所述組和出現(xiàn)在機(jī)器上的其它邏輯分區(qū)的資源分配。
盡管如上所述,在一些情形中,對(duì)于分區(qū)組,當(dāng)這些資源不是被它們的指定所有者使用時(shí),也需要和可能利用比所定義的容器多的資源。但是,只要這些資源的內(nèi)容產(chǎn)生,則該資源就受到邏輯分區(qū)(LPAR)管理器根據(jù)所定義的容器尺寸(例如,在該例中的處理權(quán)重)進(jìn)行的管理。然而,當(dāng)不應(yīng)該允許該組擴(kuò)展超出它的容器時(shí),也存在其它情形。對(duì)于指派,這也是可能的。其它資源可能需要被完全指派到單個(gè)組,以獲得該資源使用的精確圖畫(huà)(picture)。以此方式的限制防止給定組以外的邏輯分區(qū)訪問(wèn)該資源。
另外,在邏輯分區(qū)組內(nèi),資源可用性的外部變化的影響也給予考慮。例如,用戶可以經(jīng)由一些外部裝置(不在工作負(fù)載管理器的控制下)改變資源的分配。因?yàn)樵跈C(jī)器上實(shí)際工作負(fù)載的變化、或在組之間和/或其它邏輯分區(qū)之間的事務(wù)優(yōu)先級(jí)的改變,可以實(shí)現(xiàn)上述資源分配的改變。當(dāng)作出這些改變時(shí),工作負(fù)載管理器將理解這些改變,并且這些改變的影響將合理地分配。當(dāng)組中加入或移去一個(gè)邏輯分區(qū)時(shí),當(dāng)加入或移去該組以外的其它一些邏輯分區(qū)時(shí),或簡(jiǎn)單地,當(dāng)受外部裝置影響,處理權(quán)重變化時(shí),改變可能發(fā)生。當(dāng)執(zhí)行這些外部改變時(shí),可以改變?cè)撊萜鞯某叽纾⑶夜ぷ髫?fù)載管理器現(xiàn)在是最新尺寸容器的管理器。
當(dāng)分配給組的特定邏輯分區(qū)的資源由外部改變時(shí),在組內(nèi)也可能需要重新分配資源。例如,當(dāng)從組中移去邏輯分區(qū)時(shí),與該邏輯分區(qū)相關(guān)的處理權(quán)重也從組中移去。如果當(dāng)前工作負(fù)載管理器為邏輯分區(qū)分配的權(quán)重大于被移去的邏輯分區(qū)的權(quán)重(即,初始的與該邏輯分區(qū)相關(guān)的處理權(quán)重),則在權(quán)重上的差異添加到該組中的其它邏輯分區(qū)。例如,所述添加與在組中的其它邏輯分區(qū)中權(quán)重的現(xiàn)存分配成比例進(jìn)行。如果當(dāng)前工作負(fù)載管理器為邏輯分區(qū)分配的權(quán)重小于該邏輯分區(qū)的初始權(quán)重,則在權(quán)重上的差從該組中的其它邏輯分區(qū)減去。再次,作為一個(gè)例子,所述減去與其它邏輯分區(qū)中權(quán)重分配成比例進(jìn)行。
如上所述,指派組以在分配到組的資源和允許改變的資源上獲得句柄,使得工作負(fù)載管理器能夠?qū)ο乱徊阶魇裁醋鞒龊线m的決定。該指派確定各組,并且給該程序提供回該程序能夠理解的信息。當(dāng)修改組時(shí),自動(dòng)地調(diào)整資源以滿足該修改。
在一個(gè)實(shí)施例中,對(duì)每個(gè)資源可以有不同的組(簇)。例如,當(dāng)邏輯分區(qū)組B可以對(duì)應(yīng)I/O資源時(shí),邏輯分區(qū)組A可以對(duì)應(yīng)CPU資源。然而,在其它實(shí)施例中,一個(gè)邏輯分區(qū)組也可能對(duì)應(yīng)該資源的子集或全部。
為了建立LPAR組指派,在一例子中,邏輯分區(qū)確定它們自己到一個(gè)或多個(gè)分區(qū)組。參考圖4a-4b描述了與加入組相關(guān)的邏輯的一個(gè)實(shí)施例。例如,為加入一個(gè)邏輯分區(qū)組,運(yùn)行在邏輯分區(qū)中的操作系統(tǒng)(例如,OS/390)對(duì)LPAR管理器指示該邏輯分區(qū)要成為哪個(gè)LPAR組的一部分(步驟400)。作為一個(gè)例子,一指令用于傳遞LPAR組名到LPAR管理器。操作系統(tǒng)為每種類(lèi)型的在LPAR組中可以管理的資源指定一名稱。由此,如果存在其它資源(查詢402),則指定其它名稱。例如,一組名給予CPU資源,另一組名給予I/O資源。如果需要,可以為每個(gè)資源類(lèi)型指定相同的LPAR組名。
通過(guò)OS/390的說(shuō)明,或者在機(jī)器上建立了新的LPAR組(假設(shè)該邏輯分區(qū)是使用該名稱的第一個(gè)邏輯分區(qū)),或者使得該邏輯分區(qū)加入到對(duì)應(yīng)該資源類(lèi)型的相同名稱的現(xiàn)有LPAR組。例如,一旦該組名得以指定(步驟404,圖4b),則確定它是否是新名稱(查詢406)。如果是,則創(chuàng)建新組(步驟408)。否則,加入現(xiàn)有組(步驟410)。此后,指派該資源到該組(步驟412)。
具體地,如果并且正當(dāng)運(yùn)行在LPAR組中的WLM確定它應(yīng)該時(shí),則對(duì)于那些要利用的邏輯分區(qū),現(xiàn)在可以獲得限定到LPAR組的組類(lèi)型的資源。對(duì)于需要指派的LPAR組的特定類(lèi)型的資源包括至少兩個(gè)變形附加資源和固定資源。
附加資源在一些情形中,加入一個(gè)LPAR組就自然地增加資源到邏輯分區(qū)剛剛加入的那個(gè)LPAR組。它的一個(gè)例子是CPU處理權(quán)重,該權(quán)重由用戶分配到例如在硬件控制臺(tái)處的邏輯分區(qū)。當(dāng)激活該邏輯分區(qū)時(shí),該邏輯分區(qū)的當(dāng)前(使用中)處理權(quán)重按該用戶分配的權(quán)重初始化。當(dāng)該邏輯分區(qū)加入對(duì)應(yīng)CPU資源的LPAR組時(shí),對(duì)應(yīng)該邏輯分區(qū)的用戶分配處理權(quán)重成為在LPAR組內(nèi)可用的全部處理權(quán)重的一部分,并且由此,能夠通過(guò)WLM在LPAR組內(nèi)被重新分配。剛加入LPAR組的邏輯分區(qū)現(xiàn)在可以使用較大組(set)的剛對(duì)其作出貢獻(xiàn)的LPAR組資源。
固定資源在一些情形中,預(yù)定義一組資源屬于一特定LPAR組。它的一個(gè)例子是受管理的(浮動(dòng))信道路徑。受管理信道路徑是一種其資源能夠被重新分配以幫助實(shí)現(xiàn)工作負(fù)載目標(biāo)的信道路徑。由特定LPAR組使用的該組受管理信道路徑經(jīng)由I/O配置定義程序被初始定義,所述I/O配置定義程序?qū)⑿诺缆窂?CHPID)與LPAR組相關(guān)聯(lián)。當(dāng)一邏輯分區(qū)加入該LPAR組時(shí),它現(xiàn)在被允許訪問(wèn)該組信道路徑。該邏輯分區(qū)本身對(duì)該資源共享池(pool)沒(méi)有任何影響。(該資源共享池仍然可以動(dòng)態(tài)地改變,但是關(guān)鍵是當(dāng)邏輯分區(qū)加入和離開(kāi)LPAR組時(shí),該資源沒(méi)有進(jìn)出變化)。
根據(jù)資源的類(lèi)型,也能夠?yàn)橘Y源實(shí)施不同的LPAR指派。
附加資源在LPAR組中的操作系統(tǒng)能夠查詢LPAR組的全組該類(lèi)型資源。例如,對(duì)于CPU處理權(quán)重,這可以通過(guò)一指令完成。該操作系統(tǒng)學(xué)習(xí)LPAR組內(nèi)的整組資源類(lèi)型、到在該組中的邏輯分區(qū)的資源的分配、和在當(dāng)前機(jī)器上可得到的資源共享池的完全尺寸。所有這些分量被用于理解有多少物理資源要分配到邏輯分區(qū)。該操作系統(tǒng)接著更新到該LPAR組內(nèi)的邏輯分區(qū)的分配,以在組內(nèi)重新分配資源。在一個(gè)例子中,該操作系統(tǒng)不允許改變分配到該LPAR組的資源的總量。LPAR管理器通過(guò)確保在更新中LPAR組的所有部分被占用、并且在LPAR組外沒(méi)有邏輯分區(qū)的資源受到影響而實(shí)施。
固定資源在LPAR組中的操作系統(tǒng)查詢與該類(lèi)型資源相關(guān)的LPAR組的該組資源。例如,利用受管理信道路徑,為特定LPAR組定義的受管理信道路徑的列表能夠經(jīng)由一指令從LPAR管理器中檢索。LPAR管理器還篩選這些資源以保證它們只由適當(dāng)?shù)腖PAR組利用。對(duì)于受管理信道,這意味著只允許受管理信道被聯(lián)機(jī)配置到已經(jīng)聲明一LPAR組名的邏輯分區(qū),所述LPAR組名與為該受管理信道所定義的組名匹配。
當(dāng)一個(gè)是一LPAR組的一部分的邏輯分區(qū)被系統(tǒng)重新設(shè)置(reset)、重新IPL(re-IPLed)、或失活(deactivate)時(shí),與一個(gè)或多個(gè)LPAR組有關(guān)的邏輯分區(qū)的任何關(guān)聯(lián)(affiliation)被移去。參考圖5描述了與從組中移去邏輯分區(qū)相關(guān)的邏輯的一實(shí)施例。作為重新設(shè)置的一部分,邏輯分區(qū)管理器從該邏輯分區(qū)中移去已聲明的LPAR分區(qū)組名(步驟500)。接著,執(zhí)行一個(gè)或多個(gè)其它動(dòng)作,以根據(jù)該資源完成對(duì)該邏輯分區(qū)的LPAR組資源重新分配(查詢502)。
如果該資源是附加資源,則下列情況發(fā)生當(dāng)一邏輯分區(qū)加入LPAR組時(shí),被添加到LPAR組的這樣的資源被從該LPAR組中移去(步驟504)。這可能涉及到該類(lèi)型資源的當(dāng)前分配到該LPAR組的剩余成員的調(diào)整。例如,在處理權(quán)重的情形中,離開(kāi)組的邏輯分區(qū)的初始處理權(quán)重現(xiàn)在從該LPAR組的指派中移去。如果WLM已經(jīng)改變?cè)撨壿嫹謪^(qū)的當(dāng)前處理權(quán)重,則需要進(jìn)行調(diào)整。如果該邏輯分區(qū)的當(dāng)前處理權(quán)重大于它的初始處理權(quán)重,則在兩者之間的差與它們的當(dāng)前處理權(quán)重成比例地對(duì)剩余LPAR組成員重新分配。如果該邏輯分區(qū)的當(dāng)前處理權(quán)重小于它的初始處理權(quán)重,則在兩者之間的差與它們的當(dāng)前處理權(quán)重成比例地從剩余LPAR組成員中移去。這些調(diào)整的結(jié)果為得到的LPAR組重新建立處理權(quán)重容器。
在另一方面,如果該資源是固定資源,則下列情況發(fā)生這樣的資源被簡(jiǎn)單地從正在被重新設(shè)置的該邏輯分區(qū)的配置中移去(步驟506)。例如,對(duì)于受管理信道路徑,該信道路徑從正在被重新設(shè)置的邏輯分區(qū)中被重新配置。這又再次重新建立以下條件只有該LPAR組成員才能訪問(wèn)該LPAR組資源。
還應(yīng)該注意到,在一LPAR組環(huán)境中,由WLM管理的一些資源可能不需要進(jìn)行組指派。這樣的資源的一個(gè)例子是對(duì)于邏輯分區(qū)的聯(lián)機(jī)路徑中央處理器(CP)的數(shù)量。在一LPAR組中的特定邏輯分區(qū)的有效行為能夠被聯(lián)機(jī)到該邏輯分區(qū)的的邏輯CP的數(shù)量顯著地影響。該邏輯分區(qū)已經(jīng)定義和/或聯(lián)機(jī)的邏輯CP的數(shù)量是邏輯分區(qū)是否在LPAR組中的一個(gè)特征,所以該資源沒(méi)有真正成為較大的資源共享池的一部分。因而它的在LPAR組中的影響是它能夠相對(duì)另一個(gè)成員改變何種類(lèi)型工作負(fù)載能夠有效地在一個(gè)LPAR組成員中運(yùn)行。
在一例子中,在多個(gè)邏輯分區(qū)之間要共享的資源是CPU資源。通過(guò)動(dòng)態(tài)地調(diào)整一個(gè)或多個(gè)與該邏輯分區(qū)有關(guān)的相對(duì)處理權(quán)重,OS/390工作負(fù)載管理器跨越邏輯分區(qū)重新分配CPU資源。WLM理解何時(shí)由于它在其中運(yùn)行的分區(qū)的權(quán)重太低造成重要的工作負(fù)載被延誤。通過(guò)提高該分區(qū)的權(quán)重和降低另一個(gè)分區(qū)的權(quán)重,WLM能夠幫助該工作負(fù)載,由此對(duì)重要的工作負(fù)載提供額外的CPU能力。當(dāng)工作負(fù)載需求變化時(shí),CPU資源可以動(dòng)態(tài)地移到它們所需的分區(qū)。
在一實(shí)施例中,邏輯分區(qū)權(quán)重的WLM管理的指派是一邏輯分區(qū)組。例如,WLM調(diào)整邏輯分區(qū)權(quán)重,但是保持在組中的分區(qū)的權(quán)重的總和不變。保持總和不變,使分配到該組的全部CPU資源相對(duì)于在相同的實(shí)際計(jì)算機(jī)上的其它獨(dú)立組保持一致。由此,當(dāng)WLM提高一個(gè)分區(qū)的權(quán)重時(shí),它降低在同一組中其它分區(qū)的權(quán)重。
邏輯分區(qū)權(quán)重的管理是對(duì)針對(duì)WLM目標(biāo)的資源分配技術(shù)的提高,所述針對(duì)WLM的目標(biāo)的資源分配技術(shù)在例如授權(quán)于1995年12月5日的5473773號(hào)美國(guó)專利、授權(quán)于1997年10月7日的5675739號(hào)美國(guó)專利中有描述。
如在這些專利中所述,通過(guò)調(diào)整CPU分配優(yōu)先級(jí),WLM控制在邏輯分區(qū)內(nèi)的CPU資源的分配。CPU分配優(yōu)先級(jí)在服務(wù)級(jí)別(service class)級(jí)被分配給工作。然而,存在各種情況,在其中分配優(yōu)先級(jí)的調(diào)整無(wú)助于服務(wù)級(jí)別,例如1)該服務(wù)級(jí)別已經(jīng)單獨(dú)位于許可給非系統(tǒng)工作的最高CPU分配優(yōu)先級(jí)上。
2)改變CPU分配優(yōu)先級(jí)以幫助該服務(wù)級(jí)別,將對(duì)其它具有相等或較高重要性的服務(wù)級(jí)別上產(chǎn)生大的負(fù)面影響。
由此,當(dāng)WLM發(fā)現(xiàn)一服務(wù)級(jí)別由于CPU延遲而未達(dá)到它的目標(biāo)時(shí),該目標(biāo)不能通過(guò)調(diào)整CPU優(yōu)先級(jí)得到幫助,WLM考慮調(diào)整與該失敗服務(wù)級(jí)別相關(guān)的分區(qū)的權(quán)重。
對(duì)WLM正在考慮給其分配額外資源的服務(wù)級(jí)別,被稱為受方服務(wù)級(jí)別。當(dāng)WLM發(fā)現(xiàn)由于在給定分區(qū)上CPU延遲,受方服務(wù)級(jí)別未達(dá)到目標(biāo)時(shí),該目標(biāo)不能為上面所列原因得到幫助,WLM考慮提高該分區(qū)的權(quán)重。參考圖6,WLM采用的確定是否能夠提高分區(qū)的權(quán)重以幫助受方服務(wù)級(jí)別的邏輯的一個(gè)實(shí)施例被描述如下1.估計(jì)(project)提高分區(qū)權(quán)重對(duì)受方級(jí)別的影響(步驟600)。提高分區(qū)權(quán)重增加了分區(qū)的CPU能力。因?yàn)榧俣ㄔ谑芊郊?jí)別中的工作的CPU需求是不變的,增加分區(qū)的CPU能力將減少該受方服務(wù)級(jí)別需要的該能力的百分比。對(duì)受方服務(wù)級(jí)別的益處的估計(jì)是基于受方服務(wù)級(jí)別和該系統(tǒng)需求上的其它工作兩者在可獲得的CPU能力百分比的這種減少。
2.在該邏輯分區(qū)組中發(fā)現(xiàn)另一個(gè)分區(qū)作為要降低其權(quán)重的候選者(步驟602)。該分區(qū)稱為候選供方分區(qū)(candidate donor partition)。例如,通過(guò)降低該分區(qū)的權(quán)重,尋找一分區(qū),在該分區(qū)中最不重要的工作可能被影響,從而選擇出候選供方分區(qū)。
3.利用運(yùn)行在降低其權(quán)重的候選供方分區(qū)上的工作,估計(jì)在所有服務(wù)級(jí)別上的影響(步驟604)。降低候選供方分區(qū)的權(quán)重減少了候選供方分區(qū)的CPU能力。在CPU能力上的該減少意味著與運(yùn)行在候選供方分區(qū)上的工作相關(guān)的服務(wù)級(jí)別的CPU需求、作為該候選供方的能力的百分比將增加。降低該候選供方的權(quán)重負(fù)面影響的估計(jì)是基于在可獲得的這些服務(wù)級(jí)別需要的CPU能力的百分比上的這種增加。
4.確定是否在權(quán)重上的該變化具有凈(net)值(查詢606)。即,基于所涉及的服務(wù)級(jí)別的目標(biāo)和重要性,對(duì)受方服務(wù)級(jí)別的益處超過(guò)了對(duì)在候選供方分區(qū)上的工作的負(fù)面影響。
5.如果調(diào)整該權(quán)重有凈值,實(shí)現(xiàn)所建議議的對(duì)該分區(qū)權(quán)重的改變(步驟608)。如果不存在凈值,則確定是否存在更多的候選供方分區(qū)(查詢610)。如果是,選擇另一個(gè)候選供方分區(qū)(步驟612)。并且從步驟3(步驟604)處理繼續(xù)。如果不存在更多的候選供方分區(qū),則處理結(jié)束(步驟614)。
為使運(yùn)行在一分區(qū)上的WLM能夠估計(jì)改變關(guān)于運(yùn)行在另一個(gè)分區(qū)上的工作的分區(qū)權(quán)重的影響,每個(gè)分區(qū)可對(duì)共享數(shù)據(jù)結(jié)構(gòu)進(jìn)行訪問(wèn),所述結(jié)構(gòu)包括關(guān)于在組中每個(gè)邏輯分區(qū)的性能數(shù)據(jù)。該分區(qū)級(jí)性能數(shù)據(jù)包括,例如·根據(jù)服務(wù)級(jí)別,運(yùn)行在分區(qū)上的工作的CPU需求;·每個(gè)服務(wù)級(jí)別對(duì)它在該分區(qū)上的目標(biāo)作得多好;·對(duì)于該分區(qū)的由CPU分配優(yōu)先級(jí)的CPU使用率。
在本發(fā)明的在OS/390系統(tǒng)中實(shí)現(xiàn)的一個(gè)優(yōu)選實(shí)施例中,該共享數(shù)據(jù)結(jié)構(gòu)在耦合裝置上被建立和維持。然而,其它數(shù)據(jù)共享方法也能夠用來(lái)實(shí)現(xiàn)該數(shù)據(jù)結(jié)構(gòu),比如消息發(fā)送(messaging)或共享磁盤(pán)。
以上所述是用于動(dòng)態(tài)重新分配計(jì)算環(huán)境的CPU資源的能力。例如,通過(guò)動(dòng)態(tài)調(diào)整邏輯分區(qū)權(quán)重,該資源被跨邏輯分區(qū)重新分配。
除了動(dòng)態(tài)調(diào)整計(jì)算環(huán)境的CPU資源以外,也可以動(dòng)態(tài)調(diào)整邏輯處理器資源。
一個(gè)邏輯分區(qū)是利用一個(gè)或多個(gè)邏輯處理器配置的,所述邏輯處理器被分配在中央處理器組合體的實(shí)際中央處理單元上以執(zhí)行工作。為使一分區(qū)能夠消耗它所分配的CPU能力,足夠的邏輯處理器被配置到該邏輯分區(qū)。例如,考慮運(yùn)行在帶10個(gè)CPU的CPC上的邏輯分區(qū)A的情形。如果工作負(fù)載管理器分配給邏輯分區(qū)A50%的CPC能力,則邏輯分區(qū)A需要至少配置5個(gè)邏輯處理器。(5個(gè)邏輯處理器能夠運(yùn)行在5個(gè)CPU或CPC能力的50%上。)如果邏輯分區(qū)A隨后應(yīng)該被分配95%的CPC能力,則接著邏輯分區(qū)A將配置給10個(gè)邏輯處理器。由于WLM能夠利用靜態(tài)定義的邏輯處理器配置,動(dòng)態(tài)調(diào)整分配到邏輯分區(qū)A的能力,所以10個(gè)邏輯處理器被分配給邏輯分區(qū)A以容納所有可能的能力分配。然而,如果邏輯分區(qū)A被分配給例如只有20%的CPC容量,則從靜態(tài)定義的邏輯處理器中引出兩個(gè)問(wèn)題1)10個(gè)邏輯處理器中的每一個(gè)將平均地允許以比率僅為0.2的實(shí)際CPU能力(10個(gè)CPC的20%除以10個(gè)邏輯處理器等于每個(gè)邏輯處理器0.2個(gè)CPU)去消耗實(shí)際CPU資源。這將嚴(yán)重地限制其吞吐量由單任務(wù)控制(gate)的工作負(fù)載,因?yàn)樵搯稳蝿?wù)將僅能夠以0.2倍的實(shí)際CPU能力去執(zhí)行--這經(jīng)常被稱為短引擎效應(yīng)(short engine effect);2)當(dāng)必須管理10個(gè)邏輯處理器時(shí),軟件和硬件效率被顯著降低,此時(shí)僅需要兩個(gè)邏輯處理器。
為了解決上述不足,不再靜態(tài)定義邏輯分區(qū)的配置,而代之以動(dòng)態(tài)調(diào)整。在一個(gè)例子中,正是WLM管理該分區(qū)并作出動(dòng)態(tài)調(diào)整。WLM能夠?yàn)橛?jì)算環(huán)境(或在一LPAR組內(nèi))的每個(gè)邏輯分區(qū)作這些。參考圖7,描述了與動(dòng)態(tài)調(diào)整邏輯處理器的配置相關(guān)的邏輯的一個(gè)實(shí)施例。
首先,給一邏輯分區(qū)配置所要求的最小數(shù)目的邏輯處理器,以允許它消耗通過(guò)工作負(fù)載管理器分配給該邏輯分區(qū)的能力(如果太大,則是實(shí)際在使用的能力)(步驟700)。當(dāng)該邏輯分區(qū)的容量配置(或容量使用)改變時(shí)(查詢702),作出一個(gè)評(píng)估以確定配置到該邏輯分區(qū)的邏輯處理器數(shù)量是否應(yīng)該改變(步驟704)。在一個(gè)例子中,配置到該邏輯分區(qū)的邏輯處理器數(shù)量保持接近于需要的實(shí)際CPU的數(shù)量,以提供分配給邏輯分區(qū)(或由其使用)的CPC容量。由此,每個(gè)邏輯處理器以接近于實(shí)際CPU的能力執(zhí)行,并且要管理的邏輯處理器的數(shù)量被最小化。
為了評(píng)估是否要改變邏輯配置,在一個(gè)例子中使用以下等式L=floor[max(W,U)×P+1.5] 假定L的最大值=P,其中,L=配置到一邏輯分區(qū)的邏輯處理器的數(shù)量;W=分配到該邏輯分區(qū)的CPC容量的百分比;U=當(dāng)前正由該邏輯分區(qū)使用的CPC容量的百分比;和P=在CPC上的實(shí)際CPU的數(shù)量(步驟705)。
基于P、W、和U的當(dāng)前值,以例如規(guī)則的和頻繁的間隔(例如,每10秒)通過(guò)工作負(fù)載管理器評(píng)估L。使用一些閾值確定對(duì)應(yīng)該邏輯分區(qū)的L的實(shí)際值(L-act)是否應(yīng)該提高或降低。如果新的經(jīng)計(jì)算的L值(L-calc)高于L-act的當(dāng)前值(查詢706),則將L-act提高到L-calc(步驟708)。否則,如果L-calc的是比L-act低2或2以上的值(查詢710),則設(shè)置L-act為L(zhǎng)-calc減1(步驟712)。如果L-calc是等于L-act或比L-act小1的值,該邏輯分區(qū)的L-act值不作改變(步驟714)。通過(guò)使用這些閾值,避免了由于小的工作負(fù)載的波動(dòng)而在L-act上不必要的變化,同時(shí)仍然響應(yīng)于工作負(fù)載的能力需求的快速增加。
為進(jìn)一步說(shuō)明,考慮以下例子假定P=10,W=U=24%。邏輯處理器的靜態(tài)配置將要求L(靜態(tài))=10,以處理如果W增加到大于90%的情形。然而,在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中L(動(dòng)態(tài))=floor[max(.24,.24)×10+1.5]=3。由此,在該例子中,L(靜態(tài))將約束單任務(wù)以0.24的實(shí)際CPU執(zhí)行,而L(動(dòng)態(tài))允許單任務(wù)以0.80的實(shí)際CPU執(zhí)行,由此在由單任務(wù)控制的工作負(fù)載的處理量上提供了233%的增加。另外,在該例子中,由于僅有三個(gè)邏輯處理器要管理,而不是L(靜態(tài))所需的10個(gè)邏輯處理器,所以軟件和硬件效率顯著地得到提高。
要管理的計(jì)算環(huán)境的另一個(gè)可共享資源是諸如I/O資源的異步資源。具體地,在協(xié)處理器(例如,信道子系統(tǒng))內(nèi)的I/O操作或請(qǐng)求要受到管理。該管理包括對(duì)I/O操作進(jìn)行優(yōu)先級(jí)排隊(duì),使得具有較高優(yōu)先級(jí)的I/O操作較快地得到處理,和/或分配給具有較高優(yōu)先級(jí)的I/O操作以更多的信道帶寬。
在當(dāng)代大規(guī)模多程序計(jì)算系統(tǒng)中,長(zhǎng)運(yùn)行處理,比如對(duì)應(yīng)讀、寫(xiě)、和控制所連接的I/O設(shè)備的I/O操作的啟動(dòng)和執(zhí)行,一般地是通過(guò)利用幾個(gè)獨(dú)立操作的計(jì)算單元而實(shí)現(xiàn)的(見(jiàn)圖8)。例如,在中央處理器800上執(zhí)行的程序可以請(qǐng)求到所連接設(shè)備804的I/O操作;然而,到所連接設(shè)備的I/O操作的實(shí)際啟動(dòng)和執(zhí)行是通過(guò)通常稱為信道子系統(tǒng)802的一個(gè)或多個(gè)分開(kāi)和獨(dú)立執(zhí)行的處理器共同工作來(lái)完成的。一般利用異步I/O處理方法學(xué),以便為與較長(zhǎng)運(yùn)行的I/O設(shè)備同時(shí)執(zhí)行的其它任務(wù)優(yōu)化和高效使用中央處理器。即,最小化總體處理器開(kāi)銷(xiāo)、處理時(shí)間和處理器等待時(shí)間,不然這種處理器等待時(shí)間就是為了訪問(wèn)和讀/寫(xiě)所連接設(shè)備的I/O設(shè)備所需要的。對(duì)這樣的方法學(xué)進(jìn)行設(shè)計(jì),在大的多程序系統(tǒng)中,獲得I/O操作與其它處理器工作的執(zhí)行的最大重疊或并發(fā)。
在這樣的異步I/O處理系統(tǒng)中,中央處理器利用一I/O指令啟動(dòng)請(qǐng)求I/O操作的程序的執(zhí)行,所述I/O指令是比如S/390的START SUBCHANNEL(開(kāi)始子信道)指令。這樣的指令典型地負(fù)責(zé)1.將該I/O操作請(qǐng)求添加(即,En-queue(加入隊(duì)列))到一信道子系統(tǒng)I/O工作隊(duì)列上;和2.信令發(fā)送該異步執(zhí)行的信道子系統(tǒng),以處理該I/O工作隊(duì)列。
接著,中央處理器被釋放以執(zhí)行其它工作/指令,并且不直接涉及所請(qǐng)求的到I/O設(shè)備的I/O操作的實(shí)際執(zhí)行。
由于1)上述處理的異步特性,2)中央處理器和信道子系統(tǒng)處理器的獨(dú)立操作,3)與中央處理器的執(zhí)行速度相比較而言相對(duì)長(zhǎng)的I/O操作執(zhí)行時(shí)間,和4)事實(shí)上,當(dāng)一程序請(qǐng)求一I/O操作時(shí),信道子系統(tǒng)資源(比如,連接設(shè)備到該信道子系統(tǒng)的信道路徑)的一些或全部可能正忙于執(zhí)行其它操作,有很大可能多個(gè)I/O請(qǐng)求將同時(shí)添加到信道子系統(tǒng)I/O工作隊(duì)列上。即,通過(guò)中央處理器,以比信道子系統(tǒng)的能力更快的速度,去執(zhí)行STARTSUBCHANNEL指令,從而執(zhí)行所請(qǐng)求的I/O操作。由此,持續(xù)地引起未決(pending)I/O操作請(qǐng)求的N級(jí)深度I/O工作隊(duì)列。
為了處理該未決I/O請(qǐng)求,包括該信道子系統(tǒng)的微處理器檢測(cè)它們各自的I/O工作隊(duì)列(見(jiàn)圖8),從這些隊(duì)列中移去(de-queue)一個(gè)或多個(gè)I/O請(qǐng)求,并且試圖啟動(dòng)該移去的I/O請(qǐng)求到它們各自的I/O設(shè)備。該活動(dòng)(activity)的啟動(dòng)取決于在該信道子系統(tǒng)內(nèi)的相關(guān)微處理器和工作隊(duì)列。例如,作為一個(gè)或多個(gè)中央處理器START SUBCHANNEL信號(hào)的結(jié)果,與中央處理器交互的信道子系統(tǒng)I/O處理器在當(dāng)它不忙于執(zhí)行其它工作時(shí),可以周期性地啟動(dòng)該處理,或兩者的結(jié)合。
參考圖8描述了信道子系統(tǒng)的各種工作隊(duì)列的一個(gè)實(shí)施例。如上所述,通過(guò)例如START SUBCHANNEL指令,I/O請(qǐng)求可添加到I/O處理器工作隊(duì)列806中。接著通過(guò)I/O處理器808,I/O請(qǐng)求從該I/O處理器工作隊(duì)列中移去。從I/O處理器中移去的該請(qǐng)求通過(guò)I/O處理器添加到信道處理器工作隊(duì)列810中。其后,這些請(qǐng)求通過(guò)信道處理器812被移去,并添加到控制單元工作隊(duì)列814中。該信道處理器接著從該控制單元工作隊(duì)列中移去那些經(jīng)由信道路徑要發(fā)送到控制單元并最終發(fā)送到I/O設(shè)備的請(qǐng)求。
當(dāng)前,在S/390系統(tǒng)的系列產(chǎn)品中,信道子系統(tǒng)移出隊(duì)列(de-queue)和工作啟動(dòng)處理是在先入先出(FIFO)基礎(chǔ)上執(zhí)行的。假定未決工作隊(duì)列的平均深度是相對(duì)淺的,并且該I/O工作未決時(shí)間在持續(xù)時(shí)間上保持相對(duì)短(即,在各種I/O工作隊(duì)列中的未決I/O請(qǐng)求的平均數(shù)量沒(méi)有引起總體I/O反應(yīng)時(shí)間的顯著延長(zhǎng),所述I/O反應(yīng)時(shí)間對(duì)應(yīng)與重要性高和/或?qū)崟r(shí)的關(guān)鍵程序相關(guān)的I/O操作),則該處理在實(shí)現(xiàn)邏輯上是最簡(jiǎn)單的,是試圖優(yōu)化吞吐量,并且在過(guò)去曾經(jīng)是可接受的用于在各種異步處理單元之間的工作轉(zhuǎn)換的策略。
然而,在提供應(yīng)用程序/程序優(yōu)先級(jí)功能以為了支持用戶及時(shí)處理關(guān)鍵或時(shí)間相關(guān)工作的需求的操作系統(tǒng)中,當(dāng)FIFO工作隊(duì)列的平均深度增加時(shí),用于未決I/O請(qǐng)求的FIFO處理策略逐漸變得不可接受。例如,結(jié)合IBM企業(yè)存儲(chǔ)器服務(wù)器使用的并行訪問(wèn)能力增加了在信道子系統(tǒng)中的平均隊(duì)列深度。這典型地是由于該事實(shí)重要性較低或時(shí)間上較不關(guān)鍵的I/O請(qǐng)求在FIFO工作隊(duì)列中可能排隊(duì)在更重要的請(qǐng)求之前,并由此將在更關(guān)鍵的I/O請(qǐng)求之前被啟動(dòng)。經(jīng)常有非關(guān)鍵工作執(zhí)行那些較長(zhǎng)時(shí)間周期占用資源的I/O,增加了更重要的工作所遭受的延誤。這典型地導(dǎo)致對(duì)于更重要的I/O請(qǐng)求的延誤的可能性增加了。
在延誤時(shí)間上的增加,也叫作I/O未決時(shí)間(當(dāng)與中央處理器速度相比時(shí),它可能是總體實(shí)時(shí)延誤,也可能是相對(duì)時(shí)間延誤),經(jīng)常是由于信道子系統(tǒng)和所連接設(shè)備不能保持不影響關(guān)鍵I/O請(qǐng)求及時(shí)完成的I/O執(zhí)行速度引起的。(即,不能保持不會(huì)導(dǎo)致在重要性高/時(shí)間關(guān)鍵的程序的執(zhí)行時(shí)間上不可接受的延長(zhǎng)的執(zhí)行速度。)如上所述,當(dāng)使用FIFO工作處理方法學(xué)時(shí),在關(guān)鍵I/O請(qǐng)求的總體I/O反應(yīng)時(shí)間上的不可接受的延長(zhǎng)的可能性增加了。當(dāng)中央處理器的速度和數(shù)量以比所連接的I/O設(shè)備和其它所要求的信道子系統(tǒng)單元增加的速度更快的速度增加時(shí),延誤的可能性會(huì)進(jìn)一步擴(kuò)大,其中所述信道子系統(tǒng)單元是比如連接該設(shè)備的信道路徑。一般地,在當(dāng)代大系統(tǒng)環(huán)境中,中央處理器速度的增長(zhǎng)率對(duì)I/O速度的增長(zhǎng)率的不均衡性持續(xù)地增長(zhǎng),導(dǎo)致關(guān)鍵工作的排隊(duì)延誤可能性增加和I/O反應(yīng)時(shí)間(或者實(shí)時(shí),或是相對(duì)時(shí)間)變長(zhǎng)。
為了最小化由于例如在信道子系統(tǒng)中的排隊(duì)延誤而被延長(zhǎng)的對(duì)于重要性高和時(shí)間關(guān)鍵I/O操作的I/O反應(yīng)時(shí)間的頻率,定義一個(gè)優(yōu)先級(jí)處理技術(shù),用于處理一個(gè)或多個(gè)信道子系統(tǒng)的未決I/O工作隊(duì)列。
在兩個(gè)獨(dú)立執(zhí)行處理器或進(jìn)程之間的優(yōu)先級(jí)處理技術(shù)的實(shí)現(xiàn)的例子包括如下1.加入隊(duì)列處理器(或進(jìn)程)使用優(yōu)先級(jí)排序技術(shù),基于程序(例如,WLM)指定的優(yōu)先級(jí)號(hào),添加I/O請(qǐng)求到信道子系統(tǒng)I/O工作隊(duì)列(具體隊(duì)列取決于處理的階段)。信道子系統(tǒng)接著使用FIFO技術(shù)從該工作隊(duì)列中移去第一、最高優(yōu)先級(jí)I/O請(qǐng)求;或2.加入隊(duì)列處理器(或進(jìn)程)使用FIFO加入隊(duì)列技術(shù),添加I/O請(qǐng)求到I/O工作隊(duì)列的隊(duì)尾。信道子系統(tǒng)使用優(yōu)先級(jí)選擇技術(shù),接著在工作隊(duì)列中搜索所有I/O請(qǐng)求單元,并且移去和處理帶有最高的程序被指定優(yōu)先級(jí)號(hào)的I/O請(qǐng)求。
FIFO加入隊(duì)列技術(shù)(技術(shù)#2)要求較少的指令,并且由此允許中央處理器去更快地完成I/O請(qǐng)求調(diào)度處理。這釋放中央處理器去更快地執(zhí)行其它工作。對(duì)于在各種包括信道子系統(tǒng)的微處理器之間的加入隊(duì)列/移出隊(duì)列處理,該技術(shù)通常根據(jù)哪一個(gè)參與處理器最受它的處理能力和及時(shí)性要求約束進(jìn)行選擇。即,如果加入隊(duì)列處理器是最受約束的,則選擇第二種技術(shù)。如果移出隊(duì)列處理器是最受約束的,則通常選擇第一種技術(shù)。
不論這些技術(shù)中的哪一種得到實(shí)施,結(jié)果是信道子系統(tǒng)基于優(yōu)先級(jí)方法學(xué),而不是基于到達(dá)時(shí)間或FIFO方法學(xué),對(duì)未決I/O請(qǐng)求的啟動(dòng)和執(zhí)行給予優(yōu)先級(jí)。
另外,在一實(shí)施例中,不論使用加入隊(duì)列還是選擇技術(shù),將使用各種標(biāo)準(zhǔn)進(jìn)行優(yōu)先級(jí)排隊(duì)和/或選擇要處理的請(qǐng)求。在一實(shí)施例中,這些標(biāo)準(zhǔn)包括如下1.基于程序指定的優(yōu)先級(jí)號(hào),選擇未決I/O請(qǐng)求,其中每個(gè)不同的編號(hào)對(duì)應(yīng)唯一的優(yōu)先級(jí)級(jí)。例如,將提供順序的唯一編號(hào)的范圍,并且編號(hào)的總范圍等于或大于要求優(yōu)先級(jí)區(qū)分的不同工作類(lèi)別的總數(shù)目。例如,如果系統(tǒng)提供能夠同時(shí)執(zhí)行N種不同操作系統(tǒng)、比如可能是典型的S/390系統(tǒng)的能力,則信道子系統(tǒng)優(yōu)先級(jí)技術(shù)將提供N個(gè)或更多不同優(yōu)先級(jí)級(jí)。每個(gè)優(yōu)先級(jí)級(jí),從最低到最高,或反之,將用0到N-1范圍的唯一編號(hào)表示。
2.使用一種不考慮它們的優(yōu)先級(jí)、施加“公平(fairness)”到所有被加入隊(duì)列的請(qǐng)求的技術(shù),進(jìn)行未決I/O請(qǐng)求的優(yōu)先級(jí)選擇。例如,由于不相稱的大編號(hào)的較高優(yōu)先級(jí)請(qǐng)求被較長(zhǎng)時(shí)間地提供給信道子系統(tǒng),為了最小化可能發(fā)生的較低優(yōu)先級(jí)請(qǐng)求過(guò)長(zhǎng)時(shí)間未受到處理,通常需要這種方法。公平選擇也可以根據(jù)其它考慮,施加到平等優(yōu)先級(jí)的未決請(qǐng)求。例如,對(duì)已經(jīng)被移出隊(duì)列、未成功被啟動(dòng)、以及一次或多次地與其它還未被選擇的平等優(yōu)先級(jí)請(qǐng)求一起被重新排隊(duì)的未決請(qǐng)求提供公平。參考圖9描述了這樣的技術(shù)。該技術(shù)同時(shí)施加優(yōu)先級(jí)和公平到多個(gè)不同類(lèi)別的未決請(qǐng)求。
3.外部用戶/操作者控制用于1)全局地啟用/禁止優(yōu)先級(jí)處理技術(shù)。如果優(yōu)先級(jí)技術(shù)是不必要的、或不足以接納一個(gè)非典型程序執(zhí)行環(huán)境,則可以要求該控制去迫使對(duì)未決請(qǐng)求進(jìn)行FIFO處理。
2)對(duì)于提供多個(gè)邏輯分區(qū)的并發(fā)執(zhí)行的系統(tǒng),一種外部控制使用戶能夠?qū)εc給定邏輯分區(qū)相關(guān)的I/O請(qǐng)求指定“缺省”優(yōu)先級(jí)值。這可用于當(dāng)執(zhí)行在該邏輯分區(qū)中的操作系統(tǒng)未被設(shè)計(jì)去對(duì)它的I/O請(qǐng)求指定優(yōu)先級(jí)值的時(shí)候,但是它仍然成功地與執(zhí)行在其它邏輯分區(qū)中的已指定I/O優(yōu)先級(jí)的其它操作系統(tǒng)爭(zhēng)用。
3)對(duì)于提供多個(gè)邏輯分區(qū)的并發(fā)執(zhí)行的系統(tǒng),一種外部控制使用戶能夠?qū)γ總€(gè)邏輯分區(qū)從信道子系統(tǒng)提供的值的全集中指定優(yōu)先級(jí)值的最大和最小范圍的一個(gè)子集。該控制用于當(dāng)執(zhí)行在獨(dú)立邏輯分區(qū)的多個(gè)操作系統(tǒng)獨(dú)立地使用I/O優(yōu)先級(jí)、并且不告知其它使用分區(qū)的時(shí)候。即,允許基于優(yōu)先級(jí)的由每個(gè)使用分區(qū)啟動(dòng)的請(qǐng)求的分離。
對(duì)于上述項(xiàng)目3.2和3.3,在一個(gè)實(shí)施例中,中央處理器為以一種對(duì)操作在該分區(qū)的程序透明的方式在該邏輯分區(qū)中執(zhí)行的程序、隱含地分配了用戶指定的缺省優(yōu)先級(jí)值或用戶指定的最大/最小允許優(yōu)先級(jí)。在S/390系統(tǒng)中,這能夠通過(guò)結(jié)合邏輯分區(qū)管理器(系統(tǒng)管理程序(hypervisor))和中央處理器START SUBCHANNEL指令而完成。
當(dāng)操作于邏輯分區(qū)中的程序執(zhí)行START SUBCHANNEL時(shí),為了啟動(dòng)一個(gè)I/O操作,在中央處理器中START SUBCHANNEL指令的解釋執(zhí)行,從開(kāi)始解釋執(zhí)行(SIE,Start Interpretive Execution)狀態(tài)描述(SD,StateDescription)表中,隱含地獲得缺省優(yōu)先級(jí)編號(hào)和最大/最小允許優(yōu)先級(jí)編號(hào)。當(dāng)它執(zhí)行SIE指令去放置該分區(qū)進(jìn)入執(zhí)行狀態(tài)(Execution State)時(shí),該表通過(guò)邏輯分區(qū)系統(tǒng)管理程序創(chuàng)建和裝載到中央處理器中。STARTSUBCHANNEL指令的解釋執(zhí)行,接著使用SIE狀態(tài)描述表的缺省和最大/最小優(yōu)先級(jí)值,去隱含地設(shè)置合適優(yōu)先級(jí)值到I/O請(qǐng)求,而不需要涉及操作在該邏輯分區(qū)中的程序。
當(dāng)執(zhí)行在邏輯分區(qū)中的程序沒(méi)有指定優(yōu)先級(jí)值時(shí),STARTSUBCHANNEL解釋分配用戶指定的缺省優(yōu)先級(jí)值到I/O請(qǐng)求。當(dāng)執(zhí)行在邏輯分區(qū)中的程序在它執(zhí)行START SUBCHANNEL時(shí)確實(shí)指定優(yōu)先級(jí)編號(hào)的時(shí)候,START SUBCHANNEL的解釋執(zhí)行將程序指定的優(yōu)先級(jí)值與在狀態(tài)描述表中的系統(tǒng)管理程序指定的最大/最小優(yōu)先級(jí)值作比較。當(dāng)程序指定的優(yōu)先級(jí)值小于系統(tǒng)管理程序指定的最小值時(shí),來(lái)自狀態(tài)描述表中的該最小值隱含地取代程序指定的值。當(dāng)程序指定的優(yōu)先級(jí)值大于系統(tǒng)管理程序指定的最大值時(shí),來(lái)自狀態(tài)描述表中的該最大值隱含地取代程序指定的值。
優(yōu)先級(jí)選擇技術(shù)能夠使用零個(gè)或更多上述標(biāo)準(zhǔn)得以估計(jì)。參考圖9描述了使用至少一些上述標(biāo)準(zhǔn)的、用于選擇要處理的請(qǐng)求的一種技術(shù)的一個(gè)實(shí)施例。
首先,未決工作隊(duì)列受到訪問(wèn)(步驟900)。例如,或者I/O處理器工作隊(duì)列、或者信道處理器工作隊(duì)列、或者控制單元工作隊(duì)列受到訪問(wèn)。由此被移出隊(duì)列的未決請(qǐng)求的計(jì)數(shù)遞增1(例如,DQCOUNT=DQCOUNT+1)(步驟902)。
接著,確定要處理哪一類(lèi)未決請(qǐng)求(步驟904)。在一實(shí)施例中,所選類(lèi)別等于類(lèi)別的號(hào)DQCount MODULUS(DQ計(jì)數(shù)模)。由此,因?yàn)樵谠摾杏兴膫€(gè)類(lèi)別,所以所選類(lèi)別等于DQCount MODULUS4。如果結(jié)果是0,則任何優(yōu)先級(jí)的第一請(qǐng)求被移出隊(duì)列(步驟906)。然而,如果所選類(lèi)別是1,則選擇以前未移出隊(duì)列的第一最高優(yōu)先級(jí)請(qǐng)求(步驟908)。另外,如果結(jié)果是2,則選擇以前被移出隊(duì)列并且未成功啟動(dòng)的第一最高優(yōu)先級(jí)請(qǐng)求(步驟910)。然而,如果結(jié)果是3,則選擇以前未移出隊(duì)列的第一任何優(yōu)先級(jí)請(qǐng)求(步驟912)。由此,該所選請(qǐng)求被移出隊(duì)列并處理(步驟914)。
如上所述,是在協(xié)處理器中異步請(qǐng)求的優(yōu)先化機(jī)制。盡管根據(jù)I/O請(qǐng)求和信道子系統(tǒng)描述了該例子,這些僅作為示例。該方法同樣可應(yīng)用到其它異步請(qǐng)求和多個(gè)協(xié)處理器。另外,盡管上述例子是根據(jù)排隊(duì)描述的,類(lèi)似的優(yōu)先化機(jī)制也可用于調(diào)整在信道上資源(例如,帶寬)的分配,它能夠并發(fā)地執(zhí)行多個(gè)操作,給出多個(gè)信道資源到較高優(yōu)先級(jí)的操作,而不是每個(gè)事務(wù)平等地運(yùn)行。
另外,盡管參考邏輯分區(qū)化的系統(tǒng)在本文描述了各種例子,I/O優(yōu)先級(jí)能力在不具有或不支持邏輯分區(qū)的系統(tǒng)內(nèi)是可用的。
作為進(jìn)一步的益處,能夠動(dòng)態(tài)地改變計(jì)算環(huán)境的I/O配置(例如,信道路徑配置),以便移動(dòng)可得到的資源到它所需要的地方或不需要人為干涉地移去多余的信道資源。這將降低在配置I/O、增強(qiáng)總體系統(tǒng)可用性、充分利用所安裝的信道、和使用工作負(fù)載的相對(duì)優(yōu)先級(jí)去分配可得到的I/O能力等方面所要求的技術(shù)。在一實(shí)施例中,在進(jìn)行改變之前,一個(gè)或多個(gè)因素被察看,以便確定進(jìn)行“最佳”改變。這些因素包括例如,對(duì)響應(yīng)時(shí)間、或I/O速度的影響;對(duì)完成特定工作負(fù)載目標(biāo)的響應(yīng)時(shí)間的影響;目的端口正被占用;得到的可用性特性(例如,添加無(wú)單點(diǎn)故障的共有路徑);以及得到的I/O配置的復(fù)雜性(或,熵)。
參考圖10-14詳細(xì)描述了與動(dòng)態(tài)調(diào)整I/O配置相關(guān)的邏輯的一個(gè)實(shí)施例。首先,通過(guò)例如計(jì)算環(huán)境的工作負(fù)載管理器部件,以例如每隔10秒的固定安排時(shí)間間隔開(kāi)始,調(diào)用基礎(chǔ)平衡處理?;A(chǔ)平衡處理的作用是(利用浮動(dòng)(即,受管理)定義信道)均勻地跨越子系統(tǒng)(例如,邏輯控制單元)連續(xù)地平衡I/O速度;確保所有設(shè)備能夠通過(guò)兩個(gè)或多個(gè)最好是無(wú)單點(diǎn)故障的共有路徑進(jìn)行訪問(wèn);以及在硬件故障以后重新平衡子系統(tǒng)。該處理包括兩部分?jǐn)?shù)據(jù)采集(collection)(圖10,步驟1000);和平衡檢查(步驟1002)。數(shù)據(jù)采集是在該環(huán)境的每個(gè)邏輯分區(qū)內(nèi)每個(gè)時(shí)間段運(yùn)行一次(假定該環(huán)境被邏輯分區(qū)化,或如果未被邏輯分區(qū)化則在每個(gè)系統(tǒng)內(nèi));以及平衡檢查每個(gè)成組的LPAR每個(gè)間隔僅運(yùn)行一次(再次假定成組)。
通過(guò)在任一系統(tǒng)中WLM每個(gè)時(shí)間段僅調(diào)用基礎(chǔ)平衡技術(shù)一次這樣的事實(shí),可獲得該處理的數(shù)據(jù)采集部分的編序。另外,當(dāng)更新所采集的信息時(shí),使用了版本號(hào)檢查。例如,存儲(chǔ)在耦合裝置中的控制塊被編序以更新所采集的信息。這些控制塊可進(jìn)行組級(jí)的數(shù)據(jù)采集,它允許在相同CPC上跨越組的各成員的信道的管理。
為了平衡檢查連續(xù)進(jìn)行,使用了利用專門(mén)為此目的的組指派的編序。典型地,當(dāng)在數(shù)據(jù)采集后馬上調(diào)用平衡時(shí),組一級(jí)編序被請(qǐng)求。如果獲得編序,則平衡處理繼續(xù)進(jìn)行;如果未獲得編序,則平衡檢查在成組的LPAR中已經(jīng)在發(fā)生,并且在該時(shí)間段內(nèi)不需要再次運(yùn)行。
參考圖11,進(jìn)一步描述了圖10的數(shù)據(jù)采集處理。在一實(shí)施例中,對(duì)每個(gè)定義的子系統(tǒng)(例如,邏輯控制單元),測(cè)量數(shù)據(jù)被采集和更新(步驟1100)。該測(cè)量數(shù)據(jù)包括例如,連接時(shí)間、未決時(shí)間、子系統(tǒng)占用、設(shè)備占用、目的端口占用時(shí)間、以及目的端口占用計(jì)數(shù)。經(jīng)更新的測(cè)量數(shù)據(jù)存儲(chǔ)于在處理器的存儲(chǔ)器內(nèi)的控制塊、以及在比如耦合裝置的共享存儲(chǔ)器內(nèi)的控制塊中。
在更新該測(cè)量數(shù)據(jù)之后,計(jì)算每個(gè)子系統(tǒng)的缺省目標(biāo)I/O速度(步驟1102)。該I/O速度指示是否需要或期望額外信道帶寬。作為一個(gè)例子,該缺省目標(biāo)I/O速度由連接時(shí)間進(jìn)行加權(quán)。為了執(zhí)行該計(jì)算,在一個(gè)例子中,采取下列步驟對(duì)于每個(gè)由DCM管理的子系統(tǒng),除了在過(guò)去的時(shí)間段中該子系統(tǒng)所經(jīng)受的連接時(shí)間量以外,還可獲得當(dāng)前或?qū)嶋H速度。接著,用該連接時(shí)間乘以該I/O速度得到一個(gè)結(jié)果。接著,各子系統(tǒng)的結(jié)果相加得到一個(gè)總和。接著,將該總和除以總連接時(shí)間,以確定經(jīng)連接時(shí)間加權(quán)的缺省目標(biāo)I/O速度。
回到圖10,在執(zhí)行時(shí)間收集之后,如本文所述,執(zhí)行平衡檢查(步驟1002)。參考圖12描述了與平衡檢查相關(guān)的邏輯的一個(gè)實(shí)施例。首先,執(zhí)行編序以確定在此時(shí)是否應(yīng)該執(zhí)行平衡檢查(查詢1200)。如果獲得組一級(jí)編序的企圖沒(méi)有成功,則不執(zhí)行平衡檢查的邏輯(步驟1202)。然而,如果獲得編序,則對(duì)這些在它們目標(biāo)范圍外的子系統(tǒng)進(jìn)行搜索(步驟1204)。
例如,獲得了所有子系統(tǒng)的實(shí)際I/O速度,并接著取平均值。(在一例子中,僅有那些由動(dòng)態(tài)CHPID管理(DCM)管理的子系統(tǒng)包括在該平均值中)。一旦該平均值得以確定,一范圍就創(chuàng)建了。在一例子中,該范圍是例如加或減去平均值的5%。由此,每個(gè)子系統(tǒng)的目標(biāo)I/O速度被與該目標(biāo)范圍進(jìn)行比較。如果沒(méi)有指定目標(biāo)I/O速度,則使用該缺省目標(biāo)I/O速度。作為比較的結(jié)果,創(chuàng)建了兩個(gè)列表(步驟1206)。列表之一包括超出該目標(biāo)范圍的那些子系統(tǒng)、而另一個(gè)包括那些未達(dá)到該范圍的那些子系統(tǒng)。在每一種情形中,最近(例如,在最后10秒內(nèi))已經(jīng)被修改的子系統(tǒng)被從該列表中除去。
接著,未達(dá)到目標(biāo)的列表被排序(sort)(步驟1208)。在一例子中,使用WLM排序該列表,因?yàn)閃LM負(fù)責(zé)確定哪一個(gè)子系統(tǒng)是最重要的。由此,WLM以WLM愿意它們運(yùn)行的次序?qū)⒆酉到y(tǒng)排序。
在對(duì)該列表進(jìn)行排序以后,通過(guò)例如將能力從欠利用子系統(tǒng)變換為過(guò)利用子系統(tǒng),在該列表上的一個(gè)或多個(gè)子系統(tǒng)得以運(yùn)行(步驟1210)。能夠在分配時(shí)間內(nèi)運(yùn)行的同樣多的子系統(tǒng)受到調(diào)整。
參考圖13a-13b,描述了與調(diào)整能力相關(guān)的邏輯的一個(gè)實(shí)施例。首先,從該列表中選擇一子系統(tǒng)(圖13a,步驟1300)。在一例子中,它是在所選的列表上的第一子系統(tǒng)。由此確定目的端口占用是否是個(gè)問(wèn)題(查詢1302)。具體地,確定爭(zhēng)用(contention)(例如,目的端口占用時(shí)間)是否為高,并且如果是,則根據(jù)與其連接的各種接口對(duì)它進(jìn)行變化。如果在所有接口上,目的端口占用為高,則表示需要添加另一個(gè)信道路徑。然而,如果它僅在一個(gè)接口上為高,則信道路徑移動(dòng)到另一個(gè)接口(步驟1304)。由此,現(xiàn)有路徑從具有過(guò)度目的端口占用時(shí)間的接口移動(dòng)了到另一個(gè)接口,并且處理通過(guò)實(shí)現(xiàn)該改變繼續(xù)進(jìn)行(圖13b,步驟1306)。如何實(shí)現(xiàn)該改變的例子的描述見(jiàn)授權(quán)于1993年10月的5257379號(hào)美國(guó)專利、授權(quán)于1993年10月的5257368號(hào)美國(guó)專利、和授權(quán)于1993年6月的5220654號(hào)美國(guó)專利。
在該改變實(shí)現(xiàn)以后,確定是否存在其它子系統(tǒng)不在該目標(biāo)范圍(查詢1308)。如果不存在,則不平衡校正的處理得以完成。然而,如果有其它子系統(tǒng)不在該范圍內(nèi),則處理繼續(xù)從步驟1300“SELECT NEXT SUBSYSTEM INTHE LIST(在列表中選擇下一個(gè)子系統(tǒng))”開(kāi)始(圖13a)。
回到查詢1302,如果問(wèn)題不是因?yàn)闋?zhēng)用,則處理如下文所述繼續(xù)。
具體地,在一例子中,確定要添加到該子系統(tǒng)中的可能的信道路徑(步驟1310)。該確定包括在物理拓?fù)鋬?nèi)檢查能夠到達(dá)該特定子系統(tǒng)的所有信道,并且接著,對(duì)于每個(gè)信道,確定到達(dá)該子系統(tǒng)的可能方式(路徑)。路徑是通過(guò)硬件單元連接和包括信道和子系統(tǒng)兩者的連接性排列。所有這些路徑(或如果需要,子集)都包括在該可能路徑中。
類(lèi)似地,確定要移去的可能路徑(步驟1312)。作為一例子,如果在相同信道上存在多個(gè)子系統(tǒng),則連接到該共享子系統(tǒng)的路徑之一被考慮作為移去的候選。
其后,確定該改變將影響哪個(gè)子系統(tǒng)(步驟1314)。另外,指示要改變的配置的復(fù)雜性的熵指數(shù),也如下所述得到確定。
參考圖14描述了與確定受影響的子系統(tǒng)相關(guān)的邏輯的一個(gè)實(shí)施例。首先,子系統(tǒng)的子系統(tǒng)控制塊(SSCB)列表和信道的CHPID列表被清零待隨后使用(步驟1400)。其后,信道路徑標(biāo)識(shí)從與所建議信道相關(guān)的決定選擇塊(DSB)中被取回,并添加到CHPID列表中(步驟1402)。具體地,每個(gè)路徑具有與其相關(guān)的決定選擇塊。該決定選擇塊是一種包括各種信息的控制塊,所述信息包括例如,信道路徑的標(biāo)識(shí)(CHPID)、指示與該信道路徑相關(guān)的邏輯控制單元的子系統(tǒng)控制塊(SSCB)指針(pointer)、以及受影響的SSCB陣列。每個(gè)SSCB陣列包括連接到該子系統(tǒng)的所有信道。
其后,將所有與要協(xié)助的該SSCB相關(guān)的CHPID也添加到該CHPID列表中(步驟1404)。具體地,從指示將要協(xié)助的SSCB的DSB中取回SSCB指針。接著,將所有在SSCB中的CHPID添加到CHPID列表中。
其后,對(duì)于在該列表中的每個(gè)CHPID,將與該信道路徑相關(guān)的SSCB添加到SSCB列表中(步驟1406)。在一實(shí)施例中,從一指示連接到每個(gè)CHPID的信道路徑表中獲得該信息。
接著,確定是否有SSCB被添加到該列表中(查詢1408)。如果是如此,則對(duì)于在該列表中的每個(gè)SSCB,已經(jīng)不在該CHPID列表中的CHPID被添加(步驟1410),如上述步驟1404一樣。
其后,進(jìn)一步確定是否有CHPID被添加到該列表中(查詢1412)。如果有更多的CHPID被添加到該列表中,則處理繼續(xù)從步驟1406開(kāi)始。然而,如果沒(méi)有SSCB或CHPID被添加到該列表中(查詢1408、1412),則對(duì)于在該列表中的每個(gè)SSCB,創(chuàng)建一個(gè)DSB陣列單元(步驟1414)。即,將每個(gè)SSCB添加到該受影響的SSCB的陣列中。另外,每個(gè)陣列單元是用實(shí)際和目標(biāo)I/O速度、在目標(biāo)和實(shí)際I/O速度之間的當(dāng)前增量(delta)、和SSCB指針來(lái)更新的(步驟1416)。
回到圖13a,除了以上所述,計(jì)算每個(gè)路徑的可用性指數(shù)(步驟1316)。在一例子中,可用性指數(shù)是一個(gè)指示所建議路徑具有多少與到信道子系統(tǒng)的現(xiàn)有路徑一樣的單點(diǎn)故障的數(shù)字。如果要添加一信道路徑,則期望它沒(méi)有單點(diǎn)故障。如果要?jiǎng)h除一信道路徑,則典型地選擇帶有最多單點(diǎn)故障的路徑。
接著估計(jì)對(duì)受影響(effected)系統(tǒng)的影響(步驟1308)。具體地,在一實(shí)施例中,察看在每個(gè)子系統(tǒng)上的當(dāng)前負(fù)荷,以確定如果進(jìn)行改變會(huì)有多么不同。使用這些信息,選擇最佳選項(xiàng)(步驟1320)。為了選擇最佳選項(xiàng),可能考慮的各種因素包括例如以下□哪一選項(xiàng)移動(dòng)最接近目標(biāo)的子系統(tǒng)?□哪一選項(xiàng)提供最佳可用性?□哪一選項(xiàng)提供最佳對(duì)稱性(最小熵)?□該選項(xiàng)是否將減少路徑的總數(shù)目低于2?□該選項(xiàng)是否將違反任何顯性目標(biāo)(WLM能夠提供顯性目標(biāo)用于取代缺省目標(biāo))?□該選項(xiàng)是否將違反任何結(jié)構(gòu)上的限制?□該選項(xiàng)是否將違反由安裝所定義的配置?□該選項(xiàng)是否將試圖使用當(dāng)前不可用的資源?在一特定實(shí)施例中,首先,去掉在任何情況下都不能實(shí)現(xiàn)的任何決定選擇塊(DSB)。這將包括例如,那些違反結(jié)構(gòu)上的限制的、那些減少路徑的總數(shù)目低于2的、那些違反由安裝所定義的配置的(例如,使用多于在定義中所允許的最大數(shù)目的浮動(dòng)信道路徑)、和那些試圖使用當(dāng)前不可用的資源(例如,試圖使用當(dāng)前不可用端口)的。(該功能能夠在處理中較早地被運(yùn)行,因而不能對(duì)從未被選擇的DSB進(jìn)行可用性指數(shù)和估計(jì)的對(duì)子系統(tǒng)的影響的計(jì)算)。
如果當(dāng)前僅有一個(gè)到子系統(tǒng)的路徑(可能在系統(tǒng)啟動(dòng)以后或故障以后不久),則選擇一具有最佳可用性指數(shù)的路徑。如果有多于一個(gè)的路徑具有相等的可用性指數(shù),則選擇具有最低熵指數(shù)的那個(gè)路徑,所述熵指數(shù)將在目標(biāo)I/O速度目標(biāo)內(nèi)移動(dòng)目標(biāo)子系統(tǒng)。如果存在多于一個(gè)的路徑,選擇它的總估計(jì)增量(從DSB中求出的“∑估計(jì)增量”)是最小的那個(gè)路徑。
如果當(dāng)前有多于一個(gè)的到子系統(tǒng)的路徑,則尋找具有最佳可用性指數(shù)的DSB的組。搜索使目標(biāo)子系統(tǒng)在目標(biāo)I/O速度的容許值內(nèi)并具有最低熵指數(shù)的選項(xiàng)的組。如果存在多于一個(gè)的路徑,則選擇它的總估計(jì)增量(從DSB中求出的“估計(jì)增量總和”)是最小的那個(gè)路徑。
如果沒(méi)有這樣的選項(xiàng),則尋找?guī)в写我粋€(gè)最佳可用性指數(shù)的路徑的組。并再次嘗試。
如果沒(méi)有任何使子系統(tǒng)在容許值內(nèi)的選項(xiàng),則選擇一個(gè)使子系統(tǒng)離目標(biāo)最近的選項(xiàng),而不考慮它的可用性指數(shù)和熵指數(shù)。(上述用于選擇最佳選項(xiàng)的技術(shù)僅作為示例,可以進(jìn)行各種增加、刪除和修改,并且可使用任何合適的技術(shù)去選擇最佳選項(xiàng))。
在試圖選擇最佳選項(xiàng)之后,確定是否能夠不影響帶有顯性目標(biāo)的子系統(tǒng)而獲得新目標(biāo)(查詢1322)。即,是否是將負(fù)面影響帶有已由WLM設(shè)置的顯性目標(biāo)的子系統(tǒng)的最佳選項(xiàng)。如果不是,則調(diào)用工作負(fù)載管理器去選擇適當(dāng)?shù)穆窂?步驟1324)。特別地,工作負(fù)載管理器拾取該路徑并選擇用于供方(donor)的新目標(biāo)。
接著,或如果能夠不負(fù)面影響帶有顯性目標(biāo)的子系統(tǒng)而獲得新目標(biāo),則可以實(shí)現(xiàn)該改變(步驟1306),并且處理繼續(xù)從查詢1308開(kāi)始,確定是否存在不在目標(biāo)范圍的其它子系統(tǒng)。
如上所述,WLM能夠設(shè)置用于取代缺省平均I/O速度目標(biāo)的顯性I/O速度目標(biāo)。在一實(shí)施例中,當(dāng)WLM發(fā)現(xiàn)該服務(wù)級(jí)別不符合它的目標(biāo)時(shí),WLM就設(shè)置一顯性目標(biāo)。參考圖15描述了與設(shè)置顯性子系統(tǒng)I/O速度目標(biāo)相關(guān)的邏輯的一個(gè)實(shí)施例。
首先,確定I/O是否正在引起最大延誤(查詢1500)。如果否,則完成當(dāng)前目標(biāo)的處理。然而,如果I/O正在引起最大延誤,則應(yīng)試圖進(jìn)行I/O優(yōu)先級(jí)調(diào)整(步驟1502)。其后,確定是否該服務(wù)級(jí)別符合它的目標(biāo)(查詢1504)。如果該服務(wù)級(jí)別現(xiàn)在符合它的目標(biāo),則處理完成。然而,如果服務(wù)級(jí)別還不符合它的目標(biāo),則對(duì)該服務(wù)級(jí)別正在使用的、并具有低的I/O速度的子系統(tǒng)進(jìn)行搜索(步驟1506)。對(duì)于找出的一個(gè)或多個(gè)子系統(tǒng),設(shè)置新的子系統(tǒng)I/O速度目標(biāo)。在一例子中,它通過(guò)對(duì)當(dāng)前目標(biāo)增加所定義的量來(lái)設(shè)置,并接著估計(jì)在子系統(tǒng)上的影響。如果該影響是足夠的(例如,高于受方值),則處理完成。如果不是,則再次增加該目標(biāo),并且重復(fù)進(jìn)行處理。
以上詳細(xì)描述的是提供I/O配置的動(dòng)態(tài)調(diào)整的動(dòng)態(tài)CHPID管理(DCM)。DCM與WLM有益地組合,使得決定能夠使用對(duì)工作負(fù)載和目標(biāo)的理解來(lái)作出。另外,DCM允許跨越多個(gè)分區(qū)的(例如,分區(qū)組的)信道的管理。這樣使得在需要它們時(shí)可以添加資源,而移去過(guò)多的資源。
如上所述,選擇帶有動(dòng)態(tài)CHPID管理(DCM)的最佳信道添加到子系統(tǒng)(或從子系統(tǒng)移去)。為了做到這些,一個(gè)或多個(gè)屬性受到查驗(yàn),包括例如,得到的I/O配置的復(fù)雜性(或熵)。
經(jīng)增加的熵引起I/O配置變得過(guò)度復(fù)雜,導(dǎo)致在DCM的處理上的過(guò)多的時(shí)間、由于過(guò)多數(shù)量的子系統(tǒng)受到影響而造成的不精確結(jié)果、在性能報(bào)告上的復(fù)雜性、和在問(wèn)題確定上的復(fù)雜性。由此,在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,提供一種能力以確定不同選擇的相對(duì)熵,使得當(dāng)選擇配置該如何調(diào)整時(shí),該相對(duì)熵可以連同諸如I/O速度和可用性等其它考慮因素進(jìn)行考慮。
為確定相對(duì)熵,計(jì)算相對(duì)熵指數(shù)。例如,在正在添加一個(gè)路徑的情形中,該相對(duì)熵指數(shù)是在得到的配置中信道和子系統(tǒng)的總和。另外,在正在刪除一個(gè)路徑的情形中,該相對(duì)熵指數(shù)反映的是在刪除該路徑后互連到該目標(biāo)子系統(tǒng)的信道和子系統(tǒng)的集合。它不包括將不再在該集合中的信道和子系統(tǒng)。
為了計(jì)算每個(gè)選項(xiàng)的熵程度,假定決定已實(shí)現(xiàn),使用了連接在一起的信道和子系統(tǒng)的數(shù)量。該熵技術(shù)的一個(gè)基本前提是計(jì)算一種指數(shù),該指數(shù)能夠?qū)蓚€(gè)或多個(gè)所建議拓?fù)溥M(jìn)行比較,并確定哪個(gè)更對(duì)稱、或具有更小的熵。其目的是避免大的互聯(lián)拓?fù)?,所述大的互?lián)拓?fù)浔粦岩蓪⒃斐蒊/O速度技術(shù)不精確,和將使人們?cè)谑聦?shí)發(fā)生后,由于過(guò)于復(fù)雜的拓?fù)涠y于分析性能問(wèn)題。
參考各種例子描述了熵確定技術(shù)的一個(gè)實(shí)施例。例如,圖16a描述了配置1600的一個(gè)實(shí)施例,該配置1600包括連接到兩個(gè)子系統(tǒng)1604的兩個(gè)信道1602。如果子系統(tǒng)22需要額外的資源,它能夠從至少兩處獲得資源。它能夠或者從信道1、或者從信道3接收資源。如果它從信道3獲得資源,則得到的配置現(xiàn)在具有三個(gè)信道和兩個(gè)子系統(tǒng)(圖16b)。這給出該配置的熵指數(shù)是5,(3+2)。然而,如果子系統(tǒng)22從信道1接收額外的資源(圖16c),則得到的配置具有不比原來(lái)更多的信道或子系統(tǒng),并且得到的熵指數(shù)是2。在該例子中,第二選項(xiàng)具有最小的熵。
考慮另一個(gè)例子。在圖17a描述的例子中,子系統(tǒng)23需要額外的資源。它可從信道2或4獲得。如果使用了信道2(圖17b),則得到的熵指數(shù)是5,(即,在一個(gè)配置中三個(gè)信道互聯(lián)到兩個(gè)子系統(tǒng);信道4未計(jì)入,因?yàn)樗催B接)。如果使用了信道4(圖17c),則得到的熵指數(shù)是3。由此,第二選項(xiàng)具有最小的熵。
接著,考慮該配置被分開(kāi)的情形,以確定這如何影響熵。
參見(jiàn)圖18a,如果系統(tǒng)23具有過(guò)多的容量,則可能要移去信道2或3。如果移去信道2(圖18b),則該配置被分開(kāi),并且兩個(gè)配置的熵指數(shù)都下降。如果移去信道3(圖18c),則仍然是一個(gè)配置,但是帶有比原指數(shù)更低的熵指數(shù)。這表明在一實(shí)施例中,將該配置分開(kāi)的決定,如對(duì)半分開(kāi),將導(dǎo)致兩個(gè)不太復(fù)雜的網(wǎng)絡(luò),是較好的選擇。
對(duì)于刪除,如果已知現(xiàn)存配置(圖19a)的指數(shù)、還有包含現(xiàn)有(圖19b的右邊)的子系統(tǒng)的所建議配置的指數(shù),則通過(guò)相減,能夠計(jì)算其它配置(圖19b的左邊)的指數(shù)。在該例子中,該其它配置的指數(shù)等于2(4-3=1和2-1=1,所以1+1=2)。如果相減的結(jié)果導(dǎo)致子系統(tǒng)或信道的數(shù)量是0,如在圖19c中,則熵已經(jīng)被降低,不需要分開(kāi)該配置。(例如,兩個(gè)子系統(tǒng)-兩個(gè)子系統(tǒng)=0)。在一實(shí)施例中,優(yōu)選分開(kāi)。
在下列例子中,子系統(tǒng)23擁有過(guò)多的資源(圖20a),可以移去信道2或3。如果移去信道3(圖20b),則得到的熵指數(shù)是7。如果移去信道2(圖20c),則該配置被分為兩個(gè)配置,其中現(xiàn)有配置(帶子系統(tǒng)23的配置)的熵指數(shù)是5,和得到的第二配置的熵指數(shù)是3。在一實(shí)施例中,優(yōu)選分開(kāi)該配置。
現(xiàn)在考慮另外的例子,以確定是否所期望的刪除僅是尋求分開(kāi),而不是得到的熵值。
在圖21a描述的例子中,子系統(tǒng)23擁有太多的帶寬??梢砸迫バ诺?或4。如果移去信道2(圖21b),則獲得新的熵指數(shù)是6,而得到的第二配置的熵指數(shù)是3。如果移去信道4(圖21c),則獲得新的熵指數(shù)是5,而得到的第二配置的熵指數(shù)是4。帶有熵指數(shù)是5和4的配置是較好的選擇。所以在一實(shí)施例中,與分開(kāi)的類(lèi)型也有關(guān)系。
在圖22a描述的例子中,子系統(tǒng)23需要額外的資源??梢詮男诺?中移去子系統(tǒng)21(圖22b),給予子系統(tǒng)23所有信道2的資源;或者可以從信道4中移去子系統(tǒng)25(圖22c),給予子系統(tǒng)23所有信道4的資源。
如果從信道2中移去子系統(tǒng)21,則得到的熵指數(shù)是7,并且得到的第二配置的熵指數(shù)是2。如果從信道4中移去子系統(tǒng)25,則得到的熵指數(shù)現(xiàn)在是6,并且得到的第二配置的熵指數(shù)是3。在一實(shí)施例中,第二選擇似乎較好,因?yàn)樵摲珠_(kāi)更接近于平均。
為了計(jì)算哪個(gè)選項(xiàng)更接近于對(duì)半分(即,“平均”),確定在該新熵指數(shù)與得到的第二配置的熵指數(shù)之間在信道和子系統(tǒng)的數(shù)量上的差值。在該例中,第一種選擇導(dǎo)致熵指數(shù)是7和2,所以差值是5(即,對(duì)稱指數(shù))。第二種選擇導(dǎo)致熵指數(shù)是6和3,所以差值是3。在該例中,具有較低差值的選擇是最佳選擇。
最后,在一實(shí)施例中,將除去沒(méi)有移動(dòng)該子系統(tǒng)更接近于目標(biāo)I/O速度的選項(xiàng)。另外,通過(guò)將在得到的配置上互聯(lián)的信道和子系統(tǒng)的總數(shù)相加去計(jì)算熵指數(shù)。如果該熵指數(shù)沒(méi)有改變,該改變是對(duì)稱的。一般地選擇具有最低熵指數(shù)的配置。避免選擇帶有多于8個(gè)信道的配置,即使這意味著選擇一個(gè)帶有較高熵指數(shù)的配置。如果沒(méi)有可替換的,則選擇帶有多于8個(gè)信道的配置,并且希望在下一個(gè)時(shí)間段上該配置將分開(kāi)。
雖然根據(jù)I/O配置描述了上述各種實(shí)施例,本文所述的性能等同地可應(yīng)用到其它網(wǎng)絡(luò),比如存儲(chǔ)區(qū)域網(wǎng),以及其它網(wǎng)絡(luò)。
以上描述的是管理計(jì)算環(huán)境的資源的各種機(jī)制。實(shí)際可共享資源是跨越計(jì)算環(huán)境的邏輯分區(qū)進(jìn)行管理的。將邏輯分區(qū)成組,通過(guò)例如基于優(yōu)先級(jí)的資源分配,使得資源能夠共享。該資源共享包括例如,跨越LPAR的CPU資源的動(dòng)態(tài)管理、跨越LPAR的動(dòng)態(tài)CHPID管理、在信道子系統(tǒng)中的I/O優(yōu)先級(jí)排隊(duì)、以及跨越LPAR的存儲(chǔ)器的動(dòng)態(tài)管理。
在一例子中,系統(tǒng)的工作負(fù)載管理器至少是部分地對(duì)該管理負(fù)責(zé)。該可共享資源在透明于應(yīng)用程序子系統(tǒng)的工作負(fù)載管理器指導(dǎo)下被動(dòng)態(tài)地重新分配。根據(jù)監(jiān)視活動(dòng)和用戶目標(biāo),將該資源提供給所需的分區(qū)。另外,經(jīng)由例如WLM、系統(tǒng)復(fù)用體(sysplex)、和PR/SM的組合,根據(jù)工作負(fù)載目標(biāo),動(dòng)態(tài)地對(duì)實(shí)際資源進(jìn)行調(diào)整,而不需要并行系統(tǒng)復(fù)用體數(shù)據(jù)共享。
在上述實(shí)施例中,描述了各種計(jì)算環(huán)境和系統(tǒng)。應(yīng)該認(rèn)識(shí)到,這些僅是作為示例,并且并未試圖限制本發(fā)明的范圍。同樣地,本文描述的流程圖也僅是作為示例。這些圖表或步驟(或操作)可能存在許多變化。例如,所述步驟可能以不同的次序恰當(dāng)?shù)貓?zhí)行,或可以增加、刪除或修改所述步驟。
權(quán)利要求
1.一種管理計(jì)算環(huán)境的工作負(fù)載的方法,所述方法包括管理跨越所述計(jì)算環(huán)境的多個(gè)分區(qū)中的兩個(gè)或多個(gè)分區(qū)的工作負(fù)載;和所述管理包括動(dòng)態(tài)調(diào)整所述兩個(gè)或多個(gè)分區(qū)中的至少一個(gè)分區(qū)的可共享資源的分配,其中所述兩個(gè)或多個(gè)分區(qū)的工作負(fù)載目標(biāo)將得到平衡。
2.根據(jù)權(quán)利要求1所述的方法,其中所述動(dòng)態(tài)調(diào)整是在所述至少一個(gè)分區(qū)內(nèi)對(duì)工作處理透明地執(zhí)行的。
3.根據(jù)任一在先權(quán)利要求所述的方法,其中所述可共享資源包括中央處理單元資源、邏輯處理器資源、輸入/輸出資源、信道資源、協(xié)處理器、網(wǎng)絡(luò)適配器、和存儲(chǔ)器中的至少一種。
4.根據(jù)任一在先權(quán)利要求所述的方法,其中所述動(dòng)態(tài)調(diào)整包括將所述可共享資源的至少一部分從一個(gè)分區(qū)移動(dòng)到至少一個(gè)其它分區(qū)。
5.根據(jù)任一在先權(quán)利要求所述的方法,其中所述動(dòng)態(tài)調(diào)整包括基于優(yōu)先級(jí),管理所述兩個(gè)或多個(gè)分區(qū)中的所述可共享資源。
6.根據(jù)權(quán)利要求1-5中的任一權(quán)利要求所述的方法,其中所述動(dòng)態(tài)調(diào)整包括基于百分比分配,在所述兩個(gè)或多個(gè)分區(qū)中分配所述可共享資源,其中所述兩個(gè)或多個(gè)分區(qū)的每一個(gè)分區(qū)被分配所述可共享資源的一部分。
7.根據(jù)任一在先權(quán)利要求所述的方法,其中所述分區(qū)是邏輯分區(qū)。
8.根據(jù)任一在先權(quán)利要求所述的方法,其中所述動(dòng)態(tài)調(diào)整至少部分地由所述計(jì)算環(huán)境的至少一個(gè)工作負(fù)載管理器控制。
9.根據(jù)任一在先權(quán)利要求所述的方法,其中所述動(dòng)態(tài)調(diào)整無(wú)需數(shù)據(jù)共享而得以執(zhí)行。
10.一種管理計(jì)算環(huán)境的工作負(fù)載的方法,所述方法包括確定所述計(jì)算環(huán)境的多個(gè)分區(qū)的一個(gè)組;和通過(guò)確定將要分配給所述組的可共享資源,對(duì)分區(qū)組進(jìn)行管理,其中所述可共享資源的至少一部分被分配給所述組的所述多個(gè)分區(qū)。
11.根據(jù)權(quán)利要求10所述的方法,其中所述一個(gè)或多個(gè)分區(qū)包括一例或多例至少一種操作系統(tǒng)。
12.根據(jù)權(quán)利要求10-11中任一權(quán)利要求所述的方法,還包括將所述一個(gè)或多個(gè)分區(qū)的至少一個(gè)分區(qū)加入所述組。
13.根據(jù)權(quán)利要求12所述的方法,其中所述加入影響了可分配給所述組的所述可共享資源的所述至少一部分。
14.根據(jù)權(quán)利要求10-13任一權(quán)利要求所述的方法,還包括將一個(gè)分區(qū)從所述組中移去。
15.根據(jù)權(quán)利要求14所述的方法,其中所述移去影響了可分配給所述組的所述可共享資源的所述至少一部分。
16.根據(jù)權(quán)利要求10-15中任一權(quán)利要求所述的方法,其中所述確定包括確定多個(gè)含一個(gè)或多個(gè)分區(qū)的組。
17.根據(jù)權(quán)利要求10-16中任一權(quán)利要求所述的方法,還包括重新調(diào)整所述組的至少一個(gè)分區(qū)的所述可共享資源的所述至少一部分的分配。
18.根據(jù)權(quán)利要求17所述的方法,還包括確保所述重新調(diào)整不影響所述組的所述可共享資源的所述至少一部分的總量。
19.根據(jù)權(quán)利要求10-18中任一權(quán)利要求所述的方法,還包括確保允許所述可共享資源被分配到所述組。
20.一種管理計(jì)算環(huán)境的工作負(fù)載的方法,所述方法包括確定所述計(jì)算環(huán)境的一個(gè)組已經(jīng)被修改,其中所述組包括所述計(jì)算環(huán)境的多個(gè)分區(qū);和響應(yīng)于所述確定,通過(guò)在所述組內(nèi)動(dòng)態(tài)調(diào)整所述組的資源的分配,對(duì)分區(qū)組進(jìn)行管理。
21.根據(jù)權(quán)利要求20所述的方法,其中所述動(dòng)態(tài)調(diào)整維持在所述組內(nèi)所述資源的總體分配。
22.根據(jù)權(quán)利要求20所述的方法,還包括由所述組臨時(shí)地利用超過(guò)為所述組所分配的量的所述資源的量。
23.根據(jù)權(quán)利要求22所述的方法,還包括確定存在對(duì)所述資源的爭(zhēng)用;和重新調(diào)整過(guò)去被分配給所述組的量的所述量。
24.一種在計(jì)算環(huán)境內(nèi)管理工作負(fù)載的方法,所述方法包括確定到所述計(jì)算環(huán)境的分區(qū)的CPU資源的分配將被調(diào)整;和跨越所述分區(qū)和所述計(jì)算環(huán)境的另一個(gè)分區(qū),動(dòng)態(tài)地調(diào)整所述分配。
25.根據(jù)權(quán)利要求24所述的方法,其中所述動(dòng)態(tài)調(diào)整是響應(yīng)至少所述分區(qū)的工作負(fù)載目標(biāo)。
26.根據(jù)權(quán)利要求24或25所述的方法,其中所述動(dòng)態(tài)調(diào)整包括修改分配到所述分區(qū)的第一CPU處理器的權(quán)重、和分配到所述另一個(gè)分區(qū)的第二CPU處理器的權(quán)重。
27.根據(jù)權(quán)利要求26所述的方法,其中所述修改包括增加所述第一CPU處理器的權(quán)重;和減少所述第二CPU處理器的權(quán)重。
28.根據(jù)權(quán)利要求27所述的方法,其中所述第一CPU處理器權(quán)重增加的量等于所述第二CPU處理器權(quán)重減少的量,其中所述第一CPU處理器權(quán)重與所述第二CPU處理器權(quán)重的和保持不變。
29.根據(jù)權(quán)利要求24-28中任一權(quán)利要求所述的方法,其中所述分區(qū)和所述另一個(gè)分區(qū)是在所述分區(qū)組內(nèi)。
30.根據(jù)權(quán)利要求24-29中任一權(quán)利要求所述的方法,其中所述分區(qū)包括包括工作的一個(gè)或多個(gè)服務(wù)級(jí)別,并且其中所述確定包括估計(jì)在增加與所述分區(qū)相關(guān)的處理器權(quán)重對(duì)所述一個(gè)或多個(gè)服務(wù)級(jí)別的被選擇服務(wù)級(jí)別的影響;估計(jì)在降低所述另一個(gè)分區(qū)的處理器權(quán)重對(duì)所述另一個(gè)分區(qū)的一個(gè)或多個(gè)服務(wù)級(jí)別的影響;和確定是否對(duì)所述被選擇服務(wù)級(jí)別的益處超過(guò)對(duì)所述另一個(gè)分區(qū)的工作的負(fù)面影響,其中在當(dāng)該益處超過(guò)該負(fù)面影響時(shí)進(jìn)行調(diào)整。
31.根據(jù)權(quán)利要求24-30中任一權(quán)利要求所述的方法,還包括選擇所述另一個(gè)分區(qū),其中所述選擇是基于在所述另一個(gè)分區(qū)內(nèi)將要執(zhí)行的工作的重要性。
32.一種用于實(shí)現(xiàn)任何在先權(quán)利要求的方法的計(jì)算機(jī)程序。
33.一種管理計(jì)算環(huán)境的工作負(fù)載的系統(tǒng),所述系統(tǒng)包括用于管理跨越所述計(jì)算環(huán)境的多個(gè)分區(qū)中的兩個(gè)或多個(gè)分區(qū)的工作負(fù)載的裝置;和用于所述管理包括動(dòng)態(tài)調(diào)整所述兩個(gè)或多個(gè)分區(qū)中的至少一個(gè)分區(qū)的可共享資源的分配的裝置,其中所述兩個(gè)或多個(gè)分區(qū)的工作負(fù)載目標(biāo)得到平衡。
34.一種管理計(jì)算環(huán)境的工作負(fù)載的系統(tǒng),所述系統(tǒng)包括用于確定所述計(jì)算環(huán)境的多個(gè)分區(qū)的一個(gè)組的裝置;和用于通過(guò)確定將要分配給所述組的可共享資源以管理分區(qū)組的裝置,其中所述可共享資源的至少一部分被分配給所述組的所述多個(gè)分區(qū)。
35.一種管理計(jì)算環(huán)境的工作負(fù)載的系統(tǒng),所述系統(tǒng)包括用于確定所述計(jì)算環(huán)境的一個(gè)組已經(jīng)被修改的裝置,其中所述組包括所述計(jì)算環(huán)境的多個(gè)分區(qū);和用于響應(yīng)于所述確定、通過(guò)在所述組內(nèi)動(dòng)態(tài)調(diào)整所述組的資源的分配以管理分區(qū)組的裝置。
36.一種在計(jì)算環(huán)境內(nèi)管理工作負(fù)載的系統(tǒng),所述系統(tǒng)包括用于確定到所述計(jì)算環(huán)境的分區(qū)的CPU資源的分配將被調(diào)整的裝置;和用于跨越所述分區(qū)和所述計(jì)算環(huán)境的另一個(gè)分區(qū)、動(dòng)態(tài)調(diào)整所述分配的裝置。
全文摘要
動(dòng)態(tài)地調(diào)整計(jì)算環(huán)境中可共享資源的分配,以平衡該環(huán)境的工作負(fù)載??缭接?jì)算環(huán)境的多個(gè)分區(qū)中的兩個(gè)或多個(gè)分區(qū)對(duì)工作負(fù)載進(jìn)行管理,所述兩個(gè)或多個(gè)分區(qū)最好設(shè)置成分區(qū)組。計(jì)算環(huán)境的至少一組包括計(jì)算環(huán)境的多個(gè)分區(qū)。分配可共享資源到所述組的分區(qū),并作為一個(gè)組管理。所述管理包括動(dòng)態(tài)地調(diào)整兩個(gè)或多個(gè)分區(qū)中的至少一個(gè)分區(qū)的可共享資源的分配,以平衡兩個(gè)或多個(gè)分區(qū)的工作負(fù)載目標(biāo)。它的一個(gè)例子是管理在計(jì)算環(huán)境中的中央處理單元(CPU)資源。當(dāng)計(jì)算環(huán)境的分區(qū)的CPU資源的分配被調(diào)整時(shí),該分配自動(dòng)地被調(diào)整。所述調(diào)整包括修改與該分區(qū)相關(guān)的處理器權(quán)重。
文檔編號(hào)G06F9/46GK1391671SQ0081353
公開(kāi)日2003年1月15日 申請(qǐng)日期2000年9月28日 優(yōu)先權(quán)日1999年9月28日
發(fā)明者杰弗里·庫(kù)巴拉, 杰弗里·尼克, 彼得·約康姆, 凱瑟琳·艾勒特 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司