專利名稱:在邏輯分區(qū)之間平衡物理系統(tǒng)資源訪問的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及管理在數(shù)據(jù)處理系統(tǒng)中的工作負(fù)荷。更具體地, 本發(fā)明涉及管理在諸如邏輯分區(qū)系統(tǒng)一類的分區(qū)系統(tǒng)中的工作負(fù)荷。
背景技術(shù):
計算機(jī)資源的邏輯分區(qū)允許在單個物理機(jī)器或處理器聯(lián)合體內(nèi)建 立多個系統(tǒng)鏡像。虛擬化是指系統(tǒng)成像的術(shù)語,其中每個系統(tǒng)鏡像,也稱為虛擬機(jī)(VM),使用物理計算機(jī)系統(tǒng)的共享資源與其它VM相互邏輯獨(dú)立地運(yùn)行。這樣,對應(yīng)于一個VM的每個邏輯分區(qū)可以獨(dú)立地復(fù)位,被裝栽對于每個分區(qū)可以不同的操作系統(tǒng),以及在使用不同的輸入輸出(1/0)設(shè)備的不同軟件程序下運(yùn)行。邏輯分區(qū)系統(tǒng)的商業(yè)實(shí)施包括例如IBM公司的POWER5多處理器體系結(jié)構(gòu)。邏輯分區(qū)的一個重要方面是管理各個分區(qū)工作負(fù)荷。在POWER5中,例如,被稱為管理程序的工作負(fù)荷管理器管理在分區(qū)之間的工作負(fù)荷。在這種類型的共享資源環(huán)境下,管理程序使用在廣義上類似于通常的多任務(wù)計算調(diào)度的交織時隙調(diào)度技術(shù)分配物理系統(tǒng)資源,例如存儲器、中央處理單元(CPU)、 1/0等等給邏輯分區(qū)。管理程序試圖通過以按需要和/或預(yù)先分配的方式把分區(qū)工作作為邏輯處理器指派給物理系統(tǒng)資源而平衡分區(qū)的工作負(fù)荷。分區(qū)調(diào)度的一個方面特別涉及處理器資源利用和共享。即,使用 來自共享處理器池的處理器容量的分區(qū)出于調(diào)度目的被定義為封口的或未封口的。封口的分區(qū)不能超過它的配置的處理器權(quán)利。對于邏輯 分區(qū)的未封口支持使得未封口的分區(qū)能夠在共享處理器池中還有未利 用的容量的情形下超過它們的配置容量。這樣的未利用的容量是由于其它分區(qū)沒有完全使用它們?nèi)康呐渲萌萘?,或者共享池的容量沒有 ,皮全部分配而造成的。當(dāng)被指派時,邏輯分區(qū)把分配的物理處理器資源歸類為一個邏輯 處理器。邏輯處理器(有時稱為虛擬處理器)的調(diào)度需要分配預(yù)定的時 間段或時間片,在這些時間段或時間片期間,處理周期、存儲器和其它物理系統(tǒng)資源被分配供分區(qū)在給定的指派窗口內(nèi)使用。在POWER5 上運(yùn)行的AIX操作系統(tǒng)例如具有缺省的10毫秒指派窗口。分配的指 派窗口的任何未使用部分可被分配給系統(tǒng)中一個或多個未封口的分 區(qū)。基于未封口分區(qū)的優(yōu)先級水平的彩票機(jī)制常常被用來確定哪個未 封口的分區(qū)將替代原先調(diào)度的分區(qū)接管所述指派窗口的未使用部分。雖然相對較簡單并且計算上不昂貴,上述的替代指派技術(shù)沒有完 全解決與分區(qū)的邏輯結(jié)構(gòu)和功能特性有關(guān)的潛在的效率不高問題。調(diào) 度效率不高的一個重要原因是在所謂的交互分區(qū)的各自的指派窗口期 間替代這些交互分區(qū)時引起的。分區(qū)根據(jù)它對于外部處理事件的依賴 性和在給定的指派窗口期間相應(yīng)的中斷可能性被表征為"交互的"或者 另外表征為"成批的"。成批分區(qū)在很大程度上獨(dú)立于來自外部事件的 響應(yīng),因而它一般使用它的整個指派窗口。相反,交互分區(qū)通常在指 派窗口期間暫停活動,等待外部事件響應(yīng)。為了有利地使用在指派窗口內(nèi)交互分區(qū)暫停工作時的未使用的周 期,管理程序可以嘗試通過使用上述的優(yōu)先級彩票機(jī)制替代暫停的分 區(qū)。然而,在許多情形下,停止的分區(qū)等待即將來臨的外部事件響應(yīng), 所以很有可能需要額外的周期來完成任務(wù),雖然分區(qū)當(dāng)前處于暫停條 件,但如果沒有分區(qū)替代,該任務(wù)就會在當(dāng)前的指派窗口內(nèi)完成。如果在分區(qū)不活動期間不替代停止的分區(qū),則指派窗口周期將被 浪費(fèi)。另一方面,雖然能夠有利地利用如若不然將被浪費(fèi)的指派窗口 周期,但傳統(tǒng)的分區(qū)替代技術(shù)無法解決中斷被替代的交互分區(qū)的交互 處理的計算成本。這樣的中斷導(dǎo)致需要重新排隊被替代的交互分區(qū)以 及循環(huán)回到隊列以重新指派分區(qū)。不像專用的系統(tǒng),虛擬系統(tǒng)需要對 于每次指派重新確定存儲器占用。所以,除了必須重新排隊以外,被替代的交互分區(qū)一定會延長額外的周期來恢復(fù)存儲器占有量,這是在 虛擬化系統(tǒng)中工作負(fù)荷管理效率不高的重要原因。傳統(tǒng)的邏輯分區(qū)管理無法解決上述問題以及與分區(qū)調(diào)度和運(yùn)行時 工作負(fù)荷平衡有關(guān)的許多其它問題。所以,可以看到,需要一種用于 在邏輯分區(qū)之間管理調(diào)度和工作負(fù)荷平衡的方法、系統(tǒng)和計算機(jī)程序 產(chǎn)品。本發(fā)明解決現(xiàn)有技術(shù)未解決的這些和其它需要。發(fā)明內(nèi)容這里公開了用于在多個邏輯分區(qū)之間平衡對釆用系統(tǒng)虛擬化的計 算機(jī)系統(tǒng)的物理系統(tǒng)資源的訪問的系統(tǒng)、方法和計算機(jī)可讀介質(zhì)。每 個邏輯分區(qū)在啟動期間根據(jù)分配的指派窗口利用水平進(jìn)行分類。與一 個或多個邏輯分區(qū)相關(guān)聯(lián)地確定一個或多個物理系統(tǒng)資源的性能度 量。性能度量確定是在分區(qū)的指派期間使用與編程中斷無關(guān)的硬件檢 測和跟蹤邏輯來進(jìn)行的。在一個給定的物理系統(tǒng)資源集合被配置成分 配給邏輯分區(qū)之 一 的指派窗口期間,該給定的物理系統(tǒng)資源集合根據(jù) 與替代邏輯分區(qū)有關(guān)的所確定的性能度量和該替代邏輯分區(qū)的指派窗 口利用水平被重新分配給該替代邏輯分區(qū)。另一方面,用于在共享物理系統(tǒng)資源的多個邏輯分區(qū)之間平衡工 作負(fù)荷的方法、系統(tǒng)和計算機(jī)程序產(chǎn)品利用存儲器占用統(tǒng)計結(jié)果來確 定分區(qū)替代的適當(dāng)性和優(yōu)先級。該方法包括與邏輯分區(qū)相關(guān)聯(lián)地確定 一個或多個物理系統(tǒng)資源的性能度量以及使用該性能度量來確定存儲 器占用值。在一個給定的物理系統(tǒng)資源集合被分配給邏輯分區(qū)之一的 指派窗口期間,該給定的物理系統(tǒng)資源集合根據(jù)所確定的存儲器占用 值被重新分配給另 一個邏輯分區(qū)。另 一方面,公開了用于動態(tài)地調(diào)節(jié)用來在給定的指派窗口期間調(diào) 度共享物理系統(tǒng)資源的多個邏輯分區(qū)的調(diào)度器的方法、系統(tǒng)和計算機(jī)程序產(chǎn)品。該方法包括在系統(tǒng)啟動期間使用預(yù)先配置的指派窗口時間 指派邏輯分區(qū)。在邏輯分區(qū)指派期間,與邏輯分區(qū)相關(guān)聯(lián)地確定一個 或多個物理系統(tǒng)資源的性能度量。與分區(qū)有關(guān)的性能度量被用來確定邏輯分區(qū)的存儲器占用值,這些邏輯分區(qū)作為調(diào)度試探法之一被用來 動態(tài)確定在指派窗口期間的分區(qū)調(diào)度。通過以下詳細(xì)描寫的說明書將明白本發(fā)明的以上和其它目的、特 征和優(yōu)點(diǎn)。
被認(rèn)為本發(fā)明的特征的新穎特性在所附權(quán)利要求中闡述。然而, 當(dāng)結(jié)合附圖閱讀時,參照圖示的實(shí)施例的以下詳細(xì)說明將最好地了解本發(fā)明本身以及優(yōu)選的實(shí)施方式、本發(fā)明的其它目的和優(yōu)點(diǎn),其中圖1顯示適配于實(shí)施根據(jù)本發(fā)明的工作負(fù)荷平衡和指派窗口調(diào)節(jié) 的虛擬化計算系統(tǒng);圖2是顯示適配于實(shí)行根據(jù)本發(fā)明一個實(shí)施例的分區(qū)調(diào)度的示例 性體系結(jié)構(gòu)的高級示意圖;圖3是顯示可被實(shí)施在圖2所示的體系結(jié)構(gòu)內(nèi)的分區(qū)監(jiān)視單元、 管理程序和分區(qū)歷史表的內(nèi)部體系結(jié)構(gòu)的高級示意圖;圖4是根據(jù)本發(fā)明的用于確定邏輯分區(qū)的替代優(yōu)先級排列的序列 的高級框圖表示;圖5是根據(jù)本發(fā)明實(shí)施的分區(qū)指派器狀態(tài)的高級框圖表示;圖6是顯示根據(jù)本發(fā)明由用于確定替代優(yōu)先級的指派器和分區(qū)監(jiān) 視單元執(zhí)行的步驟的高級流程圖;圖7是顯示根據(jù)本發(fā)明在替代優(yōu)先級排列被用來在邏輯分區(qū)之間 平衡工作負(fù)荷的分區(qū)指派過程期間執(zhí)行的步驟的高級流程圖;圖8A是顯示根據(jù)本發(fā)明的一個實(shí)施例由用于確定被用于指派替 代判決的存儲器占用性能度量的分區(qū)監(jiān)視單元執(zhí)行的步驟的高級流程 圖;圖8B是根據(jù)本發(fā)明在指派窗口周期上收集的每指令數(shù)據(jù)周期的 圖形表示;圖9是顯示在選擇替代分區(qū)時由分區(qū)調(diào)度器執(zhí)行的步驟的高級流 程圖;圖IO顯示根據(jù)本發(fā)明在指派窗口內(nèi)的分區(qū)調(diào)度;以及 圖11是顯示根據(jù)本發(fā)明由用于在指派窗口期間動態(tài)地調(diào)節(jié)分區(qū) 調(diào)度器的分區(qū)監(jiān)視單元所執(zhí)行的步驟的高級流程圖。
具體實(shí)施方式
本發(fā)明的系統(tǒng)和方法能夠在虛擬化的計算環(huán)境內(nèi)實(shí)現(xiàn)更有效的資 源分配和工作負(fù)荷平衡。示例性的虛擬化計算環(huán)境包括多個邏輯分區(qū), 其工作負(fù)荷在兩個或更多個分區(qū)之間被管理。正如這里使用的,術(shù)語"分區(qū)"總地是指被分配給操作系統(tǒng)的數(shù)據(jù)處理硬件資源的子集。分 區(qū)也可稱為線程或任何其它運(yùn)算單位。下面參照附圖顯示和描述用于 實(shí)施本發(fā)明的系統(tǒng)和方法的優(yōu)選實(shí)施例,在附圖中相同的標(biāo)號表示相 同的和相應(yīng)的部件。本發(fā)明使得能夠在工作負(fù)荷管理器的引導(dǎo)下在邏輯分區(qū)之間動態(tài) 地重新分配可共享的資源。 一方面,本發(fā)明通過使用可動態(tài)調(diào)節(jié)的分 區(qū)調(diào)度機(jī)制實(shí)現(xiàn)改進(jìn)的工作負(fù)荷管理和系統(tǒng)效率。分區(qū)調(diào)度機(jī)制的特 征為硬件跟蹤機(jī)制,在一個實(shí)施例中該機(jī)制將與存儲器占用確立有關(guān) 的分區(qū)性能度量確定為分區(qū)調(diào)度度量。另一方面,本發(fā)明利用硬件跟 蹤式存儲器占用度量來動態(tài)調(diào)節(jié)在指派窗口內(nèi)各個邏輯分區(qū)的調(diào)度。本發(fā)明使得能夠在工作負(fù)荷管理器的引導(dǎo)下在邏輯分區(qū)之間動態(tài) 地重新分配可共享的資源,在一個實(shí)施例中工作負(fù)荷管理器可以是管 理程序。這些資源例如可包括CPU資源、邏輯處理器資源、1/0資源、 協(xié)處理器、信道資源等等。在一個實(shí)施例中,資源分配的動態(tài)調(diào)節(jié)是 通過在用于達(dá)到工作負(fù)荷平衡和更大的系統(tǒng)總效率的性能調(diào)節(jié)反饋循 環(huán)中將管理程序功能與硬件和固件分區(qū)監(jiān)視機(jī)制結(jié)合起來而實(shí)現(xiàn)的。一方面,本發(fā)明解決由于存儲器訪問延遲造成的對系統(tǒng)呑吐率的 限制。本發(fā)明通過確定和利用對于分區(qū)調(diào)度的存儲器訪問統(tǒng)計結(jié)果而 緩和存儲器延遲效應(yīng)。這樣的存儲器敏感型分區(qū)調(diào)度改進(jìn)了分區(qū)調(diào)度 判決決定以及提供更大的指派窗口調(diào)度靈活性。在一個實(shí)施例中,本 發(fā)明解決在選擇一個分區(qū)來先占否則就替代原先指派的分區(qū)時的存儲器占用建立成本。本發(fā)明還解決對于被替代的分區(qū)被重新指派來要回 它的原先的指派窗口的一部分的情形的后面的占用建立成本?,F(xiàn)在參照附圖,其中相同的標(biāo)號表示相同的和相應(yīng)的部件,實(shí)施 本發(fā)明的工作負(fù)荷管理特征的虛擬化計算環(huán)境的一個實(shí)施例顯示于圖1。虛擬計算系統(tǒng)100被顯示為包括由國際商用機(jī)器公司,Armonk,N.Y. 提供的POWER5服務(wù)器所包括的許多特征。虛擬計算系統(tǒng)100通常 包括包括管理程序115的固件層資源120以及包括共享處理器池117 和存儲器件121和125的硬件層資源122。共享處理器池117優(yōu)選地 包括多處理器聯(lián)合體,它包括多個處理器108、 110、 112和114,分 別稱為CPU1-CPU4,并具有與各個處理器相關(guān)的緩存Ml-M4 121。 虛擬計算系統(tǒng)100還包括多個邏輯分區(qū)105A-105D,分別稱為 LP1-LP4。管理程序115管理和調(diào)節(jié)硬件層資源122在邏輯分區(qū) 105A-105D之間的分配。CPU1-CPU4和相關(guān)的緩存M1-M4代表由管理程序115以導(dǎo)致資 源虛擬化的方式分配給邏輯分區(qū)LP1-LP4的一部分物理系統(tǒng)資源。物 理系統(tǒng)資源通常是有形的系統(tǒng)裝置、組件和相關(guān)的物理現(xiàn)象,例如存 儲器件、處理器、驅(qū)動器、總線、處理器/總線周期等等,它們不同于 諸如程序分層組織等非物理的抽象的系統(tǒng)資源以及例如與操作系統(tǒng)有 關(guān)的程序協(xié)議。物理系統(tǒng)資源還不同于可邏輯地或虛擬地定義的實(shí)體, 諸如虛擬機(jī)。每個邏輯分區(qū)LP1-LP4包括一個或多個邏輯處理器(沒 有直接示出),每個邏輯處理器代表被分配給該分區(qū)的物理處理器 CPU1-CPU4之一的全部或一部分。分區(qū)105A-105D中一個給定的分 區(qū)的邏輯處理器可以專用于該分區(qū),使得底層的處理器資源被保留用 于該分區(qū),或者可被共享,使得底層的處理器資源可用于其它分區(qū)。在所顯示的實(shí)施例中,每個邏輯分區(qū)LP1-LP4用作具有在分區(qū)之 間可以不同的駐留操作系統(tǒng)104和一個或多個應(yīng)用102的一個單獨(dú)系 統(tǒng)。在一個實(shí)施例中, 一個或多個操作系統(tǒng)104A-104D可以是Linux 操作系統(tǒng)或由IBM公司提供的i5/OSTM操作系統(tǒng)。另外,操作系統(tǒng) 104A-104D(或它的子集)包括相應(yīng)的OS工作負(fù)荷管理器106A-106D,用于管理在每個相應(yīng)分區(qū)內(nèi)的應(yīng)用工作負(fù)荷。在一個實(shí)施例中,管理程序115運(yùn)行為未被授予容量的一個隱藏 分區(qū)。系統(tǒng)資源分配給邏輯分區(qū)LP1-LP4由管理程序115來管理,該 管理程序可以由運(yùn)行在處理器CPU1-CPU4上的微碼來實(shí)施。管理程 序調(diào)用提供了供任何操作系統(tǒng)104A-104D與管理程序115通信的一種 手段,通過使用下面更詳細(xì)地說明的技術(shù)支持使分區(qū)空閑時間最小化 的調(diào)度試探法,使得能夠更有效地使用物理處理器容量。邏輯分區(qū) LP1-LP4和管理程序115典型地包括一個或多個有形程序模塊,這些 模塊駐留在與處理器CPU1-CPU4有關(guān)的中央存儲器的相應(yīng)部分中。圖2是顯示適配于實(shí)行根據(jù)本發(fā)明一個實(shí)施例的分區(qū)調(diào)度的示例 性體系結(jié)構(gòu)200的高級示意圖。分區(qū)調(diào)度體系結(jié)構(gòu)200集成分區(qū)管理 單元(PMU)204與其它系統(tǒng)組件,例如共享處理器池117、管理程序 115和緩存206。雖然PMU 204在圖2上被顯示為分開的模塊,但應(yīng) 當(dāng)指出,PMU 204的某些或全部硬件、固件和軟件組件可以合并在管 理程序115內(nèi)。此外,應(yīng)當(dāng)指出,緩存206代表由包含在共享處理器 池117中的一個或多個CPU 108、 110、 112和114使用的某些或全部 集體緩存資源Ml-M4。PMU204包括邏輯、程序模塊和其它硬件、固件和/或軟件模塊, 它們監(jiān)視例如與存儲器使用有關(guān)的物理系統(tǒng)資源性能度量,用于分配 給分區(qū)LP1-LP4的資源。這樣的性能度量優(yōu)選地包括緩存使用,特別 是與每個分區(qū)LP1-LP4的緩存占用有關(guān)的度量。圖2的高級示意圖顯 示PMU 204與其它系統(tǒng)組件之間的集成和交互接口 ,這些接口使得能 夠監(jiān)視與邏輯分區(qū)有關(guān)的物理系統(tǒng)資源。當(dāng)當(dāng)前指派的邏輯分區(qū)使用共享處理器池117中的CPU執(zhí)行它的 指令流以及經(jīng)由加載或存儲操作訪問存儲器位置的內(nèi)容時,所述CPU 通過CPU-緩存接口 212發(fā)出這些請求到它的相關(guān)的緩存206。緩存206 的任務(wù)是隨后確定存儲器內(nèi)容是否存在于緩存的存儲中,以及(a)如果 是的話,則把緩存的數(shù)據(jù)返回給CPU,或(b)如果不是的話,則在執(zhí)行 加載或存儲之前,從諸如共享存儲器125 —類的主存儲器取回存儲器內(nèi)容。如果所請求的存儲器內(nèi)容已經(jīng)在緩存206中,則數(shù)據(jù)被返回到 CPU,而不必例如經(jīng)由緩存-存儲器接口 210訪問共享存儲器125。在 這時不需要與PMU 204交互。然而,如果請求的數(shù)據(jù)不在緩存206中, 則數(shù)據(jù)必須通過緩存-存儲器接口 210從主共享存儲器125取回。參照圖3,圖上顯示可被實(shí)施在圖2所示的體系結(jié)構(gòu)內(nèi)的分區(qū)監(jiān) 視單元204、管理程序115和分區(qū)歷史表305的內(nèi)部體系結(jié)構(gòu)的高級 示意圖。輸入側(cè)包括PMU 204,它被顯示為包括跟蹤邏輯模塊302, 它處理來自CPU接口 208和緩存接口 214的輸入,生成分區(qū)向量308、 310和312。在它的輸出側(cè),該體系結(jié)構(gòu)包括管理程序115和分區(qū)歷史 表305。在所顯示的實(shí)施例中,管理程序115包括優(yōu)先級計算模塊304, 它處理分區(qū)向量308、 310和312,生成和更新分區(qū)歷史表305的內(nèi)容。 分區(qū)歷史表305包含用于虛擬計算系統(tǒng)IOO內(nèi)的所有N個邏輯分區(qū)的 條目。在顯示的實(shí)施例中,分區(qū)歷史表305被顯示為包括按行排列的 記錄,每個記錄對應(yīng)于系統(tǒng)的N個邏輯分區(qū)中的一個邏輯分區(qū),其中 每個分區(qū)記錄包含多個按列排列的數(shù)據(jù)字段。在按列排列的字段當(dāng)中 有邏輯分區(qū)(LP)標(biāo)識符字段以及各個邏輯分區(qū)的關(guān)于每指令周期(CPI) 值、緩存行計數(shù)(CLC)值和緩存未命中計數(shù)(CMC)值的字段,它們將 在下面更詳細(xì)地說明。除了硬件檢測的CPI、 CLC和CMC值以外, 用于每個分區(qū)表條目的按列排列的字段包括關(guān)于可以從一個或多個上 述的CPI、 CLC和CMC值導(dǎo)出的存儲器占用時間值TFP、占用值方 差VAR以及緩存相似性(CA)值的字段。在PMU 204內(nèi),跟蹤邏輯模塊302包括邏輯和數(shù)據(jù)存儲硬件裝置, 用于檢測、處理和臨時存儲物理系統(tǒng)資源的性能度量,例如圖l和2 所示的處理和存儲器資源。與諸如存儲器和CPU等物理資源在檢測時 被分配給的邏輯分區(qū)相關(guān)聯(lián)地對性能度量進(jìn)行檢測。被檢測和處理的 性能度量與物理資源當(dāng)前被分配給的邏輯分區(qū)的標(biāo)識相關(guān)聯(lián)地存儲。 在給定的性能度量集合與邏輯分區(qū)之間的關(guān)聯(lián)性可以由包含一個或多 個當(dāng)前指派的分區(qū)的標(biāo)識的CPU接口寄存器314來提供。在寄存器 314內(nèi)的分區(qū)ID值優(yōu)選地在指派決定時被設(shè)置。通過跟蹤邏輯模塊302而收集的示例性的性能度量可包括CPI計 數(shù)、緩存行計數(shù)、緩存未命中計數(shù)以及其它與存儲器訪問或處理效率 有關(guān)的度量,這些度量可以直接或在計算上根據(jù)在CPU和/或緩存接 口 208和214上檢測到的信號來確定。處理器利用資源寄存器322可 被用來提供周期計數(shù),以便測量在物理處理器上在分區(qū)被指派的時間 片期間的活動。在所顯示的實(shí)施例中,對于跟蹤邏輯302檢測到的每 個當(dāng)前指派的分區(qū)a-m的CPI計數(shù)被存儲在指派分區(qū)向量308內(nèi)。同 樣地,對于跟蹤邏輯302檢測到的指派的邏輯分區(qū)a-m的緩存行計數(shù) 和緩存未命中計數(shù)分別被存儲在指派分區(qū)向量310和312內(nèi)。在優(yōu)選實(shí)施例中,在跟蹤邏輯模塊302內(nèi)的檢測邏輯和數(shù)據(jù)存儲 裝置包括硬件和固件裝置,它們與程序中斷機(jī)制例如諸如操作系統(tǒng)中 斷無關(guān)地收集和處理在CPU和緩存接口 208和214上的信號。這樣的 跟蹤和存儲裝置可包括硬件,例如邏輯門、寄存器等等,和固件編碼, 例如由系統(tǒng)總線探聽器使用的固件編碼。跟蹤邏輯模塊302與軟件程 序中斷無關(guān)地在硬件和/或固件級執(zhí)行它的檢測、處理和存儲功能。這 樣的檢測、處理和存儲功能因而與操作系統(tǒng)核心管理約束無關(guān)地執(zhí)行。 這樣,跟蹤邏輯模塊302收集性能度量的采樣速率可以具有確定用于 分區(qū)調(diào)度和替代的準(zhǔn)則數(shù)據(jù)所需要的足夠細(xì)的粒度,例如0.1毫秒, 下面將更詳細(xì)地il明。在指派分區(qū)向量308、 310和312內(nèi)的系統(tǒng)性能度量分別包括關(guān)于 多個當(dāng)前或以前指派的邏輯分區(qū)a-m中的每一個的CPI計數(shù)、緩存行 計數(shù)和緩存未命中計數(shù)。在每個記錄的分區(qū)向量值與相應(yīng)的邏輯分區(qū) 之間的關(guān)聯(lián)在圖3上用下標(biāo)a-m可視地表示,其中每個下標(biāo)a-m代表 一個特定的邏輯分區(qū)。在存儲分區(qū)向量308、 310和312的跟蹤邏輯 302內(nèi)的存儲裝置優(yōu)選地是專用寄存器。被跟蹤邏輯302檢測并且被收集在指派分區(qū)向量308、 310和312 中的性能度量由管理程序115處理,以更新分區(qū)歷史表305。由管理 程序115生成或接收的中斷信號確定何時使用收集在指派分區(qū)向量 308、 310和312內(nèi)的系統(tǒng)數(shù)據(jù)來更新分區(qū)表305。中斷表示用于至少一個指派分區(qū)a-m的指派窗口超時,不然也是與該超時同時發(fā)生。在 接收到中斷后,優(yōu)先級數(shù)值計算模塊304取得并處理分區(qū)向量308、 310和312,以填充或更新分區(qū)歷史表305內(nèi)的條目。在所顯示的實(shí)施 例中,響應(yīng)于更新中斷信號,在分區(qū)向量308、 310和312內(nèi)的CPI、 CLC和MC度量相對于相應(yīng)的邏輯分區(qū)的記錄的各個按列的度量條目 進(jìn)行比較或者處理。假設(shè)圖3顯示邏輯分區(qū)a-m被最初指派的初始系 統(tǒng)啟動時間,優(yōu)先級數(shù)值計算模塊304用每個分區(qū)a-m的記錄條目填 充分區(qū)歷史表305,并把向量308、 310和312中的分區(qū)向量數(shù)據(jù)輸入 到相應(yīng)的記錄條目中。記錄生成過程在系統(tǒng)初始化期間繼續(xù)進(jìn)行,直 至全部N個邏輯分區(qū)都已在分區(qū)歷史表305內(nèi)填充了記錄為止。在對于每個邏輯分區(qū)的初始指派和隨后的分區(qū)記錄生成后,優(yōu)先 級數(shù)值計算模塊304在每個被告知的更新間隔繼續(xù)處理指派向量308、 310和312,以添加、替代或者修改在分區(qū)歷史表305內(nèi)的性能度量和 /或替代優(yōu)先級數(shù)值條目,下面將更詳細(xì)地說明。圖4是根據(jù)本發(fā)明的用于確定邏輯分區(qū)的調(diào)度優(yōu)先級排列的序列 的高級框圖表示。具體地,圖4顯示例如可以由管理程序115在做出 指派決定例如替代或先占當(dāng)前指派的分區(qū)時釆用的示例性的按時間的 和基于事件的優(yōu)先級排序因素。為了將優(yōu)先級排序作為可動態(tài)調(diào)節(jié)的因素合并到總的分區(qū)指派調(diào) 度內(nèi),管理程序115確定每個邏輯分區(qū)的相對或絕對優(yōu)先級作為與緩 存占用有關(guān)的度量的函數(shù),因此必須從PMU 204取出硬件檢測的性能 度量。如上所述,直接從存儲器和CPU總線接口確定的物理系統(tǒng)性能度 量通過使用在跟蹤邏輯模塊302內(nèi)的硬件級邏輯和寄存器被檢測和初 始地寄存和處理。由跟蹤邏輯模塊302檢測或生成的緩存占用度量優(yōu) 選地包括每個指派分區(qū)的CPI計數(shù)、緩存行計數(shù)和緩存未命中計數(shù), 并被收集成分區(qū)向量308、 310和312,它們可以與其它調(diào)度優(yōu)先級因 素相組合,得出總的指派優(yōu)先級。圖5-9與圖4相結(jié)合顯示如何把分區(qū)監(jiān)視功能合并到邏輯分區(qū)調(diào)度中的示例性實(shí)施例,特別是當(dāng)它涉及在分配最小分區(qū)權(quán)利后替代或先占指派的分區(qū)或調(diào)度分區(qū)時。首先,圖4所示的分區(qū)優(yōu)先級排列序 列顯示對多種優(yōu)先級排列因素的累積和利用,包括被用來設(shè)置和調(diào)節(jié) 分區(qū)的優(yōu)先級排序值的硬件檢測的物理系統(tǒng)性能度量。圖6更詳細(xì)地 顯示硬件檢測的物理系統(tǒng)性能度量,特別是與存儲器訪問性能有關(guān)的 性能度量被確定和有形地用來表征每個分區(qū)的一個或多個分區(qū)調(diào)度優(yōu) 先級排列因素的計算機(jī)實(shí)施的處理過程。圖7-9顯示用于使用分區(qū)相 關(guān)的存儲器占用度量來確定優(yōu)先級和調(diào)節(jié)指派窗口的計算機(jī)實(shí)施的處 理過程。諸如圖5和6所示的優(yōu)先級排列表征和/或調(diào)度器調(diào)節(jié)可以與 管理程序指派器一起使用,例如被合并到管理程序115內(nèi)的指派器。 然而,應(yīng)當(dāng)指出,這里描述的本發(fā)明特性和技術(shù)不一定限于任何一個 或多個顯示的實(shí)施例。本領(lǐng)域技術(shù)人員將容易看到和明白,確定和利 用分區(qū)的優(yōu)先級排序的過程的各個方面可被改變,而不背離本發(fā)明的 精神和范圍,而且,這里描述的機(jī)制和過程的基本方面可以與其它調(diào) 度算法一起使用。繼續(xù)參照圖4,生成具有基本優(yōu)先級bp(Pi)402的分區(qū)Pi,它一開 始可以是零值或者中性值,這樣,它對分區(qū)調(diào)度/替代決定沒有影響。 基本優(yōu)先級值bp(Pi)可以是可被管理程序115用來作出分區(qū)先占和/或 替代決定的數(shù)值或其它定量值或指數(shù)。分區(qū)Pi的總的優(yōu)先級值425優(yōu) 選地包括時間公平性分量,該分量動態(tài)地調(diào)節(jié)基本優(yōu)先級bp(Pj) 402。 如圖4所示,在時間t的當(dāng)前優(yōu)先級cp(Pj,t)406是對于每個時間量通 過提升分區(qū)的基本優(yōu)先級bp(Pi)402某個時間相關(guān)的增量d而計算的, 它被累積地表示為優(yōu)先級和值dStj 404。當(dāng)前優(yōu)先級cp(Pi,t) 406因此 包括基本優(yōu)先級加上落在優(yōu)先級和值dStj 404內(nèi)的某個地方的增量公 平性分量,取決于現(xiàn)在的時間間隔j。對于基于非性能度量的分區(qū)指派, 邏輯分區(qū)的優(yōu)先級等于當(dāng)前優(yōu)先級cp(Pi,t) 406。本發(fā)明提供分區(qū)調(diào)度機(jī)制,它還提供和包含分區(qū)相關(guān)的物理系統(tǒng) 性能度量來確定分區(qū)Pj的調(diào)度優(yōu)先級425。這意味著對于使用共享的 物理處理資源集合(處理器、存儲器等等)在虛擬化系統(tǒng)內(nèi)運(yùn)行的多個邏輯分區(qū),同時計算不同分區(qū)的優(yōu)先級可以產(chǎn)生不同的數(shù)值。具體地,分區(qū)的與性能無關(guān)的優(yōu)先級cp(Pi,t) 406每隔一個調(diào)度時間間隔就用基 于性能的因子Ap 418來調(diào)節(jié)420?;谛阅艿囊蜃覣p 418代表一系列 可能的特定數(shù)值中的一個數(shù)值,分區(qū)的優(yōu)先級水平可以通過使用與所 討論的分區(qū)有關(guān)的系統(tǒng)性能度量而增加或減小該數(shù)值。在一個實(shí)施例 中,使用用于處理分區(qū)緩存占用值CFP(Pi)的可靠性因子計算模塊; 416來計算因子Ap 418。 CFP(Pi)本身被計算為通過本發(fā)明的機(jī)制經(jīng)由 緩存占用計算模塊G) 412代表的一個或多個邏輯函數(shù)被確定數(shù)量的分 區(qū)Pi的緩存占用值。即, 一組一個或多個分區(qū)相關(guān)的物理資源度量 PRM(PO由緩存占用計算模塊0 412處理,以便確定對于確定分區(qū)調(diào)度 優(yōu)先級有用的指定的存儲器占用值,例如CFP(Pi)。占用計算模塊 412 和可靠性因子計算模塊i;416確定基于性能的因子Ap 418。如圖4所示, 在時間t對于分區(qū)Pi的總優(yōu)先級值因此是基本分區(qū)優(yōu)先級、時間公平 性調(diào)節(jié)和與分區(qū)相關(guān)聯(lián)地測量的物理系統(tǒng)度量的組合函數(shù)。圖5是根據(jù)本發(fā)明可以在用于替代被指派但暫停的分區(qū)的管理程 序115內(nèi)實(shí)施的分區(qū)指派器狀態(tài)的高級框圖表示。替代分區(qū)向量或替 代隊列505才艮據(jù)這里^Hf的方法由管理程序115生成和動態(tài)地調(diào)節(jié)。 例如,在當(dāng)前正在運(yùn)行的分區(qū)在指派窗口時間量過去之前在當(dāng)前指派 窗口期間暫停處理時,替代隊列505被訪問以便確定絕對或相對替代 優(yōu)先級排序。替代隊列505被組織為按優(yōu)先級排列的替代目標(biāo)LPa-LPn 的隊列,其中每個目標(biāo)包含或者鏈接到相應(yīng)的分區(qū)控制塊(PCB) 502a-502n,每個分區(qū)控制塊保留分區(qū)狀態(tài)信息,例如分區(qū)的被配置和 調(diào)節(jié)的指派調(diào)度狀態(tài)和替代優(yōu)先級狀態(tài),還有其他分區(qū)特定的數(shù)據(jù)。 如圖5所示,替代目標(biāo)LPa-LPn可以從"max,,(即,在可用的替代分區(qū) 中的最高優(yōu)先級)到"min,,(即,在可用的替代分區(qū)中的最低優(yōu)先級)進(jìn) 行優(yōu)先級排列。替代隊列505的部件可以有利地用來確定調(diào)度優(yōu)先級, 下面參照圖6說明。參照圖6,圖上顯示根據(jù)本發(fā)明的、由用于確定分區(qū)調(diào)度優(yōu)先級 數(shù)值的分區(qū)監(jiān)視單元204和管理程序115執(zhí)行的步驟的高級流程圖。處理過程從步驟602和604開始,邏輯分區(qū)4皮初始化和識別,例如通 過生成用于每個分區(qū)的相應(yīng)的分區(qū)控制塊,例如圖5所示的分區(qū)控制 塊。對于每個分區(qū)設(shè)置基本替代優(yōu)先級排列并使其遞增,正如步驟606 和608所示。管理程序115優(yōu)選地以圖4所示的方式i殳置和增加分區(qū) 的替代優(yōu)先級,其中時間公平性調(diào)度函數(shù)被用來以某種歸 一化的方式 動態(tài)調(diào)節(jié)分區(qū)優(yōu)先級數(shù)值。在步驟610,邏輯分區(qū)在一個例子中根據(jù)由管理程序115指定的 配置的指派窗口分配被指派。在分區(qū)配置窗口期間,基于硬件的跟蹤 裝置和模塊,例如在跟蹤邏輯模塊302內(nèi)的裝置,被用來與在指派窗 口期間資源被分配到的各個邏輯分區(qū)相關(guān)聯(lián)地跟蹤一個或多個物理系 統(tǒng)資源的性能度量(步驟615)。性能度量跟蹤在與諸如操作系統(tǒng)中斷的 編程中斷無關(guān)的硬件級別上被執(zhí)行,以及優(yōu)選地包括跟蹤C(jī)PI以及其 它物理資源處理度量。如圖6所示,跟蹤物理資源度量包括多個子步驟,其中與指派的 分區(qū)相關(guān)聯(lián)地跟蹤度量,以及其中硬件檢測的度量被用來計算或者確 定可被管理程序115用于分區(qū)替代或其它指派決定的調(diào)度優(yōu)先級排序 數(shù)值。如步驟612所示,使用硬件級邏輯和寄存器以具有記錄時間增量AUe的記錄速率收集和存儲分區(qū)相關(guān)的物理資源度量,所述Atrec小于由指派時間Top定義的分區(qū)指派時間除以大于1的增量因子后得到 的分?jǐn)?shù)。根據(jù)和/或結(jié)合硬件檢測的物理資源度量集合,計算分區(qū)相關(guān) 的優(yōu)先級值(步驟614)。分區(qū)相關(guān)的優(yōu)先級值從硬件檢測/存儲的物理 系統(tǒng)度量來計算或者可以是檢測/存儲的度量本身。例如,參照圖3所 示的實(shí)施例,在步驟612收集的物理資源度量包括在指派分區(qū)向量308 中收集的CPI值,在步驟614計算的優(yōu)先級值包括在下面參照圖8A 和8B更詳細(xì)地顯示和描述的處理過程中根據(jù)CPI數(shù)值計算的存儲器 占用值。與在步驟615的性能度量確定同時發(fā)生,諸如在分區(qū)歷史表 305內(nèi)顯示的VAR值那樣的可靠性因子優(yōu)選地在用于分區(qū)的每個指派 窗口處被計算和更新,如在步驟616所示的。參照圖8A,提供了包含在步驟615中的處理步驟的更詳細(xì)的說明。具體地,圖8A顯示諸如由用于確定被用于指派決定的存儲器占用性 能值的PMU 204和管理程序115執(zhí)行的步驟的高級流程圖。處理過程 從分區(qū)指派步驟610開始,并進(jìn)到步驟806,它顯示CPI數(shù)據(jù)在指派 分區(qū)的指派時間內(nèi)的時間間隔點(diǎn)tn被確定和記錄。在U時收集的CPI 數(shù)值與用于同一分區(qū)的以前記錄的CPI值進(jìn)行比較。以前記錄的CPI 值代表在同一個分區(qū)的指派時間內(nèi)早先的點(diǎn)處確定的CPI值。在指派 時間中各個點(diǎn)處收集的CPI數(shù)據(jù)的示例性圖形表示被顯示于圖8B。指 派時間開始和結(jié)束的點(diǎn)在圖8B上分別表示為在由Top表示的指派時 間上的to和tDP。在對于同一分區(qū)的一次或多次這樣的指派中CPI數(shù)據(jù)被確定和記錄所在的點(diǎn)被表示為tred)、 treel、 tree2、 U。等。回到圖8A的步驟808,在CPI數(shù)據(jù)值之間的比較可包括例如,在時間trec2記錄的CPI數(shù)值與在時間tred記錄的CPI數(shù)值的比較。在優(yōu)選實(shí)施例中,在對于給定的邏輯分區(qū)的不同指派時間上執(zhí)行按不同時間增量的CPI數(shù)據(jù)確定。本發(fā)明解決與在每次分區(qū)指派時重新建立存儲器占用的需求有關(guān)的指派時的顯著成本。在步驟808執(zhí)行的比較的目的是確定由分區(qū)建 立存儲器占用所需要的時間。存儲器占用建立確定包括確定拐角點(diǎn),例如圖8B上tree3所顯示的點(diǎn),在這一點(diǎn)處,CPI值與在前一指派時間的前一時間增量記錄的CPI值相比變化小于指定的閾值。在圖8B上, 時間trec3代表這樣的拐角點(diǎn),在這一點(diǎn),在t rec3記錄的CPI值與在trec2記錄的CPI值的差值小于閾值差值A(chǔ)CPlTHRSHLD。占用時間T印因此是在t0與trec3之間。在步驟810示出關(guān)于在CPI數(shù)值之間的差值是否小于指定的閾值的判斷。響應(yīng)于沒有超過閾值CPI差值,在步驟806記錄的CPI值(即, 最后的CPI值)被記錄(步驟812),并且,在步驟610返回到同一分區(qū) 的下一次指派之前,對于下一個指派時間,使記錄時間間隔遞增(步驟 814)。當(dāng)諸如在trec3收集的CPI值與以前在trec2收集的CPI值之間的 給定的比較導(dǎo)致滿足閾值準(zhǔn)則時,用于該分區(qū)的占用建立時間例如與 分區(qū)的標(biāo)識相關(guān)聯(lián)地被記錄在分區(qū)歷史表305內(nèi)(步驟816)?;氐綀D6,并前進(jìn)到步驟618,管理程序115和/或PMU 204可以 確定每個邏輯分區(qū)的指派時間利用。在步驟618的確定被用來把每個 邏輯分區(qū)分類為使用幾乎全部它的配置的指派時間分配的成批分區(qū)或 者受到處理中斷,其中在指派時間期間該分區(qū)必須等待外部事件的交 互分區(qū)。被分類為成批分區(qū)的指派分區(qū)將利用幾乎整個指派時間,而 交互分區(qū)經(jīng)受處理中斷,例如此時處理暫停并且必須等待來自另一個 進(jìn)程的響應(yīng)。如果給定分區(qū)的指派時間利用超過指定的閾值,在一個 實(shí)施例中它是95%利用率,則分區(qū)被分類為成批分區(qū)(步驟618和 622)。否則,如步驟618和620所示,分區(qū)4皮分類為交互分區(qū)。指派時間利用分類被包括作為在如圖5所示的每個分區(qū)的分區(qū)控 制塊內(nèi)的字段,它可以被管理程序115用作調(diào)度優(yōu)先級準(zhǔn)則。例如, 管理程序115可以把被識別為交互的分區(qū)排除在作為在替代隊列505 內(nèi)的替代分區(qū)的合格分區(qū)以外(見圖5)。而且,如下面參照圖7說明的, 指派時間利用分類可被管理程序使用來確定是否把指派窗口的剩余部 分重新分配給已被先占或替代的原始分區(qū)。確定分區(qū)調(diào)度優(yōu)先級值的處理過程在步驟624和626結(jié)束,例如 被存儲在分區(qū)歷史表305和PCB 502a-502n中的優(yōu)先級數(shù)值被輸入或 被更新。如以上參照圖3-5顯示和說明的,硬件檢測的性能度量與諸 如在分區(qū)歷史表305內(nèi)的邏輯分區(qū)相關(guān)聯(lián),并且被管理程序115用來 確定諸如由替代隊列505建立的優(yōu)先級排序。在優(yōu)選實(shí)施例中,指派 時間利用分類和性能度量確定可以在系統(tǒng)啟動期間執(zhí)行,它們可以按 時間測量(例如,5分鐘)或按照遍歷分區(qū)配置隊列的指定的輪轉(zhuǎn)次數(shù)。 在收集至少初始的優(yōu)先級排序數(shù)據(jù)集合后,管理程序115利用該數(shù)據(jù) 用于指派分區(qū)的替代和可能的先占以及其它調(diào)度決定。圖7是顯示根據(jù)本發(fā)明的由諸如在管理程序115內(nèi)的指派器那樣 的指派器為平衡在邏輯分區(qū)之間的工作負(fù)荷所執(zhí)行的步驟的高級流程 圖。處理過程從步驟702和710開始,管理程序115根據(jù)系統(tǒng)配置的 分區(qū)調(diào)度指派下一個集合的一個或多個分區(qū)。在當(dāng)前的指派時間期間, 包括用于指派分區(qū)的CPI和CLC的物理系統(tǒng)資源度量被記錄和更新(步驟712),以及諸如在圖6的步驟614計算得到的替代優(yōu)先級排序值 被更新(步驟713)。如步驟714所示,管理程序115可以根據(jù)分區(qū)替代優(yōu)先級排序數(shù) 據(jù)確定一個給定的指派分區(qū)是否可以被先占。正如這里利用的,分區(qū) 先占類似于并且包括在替代在指派窗口期間已放棄的指派分區(qū)時采用 的許多相同的機(jī)制。差別在于,分區(qū)先占可能不要求被替代的分區(qū)已 暫停處理作為觸發(fā)這里描述的替代步驟的條件。如步驟714和720所 示,響應(yīng)于確定對于給定的指派分區(qū)根據(jù)諸如被包含在分區(qū)歷史表305 中的優(yōu)先級排序值已滿足預(yù)先規(guī)定的先占準(zhǔn)則,管理程序115暫停指 派的分區(qū),并在指派窗口的剩余部分(可能是整體)內(nèi)把系統(tǒng)資源分配 給選定的分區(qū)。替代分區(qū)根據(jù)替代優(yōu)先級數(shù)據(jù)以和下面參照步驟718 和圖9描述的調(diào)度優(yōu)先級排序步驟相同或類似的方式進(jìn)行選擇。管理 程序115使用在替代隊列505和分區(qū)控制塊502a-502n內(nèi)的優(yōu)先級排 序數(shù)據(jù)來確定下一個要指派的分區(qū)或者當(dāng)前指派的分區(qū)是否將被所選 擇的替代分區(qū)先占。如果先占準(zhǔn)則不滿足(步驟714)以及原先調(diào)度的分區(qū)利用它的整 個指派分配時間(即,分區(qū)沒有暫停處理)(步驟716),則管理程序指派 /負(fù)荷平衡過程在步驟710繼續(xù)進(jìn)行下一個指派。如果被指派的和未先占的分區(qū)在指派窗口期間暫停處理(步驟 716),則管理程序115處理由替代隊列505和/或分區(qū)控制塊502a-502n 關(guān)于可用分區(qū)所提供的替代優(yōu)先級排序數(shù)據(jù),以便確定預(yù)先規(guī)定的分 區(qū)替代準(zhǔn)則是否滿足(步驟718)。在步驟718顯示的替代確定優(yōu)選地包括評估當(dāng)前空閑的邏輯分區(qū)的替代優(yōu)先級值,以便確定在分區(qū)當(dāng)中哪一個是合格的,適于替代現(xiàn) 在暫停的分區(qū)。替代合格性確定過程根據(jù)所施加的限制,例如指派窗口的有限的剩余部分,來評估被包括在分區(qū)控制塊502a-502n中的一 個或多個分區(qū)替代優(yōu)先級值,例如存儲器占用值。例如,原先指派的 分區(qū)具有分區(qū)窗口時間TDW,它對于IBM的POWER5體系結(jié)構(gòu)是10 毫秒。分區(qū)窗口時間Tdw被指派増量Tdpstch有效地分割,該指派增量是用于分區(qū)的配置的最小運(yùn)行時增量,因此是管理程序115可以替 代或先占指派分區(qū)所采用的最小增量。在這些條件下,在步驟718的 替代準(zhǔn)則確定過程包括根據(jù)由TDPSTCH施加的限制和對于暫停分區(qū)的 TDW的剩余部分來確定哪些可用的替代分區(qū)是合格的。本發(fā)明包括指派選擇特性,其保證一個規(guī)定水平的調(diào)度效率。即, 參照圖9,圖上顯示分區(qū)調(diào)度器在確定是否滿足替代準(zhǔn)則和以保證規(guī) 定水平的處理效率的方式來選擇替代分區(qū)時所執(zhí)行的步驟的高級流程 圖。處理過程從步驟902和904開始,替代事件例如先占準(zhǔn)則被滿足 或者指派分區(qū)暫停引發(fā)替代準(zhǔn)則確定。在步驟718顯示的替代準(zhǔn)則確 定操作包含子步驟卯6和908,用于使用可用分區(qū)的存儲器占用優(yōu)先 級值以及指派窗口的剩余的可用部分來選擇替代分區(qū)。步驟906顯示有關(guān)可用的替代分區(qū)的占用建立時間Tfp(可被記錄 到分區(qū)控制塊和/或分區(qū)歷史表305中)是否小于指派窗口的剩余部分Tre訓(xùn)ining的確定操作。另外,在步驟卯6顯示的確定操作利用可被設(shè)置為大于1的數(shù)值的可調(diào)節(jié)因子x來確定用于一個分區(qū)的T印值是否構(gòu)成替代分區(qū)可以達(dá)到規(guī)定水平的處理效率的可用指派窗口時間Tremai咖g的足夠小的部分。在一個實(shí)施例中,例如,管理程序115在 步驟718根據(jù)替代邏輯分區(qū)是否具有滿足關(guān)系式xTfp 5 Tremaining的確 定的存儲器占用值Tfp做出替代判斷,其中X是大于1的數(shù)值,優(yōu)選 地至少是10。如果如步驟906和908所示,不滿足替代優(yōu)先級值評估準(zhǔn)則,則 該分區(qū)被排除為可能的替代。對于一個或多個分區(qū)執(zhí)行步驟906,直 至滿足替代準(zhǔn)則為止,然后處理過程在步驟910結(jié)束?;氐綀D7,響應(yīng)于選擇替代分區(qū),管理程序115從被替代的分區(qū) 釋放指派窗口資源,并把資源分配給所選擇的替代分區(qū)(步驟720)。如 果被替代的分區(qū)已被分類為非交互的(即,成批的),如參照圖5和6 顯示和描述的,則替代分區(qū)耗用剩余的指派窗口時間,并且處理過程 回到下一個指派時間(步驟722和710)。然而,如果被替代的分區(qū)是交 互分區(qū)(步驟722),則針對剩余的指派窗口時間的 一個子集指派替代分區(qū)(步驟723)。在替代指派時間結(jié)束后,指派窗口資源被重新分配給原 先被替代的分區(qū)(步驟724),并且處理過程繼續(xù)進(jìn)行(步驟726)或結(jié)束 (步驟728)。圖IO顯示根據(jù)本發(fā)明的在指派窗口內(nèi)的分區(qū)調(diào)度。在圖10所示的指派窗口被部分地定義為具有在tstart開始和在tfi^h結(jié)束的配置的指派窗口時間TDW,它通過在管理程序115內(nèi)的計數(shù)器部件(圖上未直接顯示)來實(shí)施,該計數(shù)器部件給管理程序提供分區(qū)活動在指定的指派窗口間隔上的定時中斷。在所顯示的實(shí)施例中,被表示為Pp P2、 P3的 分區(qū)由管理程序115在指派窗口內(nèi)分別在時間tstart、 ^和t2開始的交織的時間間隔上被指派。按照每邏輯分區(qū)調(diào)度的慣例,分區(qū)p!、 p2、P3每個具有預(yù)先配置的指派時間權(quán)利,管理程序115使用這些權(quán)利用于調(diào)度,以保證分區(qū)收到它們各自的最小權(quán)利。在所顯示的實(shí)施例中,分區(qū)P!、 P2、 P3的最小權(quán)利在圖10上被 顯示為分別在tstart+、 tj-t2、 t2-t3的時間。在權(quán)利時間后是t3-tfinish的 剩余時間,在這段剩余時間內(nèi)分區(qū)Pl、 P2、 P3可以由管理程序115根 據(jù)公平性和調(diào)度優(yōu)先級排序因素來指派。而且,如上所述,分區(qū)可以 暫停處理,圖中示出分區(qū)P2在它的授予權(quán)利的指派時間內(nèi)暫停處理。圖11是顯示根據(jù)本發(fā)明的例如在圖10所示的指派窗口期間分區(qū) 調(diào)度調(diào)節(jié)的高級流程圖。處理過程在步驟1102開始,接收到硬(即,與分區(qū)活動無關(guān))中斷,告知下一個指派窗口開始。在步驟1104, 一個邏輯分區(qū),例如分區(qū)Pp P2、 P3之一,在容納該分區(qū)的配置的周期權(quán) 利的時間內(nèi)被指派。參照圖10,第一指派時間是對于分區(qū)Pi從tstart 開始被指派規(guī)定數(shù)目的周期。如果屬于指派分區(qū)的邏輯處理器沒有暫停處理(步驟1106),例如對于分區(qū)Pi在tstart+被指派,并且還需要另外的權(quán)利分配(步驟1108), 則下一個被調(diào)度的分區(qū)(例如,分區(qū)P2)被指派(步驟1104)。如果在分配最小權(quán)利(步驟1108)后的整個指派窗口時間被耗用(步驟1108),則 處理過程回到步驟1102,用于下一個指派窗口時間。除了指派成滿足分區(qū)權(quán)利以外,管理程序115優(yōu)選地利用優(yōu)先級因素,例如從分區(qū)相關(guān)的性能度量得出的存儲器占用值,還有動態(tài)調(diào)度分區(qū)的其他調(diào)度試探法。管理程序115將由性能度量得出的優(yōu)先級 排序用于調(diào)度的一個情形在圖11上被顯示為在圖10中所示的在分區(qū) P2已暫停處理的tsus處的暫停的邏輯處理器條件(步驟1106)。圖11顯示的其它這樣的情形是在指派窗口內(nèi)仍剩余額外周期的t3開始的授權(quán)后的調(diào)度(步驟1108和1110)。響應(yīng)于分區(qū)的暫停處理(步驟1106)或在指派窗口中還有額外的周 期,管理程序115在包括以下的子步驟的步驟720開始指派。通過比 較用于建立每個分區(qū)的存儲器占用的時間與在指派窗口內(nèi)剩余的時間 來確定分區(qū)的指派合格性(步驟1112)。每個步驟1112合格的分區(qū)然后 根據(jù)它們各自的占用建立成本被優(yōu)先級排序,如在步驟1114顯示的。 例如,存儲的統(tǒng)計結(jié)果表示每個分區(qū)建立存儲器占用所需要的時間量。 諸如以上參照圖9說明的,存儲器占用建立時間可被用來確定在剩余 的有限的指派窗口時間下指派具體分區(qū)的相對效率。在步驟1114執(zhí)行 的優(yōu)先級排序因此可包括圖4和9所示的步驟。根據(jù)在步驟1114的優(yōu) 先級排序選擇的分區(qū)被指派,如步驟1116所示。所公開的方法可以使用對象或面向?qū)ο蟮能浖_發(fā)環(huán)境利用軟件 來容易地實(shí)施,上述軟件開發(fā)環(huán)境提供可以在多種計算機(jī)或工作站硬 件平臺上使用的便攜式源代碼。在本例中,本發(fā)明的方法和系統(tǒng)可以 被實(shí)施為嵌入在個人計算機(jī)上的例程,例如Java或CGI腳本,被實(shí) 施為駐留在服務(wù)器或圖形工作站上的資源,被實(shí)施為嵌入在專用源代 碼編輯器管理系統(tǒng)中的例程。雖然具體地參照優(yōu)選實(shí)施例顯示和描述了本發(fā)明,但本領(lǐng)域技術(shù) 人員將會看到,可以作出在形式和細(xì)節(jié)方面的各種改變而不背離本發(fā) 明的精神和范圍。這些替換實(shí)施方案都屬于本發(fā)明的范圍。
權(quán)利要求
1.在采用系統(tǒng)虛擬化分區(qū)的計算機(jī)系統(tǒng)中,多個邏輯分區(qū)中的每一個使用該計算機(jī)系統(tǒng)的共享物理資源以與其它分區(qū)邏輯獨(dú)立的方式運(yùn)行,在該計算機(jī)系統(tǒng)中的用于在所述多個邏輯分區(qū)之間平衡對所述物理系統(tǒng)資源的訪問的方法,所述方法包括利用硬件檢測邏輯與一個或多個邏輯分區(qū)相關(guān)聯(lián)地收集一個或多個物理系統(tǒng)資源的性能度量;根據(jù)分配的指派窗口利用的水平對每個邏輯分區(qū)進(jìn)行分類;以及在給定的物理系統(tǒng)資源集合被預(yù)先配置成分配給一個邏輯分區(qū)的指派窗口期間,根據(jù)與替代邏輯分區(qū)相關(guān)聯(lián)的收集的性能度量和該替代邏輯分區(qū)的指派窗口利用類別,將所述給定的物理系統(tǒng)資源集合分配給該替代邏輯分區(qū)。
2. 根據(jù)權(quán)利要求1所述的方法,還包括 與各個相關(guān)的邏輯分區(qū)相關(guān)聯(lián)地存儲性能度量;以及其中,所述的將所述給定的物理系統(tǒng)資源集合分配給替代邏輯分 區(qū)還包括根據(jù)存儲的性能度量選擇所述替換邏輯分區(qū)。
3. 根據(jù)權(quán)利要求1所述的方法,還包括在指派窗口期間指派所述多個邏輯分區(qū)中的一個邏輯分區(qū)的邏輯 處理器,其中所述指派包括分配預(yù)先規(guī)定的時間,在該時間期間物理 系統(tǒng)資源被分配以供所述一個邏輯分區(qū)使用;以及響應(yīng)于在預(yù)先規(guī)定的時間期間被指派的邏輯處理器暫停處理,在 預(yù)先規(guī)定的時間的剩余部分內(nèi),選擇另 一個邏輯分區(qū)將物理系統(tǒng)資源 重新分配給它,所述選擇根據(jù)與所述另 一個邏輯分區(qū)相關(guān)聯(lián)的收集的 性能度量來執(zhí)行。
4. 根據(jù)權(quán)利要求1所述的方法,其中所述物理系統(tǒng)資源包括一個 或多個處理器和存儲器資源的處理周期。
5. 根據(jù)權(quán)利要求l所述的方法,其中,所述的將所述給定的物理 系統(tǒng)資源集合分配給替代邏輯分區(qū)還包括將被分類為利用少于被分配的指派窗口的規(guī)定部分的所有邏輯分區(qū)從作為替代邏輯分區(qū)的合格 者當(dāng)中排除。
6. 根據(jù)權(quán)利要求l所述的方法,其中所述的利用硬件檢測邏輯收 集性能度量是在物理系統(tǒng)資源被分配給一個或多個邏輯分區(qū)的分配窗 口期間執(zhí)行的。
7. 根據(jù)權(quán)利要求l所述的方法,還包括利用性能度量來確定邏 輯分區(qū)的存儲器占用值,其中存儲器占用值包括邏輯分區(qū)建立存儲器 占用的時間。
8. 在釆用系統(tǒng)虛擬化分區(qū)的計算機(jī)系統(tǒng)中,多個邏輯分區(qū)中的每 一個使用該計算機(jī)系統(tǒng)的共享物理資源以與其它分區(qū)邏輯獨(dú)立的方式 運(yùn)行,在該計算機(jī)系統(tǒng)中的用于在所述多個邏輯分區(qū)之間平衡對所述 物理系統(tǒng)資源的訪問的系統(tǒng),該系統(tǒng)包括硬件檢測邏輯,用于與一個或多個邏輯分區(qū)相關(guān)聯(lián)地收集一個或 多個物理系統(tǒng)資源的性能度量;分區(qū)調(diào)度邏輯,用于根據(jù)分配的指派窗口利用的水平對每個邏輯 分區(qū)進(jìn)行分類;以及分區(qū)調(diào)度邏輯,用于在給定的物理系統(tǒng)資源集合被預(yù)先配置成分 配給一個邏輯分區(qū)的指派窗口期間,根據(jù)與替代邏輯分區(qū)相關(guān)聯(lián)的收 集的性能度量和該替代邏輯分區(qū)的指派窗口利用類別,將所述給定的 物理系統(tǒng)資源集合分配給該替代邏輯分區(qū)。
9. 根據(jù)權(quán)利要求8所述的系統(tǒng),還包括用于與各個相關(guān)的邏輯分區(qū)相關(guān)聯(lián)地存儲性能度量的裝置;以及其中用于將所述給定的物理系統(tǒng)資源集合分配給替代邏輯分區(qū)的 所述分區(qū)調(diào)度邏輯還包括用于根據(jù)存儲的性能度量選擇所述替換邏 輯分區(qū)的分區(qū)調(diào)度邏輯。
10. 根據(jù)權(quán)利要求8所述的系統(tǒng),還包括分區(qū)調(diào)度邏輯,用于在指派窗口期間指派所述多個邏輯分區(qū)中的 一個邏輯分區(qū)的邏輯處理器,其中所述指派包括分配預(yù)先規(guī)定的時間, 在該時間期間物理系統(tǒng)資源被分配以供所述一個邏輯分區(qū)使用;以及分區(qū)調(diào)度邏輯響應(yīng)于在預(yù)先規(guī)定的時間期間被指派的邏輯處理器 暫停處理,在預(yù)先規(guī)定的時間的剩余部分內(nèi),選擇另一個邏輯分區(qū)將 物理系統(tǒng)資源重新分配給它,所述選擇根據(jù)與所述另一個邏輯分區(qū)相 關(guān)聯(lián)的收集的性能度量來執(zhí)行。
11. 根據(jù)權(quán)利要求8所述的系統(tǒng),其中,用于將所述給定的物理 系統(tǒng)資源集合分配給替代邏輯分區(qū)的所述分區(qū)調(diào)度邏輯還包括用于 將被分類為利用少于被分配的指派窗口的規(guī)定部分的所有邏輯分區(qū)從 作為替代邏輯分區(qū)的合格者當(dāng)中排除出去的分區(qū)調(diào)度邏輯。
12. 根據(jù)權(quán)利要求8所述的系統(tǒng),其中用于收集性能度量的所述 硬件檢測邏輯在物理系統(tǒng)資源被分配給一個或多個邏輯分區(qū)的分配窗 口期間收集所述性能度量。
13. 根據(jù)權(quán)利要求8所述的系統(tǒng),還包括用于利用性能度量來確 定邏輯分區(qū)的存儲器占用值的分區(qū)調(diào)度邏輯,其中所述存儲器占用值 包括邏輯分區(qū)建立存儲器占用的時間。
14. 根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述硬件檢測邏輯包括計 數(shù)器裝置。
15. 在釆用系統(tǒng)虛擬化分區(qū)的計算機(jī)系統(tǒng)中,多個邏輯分區(qū)中的 每一個使用該計算機(jī)系統(tǒng)的共享物理資源以與其它分區(qū)邏輯獨(dú)立的方 式運(yùn)行,上面存儲有用于在所述多個邏輯分區(qū)之間平衡對所述物理系 統(tǒng)資源的訪問的計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì),所述計算機(jī)可 執(zhí)行指令被配置為執(zhí)行權(quán)利要求1_7的任一項的方法。
全文摘要
用于在多個邏輯分區(qū)之間平衡對采用系統(tǒng)虛擬化的計算機(jī)系統(tǒng)的物理系統(tǒng)資源的訪問的系統(tǒng)、方法和計算機(jī)可讀介質(zhì)。每個邏輯分區(qū)在啟動期間根據(jù)分配的指派窗口利用水平進(jìn)行分類。與一個或多個邏輯分區(qū)相關(guān)聯(lián)地確定一個或多個物理系統(tǒng)資源的性能度量。性能度量確定是在與編程中斷無關(guān)的硬件級上進(jìn)行的。在給定的物理系統(tǒng)資源集合被配置成分配給一個邏輯分區(qū)的指派窗口期間,該給定的物理系統(tǒng)資源集合根據(jù)與替代邏輯分區(qū)有關(guān)的確定的性能度量和該替代邏輯分區(qū)的指派窗口利用類別被重新分配給該替代邏輯分區(qū)。
文檔編號G06F9/50GK101276293SQ20081008739
公開日2008年10月1日 申請日期2008年3月27日 優(yōu)先權(quán)日2007年3月28日
發(fā)明者D·G·弗雷明, M·S·斯里尼瓦斯, O·F·赫里斯庫, W·A·馬龍 申請人:國際商業(yè)機(jī)器公司