專利名稱:用于通過調(diào)節(jié)網(wǎng)絡(luò)控制進(jìn)行自動的系統(tǒng)管理的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明針對大型信息技術(shù)系統(tǒng)中的資源管理。
背景技術(shù):
大型IT(信息技術(shù))系統(tǒng)中的資源管理提出了許多挑戰(zhàn)。由于創(chuàng)建了突發(fā)性很強(qiáng)且不可預(yù)測的資源需求模型,諸如網(wǎng)格計算和利用率計算之類的當(dāng)前服務(wù)模型增加了資源管理的復(fù)雜度。這些需求模型很難預(yù)期或預(yù)先表征。成功地操作這些服務(wù)模型需要符合關(guān)于應(yīng)用程序性能的服務(wù)等級協(xié)定(SLA)。常規(guī)的資源管理方法通過估計應(yīng)用程序資源需求的統(tǒng)計期望并嘗試計算SLA違規(guī)的概率的理論界限來進(jìn)行系統(tǒng)資源的分配。
相反,動態(tài)資源管理器監(jiān)控IT系統(tǒng)的性能和系統(tǒng)資源的利用,當(dāng)認(rèn)為系統(tǒng)運(yùn)行達(dá)不到目標(biāo)或不符合指定的SLA時,調(diào)整資源的分配。一般來說,資源管理器按照可用的控制來操作,這些控制用于將調(diào)度方法應(yīng)用于管理和指示各種應(yīng)用程序?qū)Y源的使用。例如,將處理調(diào)度函數(shù)用于在該處理資源所執(zhí)行的各種處理之間分配對處理資源即一個或多個中央處理單元(CPU)的共享。在確定不能完成某些性能目標(biāo)后以及/或者當(dāng)動態(tài)資源管理器計算出可能更有利的備選分配時,動態(tài)資源管理器將改變這些分配。
動態(tài)資源管理器控制各種類型的系統(tǒng)資源,例如處理資源(例如CPU周期)、主系統(tǒng)存儲器、磁盤空間和網(wǎng)絡(luò)資源(例如通信帶寬和網(wǎng)絡(luò)緩沖器)。常規(guī)的方法獨(dú)立地管理處理資源和網(wǎng)絡(luò)資源,一般會忽略每種資源的可用情況與使用情況之間的復(fù)雜依賴關(guān)系。事實上,在IT系統(tǒng)中進(jìn)行基于性能的資源管理的主要方法都是控制處理資源,而假設(shè)網(wǎng)絡(luò)容量供大于求(over-provisioned)。這種假設(shè)只在所部署的應(yīng)用程序的計算強(qiáng)度非常高、具有非常有限的通信需求并且不包括長距離或低帶寬的通信鏈路的系統(tǒng)中成立。
然而,隨著IT系統(tǒng)在尺寸和地理規(guī)模上的擴(kuò)展、更多地使用公共網(wǎng)絡(luò)和廣域網(wǎng)以及處理由諸如網(wǎng)格計算、利用率計算和多媒體流處理之類的新應(yīng)用程序模型引入的不可預(yù)測的需求,網(wǎng)絡(luò)資源管理已成為系統(tǒng)管理整體的一部分。通過非供大于求的通信資源進(jìn)行大量數(shù)據(jù)傳送伴隨著一定程度的不可預(yù)測性對整個系統(tǒng)管理增加了大量的復(fù)雜度。
因此,需要控制網(wǎng)絡(luò)資源分配的系統(tǒng)和方法,以實現(xiàn)應(yīng)用程序的性能目標(biāo)并實現(xiàn)諸如計算資源之類的其他系統(tǒng)資源的目標(biāo)利用。這些系統(tǒng)和方法必須明確地考慮到系統(tǒng)中每一種類型的資源(包括處理資源和網(wǎng)絡(luò)資源)的可用情況和使用情況之間的復(fù)雜的依賴關(guān)系。
發(fā)明內(nèi)容
所公開的發(fā)明是一種用于信息技術(shù)(IT)系統(tǒng)的控制機(jī)制。這種系統(tǒng)可以包括(但不限于)分布式計算系統(tǒng)、網(wǎng)格計算系統(tǒng)和流處理系統(tǒng)。本發(fā)明結(jié)合例如處理器能力(CPU)、排隊順序確定、磁盤分配和主存儲器分配之類的其他系統(tǒng)資源(的更常規(guī)的調(diào)節(jié))來調(diào)節(jié)分配給不同任務(wù)和/或應(yīng)用程序的網(wǎng)絡(luò)資源數(shù)量,以驅(qū)使IT系統(tǒng)達(dá)到期望操作點(diǎn)。通過優(yōu)化基于目標(biāo)的目標(biāo)函數(shù),同時考慮系統(tǒng)約束來達(dá)到這種期望操作點(diǎn)。當(dāng)過度定制網(wǎng)絡(luò)資源,引起瓶頸時,所述控制機(jī)制將網(wǎng)絡(luò)資源管理結(jié)合到現(xiàn)有的處理資源管理中,從而實現(xiàn)IT系統(tǒng)的正確功能。
本發(fā)明利用網(wǎng)絡(luò)資源作為一組控制變量來管理IT系統(tǒng)。對網(wǎng)絡(luò)資源的這種使用基于網(wǎng)絡(luò)資源利用與達(dá)到運(yùn)行于IT系統(tǒng)(的一個或多個節(jié)點(diǎn))上的應(yīng)用程序的性能目標(biāo)之間的關(guān)系的理解。本發(fā)明自動地確定了這種關(guān)系和用于使用這種關(guān)系來實現(xiàn)期望的性能目標(biāo)的機(jī)制??梢越Y(jié)合本發(fā)明使用未明確控制網(wǎng)絡(luò)資源分配的現(xiàn)有控制機(jī)制來實現(xiàn)性能目標(biāo)。在不排除和減少現(xiàn)有機(jī)制的功能性的情況下利用現(xiàn)有控制方法和技術(shù)添加了新的控制參數(shù)。因此,根據(jù)本發(fā)明的示例性系統(tǒng)和方法結(jié)合現(xiàn)有控制機(jī)制而工作,以根據(jù)期望的性能目標(biāo)來控制資源使用和提供工作量執(zhí)行。
圖1是根據(jù)本發(fā)明的分布式信息技術(shù)系統(tǒng)的實施例的示意性表示;圖2是示出根據(jù)本發(fā)明的用于網(wǎng)絡(luò)資源分配的方法的實施例的流程圖;以及圖3是示出一個單獨(dú)的節(jié)點(diǎn)上用于操作根據(jù)本發(fā)明的方法的系統(tǒng)的實施例的框圖。
具體實施例方式
根據(jù)本發(fā)明的示例性系統(tǒng)和方法提供了用于在諸如信息技術(shù)(IT)系統(tǒng)之類的計算系統(tǒng)中實現(xiàn)性能目標(biāo)的簡單且有效的控制機(jī)制。參考圖1,其中示出了結(jié)合根據(jù)本發(fā)明的示例性實施例而使用的IT系統(tǒng)10的示例。IT系統(tǒng)10包括通過一個或多個網(wǎng)絡(luò)14彼此通信的多個分布式節(jié)點(diǎn)12或計算機(jī)。這些網(wǎng)絡(luò)14包括局域網(wǎng)和諸如因特網(wǎng)之類的廣域網(wǎng)。每個節(jié)點(diǎn)包含至少一個邏輯處理器,例如能夠執(zhí)行運(yùn)行于該節(jié)點(diǎn)或計算機(jī)上的多個應(yīng)用程序或程序16的中央處理單元(CPU)。這些應(yīng)用程序或程序16提供IT系統(tǒng)10的各種功能性。這些節(jié)點(diǎn)和計算機(jī)通過網(wǎng)絡(luò)發(fā)送和接收用于運(yùn)行于這些計算機(jī)上的應(yīng)用程序的數(shù)據(jù)流。每個節(jié)點(diǎn)還可以包含一個或多個存儲介質(zhì),以存儲用于執(zhí)行應(yīng)用程序16的可執(zhí)行代碼并存儲其他數(shù)據(jù)。
每個節(jié)點(diǎn)12包含多個處理資源,即用于在該節(jié)點(diǎn)上執(zhí)行應(yīng)用程序16的CPU和主存儲器。這些處理資源可以由現(xiàn)有的資源管理器管理,或者可以不被現(xiàn)有的資源管理器管理。除處理資源之外,IT系統(tǒng)10還包括網(wǎng)絡(luò)資源,例如用于系統(tǒng)10的不同節(jié)點(diǎn)12之間的數(shù)據(jù)移動即數(shù)據(jù)流的通信網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)緩沖器空間。處理資源和網(wǎng)絡(luò)資源的使用情況和可用情況會影響IT系統(tǒng)的性能。在逐個節(jié)點(diǎn)(node-by-node)的基礎(chǔ)上應(yīng)用根據(jù)本發(fā)明的示例性方法,以在每個節(jié)點(diǎn)上控制處理資源和網(wǎng)絡(luò)資源的利用和分配。
根據(jù)本發(fā)明的方法根據(jù)設(shè)定的性能目標(biāo)來優(yōu)化運(yùn)行于IT系統(tǒng)的節(jié)點(diǎn)上的應(yīng)用程序的性能。因此,通過優(yōu)化性能目標(biāo),可以優(yōu)化IT系統(tǒng)本身的性能。分布式應(yīng)用程序在不同節(jié)點(diǎn)之間發(fā)送和接收數(shù)據(jù),從而同時消耗處理資源和網(wǎng)絡(luò)資源。對這兩種類型的資源的利用是相互依賴的。處理資源的利用和應(yīng)用程序性能會受到網(wǎng)絡(luò)資源的可用情況和使用情況的影響。例如,如果給定的應(yīng)用程序正需要通過網(wǎng)絡(luò)發(fā)送大量數(shù)據(jù),而當(dāng)前可用的網(wǎng)絡(luò)帶寬較低,則應(yīng)用程序性能會下降。因此,處理資源的利用與網(wǎng)絡(luò)資源的利用之間存在相互依賴關(guān)系。這種相互依賴關(guān)系還會影響IT系統(tǒng)性能目標(biāo)的實現(xiàn)。因此,優(yōu)化應(yīng)用程序性能包括優(yōu)化應(yīng)用程序?qū)μ幚碣Y源和網(wǎng)絡(luò)資源的使用。因此,應(yīng)控制處理資源的利用和網(wǎng)絡(luò)資源的利用以實現(xiàn)節(jié)點(diǎn)上每個應(yīng)用程序的執(zhí)行、該節(jié)點(diǎn)的資源利用以及IT系統(tǒng)的整體運(yùn)行的期望性能目標(biāo)。根據(jù)本發(fā)明的方法確定處理資源的利用與網(wǎng)絡(luò)資源的利用之間的這種相互依賴關(guān)系或關(guān)系并用其來計算優(yōu)化性能目標(biāo)的處理資源分配和網(wǎng)絡(luò)資源分配。這些方法用于確定說明應(yīng)用程序?qū)W(wǎng)絡(luò)資源的利用的不可預(yù)測的、“突發(fā)的”和動態(tài)的性質(zhì)的關(guān)系。
參考圖2,其中示出了用于在IT系統(tǒng)20中進(jìn)行資源管理的方法的示例性實施例。盡管示出為一個單路過程,但應(yīng)當(dāng)理解,可以將該示例性方法操作為連續(xù)的或重復(fù)的循環(huán)或過程。因此,在任一給定的實現(xiàn)之后,確定隨后的一組性能目標(biāo)和關(guān)系。首先,對于運(yùn)行于包含多個計算機(jī)的計算系統(tǒng)中的給定計算機(jī)上的至少一個應(yīng)用程序,確定在執(zhí)行應(yīng)用程序期間會受到對處理資源和網(wǎng)絡(luò)資源的利用的影響的至少一個性能目標(biāo)(步驟22)。該計算系統(tǒng)中的每個計算機(jī)運(yùn)行多個應(yīng)用程序。因此,在一個實施例中,為運(yùn)行于給定計算機(jī)上的多個應(yīng)用程序中的每一個應(yīng)用程序確定性能目標(biāo)。作為替代,為運(yùn)行于計算機(jī)上的一個單獨(dú)的應(yīng)用程序或為運(yùn)行于該計算機(jī)上的多個應(yīng)用程序確定多個性能目標(biāo)。這一過程還可以包括確定影響性能目標(biāo)的處理資源和網(wǎng)絡(luò)資源。還可以針對IT系統(tǒng)中的多個節(jié)點(diǎn)重復(fù)對處理資源、網(wǎng)絡(luò)資源以及性能目標(biāo)進(jìn)行應(yīng)用程序特定的確定。多個節(jié)點(diǎn)可以是計算系統(tǒng)中的整組計算機(jī)或這些計算機(jī)的子集。
處理資源是該計算機(jī)或節(jié)點(diǎn)內(nèi)由運(yùn)行于計算機(jī)上的任意應(yīng)用程序所利用的資源,并且處理資源包括但不限于CPU、主存儲器和磁盤空間。網(wǎng)絡(luò)資源是每個應(yīng)用程序通過網(wǎng)絡(luò)在節(jié)點(diǎn)之間交換消息、呼叫或數(shù)據(jù)時所利用的資源,并且網(wǎng)絡(luò)資源包括但不限于通信帶寬、通信緩沖器空間、鏈路帶寬、網(wǎng)絡(luò)交換帶寬、網(wǎng)絡(luò)接口緩沖器容量、操作系統(tǒng)緩沖器容量、應(yīng)用程序緩沖器容量、網(wǎng)絡(luò)交換緩沖器容量及其組合。可以用網(wǎng)絡(luò)資源分配、處理資源分配或網(wǎng)絡(luò)資源和處理資源分配來表示性能目標(biāo)。作為替代,也可以用不直接與特定資源(網(wǎng)絡(luò)資源或處理資源)的利用相聯(lián)系的應(yīng)用程序性能目標(biāo)來表示性能目標(biāo)。在一個實施例中,性能目標(biāo)表示同時運(yùn)行于節(jié)點(diǎn)或計算機(jī)上的多個應(yīng)用程序之間的CPU處理能力的期望分配。例如,性能目標(biāo)表明將50%的處理能力分配給第一應(yīng)用程序、將20%的處理能力分配給第二應(yīng)用程序并將25%的處理能力分配給第三應(yīng)用程序。在另一個實施例中,性能目標(biāo)不是用特定處理資源的分配來表示的,而是一種對期望應(yīng)用程序性能目標(biāo)的描述。對于通過網(wǎng)絡(luò)發(fā)送消息或呼叫并接收對這些消息的應(yīng)答的應(yīng)用程序,應(yīng)用程序性能可以用每對到來消息和發(fā)出消息所耗費(fèi)的時間(即往返時間)來描述。因此,在另一個實施例中,性能目標(biāo)可以表明第一應(yīng)用程序的最大期望往返時間是30毫秒、第二應(yīng)用程序的最大期望往返時間是5毫秒并且第三應(yīng)用程序的最大期望往返時間是2毫秒。
確定了一個或多個性能目標(biāo)之后,確定處理資源的利用或網(wǎng)絡(luò)資源的利用與實現(xiàn)性能目標(biāo)之間的至少一個關(guān)系(步驟24)。作為替代,確定多個關(guān)系。在不需要先驗知識并且沒有人為的干預(yù)或校準(zhǔn)的情況下確定這些關(guān)系,即自動地確定這些關(guān)系。在一個實施例中,在每個應(yīng)用程序的基礎(chǔ)上確定這些關(guān)系,即針對多個應(yīng)用程序中的每一個應(yīng)用程序確定網(wǎng)絡(luò)資源利用或處理資源利用與性能目標(biāo)實現(xiàn)之間的關(guān)系。作為替代,確定包括多個應(yīng)用程序的網(wǎng)絡(luò)資源、處理資源與性能目標(biāo)之間的并行關(guān)系的更復(fù)雜的關(guān)系。盡管不需要先驗知識以及人為的干預(yù)和校準(zhǔn),但如果可用,仍可以將某些或所有先驗知識以及人為的干預(yù)和校準(zhǔn)結(jié)合到本方法中。
在一個實施例中,采用適合于說明IT系統(tǒng)中的資源使用的動態(tài)性質(zhì)的方法來確定這些關(guān)系。在一個實施例中,采用學(xué)習(xí)算法來確定這些關(guān)系。優(yōu)選地,在IT系統(tǒng)的運(yùn)行期間以對系統(tǒng)的最小干擾來實時地應(yīng)用這些學(xué)習(xí)算法。在一個實施例中,連續(xù)地應(yīng)用學(xué)習(xí)算法,以便可以隨時間變化而更新這些關(guān)系,這些關(guān)系說明了計算系統(tǒng)中的資源利用的動態(tài)的和變化的性質(zhì)。可以采用能夠隨時間變化而收集網(wǎng)絡(luò)資源利用或處理資源利用以及性能的測量值并能夠推導(dǎo)出描述處理資源的利用或網(wǎng)絡(luò)資源的利用與實現(xiàn)性能目標(biāo)之間的關(guān)系的函數(shù)的任意的基于學(xué)習(xí)的算法。在一個實施例中,該基于學(xué)習(xí)的算法是動態(tài)的、隨機(jī)的控制算法。動態(tài)的、隨機(jī)的控制算法的例子可見于與IBM存檔號YOR920050065US1有關(guān)的美國專利申請中,在此通過引用的方式包含其全部內(nèi)容。
一般來說,通過在IT系統(tǒng)中的給定節(jié)點(diǎn)上執(zhí)行給定應(yīng)用程序期間以固定的時間間隔來記錄對不同資源的利用級別和各種性能目標(biāo)的實現(xiàn)級別的觀察結(jié)果來確定給定應(yīng)用程序的處理資源利用或網(wǎng)絡(luò)資源利用與性能目標(biāo)實現(xiàn)之間的關(guān)系。針對每個觀察結(jié)果,記錄參數(shù)的n元組(n-tuple),包括所控制的每個應(yīng)用程序的網(wǎng)絡(luò)資源的分配和利用以及處理資源的利用。這些測量值代表不同應(yīng)用程序的資源利用的多維空間中的采樣點(diǎn),并且在正常的系統(tǒng)運(yùn)行期間即不需要打擾正常的系統(tǒng)運(yùn)行就可以收集這些測量值。這種測量值的收集實現(xiàn)了對表示處理資源利用、性能目標(biāo)實現(xiàn)與網(wǎng)絡(luò)資源利用之間的依賴關(guān)系的多維函數(shù)的近似。可以用適當(dāng)?shù)倪^濾技術(shù)來減小隨機(jī)波動和測量誤差對觀察到的測量值的影響。適當(dāng)?shù)倪^濾技術(shù)是本領(lǐng)域中已知并且可用的。
將所確定的關(guān)系用于確定所有可控資源的聯(lián)合空間中的期望的一組操作,這些可控資源包括所有的可用網(wǎng)絡(luò)資源和處理資源。將這一組操作選擇為通過優(yōu)化所確定的性能目標(biāo)來優(yōu)化運(yùn)行于IT系統(tǒng)中的計算機(jī)或節(jié)點(diǎn)上的應(yīng)用程序的執(zhí)行。因此,在一個實施例中,將所確定的關(guān)系用于控制給定應(yīng)用程序所利用的網(wǎng)絡(luò)資源的分配,以優(yōu)化一個或多個性能目標(biāo)。一般來說,該性能目標(biāo)就是指定的應(yīng)用程序執(zhí)行和資源利用的性能目標(biāo)。在一個實施例中,根據(jù)針對一個單獨(dú)的應(yīng)用程序或在同時運(yùn)行于一個給定的計算機(jī)上的多個應(yīng)用程序之間進(jìn)行的CPU處理能力分配來表示性能目標(biāo)。例如,性能目標(biāo)表明將50%的CPU處理能力分配給第一應(yīng)用程序、將20%的CPU處理能力分配給第二應(yīng)用程序并將25%的CPU處理能力分配給第三應(yīng)用程序。
在另一個實施例中,性能目標(biāo)不是用特定處理資源的分配來表示的,而是對應(yīng)用程序性能參數(shù)的期望質(zhì)量度量的描述。對于通過網(wǎng)絡(luò)發(fā)送消息或呼叫并接收對這些消息的應(yīng)答的應(yīng)用程序,應(yīng)用程序性能會受到每對到來消息和發(fā)出消息的所經(jīng)歷的延遲即往返時間的影響。因此,性能目標(biāo)可以表明第一應(yīng)用程序的最大期望往返時間是30毫秒、第二應(yīng)用程序的最大期望往返時間是5毫秒并且第三應(yīng)用程序的最大期望往返時間是2毫秒?;谶@種期望目標(biāo)來控制處理資源的分配。
在一個實施例中,確定對處理資源的分配或性能目標(biāo)的實現(xiàn)的附加約束(步驟30)。對處理資源分配的適當(dāng)約束包括例如在任意給定時間上為每個應(yīng)用程序分配總CPU處理能力的至少2%,或者每個應(yīng)用程序有權(quán)存取至少1MB的內(nèi)存。對性能目標(biāo)的適當(dāng)約束包括每個應(yīng)用程序應(yīng)當(dāng)經(jīng)歷不大于35毫秒的往返延遲時間。還可以為網(wǎng)絡(luò)資源的分配定義類似的約束。
確定期望的性能目標(biāo)之后,計算將用于應(yīng)用程序執(zhí)行的網(wǎng)絡(luò)資源或處理資源的分配(步驟34),以便優(yōu)化每個所確定的性能目標(biāo)。將處理資源分配或網(wǎng)絡(luò)資源分配與性能目標(biāo)之間的所確定的關(guān)系用于計算所提出的優(yōu)化的網(wǎng)絡(luò)資源分配或處理資源分配。對于運(yùn)行于給定節(jié)點(diǎn)上的每個應(yīng)用程序,所提出的網(wǎng)絡(luò)資源的分配代表了在當(dāng)前時間間隔期間分配給該應(yīng)用程序的網(wǎng)絡(luò)資源(例如帶寬)的數(shù)量。由于所確定的關(guān)系會隨時間變化,因此這些關(guān)系如同計算出的分配方案一樣更新。在一個實施例中,以固定的間隔更新所確定的關(guān)系和計算出的分配方案。優(yōu)選地,實時地連續(xù)更新所確定的關(guān)系和計算出的分配方案。
在一個實施例中,可以將應(yīng)用程序所利用的處理資源視為顯示出根據(jù)分配給該應(yīng)用程序的網(wǎng)絡(luò)資源數(shù)量而變化的單調(diào)性質(zhì)??梢岳缬煤瘮?shù)C(B)來表示根據(jù)分配給運(yùn)行于給定節(jié)點(diǎn)上的給定應(yīng)用程序的網(wǎng)絡(luò)資源數(shù)量而變化的該應(yīng)用程序所利用的處理資源。該函數(shù)C(B)是增函數(shù)或減函數(shù)。例如,處理到來數(shù)據(jù)流的應(yīng)用程序會耗費(fèi)CPU資源來處理該數(shù)據(jù)。接收到的數(shù)據(jù)的量越大,所耗費(fèi)的CPU資源的量和通過網(wǎng)絡(luò)發(fā)送和接收的數(shù)據(jù)的量就越大。因此,函數(shù)C(B)是增函數(shù),即增加網(wǎng)絡(luò)資源使用量意味著增加處理資源使用量。在另一個實施例中,到來或發(fā)出的數(shù)據(jù)業(yè)務(wù)的量變小引起處理資源需求的減少。例如,多媒體應(yīng)用要求更多的CPU能力來執(zhí)行對發(fā)出多媒體流進(jìn)行更高級別的壓縮,并且與此類似,要求更多的CPU能力來擴(kuò)展高度壓縮的到來流。然而,這種更高級別的壓縮會引起通過網(wǎng)絡(luò)行進(jìn)的數(shù)據(jù)的大小和量的減少。對于這種應(yīng)用,函數(shù)C(B)是減函數(shù),即處理資源使用量的減少引起網(wǎng)絡(luò)資源使用量的減少。不管所分配的網(wǎng)絡(luò)資源量是增加了還是減少了,根據(jù)本發(fā)明的示例性實施例都能根據(jù)當(dāng)前的應(yīng)用程序性能和處理資源利用,保持對處理資源利用和網(wǎng)絡(luò)資源利用之間的這種關(guān)系的了解,并將這種關(guān)系用于計算待確定的優(yōu)化的網(wǎng)絡(luò)資源分配。
可將計算出的網(wǎng)絡(luò)資源分配視為將對網(wǎng)絡(luò)資源分配采取的所提出的或期望的一組操作,例如增加或減少提供給一個或多個應(yīng)用程序的網(wǎng)絡(luò)分配。這些操作的例子包括將用于運(yùn)行于給定節(jié)點(diǎn)上的第一應(yīng)用程序的帶寬增加10%,并將用于運(yùn)行于該節(jié)點(diǎn)上的第二應(yīng)用程序的帶寬減少5%。在一個實施例中,優(yōu)選地根據(jù)預(yù)定的固定時間間隔,針對給定的計算機(jī)或節(jié)點(diǎn)上的所有應(yīng)用程序共同地確定這些組的操作。
計算出的網(wǎng)絡(luò)資源分配即操作有可能對處理資源的分配或?qū)π阅苣繕?biāo)的實現(xiàn)造成影響。這些影響有可能代表了可能違背預(yù)定約束或不期望的性能下降。因此,在一個實施例中,分析所提出的計算出的網(wǎng)絡(luò)資源分配相對于當(dāng)前的處理資源分配的關(guān)系(步驟36),以確定所提出的網(wǎng)絡(luò)資源分配對處理資源分配或性能目標(biāo)的任意可能的影響。在一個實施例中,將IT系統(tǒng)中的現(xiàn)有的處理資源控制器用于控制處理資源,例如CPU利用、磁盤空間和存儲器分配,并從而將IT系統(tǒng)中的這些現(xiàn)有的控制器或模型用于確定和權(quán)衡現(xiàn)有的控制器對所考慮的控制操作的可能反應(yīng)的代價和好處。
基于所提出的網(wǎng)絡(luò)資源分配對處理資源分配或性能目標(biāo)實現(xiàn)的任意影響,可以按照需要調(diào)整或按比例增減網(wǎng)絡(luò)資源的分配以實現(xiàn)期望的或選定的性能目標(biāo)(步驟38)。
然后,實現(xiàn)計算出的網(wǎng)絡(luò)資源分配,包括任意的按比例增減和調(diào)整(步驟40)。可以將任何適當(dāng)?shù)臋C(jī)制用于在計算機(jī)系統(tǒng)中實施或?qū)崿F(xiàn)期望的操作。這些機(jī)制的例子包括但不限于網(wǎng)絡(luò)過濾器和網(wǎng)絡(luò)資源保留機(jī)制和協(xié)議,諸如綜合服務(wù)或區(qū)分服務(wù)。
確定性能目標(biāo)、將性能目標(biāo)表示為資源分配、確定限定網(wǎng)絡(luò)資源分配和處理資源分配的操作、采用現(xiàn)有的資源控制器來檢查所提出的分配以及調(diào)整網(wǎng)絡(luò)處理資源分配的步驟可以順序地運(yùn)行也可以并行地進(jìn)行。此外,根據(jù)本發(fā)明的用于網(wǎng)絡(luò)資源分配的方法可以作為一個單獨(dú)的分配而進(jìn)行。作為替代,這些處理步驟可以作為連續(xù)的循環(huán)而進(jìn)行,以便隨時間變化而更新對處理資源分配、網(wǎng)絡(luò)資源分配與性能目標(biāo)之間的關(guān)系的確定、性能目標(biāo)的選擇、處理資源的分配以及網(wǎng)絡(luò)資源的分配,以說明IT系統(tǒng)的動態(tài)性質(zhì)。
參考圖3,其中示出了將根據(jù)本發(fā)明的方法的示例性實施例應(yīng)用于IT系統(tǒng)中的一個單獨(dú)的系統(tǒng)節(jié)點(diǎn)的實現(xiàn)。如圖所示,多個應(yīng)用程序16運(yùn)行于網(wǎng)絡(luò)的應(yīng)用層42上的一個單獨(dú)的節(jié)點(diǎn)12中。每個應(yīng)用程序通過傳輸層44和網(wǎng)絡(luò)層46進(jìn)行通信,以利用IT系統(tǒng)中的網(wǎng)絡(luò)資源。網(wǎng)絡(luò)資源控制器52采用性能監(jiān)控和處理資源利用接口48來收集將結(jié)合根據(jù)本發(fā)明的方法而使用的適當(dāng)?shù)馁Y源利用測量值和性能測量值。此外,根據(jù)本發(fā)明,提供了網(wǎng)絡(luò)資源接口54以監(jiān)控網(wǎng)絡(luò)資源的分配并修改網(wǎng)絡(luò)資源的分配。網(wǎng)絡(luò)資源接口采用網(wǎng)絡(luò)資源管理應(yīng)用程序56來監(jiān)控和控制網(wǎng)絡(luò)層的網(wǎng)絡(luò)資源。采用任意的合適的輸入設(shè)備或通過從數(shù)據(jù)庫讀取對象而將期望的性能目標(biāo)50提供為對網(wǎng)絡(luò)資源控制器52的輸入。根據(jù)本發(fā)明的示例性方法能夠操作于用于在每個應(yīng)用程序(進(jìn)程)的基礎(chǔ)上監(jiān)控處理資源利用和網(wǎng)絡(luò)資源利用的任意IT系統(tǒng)中。
本發(fā)明還針對包含機(jī)器可執(zhí)行代碼或計算機(jī)可執(zhí)行代碼的機(jī)器可讀介質(zhì)或計算機(jī)可讀介質(zhì),當(dāng)由機(jī)器或計算機(jī)讀取時,該代碼使得機(jī)器或計算機(jī)執(zhí)行根據(jù)本發(fā)明的示例性實施例的用于在計算系統(tǒng)中進(jìn)行處理資源和網(wǎng)絡(luò)資源管理的方法并執(zhí)行該計算機(jī)可執(zhí)行代碼本身。這種機(jī)器可執(zhí)行代碼或計算機(jī)可執(zhí)行代碼可以是能夠由機(jī)器或計算機(jī)讀取并執(zhí)行的任意類型的代碼或語言,并且可以表示為本領(lǐng)域中已知并可用的任意合適的語言或語法,包括機(jī)器語言、匯編語言、高級語言、面向?qū)ο蟮恼Z言和腳本語言。可以將這種計算機(jī)可執(zhí)行代碼存儲于任意合適的存儲介質(zhì)或數(shù)據(jù)庫(包括部署在根據(jù)本發(fā)明的系統(tǒng)所利用的計算機(jī)網(wǎng)絡(luò)中、與這些計算機(jī)網(wǎng)絡(luò)進(jìn)行通信并可由這些計算機(jī)網(wǎng)絡(luò)訪問的數(shù)據(jù)庫)中,并且可以在本領(lǐng)域中已知并可用的任意合適的硬件平臺上執(zhí)行這種計算機(jī)可執(zhí)行代碼。
盡管很顯然,在此公開的本發(fā)明的說明性實施例實現(xiàn)了本發(fā)明的目的,但應(yīng)當(dāng)意識到,本領(lǐng)域的普通技術(shù)人員可以考慮大量修改和其他實施例。此外,可以單獨(dú)地或結(jié)合其他實施例而使用根據(jù)任意實施例的特征和/或元件。因此,應(yīng)當(dāng)理解,所附權(quán)利要求旨在覆蓋在本發(fā)明的本質(zhì)和范圍內(nèi)的所有這些修改和實施例。
權(quán)利要求
1.一種用于在計算系統(tǒng)中進(jìn)行處理器和網(wǎng)絡(luò)資源管理的方法,包括確定利用網(wǎng)絡(luò)和處理資源并且運(yùn)行于計算系統(tǒng)中的計算機(jī)上的應(yīng)用程序的性能目標(biāo),所述計算系統(tǒng)包含多個計算機(jī),每個計算機(jī)運(yùn)行多個應(yīng)用程序;確定所確定的性能目標(biāo)與所述應(yīng)用程序?qū)W(wǎng)絡(luò)資源的利用之間的關(guān)系;使用所確定的關(guān)系來計算針對所述應(yīng)用程序的網(wǎng)絡(luò)資源分配,所述分配優(yōu)化了所述所確定的性能目標(biāo);以及實現(xiàn)所計算的網(wǎng)絡(luò)資源分配。
2.根據(jù)權(quán)利要求1所述的方法,其中所述確定關(guān)系的步驟包括采用學(xué)習(xí)算法來確定所述關(guān)系。
3.根據(jù)權(quán)利要求1所述的方法,其中所述確定關(guān)系的步驟包括采用隨機(jī)控制算法來確定所述關(guān)系。
4.根據(jù)權(quán)利要求1所述的方法,還包括實時地連續(xù)更新所確定的性能目標(biāo)與網(wǎng)絡(luò)資源利用之間的所述確定的關(guān)系以及所述計算出的針對所述應(yīng)用程序的網(wǎng)絡(luò)資源分配。
5.根據(jù)權(quán)利要求1所述的方法,其中所述確定應(yīng)用程序的性能目標(biāo)的步驟還包括確定運(yùn)行于計算系統(tǒng)中的計算機(jī)上的應(yīng)用程序的性能目標(biāo),所述計算系統(tǒng)包含通過網(wǎng)絡(luò)進(jìn)行通信的多個計算機(jī)。
6.根據(jù)權(quán)利要求1所述的方法,還包括確定所確定的性能目標(biāo)與所述應(yīng)用程序?qū)μ幚碣Y源的利用之間的關(guān)系;使用所確定的關(guān)系來計算針對所述應(yīng)用程序的處理資源分配,所述分配優(yōu)化了所述所確定的性能目標(biāo);以及實現(xiàn)計算出的網(wǎng)絡(luò)資源分配。
7.根據(jù)權(quán)利要求6所述的方法,其中確定所確定的性能目標(biāo)與處理資源利用之間的關(guān)系的步驟包括確定所述所確定的性能目標(biāo)與對中央處理單元能力的利用之間的關(guān)系。
8.根據(jù)權(quán)利要求1所述的方法,還包括確定對處理資源分配和網(wǎng)絡(luò)資源分配中的至少一個的至少一種約束。
9.根據(jù)權(quán)利要求1所述的方法,其中所述使用所確定的關(guān)系來計算網(wǎng)絡(luò)資源的分配的步驟還包括增加對所述應(yīng)用程序的網(wǎng)絡(luò)資源分配或減少對所述應(yīng)用程序的網(wǎng)絡(luò)資源分配。
10.根據(jù)權(quán)利要求1所述的方法,其中實現(xiàn)所述網(wǎng)絡(luò)資源分配的步驟包括采用網(wǎng)絡(luò)濾波器或網(wǎng)絡(luò)資源保留機(jī)制來實現(xiàn)所述網(wǎng)絡(luò)資源分配。
11.根據(jù)權(quán)利要求1所述的方法,其中所確定的網(wǎng)絡(luò)資源包括鏈路帶寬、網(wǎng)絡(luò)交換帶寬、網(wǎng)絡(luò)接口緩沖器容量、操作系統(tǒng)緩沖器容量、應(yīng)用程序緩沖器容量、網(wǎng)絡(luò)交換緩沖器容量或其組合。
12.根據(jù)權(quán)利要求6所述的方法,其中所述網(wǎng)絡(luò)資源包括帶寬,所述處理資源包括中央處理單元能力,并且所述所確定的性能目標(biāo)包括在運(yùn)行于計算機(jī)系統(tǒng)中的一個單獨(dú)的計算機(jī)上的多個應(yīng)用程序之間分配處理單元能力。
13.根據(jù)權(quán)利要求1所述的方法,其中所述確定性能目標(biāo)的步驟包括確定所述應(yīng)用程序的多個性能目標(biāo),確定所述關(guān)系的步驟包括確定所述所確定的性能目標(biāo)與所述應(yīng)用程序?qū)W(wǎng)絡(luò)資源的利用之間的多個關(guān)系,以及使用所確定的關(guān)系的步驟包括使用所述所確定的多個關(guān)系來計算針對所述應(yīng)用程序的網(wǎng)絡(luò)資源分配,所述分配優(yōu)化了所述所確定的性能目標(biāo)。
14.根據(jù)權(quán)利要求1所述的方法,其中確定性能目標(biāo)的步驟還包括確定多個應(yīng)用程序的多個性能目標(biāo),確定所確定的性能目標(biāo)與所述應(yīng)用程序?qū)W(wǎng)絡(luò)資源的利用之間的關(guān)系的步驟包括針對多個應(yīng)用程序中的每一個應(yīng)用程序確定一個單獨(dú)的關(guān)系,以及使用所確定的關(guān)系的步驟包括使用所有的所述單獨(dú)關(guān)系來計算所述多個應(yīng)用程序之間的網(wǎng)絡(luò)資源分配,所述分配優(yōu)化了所確定的性能目標(biāo)。
15.一種包含計算機(jī)可執(zhí)行代碼的計算機(jī)可讀介質(zhì),當(dāng)由計算機(jī)讀取時,所述計算機(jī)可執(zhí)行代碼使得計算機(jī)執(zhí)行根據(jù)權(quán)利要求1-14中的任一項所述的方法步驟。
全文摘要
本發(fā)明提供了一種系統(tǒng)和方法,采用用于其他操作系統(tǒng)資源的現(xiàn)有控制機(jī)制在分布式按需信息技術(shù)(IT)系統(tǒng)中確定網(wǎng)絡(luò)資源的分配,以便在IT系統(tǒng)內(nèi)獲得期望的操作點(diǎn)。通過優(yōu)化基于目標(biāo)的目標(biāo)函數(shù),同時考慮系統(tǒng)約束來獲得該期望的操作點(diǎn)。針對可以由多種系統(tǒng)應(yīng)用請求的多個操作自動地獲得所有系統(tǒng)資源(即,網(wǎng)絡(luò)資源和處理資源)的利用與達(dá)到性能目標(biāo)之間的關(guān)系。這種關(guān)系用于將網(wǎng)絡(luò)資源分配給應(yīng)用,同時保持期望的性能目標(biāo)。這種分配采用現(xiàn)有的控制機(jī)制來實現(xiàn)。
文檔編號H04L12/24GK1878090SQ200610073778
公開日2006年12月13日 申請日期2006年4月3日 優(yōu)先權(quán)日2005年6月11日
發(fā)明者劉震, 迪米特里奧斯·彭達(dá)拉基斯, 杰里米·西爾伯, 勞拉·溫特 申請人:國際商業(yè)機(jī)器公司