專(zhuān)利名稱(chēng):用于在虛擬環(huán)境中優(yōu)化中斷處理的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬環(huán)境。更具體地,本發(fā)明涉及用于在虛擬環(huán)境中優(yōu)化中斷處理 的方法。
背景技術(shù):
虛擬I/0(VI0)服務(wù)器分區(qū)提供了在整個(gè)邏輯分區(qū)上共享物理設(shè)備的機(jī)制。當(dāng) 與“一般的”邏輯分區(qū)比較時(shí),它們提供專(zhuān)門(mén)化的服務(wù),并具有獨(dú)特的計(jì)算要求。VIO 服務(wù)器上的計(jì)算主要由外部中斷驅(qū)動(dòng),并且,最小化處理每個(gè)中斷的等待時(shí)間受到迫切 的關(guān)注。可以通過(guò)增加分配到邏輯分區(qū)的計(jì)算資源的量(處理能力)來(lái)縮短服務(wù)時(shí)間。
不同于系統(tǒng)管理員給分區(qū)真實(shí)地分配更多計(jì)算能力,這么做的另一已有的方法 是“不封頂(uncap)”分區(qū)。不封頂分區(qū)允許分區(qū)的虛擬CPU中的每個(gè)能夠潛在地消耗 多至全部物理處理器所相當(dāng)?shù)奶幚砟芰?。即,如果分區(qū)具有2個(gè)虛擬CPU,則在不封頂 模式中,其可以消耗至多(且不超過(guò))2個(gè)物理處理器所相當(dāng)?shù)挠?jì)算能力。每個(gè)邏輯分區(qū) 請(qǐng)求“確保的”或“授權(quán)的(entitled)”處理能力,其是服務(wù)器上的物理處理器的總數(shù)的 (系統(tǒng)管理員配置的)一部分。
將邏輯分區(qū)的虛擬CPU的數(shù)目保持到滿(mǎn)足所述分區(qū)的授權(quán)的處理能力所需要的 最小數(shù)量具有重要的價(jià)值。更少的虛擬CPU減少了將多個(gè)虛擬CPU(VCPU)交換進(jìn)(swap in)和交換出(swap out)物理處理器的環(huán)境切換(context-switch)的開(kāi)銷(xiāo)。而且,更少的 vCPU在SMP環(huán)境中導(dǎo)致更少的鎖定競(jìng)爭(zhēng)(lock contention)。一種稱(chēng)為CPU折疊(folding) 的特征設(shè)法通過(guò)將能力分解(collapse)到最少數(shù)目的vCPU來(lái)實(shí)現(xiàn)此探索。CPU折疊可在 不封頂?shù)姆謪^(qū)上導(dǎo)致增加的中斷服務(wù)等待時(shí)間,這是因?yàn)?,其通過(guò)限制分區(qū)可消耗的可 用自由周期數(shù)而降低了分區(qū)可獲得的最大處理能力。例如,具有兩個(gè)vCPU且總共分配了 0.4個(gè)處理器的能力的不封頂?shù)姆謪^(qū)可在沒(méi)有CPU折疊的情況下,潛在地消耗至多兩個(gè)完 整物理CPU所相當(dāng)?shù)奶幚砟芰?。CPU折疊可以導(dǎo)致將此分區(qū)分解到具有0.4的處理能力 的單個(gè)vCPU,因此,將其最大可能的處理能力降低到1個(gè)物理CPU所相當(dāng)?shù)?。自然?CPU折疊機(jī)制具有隨著時(shí)間增加或減少所使用的虛擬處理器的數(shù)量的算法。理論上,所 述算法可以是保守的(conservative),從而虛擬處理器的數(shù)量不會(huì)不必要地波動(dòng)。
傳統(tǒng)CPU折疊機(jī)制的挑戰(zhàn)是它們使用具有比中斷處理所需要的周期更長(zhǎng)的周 期的算法。所述兩個(gè)要求(縮短的中斷服務(wù)等待時(shí)間以及減少vCPU的數(shù)量)互相矛盾, 特別是在中斷繁重的環(huán)境中。發(fā)明內(nèi)容
已經(jīng)發(fā)現(xiàn)利用檢索(retrieve)對(duì)應(yīng)于所選擇的分區(qū)的時(shí)間耗費(fèi)值的方法解決前 述的挑戰(zhàn),所選擇的分區(qū)是從包括在計(jì)算機(jī)系統(tǒng)上運(yùn)行的虛擬環(huán)境中的一組分區(qū)中選擇 的。通過(guò)管理程序(Hypervisor)提供虛擬環(huán)境。所述時(shí)間耗費(fèi)值對(duì)應(yīng)于所選擇的分區(qū)已 經(jīng)為處理中斷耗費(fèi)的時(shí)間量。多個(gè)虛擬CPU已被分配給所選擇的分區(qū)。將此時(shí)間耗費(fèi)5值(例如,所選擇的分區(qū)為處理中斷所耗費(fèi)的時(shí)間的百分比)與一個(gè)或多個(gè)中斷閾值比 較。如果所述比較顯示出所述分區(qū)正為處理中斷耗費(fèi)的時(shí)間超過(guò)閾值,則增加分配給所 選擇的分區(qū)的虛擬CPU的數(shù)量。
以上是總結(jié),所以必然具有簡(jiǎn)化、概況和細(xì)節(jié)的省略;因此,本領(lǐng)域的技術(shù)人 員將理解該總結(jié)僅是說(shuō)明性的,而不意在作為限制。僅被權(quán)利要求限定的本發(fā)明的其 它方面、發(fā)明特征以及優(yōu)點(diǎn)在以下給出的非限定性的詳細(xì)說(shuō)明中將變得明顯。
現(xiàn)在將參照以下附圖僅示例性地描述本發(fā)明的優(yōu)選實(shí)施例,其中
圖1是可以根據(jù)本發(fā)明的優(yōu)選實(shí)施例實(shí)施這里所描述的方法的數(shù)據(jù)處理系統(tǒng)的 框圖2提供了圖1中所示的信息處理系統(tǒng)環(huán)境的擴(kuò)展,以說(shuō)明可以在許多種在網(wǎng)絡(luò) 化環(huán)境中操作的信息處理系統(tǒng)中執(zhí)行這里所描述的方法;
圖3是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的使用包括虛擬I/O服務(wù)器(VIOS)分區(qū)的虛擬 環(huán)境的計(jì)算機(jī)系統(tǒng)的圖4是示出根據(jù)本發(fā)明的優(yōu)選實(shí)施例的、由系統(tǒng)管理員執(zhí)行的向各個(gè)虛擬分區(qū) 分配處理能力和中斷百分比閾值的設(shè)立處理的流程圖5是示出根據(jù)本發(fā)明的優(yōu)選實(shí)施例的、由操作系統(tǒng)進(jìn)行的折疊/展開(kāi)(fold/ unfold)分配給虛擬分區(qū)的虛擬CPU(vCPU)的步驟的流程圖;以及
圖6是示出根據(jù)本發(fā)明的優(yōu)選實(shí)施例的、由操作系統(tǒng)執(zhí)行的例程所執(zhí)行的分析 分區(qū)正在為服務(wù)中斷所耗費(fèi)的時(shí)間量的步驟的流程圖。
具體實(shí)施方式
在以下說(shuō)明和附圖中給出某些具體細(xì)節(jié)以提供對(duì)本發(fā)明各種實(shí)施例的深刻理 解。但以下公開(kāi)中不提供某些經(jīng)常與計(jì)算和軟件技術(shù)關(guān)聯(lián)的公知細(xì)節(jié),以避免不必要地 模糊本發(fā)明的各種實(shí)施例。此外,有關(guān)領(lǐng)域的普通技術(shù)人員將理解他們可以實(shí)施本發(fā)明 的、沒(méi)有下述的一個(gè)或多個(gè)細(xì)節(jié)的其它實(shí)施例。最后,當(dāng)參考以下公開(kāi)中的步驟和次序 描述各種方法時(shí),這樣的描述用于提供本發(fā)明的實(shí)施例的清晰的實(shí)施,這些步驟和步驟 的次序不應(yīng)被認(rèn)為是要求的或必須。相反,下文意在提供本發(fā)明的示例實(shí)施例的詳細(xì)描 述,而不應(yīng)被認(rèn)為是限定。
以下詳細(xì)描述通常將遵循上述發(fā)明內(nèi)容,必要時(shí)進(jìn)一步解釋和擴(kuò)展本發(fā)明的各 個(gè)方面和實(shí)施例的定義。對(duì)此,此詳細(xì)描述首先闡述圖1中的計(jì)算環(huán)境,所述計(jì)算環(huán)境 適合實(shí)施與本發(fā)明的實(shí)施例相關(guān)聯(lián)的軟件和/或硬件技術(shù)。圖2中示出了作為基本計(jì)算 環(huán)境的擴(kuò)展的網(wǎng)絡(luò)化的環(huán)境,以強(qiáng)調(diào)可以橫跨多個(gè)分立設(shè)備執(zhí)行現(xiàn)代計(jì)算技術(shù)。
圖1示出了信息處理系統(tǒng)100,其是能夠執(zhí)行這里所述的計(jì)算操作的計(jì)算機(jī)系 統(tǒng)的簡(jiǎn)化示例。信息處理系統(tǒng)100包括與處理器接口總線(xiàn)112連接的一個(gè)或多個(gè)處理器 110。處理器接口總線(xiàn)112將處理器110連接到北橋115,北橋115也被稱(chēng)為存儲(chǔ)控制集 線(xiàn)器(MCH)。北橋115連接到系統(tǒng)存儲(chǔ)器120,并提供處理器110存取系統(tǒng)存儲(chǔ)器的手 段。圖形控制器125也被連接到北橋115。在一個(gè)實(shí)施例中,PCI Express(PCI高速)總線(xiàn)118被用于將北橋115連接到圖形控制器125。圖形控制器125連接到顯示設(shè)備130, 如計(jì)算機(jī)監(jiān)視器。北橋115和南橋135利用總線(xiàn)119互相連接。在一個(gè)實(shí)施例中,所述 總線(xiàn)是在北橋115和南橋135之間的每個(gè)方向上以高速傳輸數(shù)據(jù)的直接媒體接口(DMI)總 線(xiàn)。在另一實(shí)施例中,周邊元件擴(kuò)展接口(PCI)總線(xiàn)被用于連接北橋和南橋。南橋135 也被稱(chēng)為I/O控制集線(xiàn)器(ICH),其是通常實(shí)施以比北橋提供的能力慢的速度操作的能 力的芯片。南橋135典型地提供用于連接各種部件的各種總線(xiàn)。所述總線(xiàn)可以包括PCI 和PCI Express總線(xiàn)、ISA總線(xiàn)、系統(tǒng)管理總線(xiàn)^MBus或SMB)、低引腳計(jì)數(shù)(LPC)總 線(xiàn)。LPC總線(xiàn)通常被用于連接低帶寬設(shè)備,如啟動(dòng)ROM 196和“遺留(kgacy),,I/O設(shè) 備(使用“超級(jí)I/O”芯片)?!斑z留” I/O設(shè)備(198)可以包括串行和并行端口、鍵 盤(pán)、鼠標(biāo)、軟盤(pán)控制器。LPC總線(xiàn)還被用于將南橋135連接到可信平臺(tái)模塊(TPM) 195。 經(jīng)常包括在南橋135中的其它部件包括直接存儲(chǔ)器存取(DMA)控制器、可編程中斷控制 器(PIC)、存儲(chǔ)設(shè)備控制器,所述存儲(chǔ)設(shè)備控制器利用總線(xiàn)184將南橋135連接到諸如硬 盤(pán)驅(qū)動(dòng)器的非易失性存儲(chǔ)設(shè)備185。
高速卡(ExpressCard) 155是用于將可熱插拔設(shè)備連接到信息處理系統(tǒng)的插槽。 高速卡155支持PCI Express連接和USB連接兩者,這是因?yàn)槠淅猛ㄓ么锌偩€(xiàn)(USB) 和PCI Express總線(xiàn)連接到南橋135。南橋135包括對(duì)連接到USB的設(shè)備提供USB連接 的USB控制器140。所述設(shè)備包括網(wǎng)頁(yè)攝像機(jī)(攝像頭)150、紅外(IR)接收器148、 為無(wú)線(xiàn)個(gè)人區(qū)域網(wǎng)絡(luò)(PAN)提供的藍(lán)牙設(shè)備146、鍵盤(pán)和觸摸板144、以及其它各種USB 連接的設(shè)備142,如鼠標(biāo)、可移除非易失性存儲(chǔ)設(shè)備145、調(diào)制解調(diào)器、網(wǎng)絡(luò)卡、ISDN連 接器、傳真機(jī)、打印機(jī)、USB集線(xiàn)器以及許多其它類(lèi)型的USB連接的設(shè)備。雖然可移除 非易失性存儲(chǔ)設(shè)備145被示為USB連接的設(shè)備,但可移除非易失性存儲(chǔ)設(shè)備145可以利 用如火線(xiàn)(Firewire)接口等的不同接口連接。
無(wú)線(xiàn)局域網(wǎng)(LAN)設(shè)備175經(jīng)由PCI或PCI Express總線(xiàn)172連接到南橋1;35。 LAN設(shè)備175典型地實(shí)施空中(over-the-air)調(diào)制技術(shù)的IEEE 802.11標(biāo)準(zhǔn)之一,所述空 中調(diào)制技術(shù)全部使用相同的協(xié)議來(lái)在信息處理系統(tǒng)100和另一計(jì)算機(jī)系統(tǒng)或設(shè)備之間進(jìn) 行無(wú)線(xiàn)通信。光學(xué)存儲(chǔ)設(shè)備190利用串行ATA6ATA)總線(xiàn)188連接到南橋135。串行 ATA適配器和設(shè)備在高速串行鏈路上通信。串行ATA總線(xiàn)還被用于將南橋135連接到其 它形式的存儲(chǔ)設(shè)備,如硬盤(pán)驅(qū)動(dòng)器。諸如聲卡的音頻電路160經(jīng)由總線(xiàn)158連接到南橋 135。音頻電路160被用于提供諸如音頻線(xiàn)路輸入和光學(xué)數(shù)字音頻輸入端口 162、光學(xué)數(shù) 字輸出和耳機(jī)插孔164、內(nèi)部揚(yáng)聲器166與內(nèi)部麥克風(fēng)168的功能。以太網(wǎng)控制器170利 用諸如PCI或PCI Express總線(xiàn)的總線(xiàn)連接到南橋135。以太網(wǎng)控制器170被用于將信息 處理系統(tǒng)100連接到計(jì)算機(jī)網(wǎng)絡(luò),如局域網(wǎng)(LAN)、因特網(wǎng)以及其它公共和私有計(jì)算機(jī) 網(wǎng)絡(luò)。
雖然圖1示出了一個(gè)信息處理系統(tǒng),但信息處理系統(tǒng)可以采用許多形式。例 如,信息處理系統(tǒng)可以采用桌面、服務(wù)器、便攜、膝上型、筆記本的形式或其它形式因 素的計(jì)算機(jī)或數(shù)據(jù)處理系統(tǒng)。此外,信息處理系統(tǒng)可以采用包括處理器和存儲(chǔ)器的其它 形式因素,如個(gè)人數(shù)字助理(PDA)、游戲機(jī)、ATM機(jī)、便攜電話(huà)機(jī)、通信設(shè)備或其它設(shè)備。
圖1中所示和這里所述的提供安全功能的可信平臺(tái)模塊(TPM 195)僅是硬件安全模塊(HSM)的一個(gè)示例。因此,這里所述和要求保護(hù)的TPM包括任何類(lèi)型的HSM, 其包括但不限于遵循被命名為“可信平臺(tái)模塊(TPM)規(guī)范版本1.2”的可信計(jì)算組織 (TCG)標(biāo)準(zhǔn)的硬件安全設(shè)備。所述TPM是可以合并到任何數(shù)量的信息處理系統(tǒng)(諸如 圖2中所概述的信息處理系統(tǒng))中的硬件安全子系統(tǒng)。
圖2提供了圖1中所示的信息處理系統(tǒng)的擴(kuò)展,以說(shuō)明可以在許多種在網(wǎng)絡(luò)化環(huán) 境中操作的信息處理系統(tǒng)中執(zhí)行這里所描述的方法。信息處理系統(tǒng)的類(lèi)型的范圍從諸如 手持計(jì)算機(jī)/移動(dòng)電話(huà)210的小型手持設(shè)備到諸如大型計(jì)算機(jī)270的大型的大型機(jī)系統(tǒng)。 手持計(jì)算機(jī)210的示例包括個(gè)人數(shù)字助理(PDA)、諸如MP3播放器、便攜電視以及CD播 放器的個(gè)人娛樂(lè)設(shè)備。信息處理系統(tǒng)的其它示例包括筆式或平板式計(jì)算機(jī)220、膝上型或 筆記本計(jì)算機(jī)230、工作站M0、個(gè)人計(jì)算機(jī)系統(tǒng)250和服務(wù)器260。圖2中未單獨(dú)示出 的其它類(lèi)型的信息處理系統(tǒng)由信息處理系統(tǒng)280表示。如所示,各種信息處理系統(tǒng)可以 利用計(jì)算機(jī)網(wǎng)絡(luò)200而被聯(lián)網(wǎng)在一起??梢杂糜趯⒏鞣N信息處理系統(tǒng)互連的計(jì)算機(jī)網(wǎng)絡(luò) 的類(lèi)型包括局域網(wǎng)(LAN)、無(wú)線(xiàn)局域網(wǎng)(WLAN)、因特網(wǎng)、公共交換電話(huà)網(wǎng)(PSTN)、 其它無(wú)線(xiàn)網(wǎng)絡(luò)以及任何其它可以用于將信息處理系統(tǒng)互連的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。信息處理系 統(tǒng)中的許多包括非易失性數(shù)據(jù)存儲(chǔ)裝置,如硬盤(pán)驅(qū)動(dòng)器和/或非易失性存儲(chǔ)器。圖2中 所示的信息處理系統(tǒng)中的某些被顯示為具有分離的非易失性數(shù)據(jù)存儲(chǔ)裝置(服務(wù)器260被 顯示為帶有非易失性數(shù)據(jù)存儲(chǔ)裝置265,大型計(jì)算機(jī)270被顯示為帶有非易失性數(shù)據(jù)存儲(chǔ) 裝置275,以及信息數(shù)據(jù)處理系統(tǒng)280被顯示為帶有非易失性數(shù)據(jù)存儲(chǔ)裝置觀(guān)幻。非易 失性數(shù)據(jù)存儲(chǔ)裝置可以是各個(gè)信息處理系統(tǒng)外部的部件,或者是所述信息處理系統(tǒng)之一 內(nèi)部的部件。此外,可以利用各種技術(shù)在兩個(gè)或更多個(gè)信息處理系統(tǒng)之間共享可移除非 易失性存儲(chǔ)設(shè)備145,諸如將可移除非易失性存儲(chǔ)設(shè)備145連接到信息處理系統(tǒng)的USB端 口或其它連接器。
圖3是利用包括虛擬I/O服務(wù)器(VIOS)分區(qū)的虛擬環(huán)境的計(jì)算機(jī)系統(tǒng)的圖。計(jì) 算機(jī)系統(tǒng)300被示出為帶有多個(gè)虛擬分區(qū)(分區(qū)375、376、377和380)。所述分區(qū)是由 管理程序305協(xié)調(diào)的虛擬環(huán)境的部分。所述分區(qū)之一(分區(qū)380)是作為虛擬I/O服務(wù) 器(VIOS)的專(zhuān)用分區(qū)。如所暗示的,VIOS分區(qū)為其它分區(qū)提供I/O服務(wù)。為了促進(jìn) VIOS為其它分區(qū)處理I/O服務(wù),在其它分區(qū)與VIOS分區(qū)之間建立一個(gè)或多個(gè)通信信道 (391、 392 和 393)。
網(wǎng)絡(luò)適配器315和硬件設(shè)備320連接到使用各種由管理程序305管理的接口的計(jì) 算機(jī)系統(tǒng)。在一個(gè)實(shí)施例中,當(dāng)硬件(物理)中斷在一個(gè)硬件接口處發(fā)生時(shí),管理程序 將中斷傳遞給VIOS分區(qū)380用于處理。如所示,網(wǎng)絡(luò)適配器315被用于將計(jì)算機(jī)系統(tǒng)連 接到計(jì)算機(jī)網(wǎng)絡(luò)200,以便促進(jìn)計(jì)算機(jī)系統(tǒng)與網(wǎng)絡(luò)服務(wù)器和設(shè)備335之間的通信。在另一 實(shí)施例中,所述硬件被在一個(gè)分區(qū)中執(zhí)行的一個(gè)操作系統(tǒng)管理(“擁有”)。在此實(shí)施 例中,I/O中斷被遞送到物理處理器(例如,運(yùn)行各個(gè)分區(qū)的處理器)。在此實(shí)施例中, 如果在中斷發(fā)生時(shí)I/O中斷被引導(dǎo)至其的分區(qū)當(dāng)前正運(yùn)行在處理器上,則所述分區(qū)直接 接收所述中斷。另一方面,如果另一分區(qū)正運(yùn)行在所述處理器上,則所述分區(qū)產(chǎn)生管理 程序調(diào)用,并接收“沒(méi)關(guān)系(nevermind)”響應(yīng),并且,所述中斷在管理程序中排隊(duì),用 于以后被遞送到正確的分區(qū)。此外,如果沒(méi)有分區(qū)當(dāng)前正運(yùn)行在所述處理器上,則管理 程序使中斷排隊(duì),并且,在某些情況下,喚醒正確的分區(qū),使得正確的分區(qū)可以處理所述中斷。
因?yàn)槠湓谔幚碇袛嗪蜑槠渌謪^(qū)提供I/O服務(wù)器中的作用,VIOS分區(qū)380 —般 比其它分區(qū)375、376和377耗費(fèi)更多時(shí)間來(lái)處理中斷。然而,由于CPU折疊,VIOS分 區(qū)(以及其它耗費(fèi)大量時(shí)間處理硬件中斷的分區(qū))可以使它的虛擬CPU折疊(減少)。 這是虛擬CPU的減少。
在創(chuàng)建分區(qū)時(shí),系統(tǒng)管理員為分區(qū)配置“期望”數(shù)量的虛擬CPU(vCPU),并 且,為分區(qū)分配一定的授權(quán)的處理能力(虛擬CPU授權(quán)值)。管理程序?qū)CPU切換進(jìn)和 切換出物理處理器,與OS在多編程環(huán)境中切換進(jìn)程(或線(xiàn)程)類(lèi)似。因此,減少VCPU 的數(shù)量導(dǎo)致更少的用于系統(tǒng)的環(huán)境切換開(kāi)銷(xiāo)。在分區(qū)的整個(gè)生存時(shí)間上,CPU折疊可能 潛在地開(kāi)始(kick ι),并將分區(qū)的vCPU的數(shù)量從系統(tǒng)管理員的“期望”數(shù)量減少到系 統(tǒng)確定的“最佳”數(shù)量。該折疊算法傳統(tǒng)上被導(dǎo)向?qū)⑻幚砟芰械阶钌贁?shù)量的vCPU 中。減少虛擬CPU的數(shù)量可能不是用于中斷繁重環(huán)境的最佳方案,如用于VIOS分區(qū)380 的方案。為了補(bǔ)償CPU折疊對(duì)中斷密集的分區(qū)(例如VIOS分區(qū)380)的影響,操作系 統(tǒng)使用分區(qū)在服務(wù)中斷中耗費(fèi)的總處理時(shí)間的百分比作為展開(kāi)vCPU的觸發(fā)。在中斷繁 重的環(huán)境中,通過(guò)使更多的計(jì)算資源更易于可得,這縮短了中斷服務(wù)等待時(shí)間,特別是 對(duì)于不封頂?shù)姆謪^(qū)。甚至對(duì)于封頂?shù)?capped)分區(qū),添加(展開(kāi))vCPU也將幫助減小 在具有空閑的和可用的物理處理器的服務(wù)器上的中斷等待時(shí)間。當(dāng)存在可用物理處理器 時(shí)展開(kāi)vCPU將允許在不同物理處理器上對(duì)多個(gè)中斷進(jìn)行并行處理,從而縮短服務(wù)等待時(shí) 間。對(duì)于不封頂?shù)姆謪^(qū),另一優(yōu)點(diǎn)是當(dāng)添加更多vCPU時(shí)提高了用于該分區(qū)的最大可用 處理能力。使用總中斷處理時(shí)間而不是總的忙碌時(shí)間作為觸發(fā)的背后的原理在于相比 于中斷,計(jì)算線(xiàn)程(其對(duì)忙碌時(shí)間有貢獻(xiàn),但對(duì)中斷處理時(shí)間無(wú)貢獻(xiàn))傾向于具有更“寬 松的”響應(yīng)時(shí)間要求。因此,不受中斷束縛的環(huán)境不太可能從展開(kāi)中受益,并可能更不 積極地展開(kāi)。
許多操作系統(tǒng)(如IBM的AIX 操作系統(tǒng))保持處理中斷所耗費(fèi)的時(shí)間量的連 續(xù)計(jì)數(shù)。操作系統(tǒng)使用此度量來(lái)計(jì)算分區(qū)(例如,分區(qū)375、376、377和380)為處理中 斷所耗費(fèi)的分區(qū)忙碌時(shí)間的百分比。當(dāng)此百分比超過(guò)管理員定義的(可調(diào)的)閾值時(shí), 假定vCPU的當(dāng)前數(shù)量小于在分區(qū)創(chuàng)建期間指定的vCPU的“期望”數(shù)量,該百分比被 用作展開(kāi)vCPU的觸發(fā)。由于操作系統(tǒng)保持此信息作為其正常操作的部分,所以,計(jì)算 處理中斷耗費(fèi)的時(shí)間的代價(jià)相當(dāng)?shù)汀?br>
在一個(gè)實(shí)施例中,進(jìn)行折疊/展開(kāi)決定的操作系統(tǒng)是在管理程序中運(yùn)行的操作 系統(tǒng),從而,本質(zhì)上由管理程序折疊/展開(kāi)分配給分區(qū)(例如,分區(qū)375、376、377和 380)的vCPU。在另一實(shí)施例中,在各個(gè)分區(qū)中運(yùn)行的操作系統(tǒng)運(yùn)行折疊算法,并因此 負(fù)責(zé)基于折疊/展開(kāi)的決定確定分配多少vCPU給它們的具體分區(qū)。在任何情況下,如 這里所使用的,術(shù)語(yǔ)“操作系統(tǒng)”被用于指確定給分區(qū)分配多少vCPU的處理,而不論 該操作系統(tǒng)是運(yùn)行在管理程序中還是運(yùn)行在一個(gè)特定分區(qū)中。
因?yàn)樵撚?jì)算代價(jià)低,所以,檢查之間的時(shí)間間隔可以設(shè)置得相當(dāng)積極。例如, 調(diào)度程序(dispatcher)可以在每次被調(diào)用來(lái)調(diào)度新的線(xiàn)程時(shí)都計(jì)算耗費(fèi)的時(shí)間值,其可 以潛在地導(dǎo)致此度量在每次中斷被服務(wù)之后都被更新。換句話(huà)說(shuō),操作系統(tǒng)可以在許多 不同點(diǎn)進(jìn)行基于分區(qū)為處理中斷所耗費(fèi)的時(shí)間量的展開(kāi)決定??梢酝ㄟ^(guò)以固定的時(shí)間間9隔(例如,每10毫秒一次)檢查所耗費(fèi)的時(shí)間值來(lái)進(jìn)行所述決定,或者可以由事件觸發(fā) 進(jìn)行決定的需要,例如,調(diào)度程序被調(diào)用來(lái)調(diào)度新線(xiàn)程(或空閑線(xiàn)程)。為了避免乒乓 (ping-pong)效應(yīng),可以較不積極地進(jìn)行折疊vCPU的決定。換句話(huà)說(shuō),可以比進(jìn)行基于 分區(qū)資源(例如CPU)使用的折疊vCPU的決定更經(jīng)常地進(jìn)行基于分區(qū)正在為處理中斷耗 費(fèi)的時(shí)間量的展開(kāi)vCPU的決定。
圖4是示出由系統(tǒng)管理員執(zhí)行的向各個(gè)虛擬分區(qū)分配處理能力和中斷百分比閾 值的設(shè)立處理的流程圖。處理在400開(kāi)始,接著,在步驟410,從系統(tǒng)配置數(shù)據(jù)存儲(chǔ)器 420中選擇由虛擬環(huán)境中的管理程序所管理的分區(qū)。系統(tǒng)配置數(shù)據(jù)存儲(chǔ)器420用于存儲(chǔ) 關(guān)于由管理程序管理的包括任何虛擬I/O服務(wù)器(VIOS)分區(qū)的各種分區(qū)的信息。進(jìn)行 系統(tǒng)管理員是否希望向所選擇的分區(qū)分配計(jì)算能力的確定(決定430)。如果系統(tǒng)管理員 選擇向所選擇的分區(qū)分配計(jì)算能力,則決定430分支到“是”分支435,接著,在步驟 440,系統(tǒng)管理員向所選擇的分區(qū)分配“授權(quán)的”處理能力(“授權(quán)值”)。在一個(gè)實(shí)施 例中,系統(tǒng)管理員可以選擇“不封頂”所選擇的分區(qū)。不封頂分區(qū)允許分區(qū)的虛擬CPU 中的每個(gè)都潛在地消耗至多全部物理處理器所相當(dāng)?shù)奶幚砟芰Α<矗绻謪^(qū)具有2個(gè) 虛擬CPU,則在不封頂模式中,其可以消耗至多(且不超過(guò))2個(gè)物理(真實(shí))CPU所相 當(dāng)?shù)挠?jì)算能力。在步驟450,所分配的“授權(quán)值”被存儲(chǔ)在非易失性的分區(qū)分配能力數(shù) 據(jù)存儲(chǔ)器460中。
返回到?jīng)Q定430,如果系統(tǒng)管理員決定不向所選擇的分區(qū)分配計(jì)算能力,則決 定430越過(guò)步驟440和450而分支到“否”分支465。進(jìn)行系統(tǒng)管理員是否進(jìn)行選取另 一分區(qū)的選擇的確定(決定470)。如果系統(tǒng)管理員欲選擇另一分區(qū),則決定470分支到“是”分支474,其循環(huán)回到步驟410的選擇下一分區(qū)。此循環(huán)繼續(xù),直到系統(tǒng)管理員 不再希望選擇其它的分區(qū)為止,此時(shí)決定470分支到“否”分支476。
在步驟480,系統(tǒng)管理員設(shè)立和存儲(chǔ)一個(gè)或多個(gè)中斷百分比閾值。當(dāng)分區(qū)滿(mǎn)足所 述中斷百分比閾值之一時(shí),所述分區(qū)的vCPU將被“展開(kāi)”,以允許正為處理中斷耗費(fèi)更 多時(shí)間的該分區(qū)具有更多的vCPU(多至步驟440中設(shè)置的“授權(quán)的” vCPU能力的量)。 在一個(gè)實(shí)施例中,在系統(tǒng)范圍的基礎(chǔ)上設(shè)置中斷百分比閾值,從而為了 “展開(kāi)” vCPU, 每個(gè)分區(qū)使用相同的中斷百分比閾值。在另一實(shí)施例中,每個(gè)分區(qū)可以被分別調(diào)整來(lái)允 許每個(gè)分區(qū)具有不同的中斷百分比閾值、以及缺省的中斷百分比閾值(在未對(duì)特定分區(qū) 設(shè)立中斷百分比閾值的情況下)。這些中斷百分比閾值被存儲(chǔ)在非易失性的中斷百分比閾 值數(shù)據(jù)存儲(chǔ)器490中。因此,設(shè)立處理在495處結(jié)束。
圖5是示出由操作系統(tǒng)采取的用來(lái)折疊/展開(kāi)分配給虛擬分區(qū)的虛擬 CPU(vCPU)的步驟的流程圖。處理在500開(kāi)始,接著,在步驟510,管理程序基于存儲(chǔ) 在分區(qū)分配能力數(shù)據(jù)存儲(chǔ)器460中的授權(quán)值,初始化虛擬CPU的分配。
在預(yù)定義的處理515,操作系統(tǒng)周期性地檢查分區(qū)為處理中斷所耗費(fèi)的時(shí)間量 (預(yù)定義的處理515,處理細(xì)節(jié)見(jiàn)圖6和對(duì)應(yīng)的文字)。如前所解釋?zhuān)谀承┫到y(tǒng)中,用 于檢查分區(qū)正為處理中斷耗費(fèi)多少時(shí)間的數(shù)據(jù)易于獲得,使得可以在所述環(huán)境中積極地 執(zhí)行預(yù)定義的處理515 (例如,比步驟530至580所示的用于折疊vCPU的使用檢查更經(jīng) 常)。
周期性地,但并非必要地,操作系統(tǒng)以與執(zhí)行預(yù)定處理515相同的時(shí)間間隔,在步驟520檢查分區(qū)的使用。當(dāng)檢查分區(qū)的使用時(shí),在步驟530,利用各種計(jì)算機(jī)系統(tǒng) 資源度量(如從操作系統(tǒng)檢索并從存儲(chǔ)器540讀取的分區(qū)的CPU使用度量),來(lái)處理虛 擬CPU折疊/展開(kāi)算法。基于折疊/展開(kāi)算法的執(zhí)行,進(jìn)行給定分區(qū)是否需要更少的虛 擬CPU的確定(決定550)。如果需要更少的虛擬CPU,則決定550分支到“是”分支 555,接著,在步驟560,分配到所述分區(qū)的虛擬CPU的數(shù)量被減少(“折疊”),并且, 此減少值被存儲(chǔ)在當(dāng)向分區(qū)分配虛擬CPU時(shí)使用的虛擬CPU存儲(chǔ)區(qū)域575中。
另一方面,如果基于折疊/展開(kāi)算法、不需要更少的虛擬CPU,則決定550分支 到“否”分支565,接著,進(jìn)行所述分區(qū)是否需要更多虛擬CPU、以及分配給所述分區(qū)的 虛擬CPU的當(dāng)前數(shù)量是否少于所述分區(qū)的虛擬CPU的“授權(quán)值”的確定(決定570)。 如果所述分區(qū)需要更多的虛擬CPU并且分配給所述分區(qū)的虛擬CPU的當(dāng)前數(shù)量少于所述 分區(qū)的虛擬CPU的“授權(quán)值”,則決定570分支到“是”分支572,接著,在步驟580, 將分配給所述分區(qū)的虛擬CPU的數(shù)量增加(“展開(kāi)”)到少于或等于所述分區(qū)的授權(quán)值 的值。該增加的值被存儲(chǔ)在當(dāng)向分區(qū)分配虛擬CPU時(shí)使用的虛擬CPU存儲(chǔ)區(qū)域575中。
另一方面,如果(a)所述分區(qū)不需要更多的虛擬CPU、以及/或者(b)所述分區(qū) 已經(jīng)使用了與其被授權(quán)使用的虛擬CPU相同數(shù)量的虛擬CPU (例如,正在使用的vCPU = 授權(quán)值),則決定570越過(guò)步驟580而分支到“否”分支585,并且循環(huán)回到等待對(duì)分區(qū) 為服務(wù)中斷所耗費(fèi)的時(shí)間的下一周期的檢查、或者對(duì)分區(qū)的系統(tǒng)資源使用的下一檢查。
圖6是示出由被操作系統(tǒng)執(zhí)行的例程執(zhí)行的分析分區(qū)正為服務(wù)中斷所耗費(fèi)的時(shí) 間量的步驟的流程圖。處理在600開(kāi)始,接著,在步驟610,從分區(qū)分配能力數(shù)據(jù)存儲(chǔ)器 460檢索已被分配給此分區(qū)的虛擬CPU的“授權(quán)值”。進(jìn)行分配給此分區(qū)的虛擬CPU的 當(dāng)前數(shù)量是否等于分配給此分區(qū)的虛擬CPU的授權(quán)值的確定(決定620)。如果分配給此 分區(qū)的虛擬CPU的當(dāng)前數(shù)量不等于此分區(qū)的授權(quán)值(例如,當(dāng)前數(shù)量小于授權(quán)值),則決 定620分支到“否”分支625,以基于所述分區(qū)正為處理中斷耗費(fèi)的時(shí)間量來(lái)確定是否應(yīng) 該向此分區(qū)分配附加的虛擬CPU。
在步驟630,從存儲(chǔ)區(qū)域640檢索此分區(qū)為處理中斷所耗費(fèi)的時(shí)間量,其是由操 作系統(tǒng)保持的、此分區(qū)已為處理中斷耗費(fèi)的時(shí)間量(例如,處理器周期、實(shí)際CPU時(shí)間 等)的計(jì)數(shù)。在步驟650,時(shí)間量值被轉(zhuǎn)換為百分比(所述分區(qū)為處理中斷耗費(fèi)的分區(qū)時(shí) 間的百分比)。所計(jì)算的百分比被存儲(chǔ)在存儲(chǔ)區(qū)域660中。在步驟670,將所述分區(qū)的 當(dāng)前中斷時(shí)間百分比值與由系統(tǒng)管理員建立的并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器490中的時(shí)間百分比 閾值比較?;谠摫容^,對(duì)所述分區(qū)的當(dāng)前中斷時(shí)間百分比是否超過(guò)閾值進(jìn)行確定(決 定680)。如果所述分區(qū)的當(dāng)前中斷時(shí)間百分比超過(guò)閾值,則決定680分支到“是”分 支685,接著,在步驟690,分配給所述分區(qū)的虛擬CPU的數(shù)量被增加(“展開(kāi)”)到小 于或等于所述分區(qū)的授權(quán)值的值。所述增加的值被存儲(chǔ)在當(dāng)向分區(qū)分配虛擬CPU時(shí)使用 的虛擬CPU存儲(chǔ)區(qū)域575中。另一方面,如果所述分區(qū)的當(dāng)前中斷時(shí)間百分比不超過(guò)閾 值,則決定680越過(guò)步驟690而分支到“否”分支692。隨后,處理在695處返回到調(diào) 用例程(見(jiàn)圖5)。
返回到?jīng)Q定620,如果分配到此分區(qū)的虛擬CPU的當(dāng)前數(shù)量等于所述分區(qū)的授 權(quán)值(例如,虛擬CPU的當(dāng)前數(shù)量等于所述授權(quán)值),則決定620越過(guò)步驟630至690而 分支到“是”分支694。然后,處理在695處返回到調(diào)用例程(見(jiàn)圖5)。
本發(fā)明的優(yōu)選實(shí)施例之一是客戶(hù)端應(yīng)用程序,即代碼模塊中的指令集(程序代 碼)或其它功能描述資料,例如所述代碼模塊可以位于計(jì)算機(jī)的隨機(jī)存取存儲(chǔ)器中。在 被計(jì)算機(jī)要求之前,該指令集可以存儲(chǔ)在另一計(jì)算機(jī)存儲(chǔ)器中,例如在硬盤(pán)驅(qū)動(dòng)器中, 或者在諸如光盤(pán)(為偶爾使用,在CD ROM中)或軟盤(pán)(為偶爾使用,在軟盤(pán)驅(qū)動(dòng)器中) 的可移除存儲(chǔ)器中,或者經(jīng)由因特網(wǎng)或其它計(jì)算機(jī)網(wǎng)絡(luò)下載。因此,本發(fā)明的實(shí)施例可 以被實(shí)施作為在計(jì)算機(jī)中使用的計(jì)算機(jī)程序產(chǎn)品。此外,雖然在被軟件選擇性地激活或 重配置的通用計(jì)算機(jī)中方便地實(shí)施了所描述的各種方法,但是本領(lǐng)域的普通技術(shù)人員還 將意識(shí)到可以在硬件、固件或構(gòu)建來(lái)執(zhí)行所需要的方法步驟的更專(zhuān)用的設(shè)備中執(zhí)行這 樣的方法。功能描述資料是將功能告知機(jī)器的信息。功能描述資料包括但不限制于計(jì)算 機(jī)程序、指令、規(guī)則、事實(shí)、可計(jì)算函數(shù)的定義、對(duì)象和數(shù)據(jù)結(jié)構(gòu)。
雖然已經(jīng)顯示和描述了本發(fā)明的特定實(shí)施例,但對(duì)本領(lǐng)域的技術(shù)人員講很明 顯基于這里的教導(dǎo),可以進(jìn)行改變和修改。此外,將理解本發(fā)明僅由所附權(quán)利要求 限定。本領(lǐng)域的技術(shù)人員將理解如果意圖(限定)被引導(dǎo)的權(quán)利要求元素的特定數(shù)量, 則將在權(quán)利要求中明確地?cái)⑹鲞@樣的意圖,在沒(méi)有這樣的敘述的情況下,不存在這樣的 限制。對(duì)于非限定的示例,作為對(duì)理解的幫助,以下所附的權(quán)利要求包括引導(dǎo)詞“至少 一個(gè)”和“一個(gè)或多個(gè)”的使用來(lái)引導(dǎo)權(quán)利要求元素。然而,這樣的詞匯的使用應(yīng)該不 被理解為隱含由不定冠詞“a”或“an”引導(dǎo)權(quán)利要求元素將包括這樣引導(dǎo)的權(quán)利要 求元素的任何特定權(quán)利要求限定為包括僅一個(gè)這種元素的發(fā)明,甚至在相同的權(quán)利要求 包括引導(dǎo)詞“一個(gè)或多個(gè)”或“至少一個(gè)”與諸如“a”或“an”的不定冠詞時(shí)也是如 此;對(duì)于在權(quán)利要求中定冠詞的使用也同樣適用。1權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括步驟檢索與從在計(jì)算機(jī)系統(tǒng)上運(yùn)行的虛擬環(huán)境中包括的多個(gè)分區(qū)中選擇的所選分區(qū)相對(duì) 應(yīng)的時(shí)間耗費(fèi)值,其中,所述時(shí)間耗費(fèi)值對(duì)應(yīng)于所選分區(qū)已經(jīng)為處理中斷所耗費(fèi)的時(shí)間 量,并且,向所選分區(qū)分配某個(gè)數(shù)量的虛擬CPU ;將所述時(shí)間耗費(fèi)值與一個(gè)或多個(gè)中斷閾值比較;以及響應(yīng)于該比較顯示出所述時(shí)間耗費(fèi)值大于所述中斷閾值之一,增加向所選分區(qū)分配 的虛擬CPU的數(shù)量。
2.如權(quán)利要求1所述的方法,還包括基于第一時(shí)間間隔,周期性地檢查所選分區(qū)的一個(gè)或多個(gè)資源使用,其中,所述檢 查包括執(zhí)行折疊算法,以基于所述資源使用來(lái)改變向所選分區(qū)分配的虛擬CPU的數(shù) 量;以及基于第二時(shí)間間隔,周期性地執(zhí)行所述檢索、比較和增加步驟,其中,所述第二時(shí) 間間隔小于所述第一時(shí)間間隔。
3.如權(quán)利要求2所述的方法,其中,所述資源使用之一是CPU使用值。
4.如權(quán)利要求1所述的方法,包括在所述增加步驟之前,檢索對(duì)應(yīng)于所選分區(qū)的虛擬CPU授權(quán)值、以及向所選分區(qū)分 配的虛擬CPU的當(dāng)前數(shù)量,其中,僅響應(yīng)于虛擬CPU的所述當(dāng)前數(shù)量小于所述虛擬CPU 授權(quán)值而執(zhí)行所述增加步驟。
5.如權(quán)利要求4所述的方法,還包括在檢索所述時(shí)間耗費(fèi)值之前,在設(shè)立處理期間,將所述虛擬CPU授權(quán)值分配給所選 分區(qū);以及在非易失性存儲(chǔ)區(qū)域中存儲(chǔ)所述虛擬CPU授權(quán)值,其中,對(duì)所述虛擬CPU授權(quán)值的 檢索為從所述非易失性存儲(chǔ)區(qū)域檢索所述虛擬CPU授權(quán)值。
6.如權(quán)利要求1所述的方法,還包括將所述時(shí)間耗費(fèi)值轉(zhuǎn)換為百分比值,其中,所述百分比值表示所選分區(qū)在處理中 斷中所耗費(fèi)的時(shí)間的百分比,其中,所述中斷閾值包括一個(gè)或多個(gè)閾值百分比,并且其 中,所述比較將所述百分比值與所述閾值百分比比較。
7.如權(quán)利要求1所述的方法,還包括在檢索所述時(shí)間耗費(fèi)值之前,從用戶(hù)接收一個(gè)或多個(gè)中斷閾值百分比;以及將所接收的中斷閾值百分比存儲(chǔ)在非易失性存儲(chǔ)區(qū)域中,其中,在將所述時(shí)間耗費(fèi) 值與所述中斷閾值比較之前,從所述非易失性存儲(chǔ)區(qū)域檢索所存儲(chǔ)的中斷閾值百分比。
8.—種信息處理系統(tǒng),包括一個(gè)或多個(gè)處理器(CPU);存儲(chǔ)器,其可以由所述CPU中的至少一個(gè)存??;非易失性存儲(chǔ)設(shè)備,其可以由所述CPU中的至少一個(gè)存??;管理應(yīng)用程序,其被載入所述存儲(chǔ)器中,并且由所述CPU中的至少一個(gè)執(zhí)行,以提 供虛擬環(huán)境,其中,在所述虛擬環(huán)境中包括多個(gè)分區(qū),其中,操作系統(tǒng)在所述分區(qū)的一 個(gè)或多個(gè)中運(yùn)行;一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)區(qū),其被存儲(chǔ)在所述非易失性存儲(chǔ)設(shè)備上,其中,所述數(shù)據(jù)存儲(chǔ)區(qū)存儲(chǔ)與所述一個(gè)或多個(gè)分區(qū)相對(duì)應(yīng)的一個(gè)或多個(gè)虛擬CPU授權(quán)值和一個(gè)或多個(gè)中斷 閾值;指令集,其被載入所述存儲(chǔ)器中,并由所選擇的一個(gè)操作系統(tǒng)執(zhí)行,以執(zhí)行以下操作檢索與從包括在所述虛擬環(huán)境中的多個(gè)分區(qū)中選擇的所選分區(qū)相對(duì)應(yīng)的時(shí)間耗費(fèi) 值,其中,所述時(shí)間耗費(fèi)值對(duì)應(yīng)于所選分區(qū)已經(jīng)為處理中斷所耗費(fèi)的時(shí)間量,并且其 中,向所選分區(qū)分配某個(gè)數(shù)量的虛擬CPU ;檢索存儲(chǔ)在所述數(shù)據(jù)存儲(chǔ)區(qū)中的中斷閾值;將所述時(shí)間耗費(fèi)值與所檢索的中斷閾值比較;以及響應(yīng)于該比較顯示出所述時(shí)間耗費(fèi)值大于所述中斷閾值之一,增加向所選分區(qū)分配 的虛擬CPU的數(shù)量。
9.如權(quán)利要求8所述的信息處理系統(tǒng),其中,由所選操作系統(tǒng)執(zhí)行的指令集執(zhí)行附加 的操作,包括基于第一時(shí)間間隔,周期性地檢查所選分區(qū)的一個(gè)或多個(gè)資源使用,其中,所述資 源使用之一是CPU使用值,并且其中,所述檢查包括執(zhí)行折疊算法,以基于所述資源 使用而改變向所選分區(qū)分配的虛擬CPU的數(shù)量;以及基于第二時(shí)間間隔,周期性地執(zhí)行所述檢索、比較和增加步驟,其中,所述第二時(shí) 間間隔小于所述第一時(shí)間間隔。
10.如權(quán)利要求8所述的信息處理系統(tǒng),其中,由所選操作系統(tǒng)執(zhí)行的指令集執(zhí)行附 加的操作,包括在所述增加步驟之前,檢索對(duì)應(yīng)于所選分區(qū)的虛擬CPU授權(quán)值、以及向所選分區(qū)分 配的虛擬CPU的當(dāng)前數(shù)量,其中,僅響應(yīng)于虛擬CPU的所述當(dāng)前數(shù)量小于所述虛擬CPU 授權(quán)值而執(zhí)行所述增加步驟。
11.如權(quán)利要求10所述的信息處理系統(tǒng),其中,由所選操作系統(tǒng)執(zhí)行的指令集執(zhí)行附 加的操作,包括在檢索所述時(shí)間耗費(fèi)值之前,在設(shè)立處理期間,將所述虛擬CPU授權(quán)值分配給所選 分區(qū);以及在非易失性存儲(chǔ)區(qū)域中存儲(chǔ)所述虛擬CPU授權(quán)值,其中,對(duì)所述虛擬CPU授權(quán)值的 檢索為從所述非易失性存儲(chǔ)區(qū)域檢索所述虛擬CPU授權(quán)值。
12.如權(quán)利要求8所述的信息處理系統(tǒng),其中由所選操作系統(tǒng)執(zhí)行的指令集執(zhí)行附加 的操作,包括將所述時(shí)間耗費(fèi)值轉(zhuǎn)換為百分比值,其中,所述百分比值表示所選分區(qū)在處理中 斷中所耗費(fèi)的時(shí)間的百分比,其中,所述中斷閾值包括一個(gè)或多個(gè)閾值百分比,并且其 中,所述比較將所述百分比值與所述閾值百分比比較。
13.如權(quán)利要求8所述的信息處理系統(tǒng),其中,由所選操作系統(tǒng)執(zhí)行的指令集執(zhí)行附 加的操作,包括在檢索所述時(shí)間耗費(fèi)值之前,從用戶(hù)接收一個(gè)或多個(gè)中斷閾值百分比;以及將所接收的中斷閾值百分比存儲(chǔ)在非易失性存儲(chǔ)設(shè)備上的數(shù)據(jù)存儲(chǔ)區(qū)之一中。
14.一種存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品,包括功能描述資料,當(dāng)所述功能描述資料被信息處理系統(tǒng)執(zhí)行時(shí)使所述信息處理系統(tǒng)執(zhí)行以下操作檢索與從在計(jì)算機(jī)系統(tǒng)上運(yùn)行的虛擬環(huán)境中包括的多個(gè)分區(qū)中選擇的所選分區(qū)相對(duì) 應(yīng)的時(shí)間耗費(fèi)值,其中,所述時(shí)間耗費(fèi)值對(duì)應(yīng)于所選分區(qū)已經(jīng)為處理中斷所耗費(fèi)的時(shí)間 量,并且,向所選分區(qū)分配某個(gè)數(shù)量的虛擬CPU ;將所述時(shí)間耗費(fèi)值與一個(gè)或多個(gè)中斷閾值比較;以及響應(yīng)于該比較顯示出所述時(shí)間耗費(fèi)值大于所述中斷閾值之一,增加向所選分區(qū)分配 的虛擬CPU的數(shù)量。
15.如權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,還包括使所述信息處理系統(tǒng)執(zhí)行以下附加 操作的功能描述資料基于第一時(shí)間間隔,周期性地檢查所選分區(qū)的一個(gè)或多個(gè)資源使用,其中,所述檢 查包括執(zhí)行折疊算法,以基于所述資源使用來(lái)改變向所選分區(qū)分配的虛擬CPU的數(shù) 量;以及基于第二時(shí)間間隔,周期性地執(zhí)行所述檢索、比較和增加步驟,其中,所述第二時(shí) 間間隔小于所述第一時(shí)間間隔。
16.如權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述資源使用之一是CPU使用值。
17.如權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,還包括使所述信息處理系統(tǒng)執(zhí)行以下附加 操作的功能描述資料在所述增加步驟之前,檢索對(duì)應(yīng)于所選分區(qū)的虛擬CPU授權(quán)值、以及向所選分區(qū)分 配的虛擬CPU的當(dāng)前數(shù)量,其中,僅響應(yīng)于虛擬CPU的所述當(dāng)前數(shù)量小于所述虛擬CPU 授權(quán)值而執(zhí)行所述增加步驟。
18.如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,還包括使所述信息處理系統(tǒng)執(zhí)行以下附加 操作的功能描述資料在檢索所述時(shí)間耗費(fèi)值之前,在設(shè)立處理期間,將所述虛擬CPU授權(quán)值分配給所選 分區(qū);以及在非易失性存儲(chǔ)區(qū)域中存儲(chǔ)所述虛擬CPU授權(quán)值,其中,對(duì)所述虛擬CPU授權(quán)值的 檢索為從所述非易失性存儲(chǔ)區(qū)域檢索所述虛擬CPU授權(quán)值。
19.如權(quán)利要求1所述的方法,還包括使所述信息處理系統(tǒng)執(zhí)行以下附加操作的功能 描述資料將所述時(shí)間耗費(fèi)值轉(zhuǎn)換為百分比值,其中,所述百分比值表示所選分區(qū)在處理中 斷中所耗費(fèi)的時(shí)間的百分比,其中,所述中斷閾值包括一個(gè)或多個(gè)閾值百分比,并且其 中,所述比較將所述百分比值與所述閾值百分比比較。
20.如權(quán)利要求1所述的方法,還包括使所述信息處理系統(tǒng)執(zhí)行以下附加操作的功能 描述資料在檢索所述時(shí)間耗費(fèi)值之前,從用戶(hù)接收一個(gè)或多個(gè)中斷閾值百分比;以及將所接收的中斷閾值百分比存儲(chǔ)在非易失性存儲(chǔ)區(qū)域中,其中,在將所述時(shí)間耗費(fèi) 值與所述中斷閾值比較之前,從所述非易失性存儲(chǔ)區(qū)域檢索所存儲(chǔ)的中斷閾值百分比。
全文摘要
提供了一種檢索對(duì)應(yīng)于從在計(jì)算機(jī)系統(tǒng)上運(yùn)行的虛擬環(huán)境中包括的多個(gè)分區(qū)中選擇的所選擇的分區(qū)的時(shí)間耗費(fèi)值的方法。所述虛擬環(huán)境由管理程序提供。所述時(shí)間耗費(fèi)值對(duì)應(yīng)于所選擇的分區(qū)已經(jīng)為處理中斷耗費(fèi)的時(shí)間量。已經(jīng)為所選擇的分區(qū)分配了多個(gè)虛擬CPU。將所述時(shí)間耗費(fèi)值(例如,所選擇的分區(qū)處理中斷所耗費(fèi)的時(shí)間的百分比)與一個(gè)或多個(gè)中斷閾值比較。如果所述比較顯示所述分區(qū)正在為處理中斷耗費(fèi)的時(shí)間超過(guò)閾值,則增加分配給所選擇的分區(qū)的虛擬CPU的數(shù)量。
文檔編號(hào)G06F9/50GK102027453SQ200980117531
公開(kāi)日2011年4月20日 申請(qǐng)日期2009年5月21日 優(yōu)先權(quán)日2008年5月30日
發(fā)明者布賴(lài)特·R·奧爾斯?jié)煞蛩够? 戴維·A·赫普金, 蘇加薩·卡什亞普 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司