專利名稱:用于對資源的自由池建模的方法
技術領域:
本發明 一般涉及使用數據處理建模電子系統,并且特別涉及建模計算 機的性能。
背景技術:
許多年來,網絡技術已使能了遍布全世界的計算資源的共享以及對其 的遠程訪問。 一臺計算機可以容易地與大廳里或另一個國家里的計算機交 換數據。當然,商業世界駕馭全球網絡的力量并未花費很長時間,并且網 絡技術已推動了聚焦于跨這些網絡遞送服務的整個新產業的成長。
該新產業必須能夠在最大化現有資源的同時隨著客戶的需求增長而預 期并滿足客戶的處理需求。 一種最大化資源的方法是允許客戶共享計算和 聯網資源。在該方法的一種實現中,服務提供商在主處理單元(通常稱為 "主機"計算機)上創建計算資源的"邏輯"分區。所述共享、按需環境 中的處理能力的離散單元在這里被稱為"引擎"。典型地,服務提供商與 幾個客戶訂合同以向每個客戶提供特定級別的服務,并且創建或指派資源
的邏輯分區(LPAR)給每個客戶來完成職責。雖然如此,所述合同的一 個或更多在高峰^f吏用的情況下可以允許一定余地的增長。
在被一個客戶高度使用的情況下,則所述服務提供商必須能夠在不會 有害地影響任何其它客戶資源利用的情況下為該客戶提供額外的資源。為 提供這些額外的資源,所述服務提供商可以在直到該客戶的使用返回正常 之前在各個邏輯分區之間重新分配計算資源。雖然如此,允許客戶共享資 源要求所述服務提供商小心地均衡和監視被共享的資源,以便該提供商可 以滿足所有服務職責。
當新客戶預訂所述按需服務時,能力規劃者還必須確保所迷服務提供 商擁有足夠用于每個客戶的資源能力。可用于滿足按需客戶需求的超額資
源能力被稱為"自由池"。能力規劃者還頻繁設置LPAR利用率的目標水 平。LPAR利用率被表述為使用中的引擎與可使用引擎的數量的比率, 其通常被表述為總能力的百分比。存在LPAR利用率目標的兩個目的提 供為滿足客戶需求的未預期增長所必要的資源,以及面對意料之外地低的 客戶需求時避免浪費資源。
現有的按需自由池能力規劃方法涉及使用數學或統計模型來預測到來 客戶的資源使用。能力經由添加引擎來增加,以便滿足每個新客戶的預期 需求。當前的能力規劃方法直接關聯于每個新客戶的預期需求而添加能力。 因為能力身見劃項目是基于部分的或估計的數據,所以所述項目是在歷史上 不準確的。進一步地,現有能力規劃方法不考慮多于一個客戶在任意給定 時刻對能力的影響。例如,當前規劃技術不考慮多個客戶同時使用多于其 預期的能力。
由此,本領域中存在對這樣的改進方法和系統的需求,所述方法和系 統用于估計對滿足服務職責所必要的資源的自由池的大小。
發明內容
本發明提供一種如權利要求l中所要求保護的方法、計算機程序和裝
下面詳細描述的優選實施例包括一種用于管理按需數據中心內提供給 客戶的計算資源的計算機實現的過程以及附屬產品和裝置,所述計算機實 現的過程包括提供在其中計算資源在客戶之間被共享的共享計算環境; 為每個客戶提供所述共享計算環境中的計算資源的一個或更多邏輯分區;
為每個邏輯分區分配至少一個處理引擎;將選定客戶的資源利用率建模為 貝塔(P)分布,其中,所述P分布的眾數標記所述選定客戶的預期資源 利用率;通過所述p分布迭代地選擇隨機資源利用率值,以及,對于每個 邏輯分區計算處理引擎差額,其中,所述處理引擎差額是分配給每個邏輯
分區的處理引擎數與對于為每個邏輯分區提供所述隨機資源利用率必要的
處理引擎數之間的差;對于每次迭代,計算集體處理引擎差額直到該集體 處理引擎差額匯聚于最優處理引擎差額;以及根據所述最優處理引擎差額 來調整處理引擎的數量以便達到最優自由池大小。 優選地,迭代的次數至少為2000次。
被確信為新穎特征的本發明的特征在所附權利要求中闡明。然而,通 過參考下面當結合附圖閱讀時對示例性實施例的詳細描述,本發明其自己
及其優選的使用模式、進一步的目的和優點將被最好地理解,在附圖中 圖1表示示例性的按需操作環境。 圖2描述計算機上的存儲器中的程序和文件。 圖3是示例性p分布的圖。 圖4是配置部件的流程圖。 圖5是計算部件的流程圖。
具體實施例方式
本發明的原理適用于多種計算積^更件和軟件配置。術語"計算機硬件" 或"硬件,,當用在這里時是指能夠接受數據、對數據實施邏輯操作、存 儲數據或顯示數據并且包括但不限于處理器和存儲器的任意機器或裝置; 術語"計算機軟件"或"軟件,,是指可運轉為導致計算機硬件實施操作
的任意指令集。當"計算機"這一術語用在這里時包括但不限于硬件和軟 件的任意有用組合,以及"計算機程序"或"程序"包括但不限于可運轉 為導致計算機硬件接受數據、對數據實施邏輯操作、存儲數據或顯示數據 的任意軟件。計算機程序可以是并且通常是由包括但不限于子程序、模塊、 函數、方法和過程的多個較小編程單元組成的。由此,本發明的功能可以 被分布在多個計算機和計算機程序中。雖然如此,本發明被最好地描述為 配置一個或更多通用計算機并使其能夠實現本發明的新穎方面的單一計算
機程序。為了說明的目的,本發明的計算機程序將被稱為"按需自由池建
模器"或"ODFPM"。
另夕卜,所述ODFPM在下面參考示例性按需操作環境被描述。在按需 數據中心內,硬件和軟件被共享,其以靈活、自動化的方式同時服務于多 個客戶。其是標準化的從而幾乎不需要定制,并且其是可縮放的從而以現 購現付(pay-as-you-go)模型按需提供能力。圖l提供本發明的按需操作 環境100的體系結構的概覽。在基礎設施服務層105,所述環境的部件可 以是例如服務器106、存儲裝置107和數據108的系統對象,或者針對特 定縱向產業或更一般地當其橫向跨產業應用時定義的例如記帳109和計量 110的業務對象。在應用服務層115,部件是組成復雜但靈活得多的應用的 動態集成的應用模塊。
ODFPM 200及其部件——配置部件400和計算部件500典型纟皮存儲 在存儲器中,其中,所述存儲器在圖2中被示意地表示為存儲器220。術 語"存儲器,,當用在這里時包括但不限于計算機可以在其中存儲數據或軟 件任意長時間的例如電子電路、磁盤或光盤的任意易失性或永久介質。單 一存儲器可以包含多個介質并跨多個介質分布。由此,圖2僅作為描述性 手段被包括,并且不是必然地反映存儲器220的任何特定物理實施例。雖 然如此,如圖2中所示,存儲器220可以包括附加的數據和程序。對ODFPM 200特別重要的是,存儲器220可以包括ODFPM 200與之交互的配置數 據文件240和計算數據文件250。
ODFPM 200使用貝塔(p )分布模擬來預測為達到利用率目標所需的 自由池的大小。該模擬使用概率以便在指定范圍的可能結果中運行數千個 "假定推測(what-if)"場景。事件的概率可以被表述為貝爾曲線或I3分 布。所述模擬的結果可以被畫成圖以及被統計地分析,以便確定最可能的 結果和計算為達到想要的結果的變量的最佳配置。p分布模擬僅需要對客 戶資源使用的估計來預測給定利用率目標所需的能力。ODFPM 200用p 分布來估計客戶資源利用率。p分布像貝爾曲線一樣是封閉積分。每個客 戶將使用其各自的LPAR的0%與100%之間的某處。多數時候,客戶將
僅使用可用能力的一部分,例如70%。 p分布提供描述客戶的所有可能使 用水平的可預測和可重復的隨機利用率集合。所迷p分布的"眾數"或頂 點標記客戶的預期利用率。所述P分布的曲線示出存在客戶在預期水平處 或其附近使用資源的高概率,以及示出在極限處使用的低概率。例如,圖 3示出了三個p分布。在圖3中,p分布301在.5或50%處具有眾數,p 分布302在.7或70%處具有眾數,以及(5分布303在.9或90%處具有眾數。 該P分布模擬將使用可能資源利用率的P分布來運行數千場景,并且確定 對達到目標利用率所必要的改變。所述模擬的結果將示出,為滿足目標利 用率水平需要多少能力。
圖4示出了配置部件400的實施例。配置部件400當被能力規劃者啟 動時開始(410)。配置部件400打開配置數據文件240 (412)并且提示 所述能力規劃者輸入模擬輸入(414 )。所述模擬輸入包括LPAR的數量、 分配給每個LPAR的引擎的數量、所有LPAR的集體目標利用率以及每個 LPAR的預期客戶利用率目標。分區的數量和用于每個分區的引擎的數量 描述資源的初始配置。客戶利用率目標是對由每個客戶提供的LPAR利用 率的估計,其通常相對于期望性能準則來均衡引擎成本。所述模擬輸入被 保存到配置數據文件240 ( 416 ),并且配置部件400停止(418 )。
圖5示出了計算部件500的實施例。計算部件500當被能力規劃者啟 動時開始(510 ),并且打開配置數據文件240和計算數據文件250 ( 512 )。 因為不存在對每個LPAR上的實際利用率可用的任何已知值,計算部件 500生成p分布來估計LPAR利用率的可能水平的范圍(514)。所述卩 分布的"眾數",皮設在所述預期LPAR利用率處。計算部件500通過所述 P分布選擇隨機利用率,計算對支持所述隨機生成的利用率必要的引擎的 數量,并且將所述計算存儲在計算數據文件250中(516)。在本發明的一 實施例中,能力是全部引擎的函數,并且結果被向上舍入到下一個整數。 雖然如此,可替換實施例支持分數引擎,由此減輕對向上舍入到整數的需 求。雖然如此,甚至當使用分數引擎時,舍入到下一個最高的十分之一可 以是期望的。用于計算新的所需引擎的數量的方程為(新引擎數)=上
限(隨機利用率/目標利用率*引擎數)。例如,如果能力規劃者指定52% 的目標利用率和分區中的3個引擎,以及通過p分布隨機生成的利用率為 80%,則所述方程將產生以下結果(新引擎數)=上限(.80/.52*3 ) -上限(4.6) =5個引擎。處理引擎差額是新的處理引擎數與分配給指定 LPAR的處理引擎數之間的差(即,新引擎數-引擎數)。在本示例中, 所述處理引擎差額等于兩個額外的引擎,因為為了達到針對客戶的預期利 用率的目標利用率需要兩個額外的引擎。計算部件500基于新引擎數來計 算分區的新利用率,并且將所述計算存儲在計算數據文件250中(518)。 用于使用新? 1擎數來計算分區的利用率的方程為新利用率=隨機利用率* 引擎數/新引擎數。計算部件500針對每個LPAR重復步驟516 - 518( 520 )。 在利用率針對每個LPAR被計算出之后,計算部件500計算集體處理引擎 差額,并且將所述計算存儲在計算數據文件250中(522)。所述集體處理 引擎差額表示所有LPAR所需的新處理引擎數與所述按需數據中心內分配 給所有LPAR的初始的處理引擎數之間的差(即,求和(新引擎數) -求 和(引擎數))。計算部件500還計算平均的新集體LPAR利用率,并且 將所述計算存儲在計算數據文件250中(524)。計算部件500然后將所述 平均利用率與目標利用率比較;直到所述平均利用率與目標利用率匯聚
(converge)(步驟516)之前,步驟514-524重復。計算部件500在平 均利用率與目標利用率匯聚之前可以實施超過2,000次迭代。閾值可以被 設置,從而當平均利用率足夠靠近目標利用率時迭代停止。由于通過在步 驟516中向上舍入到下一個完整引擎導致的約束,平均新利用率可能不會 精確地是目標利用率。在所有迭代被完成之后,計算部件500顯示最終計 算出的自由池和最終目標利用率(528)。所述最終計算出的自由池是為支 持新客戶和維持目標利用率所需的新引擎數。所述最終目標利用率是被所 述新自由池支持的平均利用率。在顯示所述輸出之后,計算部件500停止
(530)
本發明的優選形式已在附圖中被示出并在上面被描述,但該優選形式 中的變型對于本領域的技術人員將是顯而易見的。前面的描述僅用于說明
目的,并且本發明不應當被解釋為限于所示出和描述的特定形式。本發明 的范圍應當僅由下面權利要求的語言限制。
權利要求
1.一種用于管理數據中心內提供給用戶的計算資源的計算機實現的方法,在所述數據中心內所述計算資源在所述用戶之間被共享;所述計算資源的一個或更多邏輯分區被分配給每個用戶,以及至少一個處理引擎被分配給每個邏輯分區;所述方法包括以下步驟將選定用戶的資源利用率建模為β分布,其中,所述β分布的眾數關聯于該選定用戶的預期資源利用率;通過所述β分布選擇隨機資源利用率值;以及使用所述隨機資源利用率值確定自由池大小。
2. 根據權利要求l所述的方法,進一步包括使用所述隨機資源利用 率值確定用于支持所述隨機資源利用率的第 一處理引擎數。
3. 根據權利要求2所述的方法,進一步包括使用所述第一處理引擎 數確定第一利用率值。
4. 根據權利要求l所述的方法,進一步包括 對于每個邏輯分區計算多個利用率值;以及 使用所述多個利用率值計算平均利用率值。
5. 根據權利要求4所述的方法,進一步包括將所述平均利用率值與 目標利用率值比較,以便確定所述平均利用率值與所述目標利用率值是否 匯聚。
6. 根據權利要求2所述的方法,進一步包括對于每個邏輯分區計算 第一處理引擎差額,其中,所述第一處理引擎差額包括分配給每個邏輯分 區的處理引擎數與所述第一處理引擎數之間的差。
7. 根據權利要求6所述的方法,進一步包括 通過所述p分布迭代地選擇隨機資源利用率值;以及 對于每次迭代,計算集體處理引擎差額直到該集體處理引擎差額與第二處理引擎差額匯聚。
8. 根據權利要求7所述的方法,進一步包括使用所述第二處理引擎 差額來調整分配給每個邏輯分區的處理引擎數,以便達到第一 自由池大小。
9. 根據權利要求l所述的方法,其中,所述選定用戶的預期資源利用 率包括預期峰值資源利用率。
10. 根據權利要求1所述的方法,其中,所述選定用戶的預期資源利 用率包括預期平均資源利用率。
11. 一種用于管理數據中心內提供給用戶的計算資源的計算機程序, 在所述數據中心內所述計算資源在所述用戶之間被共享;所述計算資源 的一個或更多邏輯分區被分配給每個用戶,以及至少一個處理引擎被分配 給每個邏輯分區;所述計算機程序產品包括具有計算機可讀程序的計算機 可用介質,其中,所述計算機程序包括當所述程序4皮運行在計算機上時適 于實施以下步驟的程序代碼裝置將選定用戶的資源利用率建模為P分布,其中,所述p分布的眾數關 聯于所述選定用戶的預期資源利用率;通過所述p分布選擇隨機資源利用率值;以及 使用所述隨機資源利用率值確定自由池大小。
12. 根據權利要求ll所述的計算機程序,其中,當所述程序被運行在 計算機上時,所述程序代碼裝置適于實施以下步驟處理引擎數。
13. 根據權利要求12所述的計算機程序,其中,當所述程序被運行在 計算機上時,所述程序代碼裝置適于實施以下步驟使用所述第 一處理? 1擎數確定第 一利用率值。
14. 根據權利要求13所述的計算機程序,其中,當所述程序被運行在 計算機上時,所述程序代碼裝置適于實施以下步驟對于每個邏輯分區計算多個利用率值,以及^f吏用所述多個利用率值計 算平均利用率值。
15. 根據權利要求14所述的計算機程序,其中,當所述程序被運行在 計算機上時,所述程序代碼裝置適于實施以下步驟 將所述平均利用率值與目標利用率值比較,以^^確定所述平均利用率 值與所述目標利用率值是否匯聚。
16. 根據權利要求12所述的計算機程序,其中,當所述程序被運行在 計算機上時,所述程序代碼裝置適于實施以下步驟對于每個邏輯分區,計算第一處理引擎差額,其中,所述第一處理引 擎差額包括分配^個邏輯分區的處理引擎數與所述第一處理引擎數之間 的差。
17. 根據權利要求16所述的計算機程序,其中,當所述程序被運行在 計算機上時,所述程序代碼裝置適于實施以下步驟通過所述p分布迭代地選擇隨機資源利用率值;以及 對于每次迭代,計算集體處理引擎差額直到所述集體處理引擎差額與 第二處理引擎差額匯聚。
18. 根據權利要求17所述的計算機程序,其中,當所述程序被運行在 計算機上時,所述程序代碼裝置適于實施以下步驟使用所述第二處理引擎差額來調整分配給每個邏輯分區的處理引擎 數,以便達到第一自由池大小。
19. 根據權利要求ll所述的計算機程序,其中,所述選定用戶的預期 資源利用率包括預期峰值資源利用率。
20. 根據權利要求ll所述的計算機程序,其中,所述選定用戶的預期 資源利用率包括預期平均資源利用率。
21. —種用于管理數據中心內提供給用戶的計算資源的裝置,在所述 數據中心內所述計算資源在所述用戶之間被共享;所述計算資源的一個或更多邏輯分區被分配給每個用戶;以及 至少一個處理引擎被分配給每個邏輯分區;所述裝置包括用于將選定用戶的資源利用率建模為P分布的裝置,其中,所述 p分布的眾數關聯于所述選定用戶的預期資源利用率;用于通過所述p分布選擇隨機資源利用率值的裝置;以及 用于使用所述隨機資源利用率值確定自由池大小的裝置。
22. 根據權利要求21所述的裝置,進一步包括用于使用所述隨^L資 源利用率值確定用于支持所述隨機資源利用率的第一處理引擎數的裝置。
23. 根據權利要求22所述的裝置,進一步包括用于使用所述第一處 理引擎數確定第一利用率值的裝置。
24. 根據權利要求23所述的裝置,進一步包括 用于對于每個邏輯分區計算多個利用率值的裝置;以及用于使用所述多個利用率值計算平均利用率值的裝置。
25. 根據權利要求24所述的裝置,進一步包括用于將所述平均利用是否匯聚的裝置。
26. 根據權利要求22所述的裝置,進一步包括對于每個邏輯分區, 用于計算第一處理引擎差額的裝置,其中,所述第一處理引擎差額包括分 配^個邏輯分區的處理引擎數與所述第 一處理引擎數之間的差。
27. 根據權利要求26所述的裝置,進一步包括用于通過所述p分布迭代地選擇隨機資源利用率值的裝置;以及 對于每次迭代,用于計算集體處理引擎差額直到所述集體處理引擎差 額與第二處理引擎差額匯聚的裝置。
28. 根據權利要求27所述的裝置,進一步包括用于使用所述第二處 理引擎差額來調整分配^個邏輯分區的處理引擎數以便達到第一 自由池 大小的裝置。
29. 根據權利要求21所述的裝置,其中,所述選定用戶的預期資源利 用率包括預期峰值資源利用率。
30. 根據權利要求21所述的裝置,其中,所述選定用戶的預期資源利 用率包括預期平均資源利用率。
全文摘要
本發明包括一種用于管理按需數據中心內提供給客戶的計算資源的計算機實現的過程。所述過程包括提供共享計算環境;為每個客戶提供所述共享計算環境中的計算資源的一個或更多邏輯分區;為每個邏輯分區分配至少一個處理引擎;將選定客戶的資源利用率建模為β分布;通過所述β分布迭代地選擇隨機資源利用率值,以及,對于每個邏輯分區,計算處理引擎差額;對于每次迭代,計算集體處理引擎差額直到該集體處理引擎差額匯聚于最優處理引擎差額;以及,根據所述最優處理引擎差額來調整處理引擎數,以便達到最優自由池大小。
文檔編號G06F9/46GK101361045SQ200780001766
公開日2009年2月4日 申請日期2007年1月8日 優先權日2006年1月23日
發明者C·A·佐洛托, R·C·約翰遜, R·小伯伊斯, T·N·諾斯維, W·施密特 申請人:國際商業機器公司