專利名稱:用于在分布式計(jì)算系統(tǒng)中的性能和策略分析的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及計(jì)算系統(tǒng),尤其涉及用于其中多個(gè)計(jì)算站點(diǎn)共享資源的分布式計(jì)算機(jī)系統(tǒng)的策略分析。
背景技術(shù):
圖1是描述通常的分布式計(jì)算網(wǎng)絡(luò)或系統(tǒng)100的示意圖。系統(tǒng)100包括多個(gè)以通信方式相連的計(jì)算站點(diǎn)1021~102n(在下文中將其統(tǒng)稱為“站點(diǎn)102”),其中每一個(gè)計(jì)算站點(diǎn)都充當(dāng)了一個(gè)或多個(gè)應(yīng)用的宿主。每一個(gè)站點(diǎn)102都可以訪問相應(yīng)的多個(gè)本地資源(例如服務(wù)器、處理器、存儲(chǔ)器等等)1041~104n(在下文中將其統(tǒng)稱為“資源104”)。此外,每一個(gè)站點(diǎn)102都會(huì)接收相應(yīng)的工作負(fù)荷1061~106n(在下文中將其統(tǒng)稱為“工作負(fù)荷106”),其中所述工作負(fù)荷包含了對運(yùn)行在站點(diǎn)102上的應(yīng)用的請求。
站點(diǎn)102使用其相應(yīng)的本地資源104來滿足其相應(yīng)的工作負(fù)荷106。此外,在諸如系統(tǒng)100之類的分布式計(jì)算系統(tǒng)中,以通信方式相連的站點(diǎn)102可以與其它站點(diǎn)102共享其相應(yīng)的資源104,由此,站點(diǎn)102可以從某個(gè)遠(yuǎn)端站點(diǎn)102借用資源104,以便有效地處理其工作負(fù)荷106,或者站點(diǎn)102也可以將其資源104借給某個(gè)遠(yuǎn)端站點(diǎn)102,以便輔助該遠(yuǎn)端站點(diǎn)102進(jìn)行工作負(fù)荷處理。每一個(gè)站點(diǎn)102都具有自己的策略集合,該策略集合支配著站點(diǎn)102如何以及何時(shí)出借/借用資源104可以進(jìn)行管理。
這些單獨(dú)的策略極大地影響了整個(gè)系統(tǒng)100有效處理工作負(fù)荷106的能力。然而,由于這種策略是隨著站點(diǎn)的不同而改變的,因此,這些策略對整個(gè)系統(tǒng)100及其處理工作負(fù)荷106的能力所產(chǎn)生的作用是很難量化的。
由此,在本領(lǐng)域中需要一種用于在分布式計(jì)算系統(tǒng)中的性能和策略分析的方法和裝置。
發(fā)明內(nèi)容
本發(fā)明的用于分布式計(jì)算系統(tǒng)中的性能和策略分析的方法和設(shè)備的一個(gè)實(shí)施例包括將分布式計(jì)算系統(tǒng)性能描繪成一個(gè)狀態(tài)轉(zhuǎn)換模型。然后,在所述狀態(tài)轉(zhuǎn)換模型上疊加一個(gè)排隊(duì)網(wǎng)絡(luò),并且根據(jù)所述排隊(duì)網(wǎng)絡(luò)的解來識(shí)別一個(gè)或多個(gè)策略對于所述分布式計(jì)算系統(tǒng)產(chǎn)生的作用。
由此,通過參考附圖中描述的實(shí)施例,可以得到關(guān)于上述簡單綜述的本發(fā)明的更具體的描述,并且可以得到用于詳細(xì)理解和實(shí)現(xiàn)上述發(fā)明實(shí)施例的方式。然而應(yīng)該注意的是,附圖描述的僅僅是本發(fā)明的通常的實(shí)施例,因此不應(yīng)將其視為是對的范圍進(jìn)行限制,因?yàn)楸景l(fā)明還可能包括其它效果等價(jià)的實(shí)施例。
圖1是描述通常的分布式計(jì)算網(wǎng)絡(luò)或系統(tǒng)的示意圖;圖2是描述根據(jù)本發(fā)明的用于分析與分布式計(jì)算系統(tǒng)相關(guān)聯(lián)的資源共享策略集合的分析工具的一個(gè)實(shí)施例的示意圖;圖3是描述根據(jù)本發(fā)明的用于對圖2所示的不同輸入進(jìn)行處理從而產(chǎn)生總成本的方法的一個(gè)實(shí)施例的流程圖;圖4是描述根據(jù)本發(fā)明的用于建造狀態(tài)轉(zhuǎn)換模型的方法的一個(gè)為了便于理解,在這里盡可能使用了相同的參考數(shù)字來表示附圖中共有的相同部件。
具體實(shí)施例方式
在一個(gè)實(shí)施例中,本發(fā)明是一種用于分布式計(jì)算系統(tǒng)中的性能和策略分析的方法和設(shè)備。本發(fā)明的實(shí)施例可以有效地分析適用于單個(gè)計(jì)算站點(diǎn)的各種資源共享策略對于包含計(jì)算站點(diǎn)的整個(gè)分布式計(jì)算系統(tǒng)的性能所產(chǎn)生的作用。
圖2是描述根據(jù)本發(fā)明而對關(guān)聯(lián)于分布式計(jì)算系統(tǒng)的資源共享策略集合進(jìn)行分析的分析工具200的一個(gè)實(shí)施例的示意圖。如所示,分析工具200被適配成接收與分布式計(jì)算系統(tǒng)相關(guān)的多個(gè)輸入,并且對這些輸入進(jìn)行處理,以便提供可供用戶確定是否可以接受與分布式計(jì)算系統(tǒng)相關(guān)聯(lián)的現(xiàn)有資源共享策略的信息。
在所描述的實(shí)施例中,分析工具200接收到的輸入包括與分布式計(jì)算系統(tǒng)/站點(diǎn)相關(guān)的多個(gè)模型202。在一個(gè)實(shí)施例中,對分布式計(jì)算系統(tǒng)中的每一個(gè)計(jì)算站點(diǎn)而言,這些模型至少包括如下模型站點(diǎn)模型、工作負(fù)荷模型、工作負(fù)荷狀態(tài)模型、站點(diǎn)狀態(tài)模型、事件模型或成本模型。此外,對包含了計(jì)算站點(diǎn)的整個(gè)分布式計(jì)算系統(tǒng)來說,應(yīng)用于該分布式計(jì)算系統(tǒng)的策略模型也被提供給了分析工具202。分析工具200則對這些輸入進(jìn)行處理,以便產(chǎn)生與分布式計(jì)算系統(tǒng)性能相關(guān)聯(lián)的一個(gè)或多個(gè)量度206。在一個(gè)實(shí)施例中,這些量度包括下文中將更詳細(xì)描述的用于實(shí)施特定策略的成本,此外還包括一個(gè)或多個(gè)系統(tǒng)性能量度(例如反映了分布式計(jì)算系統(tǒng)的響應(yīng)時(shí)間、吞吐量、資源可用性等等的量度)。
站點(diǎn)模型描述的是站點(diǎn)的靜態(tài)(例如不依賴于工作負(fù)荷狀態(tài)而變化)參數(shù),在一個(gè)實(shí)施例中,<ns,pt>數(shù)組陣列描繪一個(gè)站點(diǎn),其中ns指的是池類型pt資源的數(shù)量。本領(lǐng)域技術(shù)人員將會(huì)了解,雖然站點(diǎn)模型所描述的參數(shù)相對于工作負(fù)荷狀態(tài)變化而言可以被視為是靜態(tài)的,但在其所相關(guān)聯(lián)的站點(diǎn)獲得或失去資源的時(shí)候,這些參數(shù)也可以有所改變。在一個(gè)實(shí)施例中,每一個(gè)池都包含了多個(gè)資源。屬于共同的池的所有資源基本上都是同類的,這是因?yàn)檫@其中的任何一個(gè)資源都可以運(yùn)行給定的應(yīng)用。舉例來說,在一個(gè)實(shí)施例中,資源是基于一個(gè)或多個(gè)標(biāo)準(zhǔn)而被分組到池中的,這些標(biāo)準(zhǔn)包括下列標(biāo)準(zhǔn)中的至少一個(gè)服務(wù)器硬件、操作系統(tǒng)以及軟件棧。此外,站點(diǎn)模型還包括一個(gè)策略集合p,該集合描述的是與站點(diǎn)相關(guān)聯(lián)的特定策略(例如資源共享策略)。
工作負(fù)荷模型不但描繪了由某個(gè)站點(diǎn)充當(dāng)宿主的應(yīng)用,而且還描繪了服務(wù)等級協(xié)定(SLA),該協(xié)定明確規(guī)定了該站點(diǎn)為其所服務(wù)的客戶機(jī)(例如提供工作負(fù)荷的用戶)提供的保證。每一個(gè)工作負(fù)荷都是從至少一個(gè)池類型pt資源提取其資源的。在任何給定的時(shí)間,每一個(gè)工作負(fù)荷都是處于n個(gè)等級中的某一個(gè)等級的。其中的每一個(gè)等級轉(zhuǎn)而將會(huì)映射到特定的資源(例如特定數(shù)量的服務(wù)器),而這些資源則是根據(jù)SLA來對相關(guān)聯(lián)的工作負(fù)荷滿意地進(jìn)行處理所必需的。
此外,工作負(fù)荷模型還描繪了一個(gè)n×n的轉(zhuǎn)換概率矩陣tpm,該矩陣規(guī)定了相關(guān)聯(lián)的工作負(fù)荷如何在等級之間進(jìn)行轉(zhuǎn)換,其中tpm(i,j)規(guī)定的是工作負(fù)荷從等級i轉(zhuǎn)換到等級j的概率(1≤i,j≤n)。假設(shè)某個(gè)給定工作負(fù)荷保持在等級i上的時(shí)間量分布是未知的。在一個(gè)實(shí)施例中,這種分布是指數(shù)分布或帕累托(Pareto)分布。
在一個(gè)實(shí)施例中,工作負(fù)荷狀態(tài)模型被描繪<lv,nl,nb>,其中l(wèi)v指的是當(dāng)前的工作負(fù)荷等級(例如上文所述的工作負(fù)荷模型所描述的),nl指的是當(dāng)前為該工作負(fù)荷提供服務(wù)的本地資源(例如服務(wù)器數(shù)量),nb則是一個(gè)陣列(每一個(gè)遠(yuǎn)端站點(diǎn)為其中一個(gè)元素),它指的是代表該工作負(fù)荷而從其它站點(diǎn)借取的資源(例如服務(wù)器數(shù)量)。在一個(gè)實(shí)施例中,無論是本地資源還是遠(yuǎn)端資源,當(dāng)前為工作負(fù)荷提供服務(wù)的所有資源都是屬于該工作負(fù)荷所需要的一個(gè)共有的池類型pt。
站點(diǎn)狀態(tài)模型描繪的是相關(guān)聯(lián)的站點(diǎn)的當(dāng)前狀態(tài),其中站點(diǎn)“狀態(tài)”定義了該站點(diǎn)的本地資源可用性。因此,與描述關(guān)聯(lián)于該站點(diǎn)的靜態(tài)參數(shù)的站點(diǎn)模型相反,相關(guān)聯(lián)的站點(diǎn)狀態(tài)模型描繪的是與站點(diǎn)相關(guān)聯(lián)的時(shí)變參數(shù)。在一個(gè)實(shí)施例中,站點(diǎn)狀態(tài)被描繪為<ws,nd,as>,其中ws是本地工作負(fù)荷狀態(tài)陣列,nd是表示該站點(diǎn)為處于另一個(gè)站點(diǎn)的遠(yuǎn)端工作負(fù)荷所貢獻(xiàn)的資源(例如服務(wù)器數(shù)量)的陣列(每一個(gè)遠(yuǎn)端工作負(fù)荷為其中一個(gè)元素),as則是表示處于有效模式的本地資源的有效資源(例如服務(wù)器)的陣列(每一個(gè)池類型pt為其中一個(gè)元素),其中處于有效模式的資源是那些當(dāng)前可以用于為工作負(fù)荷提供服務(wù)的資源。
策略模型描繪的是分布式計(jì)算系統(tǒng)對系統(tǒng)事件做出響應(yīng)的方式。在一個(gè)實(shí)施例中,策略模型被描繪為P(S,e),其中P是應(yīng)用于系統(tǒng)(例如借助系統(tǒng)中包含的單個(gè)站點(diǎn))的策略集或策略集合,S表示的是分布式計(jì)算系統(tǒng)的當(dāng)前狀態(tài)(例如資源可用性),e則是調(diào)用了集合P中的一個(gè)或多個(gè)策略的外部事件(例如下文中更詳細(xì)描述的工作負(fù)荷事件或服務(wù)器事件)。當(dāng)系統(tǒng)處于狀態(tài)S時(shí),如果出現(xiàn)這種外部事件e,則通過應(yīng)用策略集P而將系統(tǒng)指引到可能存在的新狀態(tài)的集合,其中所有這些狀態(tài)都是符合該策略集的。例如,在發(fā)生外部事件e的時(shí)候,如果當(dāng)前系統(tǒng)狀態(tài)是S,那么可以應(yīng)用策略集P,從而形成{(S1,p1),(S2,p2),...,(Sn,pn)},其中Si(1≤i≤n)是根據(jù)策略集P的有效的下一個(gè)狀態(tài),pi則是系統(tǒng)被建議為轉(zhuǎn)換到狀態(tài)Si的概率,并且∑i=1npi=1。
應(yīng)該指出的是,如果n=1,那么與策略集P相符合的下一個(gè)狀態(tài)只有一個(gè)??蛇x擇的是,如果n>1,那么系統(tǒng)將會(huì)從集合{Si1≤i≤n}中以概率統(tǒng)計(jì)的方式選擇下一個(gè)狀態(tài)。策略模型是一般性的,它可以容納大范圍的用于分布式計(jì)算的策略。
事件模型描述的是觸發(fā)狀態(tài)變化的事件或是外部變化,由此需要系統(tǒng)在系統(tǒng)工作負(fù)荷之間重新分配或是重新分發(fā)系統(tǒng)資源,以便滿足系統(tǒng)業(yè)務(wù)目標(biāo)。在一個(gè)實(shí)施例中,事件模型描述的是以下兩種普通類型事件中的至少一種(1)工作負(fù)荷事件,它是在一個(gè)或多個(gè)站點(diǎn)的工作負(fù)荷需要從第一等級移動(dòng)到第二等級時(shí)候發(fā)生;以及(2)資源事件,它是在在資源(例如服務(wù)器)出現(xiàn)故障、轉(zhuǎn)換到待用模式時(shí)發(fā)生,或是從故障中恢復(fù)以及維護(hù)結(jié)束后重新恢復(fù)到系統(tǒng)之中的時(shí)候發(fā)生。通常,對給定的狀態(tài)S而言存在一個(gè)事件集合E,當(dāng)系統(tǒng)處于狀態(tài)S時(shí),有可能發(fā)生這些事件。對每一個(gè)工作負(fù)荷事件e∈E來說,其變換到下一個(gè)事件e的時(shí)間的概率分布是從上述工作負(fù)荷模型中獲取的。對每一個(gè)資源事件來說,假設(shè)資源是獨(dú)立發(fā)生故障(以及恢復(fù))的,并且發(fā)生故障(和恢復(fù))的時(shí)間是指數(shù)分布的。
成本模型描述的是在擴(kuò)展時(shí)段中在分布式計(jì)算系統(tǒng)內(nèi)部操作多個(gè)站點(diǎn)的成本。由此,成本模型被用于評估各種站點(diǎn)專用策略對于整個(gè)分布式計(jì)算系統(tǒng)的作用。在一個(gè)實(shí)施例中,成本模型描述了至少三種主要成本(1)違規(guī)成本VC,它表示的是違反給定工作負(fù)荷SLA的成本;(2)遠(yuǎn)端資源成本RRC,它表示的是使用遠(yuǎn)端資源處理給定工作負(fù)荷的成本;以及(3)重新分配成本RC,它表示的是用于給定工作負(fù)荷的初始建立和供應(yīng)成本。
在另外的實(shí)施例中,該成本模型還描述了至少三個(gè)較低等級成本函數(shù)。第一個(gè)較低等級成本函數(shù)α(S,w)描述的是在系統(tǒng)處于狀態(tài)S時(shí)被用于工作負(fù)荷W的違規(guī)成本。這個(gè)違規(guī)成本與num_deficit_servers(S,w)是成比例的,所述num_deficit_servers(S,w)描述的則是處理工作負(fù)荷w所需要的資源(例如服務(wù)器數(shù)量)與實(shí)際分配給工作負(fù)荷w的資源(本地和遠(yuǎn)端)之間的差別。由此,在工作負(fù)荷SLA中,違規(guī)成本α(S,w)被表述成是單位時(shí)間內(nèi)的每個(gè)虧損資源的處罰。
第二個(gè)較低等級成本函數(shù)γ(S,w)描述的是在系統(tǒng)處于狀態(tài)S時(shí)使用遠(yuǎn)端資源來處理工作負(fù)荷w的遠(yuǎn)端資源成本。這個(gè)遠(yuǎn)端資源成本與num_borrowed_servers(S,w)成比例,所述num_borrowed_servers(S,w)描述的則是在系統(tǒng)處于狀態(tài)S時(shí)代表工作負(fù)荷w所借取的遠(yuǎn)端資源(例如服務(wù)器數(shù)量)。在這種情況下,在站點(diǎn)策略集合中,遠(yuǎn)端資源成本γ(S,w)被表述成是單位時(shí)間內(nèi)每一個(gè)遠(yuǎn)端資源的處罰。在一個(gè)實(shí)施例中,遠(yuǎn)端資源成本γ(S,w)對從不同站點(diǎn)借取的資源進(jìn)行了區(qū)分。在這種情況下,用于某一個(gè)被借取的資源的遠(yuǎn)端資源成本γ(S,w)至少部分取決于用以出借資源的站點(diǎn)。
第三個(gè)較低等級成本函數(shù)β(S,w)描述的是在系統(tǒng)從狀態(tài)S轉(zhuǎn)換到狀態(tài)S’時(shí)用于工作負(fù)荷w的重新分配成本。重新分配成本β(S,w)至少部分取決于重新分配的資源在被重新分配時(shí)處于空閑還是在運(yùn)行某些工作負(fù)荷,并且至少部分取決于重新分配的資源相對于工作負(fù)荷而言處于本地還是遠(yuǎn)端,此外還至少部分取決于提供和建立工作負(fù)荷的成本。
圖3是描述根據(jù)本發(fā)明來處理圖2所示的各種輸入202,以便產(chǎn)生總體成本206的方法300的一個(gè)實(shí)施例的流程圖。其中舉例來說,方法300是可以在分析工具200中實(shí)現(xiàn)的。
方法300在步驟302開始并且進(jìn)行到步驟304,在步驟304中,方法300使用狀態(tài)轉(zhuǎn)換模型來描繪分布式計(jì)算系統(tǒng)的分析。特別地,方法300將分布式計(jì)算系統(tǒng)在給定時(shí)間的狀況描繪成是狀態(tài)轉(zhuǎn)換模型中的狀態(tài)。在一個(gè)實(shí)施例中,狀態(tài)轉(zhuǎn)換模型是從與包括在分布式計(jì)算系統(tǒng)中的站點(diǎn)相關(guān)聯(lián)的各種模型(如上所述)中建造的。在一個(gè)實(shí)施例,這包括將每一個(gè)站點(diǎn)上的資源可用性建模成一個(gè)狀態(tài),將站點(diǎn)上的資源可用性的變化(例如由于資源故障、恢復(fù)、借入或借出)模擬成狀態(tài)轉(zhuǎn)換模型,以及將站點(diǎn)工作負(fù)荷變化建模成狀態(tài)轉(zhuǎn)換模型。此外,應(yīng)用于站點(diǎn)的任何策略都建模為站點(diǎn)狀態(tài)和站點(diǎn)轉(zhuǎn)換的約束條件。在以下更詳細(xì)描述的圖4中說明了根據(jù)與站點(diǎn)相關(guān)聯(lián)的模型來建造狀態(tài)轉(zhuǎn)換模型的方法的一個(gè)實(shí)施例。在一個(gè)實(shí)施例中,狀態(tài)轉(zhuǎn)換模型的建造包括將單個(gè)站點(diǎn)策略編碼到上述函數(shù)P(S,e)中。
一旦建造了狀態(tài)轉(zhuǎn)換模型,那么方法300進(jìn)行到步驟306,并且會(huì)在狀態(tài)轉(zhuǎn)換模型上疊加一個(gè)排隊(duì)網(wǎng)絡(luò)。在一個(gè)實(shí)施例中,在狀態(tài)轉(zhuǎn)換模型上疊加排隊(duì)網(wǎng)絡(luò)的處理包括識(shí)別用于分布式計(jì)算網(wǎng)絡(luò)的有效狀態(tài)以及狀態(tài)轉(zhuǎn)換。然后,這些有效狀態(tài)轉(zhuǎn)換將會(huì)使用其發(fā)生的概率(舉例來說,該概率取決于相關(guān)聯(lián)的工作負(fù)荷的特性以及資源故障/恢復(fù)特性)以及與策略相關(guān)聯(lián)的概率(舉例來說,該概率可以是與策略相關(guān)聯(lián)的操作的概率,其中該操作可以包括將分布式計(jì)算網(wǎng)絡(luò)轉(zhuǎn)換到一個(gè)或多個(gè)不同狀態(tài))來加以注釋。
在一個(gè)實(shí)施例中,方法300將一個(gè)排隊(duì)網(wǎng)絡(luò)疊加在狀態(tài)轉(zhuǎn)換模型之上,以便使用與之相關(guān)聯(lián)的概率分布函數(shù)來注釋狀態(tài)轉(zhuǎn)換T。根據(jù)步驟306,轉(zhuǎn)換T:S→eS’是用數(shù)組<fe,pr>來標(biāo)記的,其中函數(shù)fe描述的是導(dǎo)致系統(tǒng)從狀態(tài)S轉(zhuǎn)換到狀態(tài)S’的事件e的概率分布。在一個(gè)實(shí)施例中,函數(shù)fe是基于希望的精確度等級來選擇的恰當(dāng)?shù)慕y(tǒng)計(jì)分布(例如指數(shù)分布或帕累托分布)。概率pr描述的是系統(tǒng)響應(yīng)于事件e而從狀態(tài)S轉(zhuǎn)換到狀態(tài)S’的概率。
在步驟308中,方法300通過求解排隊(duì)網(wǎng)絡(luò)(例如通過求解馬爾可夫(Markov)鏈)來推導(dǎo)出至少一個(gè)成本度量。根據(jù)本發(fā)明,排隊(duì)網(wǎng)絡(luò)模型的解為分布式計(jì)算系統(tǒng)的不同狀態(tài)給出了穩(wěn)態(tài)概率。在一個(gè)實(shí)施例中,排隊(duì)網(wǎng)絡(luò)的解為所有狀態(tài)S給出了pr(S),并且為所有轉(zhuǎn)換T給出了rate(T),其中pr(S)描述的是系統(tǒng)處于狀態(tài)S的概率(在某個(gè)擴(kuò)展時(shí)段中),rate(T)描述的則是系統(tǒng)執(zhí)行轉(zhuǎn)換T的速率(在某個(gè)擴(kuò)展時(shí)段中)。在一個(gè)實(shí)施例中,與工作負(fù)荷相關(guān)聯(lián)的成本是根據(jù)下式來推導(dǎo)的(用單位時(shí)間的平均成本單位來表示)VC(w)=∑S∑wα(S,w)*pr(S) (等式1)RRC(w)=∑S∑wγ(S,w)*pr(S) (等式2)RC(w)=∑T:S→S’∑wβ(S,S’,w)*rate(T)(等式3)項(xiàng)pr(S)和rate(T)可以采用如下方式而從排隊(duì)網(wǎng)絡(luò)模型中確定。在一個(gè)實(shí)施例中,其中工作負(fù)荷事件e是指數(shù)分布的,那么,穩(wěn)定的概率分布是通過使用標(biāo)準(zhǔn)的分析技術(shù)來求解馬爾可夫鏈而被計(jì)算得到的。這個(gè)穩(wěn)定的概率分布為所有的狀態(tài)S提供了pr(S)。對每一個(gè)轉(zhuǎn)換T:S->eS′來說,rate(T)=pr(S)*rate(fe)(等式4)其中rate(fe)描述的是指數(shù)分布fe的速率。
在一個(gè)替代的實(shí)施例中,工作負(fù)荷事件e遵循的是一個(gè)重尾帕累托分布,其中可以通過應(yīng)用一個(gè)離散事件模擬來求解排隊(duì)網(wǎng)絡(luò)模型。在一個(gè)實(shí)施例中,該模擬是在一個(gè)很長的時(shí)段tsim中執(zhí)行的。并且在一個(gè)實(shí)施例中,tsim表示的是在分布式計(jì)算系統(tǒng)上運(yùn)行的應(yīng)用達(dá)到穩(wěn)態(tài)所需要的時(shí)間量(例如對某些應(yīng)用而言,該時(shí)間量可以是大約8,000秒)。在模擬過程中,對處于任何狀態(tài)S中的系統(tǒng)所消耗的時(shí)間量通過t(S)進(jìn)行了測量,并且使用了這個(gè)消耗時(shí)間來計(jì)算pr(S),由此pr(S)=t(S)/Tsim(等式5)同樣,系統(tǒng)從狀態(tài)S轉(zhuǎn)換到狀態(tài)S’所耗費(fèi)的時(shí)間量n(T)是使用轉(zhuǎn)換T通過n(T)來測量的,由此可以將rate(T)估計(jì)成rate(T)=n(T)/tsim(等式6)在為所有的狀態(tài)S給出了pr(S)并且為所有的轉(zhuǎn)換T給出了rate(T)的情況下,工作負(fù)荷成本可以參考等式1、2、3并以上文所述的方式來估計(jì)。
對分布式計(jì)算性能而言,其附加度量(例如響應(yīng)時(shí)間、吞吐量、資源可用性等等)也可以作為排隊(duì)網(wǎng)絡(luò)解的函數(shù)來計(jì)算。由此,用戶可以對方法300產(chǎn)生的度量進(jìn)行檢查,以便確定用于分布式計(jì)算系統(tǒng)的當(dāng)前策略集P是否能使分布式計(jì)算系統(tǒng)以一種令人滿意的方式來處理工作負(fù)荷。然后,方法300在步驟310結(jié)束。
由此,方法300有助于對適合單個(gè)站點(diǎn)的各種資源共享策略對于包含了站點(diǎn)的整個(gè)分布式計(jì)算系統(tǒng)所產(chǎn)生的作用進(jìn)行有效的分析。通過使用狀態(tài)轉(zhuǎn)換模型,以及隨后通過應(yīng)用給定策略來識(shí)別有效的分布式計(jì)算狀態(tài)和狀態(tài)轉(zhuǎn)換,可以快速確定給定所述策略對分布式計(jì)算系統(tǒng)的成本和性能所產(chǎn)生的影響,并且采用一種易于分析的形式來顯示所述影響。
圖4是描述根據(jù)本發(fā)明并用于基于上述與站點(diǎn)相關(guān)聯(lián)的模型來建造狀態(tài)轉(zhuǎn)換模型的方法400的一個(gè)實(shí)施例的流程圖。其中舉例來說,方法400是可以根據(jù)方法300中的步驟304來加以實(shí)施的。
方法400始于步驟402并且進(jìn)行到步驟404,在步驟404中,方法400將會(huì)根據(jù)所有事件的集合E以及應(yīng)用于分布式計(jì)算系統(tǒng)中的站點(diǎn)的所有站點(diǎn)策略的共同策略集合P而對用于分布式計(jì)算系統(tǒng)的工作負(fù)荷狀態(tài)進(jìn)行初始化處理。
在步驟406,方法400初始化系統(tǒng)起始狀態(tài)S0。然后,方法400會(huì)將系統(tǒng)起始狀態(tài)S0添加到狀態(tài)池中。該狀態(tài)池包含了一個(gè)或多個(gè)由方法400推導(dǎo)得到的分布式計(jì)算系統(tǒng)的狀態(tài)。
在步驟410,方法400確定狀態(tài)池中是否存在未經(jīng)調(diào)查的系統(tǒng)狀態(tài)。在一個(gè)實(shí)施例中,對一個(gè)系統(tǒng)狀態(tài)而言,如果不存在下一個(gè)潛在狀態(tài)并且已經(jīng)為該系統(tǒng)狀態(tài)確定了相應(yīng)的轉(zhuǎn)換速率,那么這個(gè)系統(tǒng)狀態(tài)是未經(jīng)調(diào)查的。如果方法400確定狀態(tài)池中并未保留未經(jīng)調(diào)查的系統(tǒng)狀態(tài),那么方法400在步驟421終止。方法400的終止表明已經(jīng)建立了狀態(tài)轉(zhuǎn)換模型,并且可以結(jié)合上文中參考圖3所描述的方法300來實(shí)施該狀態(tài)轉(zhuǎn)換模型。
作為選擇,如果方法400確定在狀態(tài)池仍舊存在一個(gè)或多個(gè)未經(jīng)調(diào)查的系統(tǒng)狀態(tài),那么方法400前進(jìn)到步驟414,并且從狀態(tài)池中檢索未經(jīng)調(diào)查的狀態(tài)Sn。然后,方法400前進(jìn)到步驟416b,如果存在與檢索到的狀態(tài)Sn相關(guān)聯(lián)的下一個(gè)狀態(tài),那么方法400產(chǎn)生下一個(gè)狀態(tài)以及與檢索到的狀態(tài)Sn相關(guān)聯(lián)的相應(yīng)的轉(zhuǎn)換速率。在一個(gè)實(shí)施例中,生成下一個(gè)狀態(tài)以及相應(yīng)的轉(zhuǎn)換速率的處理是根據(jù)狀態(tài)Sn以及策略集P中的站點(diǎn)專用策略來執(zhí)行的。
在步驟418中,方法400將會(huì)根據(jù)步驟416中產(chǎn)生的下一個(gè)狀態(tài)以及相應(yīng)的轉(zhuǎn)換速率來為分布式計(jì)算系統(tǒng)更新狀態(tài)轉(zhuǎn)換矩陣。然后,在步驟420中,所述這些下一個(gè)狀態(tài)被添加到狀態(tài)池中。
在步驟422中,方法400將檢索到的狀態(tài)Sn表示成是未經(jīng)調(diào)查的。然后,方法400返回步驟410并以上述方式繼續(xù)進(jìn)行,以便調(diào)查狀態(tài)池中任何剩余的未經(jīng)調(diào)查的狀態(tài)。步驟410~422可被重復(fù)執(zhí)行所需要的次數(shù),直至調(diào)查了狀態(tài)池中的所有狀態(tài)以及無法將新狀態(tài)添加到狀態(tài)池中為止。本領(lǐng)域技術(shù)人員將會(huì)了解,一旦沒有將新的狀態(tài)添加到狀態(tài)池中,則不重復(fù)執(zhí)行步驟412并且該步驟只會(huì)出現(xiàn)一次。
圖5是使用通用計(jì)算設(shè)備500所實(shí)現(xiàn)的策略分析方法的高級框圖。在一個(gè)實(shí)施例中,通用計(jì)算設(shè)備500包含了處理器502、內(nèi)存504、策略分析模塊505以及例如顯示器的各種輸入/輸出(I/O)設(shè)備506、鍵盤、鼠標(biāo)、調(diào)制解調(diào)器等等。在一個(gè)實(shí)施例中,至少有一個(gè)I/O設(shè)備是存儲(chǔ)設(shè)備(例如磁盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器)。應(yīng)該理解的是,策略分析模塊505可以實(shí)現(xiàn)為物理設(shè)備,也可以實(shí)現(xiàn)為經(jīng)由通信信道而與處理器相連的子系統(tǒng)。
作為選擇,策略分析模塊505也可以用一個(gè)或多個(gè)軟件應(yīng)用(甚至是軟件和硬件的組合來表示,其中舉例來說,該組合可以用專用集成電路(ASIC)來實(shí)現(xiàn))來表示,其中軟件是從存儲(chǔ)介質(zhì)(例如I/O設(shè)備506)加載并在通用計(jì)算設(shè)備500的內(nèi)存504中由處理器502來操作的。由此,在一個(gè)實(shí)施例中,對在這里參考先前附圖所描述的用于分析與分布式計(jì)算系統(tǒng)相關(guān)聯(lián)的性能和策略的策略分析模塊505可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)或載體上(例如RAM、磁或光驅(qū)動(dòng)器或磁盤等等)。
由此,本發(fā)明描述了分布式計(jì)算系統(tǒng)分析領(lǐng)域中的一個(gè)顯著進(jìn)步。在這里提供的方法和設(shè)備可以有效地分析適合單個(gè)站點(diǎn)的各種資源共享策略施加對包含站點(diǎn)的整個(gè)分布式計(jì)算系統(tǒng)產(chǎn)生的作用。通過將狀態(tài)轉(zhuǎn)換建模為狀態(tài)轉(zhuǎn)換模型,以及隨后應(yīng)用給定策略來識(shí)別有效的分布式計(jì)算狀態(tài)和狀態(tài)轉(zhuǎn)換,可以快速識(shí)別給定所述策略對分布式計(jì)算系統(tǒng)的成本和性能所產(chǎn)生的影響,并且采用排隊(duì)網(wǎng)絡(luò)分析來顯示所述影響。
雖然上文涉及的是本發(fā)明的優(yōu)選實(shí)施例,但在不脫離本發(fā)明的基本范圍的情況下,可以設(shè)想本發(fā)明的其它實(shí)施例,本發(fā)明的范圍是由下列權(quán)利要求確定的。
權(quán)利要求
1.一種用于對適合多個(gè)計(jì)算站點(diǎn)的一個(gè)或多個(gè)策略進(jìn)行分析的方法,所述計(jì)算站點(diǎn)在分布式計(jì)算系統(tǒng)中對相應(yīng)的工作負(fù)荷進(jìn)行處理,所述方法包括將所述分布式計(jì)算系統(tǒng)表示成狀態(tài)轉(zhuǎn)換模型;在所述狀態(tài)轉(zhuǎn)換模型上疊加一個(gè)排隊(duì)網(wǎng)絡(luò)模型;以及根據(jù)所述排隊(duì)網(wǎng)絡(luò)模型的解來確定所述一個(gè)或多個(gè)策略施加于所述分布式計(jì)算系統(tǒng)性能的作用。
2.根據(jù)權(quán)利要求1所述的方法,其中所述表示包括根據(jù)表示所述多個(gè)計(jì)算站點(diǎn)特性的至少一個(gè)模型來建造所述狀態(tài)轉(zhuǎn)換模型,其中所述至少一個(gè)模型包括下列模型中的至少一個(gè)站點(diǎn)模型、工作負(fù)荷模型、工作負(fù)荷狀態(tài)模型、站點(diǎn)狀態(tài)模型、策略模型、事件模型或成本模型。
3.根據(jù)權(quán)利要求2所述的方法,其中所述站點(diǎn)模型表示的是與相應(yīng)的計(jì)算站點(diǎn)相關(guān)聯(lián)的靜態(tài)參數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其中所述靜態(tài)參數(shù)包括下列參數(shù)中的至少一個(gè)與所述相應(yīng)計(jì)算站點(diǎn)相關(guān)聯(lián)的多個(gè)資源,一種所述的資源或一個(gè)或多個(gè)策略,其中所述策略規(guī)定的是所述相應(yīng)計(jì)算站點(diǎn)用以與第二計(jì)算站點(diǎn)共享資源的方式。
5.根據(jù)權(quán)利要求2所述的方法,其中所述工作負(fù)荷模型表示的是下列各項(xiàng)中的至少一項(xiàng)由相應(yīng)計(jì)算站點(diǎn)充當(dāng)宿主的應(yīng)用,所述相應(yīng)計(jì)算站點(diǎn)所提供的一個(gè)或多個(gè)服務(wù)等級協(xié)定或是轉(zhuǎn)換概率矩陣,其中該轉(zhuǎn)換概率矩陣規(guī)定的是由所述相應(yīng)計(jì)算站點(diǎn)處理的工作負(fù)荷如何在與處理所述工作負(fù)荷所需要的相應(yīng)資源數(shù)量相關(guān)聯(lián)的兩個(gè)或多個(gè)等級之間轉(zhuǎn)換。
6.根據(jù)權(quán)利要求2所述的方法,其中所述工作負(fù)荷狀態(tài)模型表示的是下列各項(xiàng)中的至少一項(xiàng)與相應(yīng)計(jì)算站點(diǎn)相關(guān)聯(lián)的當(dāng)前工作負(fù)荷等級,其中所述等級指的是處理工作負(fù)荷所需要的資源數(shù)量、與當(dāng)前服務(wù)于所述工作負(fù)荷的所述相應(yīng)計(jì)算站點(diǎn)相關(guān)聯(lián)的本地資源數(shù)量,或是用于指示代表所述工作負(fù)荷而從第二計(jì)算站點(diǎn)借取的資源的陣列。
7.根據(jù)權(quán)利要求2所述的方法,其中所述站點(diǎn)狀態(tài)模型表示的是與相應(yīng)計(jì)算站點(diǎn)相關(guān)聯(lián)的一個(gè)或多個(gè)時(shí)變參數(shù)。
8.根據(jù)權(quán)利要求7所述的方法,其中所述一個(gè)或多個(gè)時(shí)變參數(shù)包括下列參數(shù)中的至少一個(gè)與所述相應(yīng)的計(jì)算站點(diǎn)相關(guān)聯(lián)的工作負(fù)荷狀態(tài),由所述相應(yīng)計(jì)算站點(diǎn)借出到第二計(jì)算站點(diǎn)的資源數(shù)量,或是與不處于維護(hù)模式的所述相應(yīng)計(jì)算站點(diǎn)相關(guān)聯(lián)的資源數(shù)量。
9.根據(jù)權(quán)利要求2所述的方法,其中所述策略模型表示的是所述分布式計(jì)算系統(tǒng)對系統(tǒng)事件作出響應(yīng)的方式。
10.根據(jù)權(quán)利要求9所述的方法,其中所述策略模型描述的是所述分布式計(jì)算系統(tǒng)響應(yīng)于特定外部事件而可以轉(zhuǎn)換成的一個(gè)或多個(gè)可能的狀態(tài),其中所述外部事件在所述分布式計(jì)算系統(tǒng)處于給定的狀態(tài)的時(shí)候發(fā)生。
11.根據(jù)權(quán)利要求2所述的方法,其中所述事件模型表示的是在所述分布式計(jì)算系統(tǒng)中觸發(fā)狀態(tài)變化的一個(gè)或多個(gè)事件。
12.根據(jù)權(quán)利要求11所述的方法,其中所述狀態(tài)變化導(dǎo)致所述分布式計(jì)算系統(tǒng)在與一個(gè)或多個(gè)所述計(jì)算站點(diǎn)相關(guān)聯(lián)的兩個(gè)或多個(gè)工作負(fù)荷之間重新分配資源。
13.根據(jù)權(quán)利要求2所述的方法,其中所述成本模型表示的是在擴(kuò)展時(shí)段中用以操作所述分布式計(jì)算系統(tǒng)的一個(gè)或多個(gè)成本。
14.根據(jù)權(quán)利要求13所述的方法,其中所述一個(gè)或多個(gè)成本包括下列成本中的至少一個(gè)與服務(wù)等級協(xié)定的違規(guī)相關(guān)聯(lián)的成本,其中所述協(xié)定與由所述分布式計(jì)算系統(tǒng)所處理的給定工作負(fù)荷相關(guān)聯(lián),與從遠(yuǎn)端計(jì)算站點(diǎn)借取資源來處理給定工作負(fù)荷相關(guān)聯(lián)的成本,或是與為遠(yuǎn)端計(jì)算站點(diǎn)上的工作負(fù)荷的初始建立和供應(yīng)相關(guān)聯(lián)的成本。
15.根據(jù)權(quán)利要求2所述的方法,其中對所述分布式計(jì)算系統(tǒng)的所述描述包括在計(jì)算站點(diǎn)上將相關(guān)聯(lián)的資源的可用性建模成狀態(tài);在所述計(jì)算站點(diǎn)上將相關(guān)聯(lián)的工作負(fù)荷發(fā)生的變化以及所述相關(guān)聯(lián)的資源的可用性發(fā)生的變化建模成狀態(tài)轉(zhuǎn)換;以及將規(guī)定所述計(jì)算站點(diǎn)與第二計(jì)算站點(diǎn)共享資源的方式的策略建模成對所述狀態(tài)以及所述狀態(tài)轉(zhuǎn)換的約束條件。
16.根據(jù)權(quán)利要求15所述的方法,其中所述重疊所述排隊(duì)網(wǎng)絡(luò)包括將用于表示所述工作負(fù)荷變化的狀態(tài)轉(zhuǎn)換與取決于所述相關(guān)聯(lián)的工作負(fù)荷的特性的第一概率相關(guān)聯(lián);將用于表示所述資源可用性變化的狀態(tài)轉(zhuǎn)換與取決于所述相關(guān)聯(lián)的資源故障和恢復(fù)的特性的第二概率相關(guān)聯(lián);將所述第一概率以及所述第二概率與相應(yīng)的策略相關(guān)聯(lián);將所述相應(yīng)策略中的每一個(gè)與第三概率相關(guān)聯(lián),其中所述第三概率取決于根據(jù)相應(yīng)策略所采取的至少一個(gè)操作;以及根據(jù)排隊(duì)網(wǎng)絡(luò)分析技術(shù)來推導(dǎo)所述分布式計(jì)算系統(tǒng)的至少一個(gè)狀態(tài)的至少一個(gè)穩(wěn)態(tài)概率。
17.根據(jù)權(quán)利要求16所述的方法,其中所述識(shí)別包括將至少一個(gè)成本模型應(yīng)用于所述至少一個(gè)穩(wěn)態(tài)概率;以及計(jì)算與所述分布式計(jì)算系統(tǒng)性能相關(guān)聯(lián)的至少一個(gè)度量,其中所述性能是所述至少一個(gè)穩(wěn)態(tài)概率的至少一個(gè)函數(shù)。
18.根據(jù)權(quán)利要求1所述的方法,其中所述至少一個(gè)度量包括以下各項(xiàng)中的至少一項(xiàng)與所述分布式計(jì)算系統(tǒng)相關(guān)聯(lián)的響應(yīng)時(shí)間,與所述分布式計(jì)算系統(tǒng)相關(guān)聯(lián)的吞吐量,或是與所述分布式計(jì)算系統(tǒng)相關(guān)聯(lián)的資源可用性。
19.一種用于對適合多個(gè)計(jì)算站點(diǎn)的一個(gè)或多個(gè)策略進(jìn)行分析的設(shè)備,所述計(jì)算站點(diǎn)在分布式計(jì)算系統(tǒng)中對相應(yīng)的工作負(fù)荷進(jìn)行處理,所述設(shè)備包括用于將所述分布式計(jì)算系統(tǒng)表示成狀態(tài)轉(zhuǎn)換模型的裝置;用于在所述狀態(tài)轉(zhuǎn)換模型上疊加一個(gè)排隊(duì)網(wǎng)絡(luò)模型的裝置;以及用于根據(jù)所述排隊(duì)網(wǎng)絡(luò)模型的解來確定所述一個(gè)或多個(gè)策略施加于所述分布式計(jì)算系統(tǒng)性能的作用的裝置。
全文摘要
用于分布式計(jì)算系統(tǒng)中的性能和策略分析的方法和設(shè)備的一個(gè)實(shí)施例包括將分布式計(jì)算系統(tǒng)性能表示成一個(gè)狀態(tài)轉(zhuǎn)換模型。然后,在所述狀態(tài)轉(zhuǎn)換模型上疊加一個(gè)排隊(duì)網(wǎng)絡(luò),并且根據(jù)所述排隊(duì)網(wǎng)絡(luò)的解來識(shí)別一個(gè)或多個(gè)策略施加于所述分布式計(jì)算系統(tǒng)的作用。
文檔編號G06F9/46GK1955932SQ20061013922
公開日2007年5月2日 申請日期2006年9月18日 優(yōu)先權(quán)日2005年10月25日
發(fā)明者默西·德瓦拉康達(dá), 尼斯雅·拉杰馬尼, 馬德哈卡·斯里瓦特薩 申請人:國際商業(yè)機(jī)器公司