專利名稱:自動(dòng)管理事務(wù)處理工作負(fù)荷的資源消耗的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自動(dòng)管理事務(wù)處理工作負(fù)荷的資源消耗的方法和裝置。
技術(shù)背景工作負(fù)荷管理器是一種軟件組件,其根據(jù)隱式或顯式定義竟?fàn)幑ぷ黜?xiàng) 之間的相對(duì)優(yōu)先級(jí)的性能準(zhǔn)則,管理將可用于每個(gè)執(zhí)行工作項(xiàng)的計(jì)算機(jī)系 統(tǒng)的系統(tǒng)資源。性能準(zhǔn)則可以例如是用戶定義的目標(biāo)。換言之,工作負(fù)荷 管理才艮據(jù)反映工作負(fù)荷需求和用戶期望的目標(biāo)定義來針對(duì)入站工作調(diào)整系 統(tǒng)資源。 一個(gè)特別的關(guān)注點(diǎn)在于事務(wù)處理工作負(fù)荷,其通常代表需要在短 時(shí)間內(nèi)完成的重要且短期運(yùn)行的最終用戶請(qǐng)求。在工作負(fù)荷管理期間,將由IMt系統(tǒng)管理的工作單元組織成不同的類 (稱為業(yè)務(wù)類或資源類)。換言之,每個(gè)工作單元都與業(yè)務(wù)類(例如,聯(lián) 機(jī)事務(wù)、高優(yōu)先級(jí)批處理、低優(yōu)先級(jí)批處理等)關(guān)聯(lián)。為每個(gè)業(yè)務(wù)類提供 特定量的系統(tǒng)資源。在此上下文中使用的術(shù)語工作、工作單元、工作的單元、工作業(yè)務(wù)單 元和事務(wù)是可互換的,并用于代表對(duì)計(jì)算機(jī)系統(tǒng)的有用的用戶定義的處理。 由計(jì)算機(jī)系統(tǒng)的用戶應(yīng)用的特定術(shù)語取決于系統(tǒng)類型、公共術(shù)語(包括作 業(yè)、任務(wù)、進(jìn)程、線程等)。每個(gè)業(yè)務(wù)類都帶有一組參數(shù),所述參數(shù)向工作負(fù)荷管理器指示關(guān)聯(lián)的工作單元的性能準(zhǔn)則。因此,如果工作負(fù)荷管理器注意到分配給給定業(yè)務(wù) 類的工作單元的資源總是無法使該業(yè)務(wù)類的工作單元滿足其性能準(zhǔn)則,則工作負(fù)荷管理器可以調(diào)整分配給該業(yè)務(wù)類的工作單元的資源。例如,將資 源從施主業(yè)務(wù)類重新分配到受主業(yè)務(wù)類,如果此類重新分配帶來的受主業(yè)
務(wù)類的性能改進(jìn)超過了施主業(yè)務(wù)類的性能降低的話。筒言之,如果存在由 預(yù)定性能準(zhǔn)則確定的性能上的凈正效應(yīng),則發(fā)生重新分配。資源的分配不 僅由其對(duì)工作單元(向其重新分配資源)的影響決定,而且由其對(duì)工作單 元(從其取走資源)的影響決定。每個(gè)業(yè)務(wù)類都與性能目標(biāo)和重要性級(jí)別關(guān)聯(lián)。業(yè)務(wù)類的重要性級(jí)別定 義了在系統(tǒng)處于爭(zhēng)用狀態(tài)以致不能實(shí)現(xiàn)某些業(yè)務(wù)類的性能目標(biāo)的情況下, 計(jì)算機(jī)系統(tǒng)處理該業(yè)務(wù)類中的工作的方式。在這種情況下,計(jì)算機(jī)系統(tǒng)將 忽略具有低重要性級(jí)別的業(yè)務(wù)類的性能目標(biāo)。與業(yè)務(wù)類關(guān)聯(lián)的工作將消耗計(jì)算機(jī)系統(tǒng)資源。當(dāng)工作不是同類的且在 其執(zhí)行時(shí)間和資源消耗上表現(xiàn)出很大的變動(dòng)(例如,如果執(zhí)行少量請(qǐng)求的 時(shí)間大大高于平均值且同時(shí)消耗太多系統(tǒng)資源)時(shí),將出現(xiàn)問題。結(jié)果, 其他正在系統(tǒng)上運(yùn)行的工作會(huì)受到這些長(zhǎng)時(shí)間運(yùn)行的高資源消耗工作的負(fù) 面影響。在一些工作負(fù)荷管理環(huán)境中(例如,IBMz/OS工作負(fù)荷管理器),可 以將多個(gè)周期與每個(gè)業(yè)務(wù)類關(guān)聯(lián),由此定義了當(dāng)工作處理時(shí)間長(zhǎng)于預(yù)期時(shí) 工作的行為方式。然后,當(dāng)用戶請(qǐng)求消耗了多于當(dāng)前業(yè)務(wù)類周期所允許的 系統(tǒng)資源時(shí),則將其從一個(gè)業(yè)務(wù)類周期切換到另一個(gè)業(yè)務(wù)類周期。較低的 業(yè)務(wù)類周期通常以較低的重要性和目標(biāo)級(jí)別運(yùn)行,以便減輕長(zhǎng)時(shí)間運(yùn)行的 請(qǐng)求對(duì)其他共享同一計(jì)算機(jī)系統(tǒng)資源的工作負(fù)荷的影響。換言之,通過定 義其他業(yè)務(wù)周期,降低長(zhǎng)時(shí)間運(yùn)行和高資源消耗工作的目標(biāo)是可能的.主要的問題在于定義業(yè)務(wù)類周期,以便適當(dāng)?shù)胤稚⒐ぷ?,使其?duì)其他 工作負(fù)荷的影響最小化,并確保足夠快速地完成重要的請(qǐng)求。從現(xiàn)有技術(shù)可知,由揭:作系統(tǒng)中的管理組件預(yù)定義一組固定周期或由計(jì)算^L管理員或其他人員手動(dòng)定義和^"改該業(yè)務(wù)類周期。如果一組固定周期具有周期可能沒有最佳地配合工作負(fù)荷特性的問題,則工作不會(huì)最佳地^Ht在周期之間。對(duì)周期的手動(dòng)修改要求對(duì)計(jì)算機(jī)系統(tǒng)的持續(xù)而昂責(zé)的監(jiān)督和對(duì)系統(tǒng)性能數(shù) 據(jù)的分析
發(fā)明內(nèi)容
本發(fā)明的目標(biāo)是提供一種較簡(jiǎn)單且?guī)砀延?jì)算性能的工作負(fù)荷管理 技術(shù)。根據(jù)本發(fā)明,通過一種計(jì)算機(jī)系統(tǒng)中的工作負(fù)荷管理的方法來實(shí)現(xiàn)此 目標(biāo),其中將工作單元組織成業(yè)務(wù)類,向所述業(yè)務(wù)類提供特定量的系統(tǒng)資源,以及其中將多個(gè)業(yè)務(wù)類周期與每個(gè)業(yè)務(wù)類關(guān)聯(lián),其特征在于確定至少一個(gè)當(dāng)前業(yè)務(wù)類周期內(nèi)的工作負(fù)荷行為,以及 根據(jù)所述確定的工作負(fù)荷行為來自動(dòng)調(diào)整可用業(yè)務(wù)類周期的數(shù)量。 根據(jù)本發(fā)明,通過一種在計(jì)算機(jī)中執(zhí)行的數(shù)據(jù)處理程序來實(shí)現(xiàn)此目標(biāo),所述數(shù)據(jù)處理程序包括軟件代碼部分,當(dāng)所述程序在所述計(jì)算機(jī)上執(zhí)行時(shí),所述軟件代碼部分用于執(zhí)行根據(jù)本發(fā)明的方法。根據(jù)本發(fā)明,通過一種存儲(chǔ)在計(jì)算機(jī)可用介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn)此目標(biāo),所述計(jì)算機(jī)可用介質(zhì)包括計(jì)算機(jī)可讀程序裝置,當(dāng)所述程序在計(jì)算機(jī)上執(zhí)行時(shí),所述計(jì)算機(jī)可讀程序裝置用于使所述計(jì)算機(jī)執(zhí)行根據(jù)本發(fā)明的方法。根據(jù)本發(fā)明,通過一種計(jì)算機(jī)系統(tǒng)的工作負(fù)荷管理器來實(shí)現(xiàn)此目標(biāo), 其中將工作單元組織成業(yè)務(wù)類,向所迷業(yè)務(wù)類提供特定量的系統(tǒng)資源,以及其中將多個(gè)業(yè)務(wù)類周期與每個(gè)業(yè)務(wù)類關(guān)聯(lián), 其特征在于,所述工作負(fù)荷管理器包括 用于確定當(dāng)前業(yè)務(wù)類周期內(nèi)的工作負(fù)荷行為的裝置,以及 用于根據(jù)所述確定的工作負(fù)荷行為來自動(dòng)調(diào)整可用業(yè)務(wù)類周期的數(shù)量 的裝置。本發(fā)明的基本思想是自主地將業(yè)務(wù)類分解為多個(gè)業(yè)務(wù)類周期。在本發(fā) 明中,無需任何對(duì)業(yè)務(wù)類周期的手動(dòng)定義。與來自現(xiàn)有^t術(shù)的公知解決方
案相比,本發(fā)明較簡(jiǎn)單并帶來了更佳的計(jì)算性能,而無需對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行持續(xù)和昂貴的監(jiān)督及對(duì)系統(tǒng)性能數(shù)據(jù)進(jìn)行分析。本發(fā)明描述了自主控制信息處理系統(tǒng)中的事務(wù)處理工作負(fù)荷的資源消 耗以便改進(jìn)系統(tǒng)吞吐量的方法。所述方法假設(shè)業(yè)務(wù)類定義有重要性和目標(biāo) 以控制事務(wù)處理工作負(fù)荷的資源消耗。這些業(yè)務(wù)類中的每個(gè)類都初始地與 一個(gè)業(yè)務(wù)類周期關(guān)聯(lián)。此外,存在工作負(fù)荷管理器,其將資源分配到該業(yè) 務(wù)類周期,以使在該業(yè)務(wù)類中運(yùn)行的工作實(shí)現(xiàn)指定的目標(biāo)。如果系統(tǒng)處于 爭(zhēng)用狀態(tài),則假設(shè)具有較高重要性的業(yè)務(wù)類周期將獲得對(duì)資源的優(yōu)選且由此更佳的訪問。本發(fā)明基于這樣的假設(shè)諸如響應(yīng)時(shí)間和資源消耗的事務(wù)特性提供了 與業(yè)務(wù)類周期中的事務(wù)的最佳分布有關(guān)的信息。此類信息的歷史用于自主 地確定業(yè)務(wù)類周期的最佳數(shù)目及其持續(xù)時(shí)間以提高整體系統(tǒng)吞吐量。所述新的方法基于工作負(fù)荷管理系統(tǒng)理解用戶請(qǐng)求何時(shí)開始及何時(shí)結(jié) 束的假定。對(duì)于通知工作負(fù)荷管理系統(tǒng)有關(guān)入站和結(jié)束事務(wù)的測(cè)量工作負(fù) 荷來說通常是這種情況。根據(jù)此信息,工作負(fù)荷管理系統(tǒng)獲知在業(yè)務(wù)類中 運(yùn)行的工作請(qǐng)求的特性。工作負(fù)荷管理系統(tǒng)確定事務(wù)在系統(tǒng)中運(yùn)行多長(zhǎng)時(shí) 間及其消耗多少資源。根據(jù)此信息,工作負(fù)荷管理器決定需要多少資源來 完成大多數(shù)短時(shí)運(yùn)行的事務(wù)及系統(tǒng)中長(zhǎng)時(shí)間運(yùn)行的事務(wù)的成本,即,資源 消耗。如果這些成本過高,則工作負(fù)荷管理器將長(zhǎng)時(shí)間運(yùn)行的事務(wù)移動(dòng)到 具有較低性能目標(biāo)的新業(yè)務(wù)類周期中。本發(fā)明涉及自主創(chuàng)建業(yè)務(wù)類周期的技術(shù)。如果如所描述的創(chuàng)建業(yè)務(wù)類 周期,則可以通過這樣的方式來管理事務(wù)處理工作負(fù)荷的資源消耗使短 時(shí)運(yùn)行的事務(wù)能夠快速完成而長(zhǎng)時(shí)間運(yùn)行的事務(wù)將降級(jí),以便不會(huì)危害系 統(tǒng)中的其他工作和短時(shí)運(yùn)行的事務(wù),也就是說,本發(fā)明討論了自動(dòng)創(chuàng)建業(yè) 務(wù)周期并自動(dòng)將長(zhǎng)時(shí)間運(yùn)行的工作與較低業(yè)務(wù)目標(biāo)相關(guān)聯(lián)的機(jī)制。所述機(jī) 制自主地創(chuàng)建此類業(yè)務(wù)周期并在不再需要它們時(shí)將其刪除。該方法可用于 面向目標(biāo)以及面向資源的工作負(fù)荷管理系統(tǒng)。本發(fā)明還涉及一種技術(shù),它 不僅創(chuàng)建和刪除業(yè)務(wù)類周期,而且還根據(jù)確定的工作負(fù)荷行為來自動(dòng)調(diào)整業(yè)務(wù)類周期的特性。具體地說,根據(jù)工作負(fù)荷特性來設(shè)置每個(gè)創(chuàng)建的業(yè)務(wù) 類周期的重要性級(jí)別和/或性能目標(biāo)。此新技術(shù)的主要優(yōu)點(diǎn)是無需手動(dòng)的業(yè)務(wù)類周期配置且工作負(fù)荷管理系 統(tǒng)能夠立即對(duì)實(shí)際的工作負(fù)荷行為做出反應(yīng)。對(duì)于具有高負(fù)荷的業(yè)務(wù)類, 學(xué)習(xí)周期將很短且調(diào)整將立即提高系統(tǒng)的吞吐量。結(jié)果,該裝置具有較低 的會(huì)理成本及更自主的環(huán)境。本發(fā)明可以采取完全硬件實(shí)施例、完全軟件實(shí)施例或包含硬件和軟件 元素兩者的實(shí)施例的形式。在一個(gè)優(yōu)選實(shí)施例中,本發(fā)明以軟件實(shí)現(xiàn),所 述軟件包括但不限于固件、駐留軟件、微代碼等。此外,本發(fā)明可以采取可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)訪問的計(jì)算 機(jī)程序產(chǎn)品的形式,所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供了可以被計(jì)算 機(jī)或任何指令執(zhí)行系統(tǒng)使用或與計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)結(jié)合的程序代 碼。出于此描述的目的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是任何能夠包 含、存儲(chǔ)、傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與所述 指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合的程序的裝置。所述介質(zhì)可以是電、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)(或裝置或 設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的實(shí)例包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)盤、隨M取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(R0M)、硬磁盤 和光盤。光盤的當(dāng)前實(shí)例包括光盤-只讀存儲(chǔ)器(CD-ROM)、光盤-讀/寫 (CR-R/W)和DVD。適合于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)包括至少一個(gè)通過系 統(tǒng)總線直接或間接連接到存儲(chǔ)器元件的處理器。所述存儲(chǔ)器元件包括在程 序代碼的實(shí)際執(zhí)行期間采用的本地存儲(chǔ)器、大容量存儲(chǔ)裝置以及提供至少 某些程序代碼的臨時(shí)存儲(chǔ)以減少必須在執(zhí)行期間從大容量存儲(chǔ)裝置檢索代 碼的次數(shù)的高速緩沖存儲(chǔ)器。輸入/輸出或1/0設(shè)備(包括但不限于鍵盤、顯示器、指點(diǎn)設(shè)備等)可 以直接或通過中間1/0控制器與系統(tǒng)相連。網(wǎng)絡(luò)適配器連接到系統(tǒng)以使數(shù)據(jù)處理系統(tǒng)能夠通過中間專用或公共網(wǎng)
絡(luò)變得與其他數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備相連。調(diào)制解調(diào)器、 電纜調(diào)制解調(diào)器,和以太網(wǎng)卡只是幾個(gè)當(dāng)前可用的網(wǎng)絡(luò)適配器類型。
現(xiàn)在將參考
本發(fā)明的實(shí)施例,這些附圖是 圖l示出了以存儲(chǔ)桶(bucket)分隔的響應(yīng)時(shí)間; 圖2示出了具有工作負(fù)荷管理器的計(jì)算機(jī)系統(tǒng); 圖3示出了子系統(tǒng)或應(yīng)用與工作負(fù)荷管理器之間的交互; 圖4示出了響應(yīng)時(shí)間分布的圖;圖5示出了響應(yīng)時(shí)間分布存儲(chǔ)桶中的每事務(wù)的CPU消耗;圖6示出了根據(jù)本發(fā)明的方法的流程圖;以及圖7示出了業(yè)務(wù)類周期的CPU消耗和已結(jié)束事務(wù)的總數(shù)。
具體實(shí)施方式
首先,說明了根據(jù)本發(fā)明的方法的基本原理。本發(fā)明基于這樣的假設(shè) 適于實(shí)現(xiàn)本發(fā)明的裝置(即,組合的硬件和軟件)定義了具有重要性和目 標(biāo)的業(yè)務(wù)類,這將在下文詳細(xì)說明。這些業(yè)務(wù)類中的每個(gè)類都初始地與一 個(gè)業(yè)務(wù)類周期相關(guān)聯(lián)。工作負(fù)荷管理器以在業(yè)務(wù)類中運(yùn)行的工作實(shí)現(xiàn)指定 目標(biāo)的方式將資源分配到這些業(yè)務(wù)類周期。如果系統(tǒng)處于爭(zhēng)用狀態(tài),則假 定具有更高重要性的業(yè)務(wù)類周期將首先獲得資源。將業(yè)務(wù)類分解為多個(gè)業(yè) 務(wù)類周期通過一種機(jī)制自主地完成,所i^L制可以分為以下通過工作負(fù)荷 管理器定期執(zhí)行的步驟。步驟1:確定工作負(fù)荷行為。對(duì)于該步驟,工作負(fù)荷管理器必須知道 在業(yè)務(wù)類中運(yùn)行的工作請(qǐng)求的資源消耗。步驟2:決定何時(shí)創(chuàng)建新的業(yè)務(wù)類周期。步驟3:定義新的業(yè)務(wù)類周期。當(dāng)創(chuàng)建了新的業(yè)務(wù)類周期時(shí),向其分 配性能目標(biāo)并將業(yè)務(wù)類周期切換條件分配給先前的業(yè)務(wù)類周期。然后,該 機(jī)制開始下一循環(huán)以監(jiān)視新的業(yè)務(wù)類周期。 因此,該機(jī)制允許在沒有足夠工作量與業(yè)務(wù)類周期關(guān)聯(lián)時(shí)刪除該業(yè)務(wù)類周期(步驟4)。為了 了解在業(yè)務(wù)類周期中運(yùn)行的工作請(qǐng)求的資源消耗,工作負(fù)荷管理 器適用于捕獲在業(yè)務(wù)類中運(yùn)行的工作請(qǐng)求的開始和結(jié)束。對(duì)于所有測(cè)量應(yīng) 用而言這通常是可能的。此類測(cè)量應(yīng)用是可能的,例如,通過Open Group 的應(yīng)用響應(yīng)測(cè)量(ARM)標(biāo)準(zhǔn)或通過操作系統(tǒng)的固有裝置,例如,z/0S上 的自帶服務(wù)。結(jié)果,工作負(fù)荷管理器捕獲由業(yè)務(wù)類的過程執(zhí)行的請(qǐng)求量并 能夠測(cè)量此類請(qǐng)求的資源消耗。為了理解工作負(fù)荷的行為方式,有必要區(qū)分長(zhǎng)時(shí)間運(yùn)行的事務(wù)和短時(shí) 間運(yùn)行的事務(wù)。出于這種目的,工作負(fù)荷管理器必須按照其執(zhí)行時(shí)間來將 事務(wù)分類。作為起點(diǎn),工作負(fù)荷管理器利用平均事務(wù)完成時(shí)間,然后,在 其周圍創(chuàng)建一組存儲(chǔ)桶來捕獲事務(wù)的資源消耗。每個(gè)存儲(chǔ)桶都代表其中事 務(wù)已經(jīng)結(jié)束或正在運(yùn)行的時(shí)間周期。這些存儲(chǔ)桶的資源消耗創(chuàng)建了 一種分 布,其允許工作負(fù)荷管理器確定在何時(shí)需要新的業(yè)務(wù)類周期。圖1示出了響應(yīng)時(shí)間存儲(chǔ)桶10、 20中工作負(fù)荷的響應(yīng)時(shí)間"t"的可 能分隔。在確定了平均響應(yīng)時(shí)間值"Avg"之后,工作負(fù)荷管理器在該平均 值"Avg"周圍創(chuàng)建第一組1等距響應(yīng)時(shí)間存儲(chǔ)桶10并創(chuàng)建第二組2非等 距存儲(chǔ)桶20來捕獲界外值。優(yōu)選地,分布隨時(shí)間改變以識(shí)別工作負(fù)荷行為 變化。該方法允許創(chuàng)建針對(duì)面向吞吐量的目標(biāo)管理的工作的響應(yīng)時(shí)間分布。當(dāng)針對(duì)響應(yīng)時(shí)間目標(biāo)管理業(yè)務(wù)類時(shí)給出了此類分布的另一個(gè)更簡(jiǎn)單的 起點(diǎn)。在這種情況下,將響應(yīng)時(shí)間值用作分布的中點(diǎn),并且根據(jù)該值創(chuàng)建 響應(yīng)時(shí)間分布。在定義了響應(yīng)時(shí)間分布之后,可以捕獲完成的事務(wù)的資源消耗。此夕卜, 可以始終估算分布中未完成事務(wù)的資源消耗。未完成事務(wù)是尚未結(jié)束的事 務(wù)。為了保持連續(xù)的圖像,將定期捕獲未完成的事務(wù)并在數(shù)個(gè)時(shí)間周期上 保持分布。分析先前的時(shí)間周期以理解瞬間的工作負(fù)荷行為以及有足夠的 歷史數(shù)據(jù)可用以便通過工作負(fù)荷管理器做出決定。在解釋了本發(fā)明的基本原理之后,現(xiàn)在將說明執(zhí)行才艮據(jù)本發(fā)明的方法
的計(jì)算機(jī)系統(tǒng)100的實(shí)例。如圖2所示的計(jì)算機(jī)系統(tǒng)100正在執(zhí)行工作負(fù) 荷并由操作系統(tǒng)101控制。在示出的實(shí)施例中使用了 IBM z/0S操作系統(tǒng)。 除了與本發(fā)明相關(guān)的增強(qiáng),計(jì)算機(jī)系統(tǒng)100是在申請(qǐng)序列號(hào)US 08/383, 168 中公開的系統(tǒng)。雖然未在圖2中示出,但是計(jì)算機(jī)系統(tǒng)100可以是被類似管理并組成 綜合體(sysplex)集群的多個(gè)互連系統(tǒng)之一。在美國(guó)專利No.5, 974,462 中說明了總體月良務(wù)器管理概念,除了與本發(fā)明相關(guān)的增強(qiáng)以外。在本實(shí)施例中,工作負(fù)荷管理器110是:^作系統(tǒng)101的整體組件。但 是,工作負(fù)荷管理器110也可以實(shí)現(xiàn)為外部單元,連接到操作系統(tǒng)101并 與其協(xié)作。具有工作負(fù)荷管理器110的操作系統(tǒng)101適于執(zhí)行本發(fā)明的方 法步驟。工作負(fù)荷管理器110根據(jù)由裝置(例如用戶)定義的業(yè)務(wù)定義ll來操 作。由工作負(fù)荷管理器110在系統(tǒng)激活期間從^作系統(tǒng)101外部提供的外 部數(shù)據(jù)集來讀取業(yè)務(wù)定義111。業(yè)務(wù)定義111包含有關(guān)業(yè)務(wù)類121和業(yè)務(wù) 目標(biāo)123的詳細(xì)信息。業(yè)務(wù)類121組織在業(yè)務(wù)類表120中,表120是由工 作負(fù)荷管理器110做出的決定的數(shù)據(jù)1^!的內(nèi)部表示。將每個(gè)業(yè)務(wù)類121分成業(yè)務(wù)類周期122。每個(gè)業(yè)務(wù)類周期122都與業(yè) 務(wù)目標(biāo)123關(guān)聯(lián)。業(yè)務(wù)目標(biāo)123可以是基于響應(yīng)時(shí)間124的目標(biāo)或是基于 執(zhí)行速度125的面向吞吐量的目標(biāo)。此類面向吞吐量的目標(biāo)被稱為執(zhí)行速 度目標(biāo)。響應(yīng)時(shí)間124是其中工作單元平均應(yīng)結(jié)束的時(shí)間或規(guī)定百分比的 工作單元應(yīng)結(jié)束的時(shí)間。當(dāng)在系統(tǒng)中移動(dòng)時(shí),允許遇到對(duì)應(yīng)于可接受的延 遲工作的執(zhí)行it;變125。每個(gè)業(yè)務(wù)類周期122還與重要性級(jí)別126關(guān)聯(lián),根據(jù)重要性級(jí)別126, 工作負(fù)荷管理器IIO在系統(tǒng)資源變得匱乏時(shí)決定哪些業(yè)務(wù)周期122需M 先對(duì)待。為了確保工作只能消耗特定量的資源,每個(gè)業(yè)務(wù)類周期122都與持續(xù) 時(shí)間127相關(guān)聯(lián)。根據(jù)使用的操作系統(tǒng)的種類以可消耗資源單位來定義持 續(xù)時(shí)間127。在使用IBM z/OS的情況下,此類資源單位被稱為業(yè)務(wù)單位, 其允許將處理器、存儲(chǔ)和I/O消耗正規(guī)化為可消耗資源單位。如果業(yè)務(wù)類 121僅包括一個(gè)業(yè)務(wù)類周期122,則省略持續(xù)時(shí)間定義并因此為無窮大。同 一情況適用于業(yè)務(wù)類121的最后一個(gè)周期。業(yè)務(wù)周期122還包括樣本和管理數(shù)據(jù)128,其在計(jì)算機(jī)系統(tǒng)100的運(yùn)期。工作業(yè)務(wù)單元152由操作系統(tǒng)用戶150 (即,在計(jì)算機(jī)系統(tǒng)100中執(zhí) 行并由操作系統(tǒng)控制的應(yīng)用或子系統(tǒng)151)來標(biāo)識(shí)。子系統(tǒng)151使用一組 到工作負(fù)荷管理器110的預(yù)定接口來將新的工作單元152與業(yè)務(wù)類121相 關(guān)聯(lián),這將在下文中詳細(xì)說明。工作負(fù)荷管理器110始終收集有關(guān)操作系統(tǒng)資源140的數(shù)據(jù)。在本發(fā) 明的上下文中,最感興趣的數(shù)據(jù)是中央處理單元(CPU)的資源141。工作 負(fù)荷管理器110由數(shù)據(jù)采樣器160協(xié)助,數(shù)據(jù)采樣器160收集資源數(shù)據(jù)并 由此生成業(yè)務(wù)類周期的樣本和管理數(shù)據(jù)128。工作負(fù)荷管理器110使用收集的樣本和管理數(shù)據(jù)128來做出決策并影 響工作對(duì)資源的訪問,即,控制工作單元152對(duì)^作系統(tǒng)資源140的訪問。 決定工作單元152的訪問的這些步驟在目標(biāo)管理設(shè)備130中執(zhí)行,該設(shè)備 協(xié)助工作負(fù)荷管理器110。數(shù)據(jù)采樣器160和目標(biāo)管理設(shè)備130可以實(shí)現(xiàn) 為工作負(fù)荷管理器110的一部分或?qū)崿F(xiàn)為密切與工作負(fù)荷管理器110協(xié)作 的外部單元。圖3說明了子系統(tǒng)(例如,CICS、 IMS、 Websphere等)或應(yīng)用200與 操作系統(tǒng)101的工作負(fù)荷管理器IIO之間的交互。當(dāng)新的工作請(qǐng)求到達(dá)時(shí), 它由應(yīng)用200中的進(jìn)程或線程201執(zhí)行。在第一步驟中,通知工作負(fù)荷管 理器IIO新的工作單元152到達(dá)。為此,工作負(fù)荷管理器IIO定義了一組 應(yīng)用接口,它們實(shí)現(xiàn)為工作負(fù)荷管理器110的一部分。這些應(yīng)用接口適于 向工作負(fù)荷管理器IIO提供有關(guān)新工作請(qǐng)求的到達(dá)的信息。所述應(yīng)用接口 還適于向工作請(qǐng)求提供屬性,所述屬性允許工作負(fù)荷管理器IIO對(duì)工作請(qǐng) 求分類,以確定當(dāng)前針對(duì)工作請(qǐng)求工作的線程并通知工作負(fù)荷管理器110
工作請(qǐng)求何時(shí)已結(jié)束。然后,工作負(fù)荷管理器IIO創(chuàng)建工作單元152的內(nèi)部表示211。該內(nèi) 部表示211有時(shí)被稱為包含體(enclave)。通過分類過程,將工作單元 152與業(yè)務(wù)類121相關(guān)聯(lián)。在執(zhí)行期間,工作單元還與業(yè)務(wù)類周期122相 關(guān)聯(lián),以確保朝向當(dāng)前目標(biāo)來管理工作單元。數(shù)據(jù)采樣器160不斷收集狀態(tài)數(shù)據(jù)212,狀態(tài)數(shù)據(jù)212與工作單元152 關(guān)聯(lián)并在業(yè)務(wù)類周期122的狀態(tài)數(shù)據(jù)存儲(chǔ)桶223中的同一業(yè)務(wù)類周期122 關(guān)聯(lián)的所有工作單元152間匯總,參見下文。除了其他資源消耗數(shù)據(jù),向具有響應(yīng)時(shí)間目標(biāo)的業(yè)務(wù)周期122提供了 響應(yīng)時(shí)間分布224。通過工作負(fù)荷管理器110根據(jù)業(yè)務(wù)類周期122的響應(yīng) 時(shí)間目標(biāo)來作為起點(diǎn)動(dòng)態(tài)地創(chuàng)建響應(yīng)時(shí)間分布224。圖4示出了響應(yīng)時(shí)間分布400的總體分布。示出的實(shí)施方式包括28 個(gè)存儲(chǔ)桶40。存儲(chǔ)桶40由工作負(fù)荷管理器110通過以下計(jì)算來創(chuàng)建<formula>formula see original document page 12</formula>W - 0.5目標(biāo)存儲(chǔ)桶寬度 —W-2目標(biāo)0.5目標(biāo)存儲(chǔ)桶寬度如果rt《0.5目標(biāo) 如果rt > 0. 5目標(biāo)firt《目標(biāo)如果rt > 2目標(biāo)門rt《5目標(biāo) 如果rt > 5目標(biāo)L,5目標(biāo) 20也就是說,如果已結(jié)束事務(wù)的測(cè)量響應(yīng)時(shí)間(rt)小于或等于業(yè)務(wù)類 中事務(wù)的目標(biāo)值的一半,則存儲(chǔ)桶數(shù)為"1",并且如果已結(jié)束事務(wù)的測(cè)量 響應(yīng)時(shí)間(rt)大于業(yè)務(wù)類中事務(wù)的五倍目標(biāo)值,則存儲(chǔ)桶數(shù)為"28"。因此第一個(gè)存儲(chǔ)桶41與很短時(shí)間運(yùn)行的事務(wù)相關(guān)。第八個(gè)存儲(chǔ)桶42 對(duì)應(yīng)于平均響應(yīng)時(shí)間。在目標(biāo)值周圍結(jié)束的事務(wù)對(duì)應(yīng)于在第二及第二十個(gè) 存儲(chǔ)桶之間的范圍43。長(zhǎng)時(shí)間運(yùn)行的事務(wù)對(duì)應(yīng)于存儲(chǔ)桶21與27之間的范
圍44。最后一個(gè)存儲(chǔ)桶45與很長(zhǎng)時(shí)間運(yùn)行的事務(wù)相關(guān)。應(yīng)注意的是,該分布400僅為實(shí)例且可以使用在期望值附近對(duì)數(shù)據(jù)進(jìn) 行分類的^壬何類似的分布。雖然如圖4所示的現(xiàn)有分布僅收集業(yè)務(wù)類周期122的結(jié)束事務(wù)及未完 成事務(wù)的數(shù)量,但是借助工作負(fù)荷管理器IIO可以通過以下方式修改分布 400:對(duì)于所有類型的面向目標(biāo)的業(yè)務(wù)類周期122,只要業(yè)務(wù)類周期122與 工作單元152的表示211關(guān)聯(lián),就生成響應(yīng)時(shí)間分布。因?yàn)楣ぷ髫?fù)荷管理 器110 了解該關(guān)系,所以也總是可以測(cè)量此類業(yè)務(wù)類周期122的響應(yīng)時(shí)間 "rt",即使已定義了執(zhí)行速度目標(biāo)。對(duì)于具有執(zhí)行速度目標(biāo)的業(yè)務(wù)類周期122,使用在例如三十分鐘時(shí)間 段期間結(jié)束的事務(wù)的平均響應(yīng)時(shí)間。由工作負(fù)荷管理器IIO將該值設(shè)置為 等于響應(yīng)時(shí)間目標(biāo)值,以便創(chuàng)建響應(yīng)時(shí)間分布。由工作負(fù)荷管理器110定 期調(diào)整該值并相應(yīng)地調(diào)整分布。對(duì)于具有響應(yīng)時(shí)間目標(biāo)的業(yè)務(wù)周期,不斷使用響應(yīng)時(shí)間目標(biāo)來創(chuàng)建響 應(yīng)時(shí)間分布。將CPU消耗添加到分布,以便跟蹤已結(jié)束事務(wù)數(shù)和CPU資源 消耗。圖5示出了在響應(yīng)時(shí)間分布存儲(chǔ)桶中的每事務(wù)的CPU消耗。也就是說, 示出了包括28個(gè)存儲(chǔ)桶的典型響應(yīng)時(shí)間分布500,且額外示出了 CPU消耗。 對(duì)于當(dāng)前實(shí)例,哪一個(gè)存儲(chǔ)桶代表平均響應(yīng)時(shí)間并不重要。唯一重要的是, 分布左側(cè)的存儲(chǔ)桶(存儲(chǔ)桶號(hào)1、 2.、 3、......)代表所有短時(shí)間運(yùn)行的事務(wù),而分布右側(cè)的存儲(chǔ)桶(存儲(chǔ)桶號(hào).......26、 27、 28)代表長(zhǎng)時(shí)間運(yùn)行的事務(wù)。圖5中示例性地示出了存儲(chǔ)桶中的結(jié)束或仍在運(yùn)行的事務(wù)的平均CPU 消耗,以便顯示長(zhǎng)時(shí)間運(yùn)行的事務(wù)的資源消耗大大高于短時(shí)間運(yùn)行的事務(wù) 的資源消耗。該圖示出了已結(jié)束事務(wù)的數(shù)目510和每事務(wù)的CPU消耗520。 在此實(shí)施例中,使用CPU消耗來示出總資源消耗。但是,所述方法不限于 CPU消耗。也可以使用其他類型的資源消耗。如圖5所示,左側(cè)第一存儲(chǔ)
桶1中的平均事務(wù)使用少于0.1%的CPU,而右側(cè)最后一個(gè)存儲(chǔ)桶28中的事 務(wù)需要約14%的CPU。特別是在業(yè)務(wù)類周期具有高重要性和嚴(yán)格的目標(biāo)來滿 足聯(lián)機(jī)事務(wù)工作負(fù)荷的預(yù)期的情況下,此類變化可能損害計(jì)算^L系統(tǒng)100 的整體吞吐量。本發(fā)明的思想現(xiàn)在是標(biāo)識(shí)此類變化并判定分割業(yè)務(wù)周期對(duì) 系統(tǒng)吞吐量是否有益。也就是說,該思想是重新定義業(yè)務(wù)類周期,以^便平 均資源消耗在存儲(chǔ)桶間是一致的。雖然大多數(shù)事務(wù)在第一存儲(chǔ)桶(編號(hào)1、2、 3.......)中結(jié)束,但是第一存儲(chǔ)桶的資源消擬艮好地指示了工作請(qǐng)求對(duì)計(jì)算機(jī)系統(tǒng)100中的其他工作的影響有多大。如果要?jiǎng)?chuàng)建新的業(yè)務(wù)類周期,則根據(jù)本發(fā)明確定應(yīng)將哪些事務(wù)移動(dòng)到 新的業(yè)務(wù)類周期中。圖6示出了由工作負(fù)荷管理器110執(zhí)行的提出的算法的級(jí)數(shù)。在第一 步驟300中,為每個(gè)業(yè)務(wù)類收集資源和響應(yīng)時(shí)間數(shù)據(jù)。定期的數(shù)據(jù)收集和 每個(gè)業(yè)務(wù)類周期的數(shù)據(jù)的匯總是所使用的算法的基礎(chǔ)。數(shù)據(jù)收集周期在下 文中被稱為觀測(cè)。由工作負(fù)荷管理器IIO執(zhí)行數(shù)據(jù)收集和匯總。在收集數(shù) 據(jù)之后,將更新每個(gè)業(yè)務(wù)類周期的響應(yīng)時(shí)間/CPU消耗分布。隨后,以任意間隔定期檢查所有業(yè)務(wù)類,確定是否應(yīng)分割與該類關(guān)聯(lián) 的業(yè)務(wù)類周期或是否可再次刪除關(guān)聯(lián)的業(yè)務(wù)類周期(步驟301)。為此, 將逐個(gè)檢查業(yè)務(wù)類的所有業(yè)務(wù)類周期(步驟302 )。在執(zhí)行示出的工作流 期間,將檢查所有的業(yè)務(wù)類和所有的業(yè)務(wù)類周期。每個(gè)業(yè)務(wù)類的測(cè)試總是 始于業(yè)務(wù)類的最后一個(gè)周期,即,具有最長(zhǎng)時(shí)間運(yùn)行的事務(wù)的業(yè)務(wù)類周期。提出的算法結(jié)合了相反的或內(nèi)務(wù)處理功能,其允許刪除先前創(chuàng)建的業(yè) 務(wù)類周期。因此,在接下來的步驟320,判定與已檢查的業(yè)務(wù)類周期關(guān)聯(lián) 的工作單元的資源消耗是否變得太小,即,所述周期的資源消耗低于定義 的目標(biāo)值。下文中更詳細(xì)地說明了標(biāo)識(shí)低資源消耗的確切準(zhǔn)則。沒有針對(duì) 業(yè)務(wù)類的第一業(yè)務(wù)類周期執(zhí)行步驟320,因?yàn)榈谝恢芷谟捎脩舳x并因此 從不被刪除。對(duì)于業(yè)務(wù)類的第一業(yè)務(wù)類周期,在步驟320之后緊跟步驟310。工作可以具有高活動(dòng)性的時(shí)間周期和低活動(dòng)性的時(shí)間周期。因此,只 是分析業(yè)務(wù)類周期的當(dāng)前資源消耗是不夠的。因此,如果步驟320中的測(cè)
試顯示業(yè)務(wù)類周期不合適,則不會(huì)立即將業(yè)務(wù)類周期與之前的業(yè)務(wù)類周期相結(jié)合。相反,工作負(fù)荷管理器iio對(duì)其中業(yè)務(wù)類周期的資源消耗低于定義目標(biāo)值的連續(xù)觀測(cè)(即,數(shù)據(jù)收集周期)數(shù)進(jìn)行計(jì)數(shù)(步驟321)。該 目標(biāo)值可以由例如用戶或自動(dòng)由工作負(fù)荷管理器110通過裝置設(shè)置,以確 保在特定時(shí)間周期期間,可以存在具有低資源消耗的業(yè)務(wù)類周期。在步驟321之后的接下來的步驟322中,判定觀測(cè)數(shù)是否超過閾值。 如果是,則在步驟323中刪除已檢查的業(yè)務(wù)類周期并將所收集的數(shù)據(jù)和已 刪除的業(yè)務(wù)類周期的所有工作單元與之前的業(yè)務(wù)類周期關(guān)聯(lián)。在步驟322中未滿足準(zhǔn)則的情況下,對(duì)當(dāng)前業(yè)務(wù)類周期的檢查結(jié)束且 算法前進(jìn)到步驟325。在步驟325中,判定檢查中的業(yè)務(wù)類周期是否是業(yè)務(wù)類的笫一周期或 在該循環(huán)中該業(yè)務(wù)類的周期是否改變(即,刪除或創(chuàng)建)。如果滿足第一 準(zhǔn)則,則在該循環(huán)中調(diào)查了已檢查的業(yè)務(wù)類的所有周期。如果滿足第二準(zhǔn) 則,則業(yè)務(wù)類的周期在該循環(huán)中已經(jīng)更改且不檢查已檢查的業(yè)務(wù)類的其他 周期,因?yàn)闃I(yè)務(wù)類周期的創(chuàng)建或刪除可以對(duì)業(yè)務(wù)類的所有其他業(yè)務(wù)類周期 具有重大影響,而系統(tǒng)需要時(shí)間來反映收集的數(shù)據(jù)中這些變化,以l更能夠 決定其他變化是否合理。如果沒有滿足任一這些準(zhǔn)則,則算法繼續(xù)檢查已 檢查的業(yè)務(wù)類的下一個(gè)業(yè)務(wù)類周期(步驟302 )。如果滿足這些準(zhǔn)則之一, 則算法對(duì)于已檢查的業(yè)務(wù)類結(jié)束且在步驟330判定是否在該循環(huán)中檢查了 所有業(yè)務(wù)類。如果否,則算法繼續(xù)在步驟301處理下一個(gè)業(yè)務(wù)類或如果已 經(jīng)處理了所有業(yè)務(wù)類,則算法對(duì)于該循環(huán)結(jié)束并繼續(xù)步驟300的數(shù)據(jù)收集, 直到執(zhí)行下一測(cè)試為止。如果未滿足已檢查的業(yè)務(wù)類的準(zhǔn)則320,則在接下來的步驟310中判 定所述業(yè)務(wù)類周期是否包含長(zhǎng)時(shí)間運(yùn)行和高CPU資源消耗的事務(wù)。如果業(yè)務(wù)類周期包含長(zhǎng)時(shí)間運(yùn)行和高CPU資源消耗的事務(wù),則所述業(yè) 務(wù)類變?yōu)闃I(yè)務(wù)類周期分割的主題。在步驟310中,測(cè)試業(yè)務(wù)類周期是否滿 足分割的準(zhǔn)則。下面更加詳細(xì)地討論了該準(zhǔn)則。如果它滿足該準(zhǔn)則,則在 步驟311中創(chuàng)建新的業(yè)務(wù)類周期。這也在下面詳細(xì)說明。
如果業(yè)務(wù)類周期不包含長(zhǎng)時(shí)間運(yùn)行和高CPU資源消耗的事務(wù),即,如 果不滿足步驟310的準(zhǔn)則,則算法繼續(xù)到當(dāng)前已檢查的業(yè)務(wù)類的下一個(gè)業(yè) 務(wù)類周期或下一個(gè)業(yè)務(wù)類,這取決于步驟325和330的結(jié)果(參見上文)。在步驟310中使用的周期分割準(zhǔn)則確定了業(yè)務(wù)周期是否具有不一致的 資源消耗。如果可以在業(yè)務(wù)類周期的響應(yīng)時(shí)間存儲(chǔ)桶中標(biāo)識(shí)所謂的分割存 儲(chǔ)桶,則該業(yè)務(wù)類周期具有不一致的資源消耗。分割存儲(chǔ)桶是具有最低存 儲(chǔ)桶號(hào)的存儲(chǔ)桶,其中CPU消耗與所有之前的存儲(chǔ)桶相比變得不一致。應(yīng) 用兩個(gè)準(zhǔn)則來判定此類分割存儲(chǔ)桶是否存在CPU消耗準(zhǔn)則和最低分割存 儲(chǔ)桶準(zhǔn)則。CPU消耗準(zhǔn)則判定單獨(dú)的響應(yīng)時(shí)間存儲(chǔ)桶是否具有不一致的CPU 消耗。最低分割存儲(chǔ)桶準(zhǔn)則確保合理數(shù)量的事務(wù)將在業(yè)務(wù)周期(如果其被 分割的話)中結(jié)束。最低分割存儲(chǔ)桶準(zhǔn)則確定具有最低存儲(chǔ)桶號(hào)且允許成 為分割存儲(chǔ)桶的存儲(chǔ)桶(稱為最低分割存儲(chǔ)桶)。如果已經(jīng)根據(jù)最低分割 存儲(chǔ)桶準(zhǔn)則確定了最低分割存儲(chǔ)桶,則可以如下確定可能的分割存儲(chǔ)桶。 沿降低存儲(chǔ)桶號(hào)的方向遍歷存儲(chǔ)桶。對(duì)于每個(gè)存儲(chǔ)桶,驗(yàn)證CPU消耗準(zhǔn)則。 如果滿足CPU消耗準(zhǔn)則,則將該存儲(chǔ)桶視為候選分割存儲(chǔ)桶。存儲(chǔ)桶的遍 歷在與兩倍目標(biāo)值關(guān)聯(lián)的存儲(chǔ)桶處停止。如果沒有找到候選分割存儲(chǔ)桶, 則未滿足周期分割準(zhǔn)則并執(zhí)行步驟325。否則,滿足周期分割準(zhǔn)則,并且 分割存儲(chǔ)桶等于所找到的最后一個(gè)候選分割存儲(chǔ)桶(如果其存儲(chǔ)桶號(hào)大于 最低分割存儲(chǔ)桶號(hào)),或者分割存儲(chǔ)桶等于最低分割存儲(chǔ)桶(如果其存儲(chǔ) 桶號(hào)小于或等于所找到的最后一個(gè)候選分割存儲(chǔ)桶)。可以定義不同的CPU消耗準(zhǔn)則和最低分割存儲(chǔ)桶準(zhǔn)則。但是,目標(biāo)始終是以這樣的方式標(biāo)識(shí)分割存儲(chǔ)桶在該存儲(chǔ)桶處的業(yè)務(wù)周期的分割導(dǎo)致 分割業(yè)務(wù)周期的存儲(chǔ)桶間的一致平均資源消耗。接下來,給出此類準(zhǔn)則的 一些實(shí)例。這些實(shí)例準(zhǔn)則依賴于每存儲(chǔ)桶的累計(jì)CPU消耗和每存儲(chǔ)桶的結(jié) 束事務(wù)的總數(shù)。圖7示出了圖700,其示出了單個(gè)業(yè)務(wù)類周期的第l到第28號(hào)存儲(chǔ)桶 中的累計(jì)CPU消耗710和結(jié)束的事務(wù)總數(shù)720。圖7中的垂直線701代表 確定的分割存儲(chǔ)桶。水平線702代表最低分割存儲(chǔ)桶準(zhǔn)則。箭頭703和704 示出了其中執(zhí)行數(shù)據(jù)分析的方向??梢岳缤ㄟ^以下方式來確定CPU消耗準(zhǔn)則如果調(diào)查的存儲(chǔ)桶與隨 后的存儲(chǔ)桶之間的資源消耗的增加以及之前的存儲(chǔ)桶與調(diào)查的存儲(chǔ)桶之間 的資源消耗增加超過了裝置定義的比例閾值(例如,3),則調(diào)查的存儲(chǔ)桶 是候選分割存儲(chǔ)桶。使用該方法,圖7中最后一個(gè)候選分割存儲(chǔ)桶將是第 26個(gè)存儲(chǔ)桶。備選地,可以例如通過以下方式確定CPU消耗準(zhǔn)則將前N個(gè)存儲(chǔ)桶 (例如,N-4)的累計(jì)資源消耗視為一致資源消耗。如果調(diào)查的存儲(chǔ)桶超 過了一致資源消耗閾值因數(shù)(例如,因數(shù)2),則它是候選分割存儲(chǔ)桶。 使用該方法,圖7中最后一個(gè)候選分割存儲(chǔ)桶將是第15個(gè)存儲(chǔ)桶??梢岳缤ㄟ^以下方式確定最低分割存儲(chǔ)桶準(zhǔn)則最低分割存儲(chǔ)桶是 特定裝置定義的百分之P (例如,P = 90%)的事務(wù)已結(jié)束的存儲(chǔ)桶。P = 90% 時(shí),最低分割存儲(chǔ)桶將是圖7中的第IO個(gè)存儲(chǔ)桶。備選地,由固定裝置定義的存儲(chǔ)桶號(hào)(例如,第20個(gè)存儲(chǔ)桶)來標(biāo)識(shí) 最低分割存儲(chǔ)桶。標(biāo)識(shí)的分割存儲(chǔ)桶用于在步驟311中定義分割周期的業(yè)務(wù)類周期持續(xù) 時(shí)間和創(chuàng)建新的業(yè)務(wù)類周期。也就是說,如果幾乎所有第27和28個(gè)存儲(chǔ) 桶的事務(wù)都將與新的業(yè)務(wù)類周期關(guān)聯(lián),則第26個(gè)存儲(chǔ)桶的平均資源消耗用 作切換準(zhǔn)則,即,用作業(yè)務(wù)類周期切換條件。為了實(shí)現(xiàn)分割存儲(chǔ)桶之后的 存儲(chǔ)桶的所有事務(wù)都與新的業(yè)務(wù)類周期關(guān)聯(lián),將持續(xù)時(shí)間分配給分割業(yè)務(wù) 類周期,其將資源消耗限制為不大于在分割存儲(chǔ)桶中結(jié)束的事務(wù)的平均資 源消耗。如果沒有事務(wù)在分割存儲(chǔ)桶中結(jié)束,即,如果該存儲(chǔ)桶為空,則 將分割存儲(chǔ)桶的資源消M分割存儲(chǔ)桶之前的最后一個(gè)非空存儲(chǔ)桶內(nèi)插到 分隔存儲(chǔ)桶之后的第一個(gè)非空存儲(chǔ)桶。在該持續(xù)時(shí)間中,當(dāng)事務(wù)由于其他 原因在系統(tǒng)中延遲但未在該時(shí)間使用資源時(shí),仍將有少量在第一業(yè)務(wù)類周 期的最后存儲(chǔ)桶中結(jié)束的事務(wù)。此外, 一些在分割存儲(chǔ)桶之前的存儲(chǔ)桶(即, 在圖7中第27個(gè)存儲(chǔ)桶之前)中結(jié)束的事務(wù)將可能切換到新的業(yè)務(wù)類周期。 這些事務(wù)是短時(shí)間運(yùn)行但具有更多資源消耗的事務(wù)的實(shí)例。
對(duì)于新創(chuàng)建的業(yè)務(wù)類周期的目標(biāo),將應(yīng)用直接的方法。總體目標(biāo)是寸吏 長(zhǎng)時(shí)間運(yùn)行的事務(wù)對(duì)系統(tǒng)中的其他工作的影響最小化??紤]對(duì)于在相同重 要性和稍低重要性級(jí)別的工作產(chǎn)生最大影響,最重要的參數(shù)是新周期的重 要性。為了確定新業(yè)務(wù)類周期的重要性,由工作負(fù)荷管理器測(cè)量其他工作 在相同和較低重要性級(jí)別處的資源消耗。根據(jù)為新的業(yè)務(wù)類周期預(yù)測(cè)的資源量,工作負(fù)荷管理器iio通過將新的業(yè)務(wù)類周期移動(dòng)到較低的重要性級(jí) 別,來幫助為其j吏用基^目同的資源量的其他工作。將此類工作移動(dòng)到較 低的重要性級(jí)別,直到其他工作(表現(xiàn)相同或接^f目同的資源消耗)具備 對(duì)資源的相同或更好的訪問。作為第二準(zhǔn)則,觀測(cè)了由上述機(jī)制從其他業(yè)務(wù)類創(chuàng)建的業(yè)務(wù)類周期,并且工作負(fù)荷管理器110不會(huì)將新的業(yè)務(wù)類周期移動(dòng)到比同樣級(jí)別的其他業(yè)務(wù)類周期更低的重要性級(jí)別,所述其他業(yè)務(wù)類周期從與原始業(yè)務(wù)類周期 位于相同重要性級(jí)別的其他業(yè)務(wù)類的工作來創(chuàng)建。如果分割業(yè)務(wù)類周期具有基于響應(yīng)時(shí)間的目標(biāo),則將新的業(yè)務(wù)類周期 與基于響應(yīng)時(shí)間的目標(biāo)關(guān)聯(lián),所述目標(biāo)設(shè)置為等于與分割存儲(chǔ)桶關(guān)聯(lián)的響 應(yīng)時(shí)間。如果分割業(yè)務(wù)類周期具有面向呑吐量的目標(biāo),則將新的業(yè)務(wù)類周 期與相同的面向吞吐量的目標(biāo)關(guān)聯(lián),將所述目標(biāo)降低裝置定義的因數(shù)??梢园凑障挛呐卸ㄖ芷诘臉I(yè)務(wù)消耗是否低于目標(biāo)(步驟320):如果 第一業(yè)務(wù)類周期中存在活動(dòng)且如果結(jié)束的事務(wù)數(shù)或業(yè)務(wù)類周期的累計(jì)CPU 消耗落到裝置定義的目標(biāo)值以下,則業(yè)務(wù)類周期滿足準(zhǔn)則320并考慮刪除。 如果僅在第一業(yè)務(wù)類周期中存在活動(dòng)時(shí)刪除業(yè)務(wù)類周期,則可以避免在系 統(tǒng)處于低爭(zhēng)用狀態(tài)或無爭(zhēng)用狀態(tài)時(shí)刪除業(yè)務(wù)類周期。如果刪除的業(yè)務(wù)類周 期之后跟隨其他業(yè)務(wù)類周期,則將之前的業(yè)務(wù)類周期的持續(xù)時(shí)間設(shè)置為刪 除的業(yè)務(wù)類周期的持續(xù)時(shí)間。如果不存在后續(xù)的業(yè)務(wù)類周期,則刪除之前 的業(yè)務(wù)類周期的持續(xù)時(shí)間。在更復(fù)雜的方法中,使用了組合的響應(yīng)時(shí)間存儲(chǔ)桶分布,其由工作負(fù) 荷管理器110從檢查的業(yè)務(wù)類周期和之前的業(yè)務(wù)類周期的響應(yīng)時(shí)間存儲(chǔ)桶 分布來生成。對(duì)于組合的響應(yīng)時(shí)間分布,應(yīng)用了標(biāo)識(shí)分割存儲(chǔ)桶(參見上文)的方 法。如果不能確定分割存儲(chǔ)桶,則考慮刪除業(yè)務(wù)類周期。前提是,如簡(jiǎn)單 的方法那樣,在第一業(yè)務(wù)類周期中存在活動(dòng)。對(duì)于以上簡(jiǎn)單的方法,如所 描述的那樣更新之前的業(yè)務(wù)類周期的持續(xù)時(shí)間。標(biāo)號(hào)1第一組時(shí)間存儲(chǔ)桶2第二組時(shí)間存儲(chǔ)桶 10時(shí)間存儲(chǔ)桶 20時(shí)間存儲(chǔ)桶 40存儲(chǔ)桶 41第一個(gè)存儲(chǔ)桶 42第八個(gè)存儲(chǔ)桶 43范圍 44范圍45最后一個(gè)存儲(chǔ)桶 100計(jì)算機(jī)系統(tǒng) 101操作系統(tǒng) 110工作負(fù)荷管理器 111業(yè)務(wù)定義 120業(yè)務(wù)類表 121業(yè)務(wù)類 122業(yè)務(wù)類周期 123業(yè)務(wù)目標(biāo) 124響應(yīng)時(shí)間 125執(zhí)行速度 126重要性級(jí)別 127持續(xù)時(shí)間
128樣本和管理數(shù)據(jù) 130目標(biāo)管理設(shè)備 140操作系統(tǒng)資源 141 CPU資源 150操作系統(tǒng)用戶 151子系統(tǒng) 152工作單元 160數(shù)據(jù)釆樣器 200應(yīng)用 201線程 211內(nèi)部表示 212狀態(tài)婦 223狀態(tài)數(shù)據(jù)存儲(chǔ)桶 224響應(yīng)時(shí)間分布 300 - 330方法步驟 400分布 500時(shí)間分布 510結(jié)束的事務(wù)數(shù) 520每事務(wù)的CPU消耗 700圖701確定的分割存儲(chǔ)桶準(zhǔn)則 702最低分割存儲(chǔ)桶準(zhǔn)則 703數(shù)據(jù)分析的方向 704數(shù)據(jù)分才斤的方向 710累計(jì)CPU消耗 720已結(jié)束事務(wù)的總數(shù)
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng)(100)中的工作負(fù)荷管理的方法,其中將工作單元(152)組織成業(yè)務(wù)類(121),向所述類提供特定量的系統(tǒng)資源(140),以及其中將多個(gè)業(yè)務(wù)類周期(122)與每個(gè)業(yè)務(wù)類(121)關(guān)聯(lián),其特征在于確定至少一個(gè)當(dāng)前業(yè)務(wù)類周期(122)內(nèi)的工作負(fù)荷行為,以及根據(jù)所述確定的工作負(fù)荷行為來自動(dòng)調(diào)整可用業(yè)務(wù)類周期(122)的數(shù)量。
2. 如權(quán)利要求l中所述的方法,其中根據(jù)所述確定的工作負(fù)荷行為來 自動(dòng)調(diào)整業(yè)務(wù)類周期(122)的特性。
3. 如權(quán)利要求l中所述的方法,其中所述確定工作負(fù)荷行為的步驟包 括確定事務(wù)完成時(shí)間和確定事務(wù)的資源消耗。
4. 如權(quán)利要求l中所述的方法,其中所述調(diào)整可用業(yè)務(wù)類周期(122) 的數(shù)量的步驟包括自動(dòng)創(chuàng)建其他業(yè)務(wù)類周期(122)。
5. 如權(quán)利要求l中所述的方法,其中所述調(diào)整可用業(yè)務(wù)類周期(122) 的數(shù)量的步驟包括自動(dòng)刪除當(dāng)前的業(yè)務(wù)類周期(122)。
6. —種用于計(jì)算機(jī)系統(tǒng)(100)的工作負(fù)荷管理器(110), 其中將工作單元(152)組織成業(yè)務(wù)類(121),向所述類提供特定量的系統(tǒng)資源(140),以及其中將多個(gè)業(yè)務(wù)類周期(122)與每個(gè)業(yè)務(wù)類(121)關(guān)聯(lián), 其特征在于,所述工作負(fù)荷管理器包括用于確定當(dāng)前業(yè)務(wù)類周期(122)內(nèi)的工作負(fù)荷行為的裝置,以及 用于才艮據(jù)所述確定的工作負(fù)荷^"為來自動(dòng)調(diào)整可用業(yè)務(wù)類周期(122 ) 的數(shù)量的裝置。
全文摘要
本發(fā)明涉及一種在計(jì)算機(jī)系統(tǒng)(100)中進(jìn)行工作負(fù)荷管理的方法,其中將工作單元(152)組織成業(yè)務(wù)類(121),向所述類提供特定量的系統(tǒng)資源(140),并且其中將多個(gè)業(yè)務(wù)類周期(122)與每個(gè)業(yè)務(wù)類(121)關(guān)聯(lián),其特征在于,確定至少一個(gè)當(dāng)前業(yè)務(wù)類周期(122)內(nèi)的工作負(fù)荷行為,以及根據(jù)所述確定的工作負(fù)荷行為來自動(dòng)調(diào)整可用業(yè)務(wù)類周期(122)的數(shù)量。
文檔編號(hào)G06Q10/00GK101154279SQ20071016173
公開日2008年4月2日 申請(qǐng)日期2007年9月24日 優(yōu)先權(quán)日2006年9月25日
發(fā)明者C·魯帕奇, R·沃佩爾, S·維拉格 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司