專利名稱:用于安排網(wǎng)格計算系統(tǒng)中的網(wǎng)格作業(yè)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
一般來說,本發(fā)明涉及一種改進(jìn)的數(shù)據(jù)處理系統(tǒng)。具體來說,本發(fā)明涉及改進(jìn)的網(wǎng)格計算系統(tǒng),其中,根據(jù)多種動態(tài)負(fù)載因素安排網(wǎng)格作業(yè)。
背景技術(shù):
在1990年代,計算機(jī)科學(xué)家們開始探索被稱為“計算網(wǎng)格”的計算機(jī)基礎(chǔ)架構(gòu)的設(shè)計和開發(fā),其設(shè)計是基于當(dāng)時已知的電力網(wǎng)格。網(wǎng)格計算最初是為大規(guī)模的資源密集的科學(xué)應(yīng)用(如探索外星人(SETI)計劃的計算網(wǎng)格)而設(shè)計的,這些應(yīng)用與少量的計算設(shè)備在單個管理域中所能夠提供的資源相比,需要更多的資源。從那時起,網(wǎng)格計算變得越來越普及,因為它作為用于處理計算任務(wù)的機(jī)制的名聲越來越響。
計算網(wǎng)格能使來自在地理位置上分散的計算設(shè)備的計算機(jī)資源被共享和聚合,以便用于解決大規(guī)模的資源密集的問題。計算網(wǎng)絡(luò)也可以簡稱為“網(wǎng)格”。為構(gòu)建網(wǎng)格,需要低級別和高級別的兩種服務(wù)。網(wǎng)格的低級別服務(wù)包括安全性、信息、目錄和資源管理服務(wù)。高級別服務(wù)包括用于進(jìn)行應(yīng)用程序開發(fā),資源管理、資源安排、等等的工具。在這些服務(wù)中,資源管理和安排是最難以最佳地執(zhí)行的難題。
已知的網(wǎng)格計算系統(tǒng),如來自United Devices,Berkley OpenInfrastructure for Network Computing(BOINC)的Legion、DataSynapse、Platform Computing、Grid MPTM,PBS ProTMGrid fromAltair,the GlobusToolkit(伊利諾斯州芝加哥市阿爾貢國立實驗室推出),以及開放式網(wǎng)格服務(wù)體系結(jié)構(gòu)(OGSA)主要基于計算網(wǎng)格中的各種節(jié)點(diǎn)(即,計算設(shè)備)的處理器負(fù)載來執(zhí)行資源管理和安排,并考慮到某些其他非動態(tài)先決條件因素,以確定可以利用計算網(wǎng)格中的哪些節(jié)點(diǎn)。如此,如果一個節(jié)點(diǎn)滿足所有的非動態(tài)先決條件因素,并且其當(dāng)前處理器負(fù)載低于預(yù)先確定的閾值,則可以安排網(wǎng)格作業(yè)在該節(jié)點(diǎn)上運(yùn)行。如果該節(jié)點(diǎn)的處理器負(fù)載大于預(yù)先確定的閾值,則該節(jié)點(diǎn)不再是運(yùn)行網(wǎng)格作業(yè)的候選節(jié)點(diǎn),直到其處理器負(fù)載再次低于預(yù)先確定的閾值。
由于已知網(wǎng)格計算系統(tǒng)只將處理器負(fù)載作為判斷作業(yè)安排的動態(tài)因素來考慮,并且未能考慮網(wǎng)格作業(yè)可能產(chǎn)生的網(wǎng)絡(luò)流量,因此,常常會導(dǎo)致次最優(yōu)安排。結(jié)果,計劃以關(guān)于節(jié)點(diǎn)的正常運(yùn)行不引人注目的方式執(zhí)行的網(wǎng)格作業(yè),可能會對節(jié)點(diǎn)上的現(xiàn)有負(fù)載產(chǎn)生不利的影響。
由于這種因為只使用處理器負(fù)載作為進(jìn)行安排的根據(jù)而導(dǎo)致的次最優(yōu)安排,許多科研機(jī)構(gòu)和商業(yè)企業(yè)不愿使用網(wǎng)格計算,因為它可能會對他們現(xiàn)有的信息技術(shù)基礎(chǔ)架構(gòu)產(chǎn)生負(fù)面的影響。首先,這些企業(yè)不能斷定網(wǎng)格活動可能會在多大程度上干擾他們現(xiàn)有的工作負(fù)荷,其次,他們對于關(guān)鍵項目不愿意使用計算網(wǎng)格,因為他們不能量化在所需的時間跨度內(nèi)運(yùn)行與網(wǎng)格項目關(guān)聯(lián)的網(wǎng)格作業(yè)所需的他們的網(wǎng)格的容量。
現(xiàn)有網(wǎng)格計算系統(tǒng)所存在的這些問題根植于這樣的事實這些網(wǎng)格計算系統(tǒng)中的資源管理和安排沒有考慮到用于執(zhí)行網(wǎng)格作業(yè)的必需的網(wǎng)絡(luò)流量或此流量可能會對網(wǎng)格中的節(jié)點(diǎn)的現(xiàn)有負(fù)載產(chǎn)生的影響。網(wǎng)絡(luò)流量可能會對網(wǎng)格中的節(jié)點(diǎn)上現(xiàn)有工作負(fù)荷的性能以及網(wǎng)格作業(yè)本身的性能產(chǎn)生負(fù)面影響。
發(fā)明內(nèi)容
本發(fā)明提供了用于安排網(wǎng)格計算系統(tǒng)中的網(wǎng)格作業(yè)的機(jī)制。可以基于網(wǎng)格作業(yè)對執(zhí)行網(wǎng)格作業(yè)可能需要的基于網(wǎng)絡(luò)的資源的依賴關(guān)系,特征化網(wǎng)格作業(yè)。然后,可以基于網(wǎng)格作業(yè)對基于網(wǎng)絡(luò)的資源的依賴關(guān)系,將此特征化的網(wǎng)格作業(yè)發(fā)送到從多個網(wǎng)格節(jié)點(diǎn)中選擇的網(wǎng)格節(jié)點(diǎn)。在下面的對優(yōu)選實施例的詳細(xì)描述中,描述了本發(fā)明的這些及其他特征和優(yōu)點(diǎn),或者,對于那些本領(lǐng)域技術(shù)人員將變得顯而易見。
在所附的權(quán)利要求中闡述了本發(fā)明的新穎的特征。然而,本發(fā)明本身,以及優(yōu)選的使用模式,進(jìn)一步的目標(biāo)和優(yōu)點(diǎn),通過參考對說明性的實施例的詳細(xì)描述并參考附圖,將得到最好的理解,其中圖1是其中可以實現(xiàn)本發(fā)明的網(wǎng)格計算環(huán)境的示范圖;圖2是顯示了網(wǎng)格管理系統(tǒng)和各種網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格代理的交互的示范圖;圖3是根據(jù)本發(fā)明的一個示范性實施例的網(wǎng)格代理的示范性方框圖;圖4顯示了根據(jù)本發(fā)明的示范性實施例的用于確定網(wǎng)格節(jié)點(diǎn)之間的鏈路的容量的示范性過程,以便最小容量鏈路被設(shè)置為兩個網(wǎng)格節(jié)點(diǎn)之間可用的最大容量;圖5是顯示了根據(jù)本發(fā)明的一個示范性實施例的網(wǎng)格管理系統(tǒng)的示范圖;圖6A是根據(jù)本發(fā)明的一個示范性實施例的網(wǎng)格項目模型化語言創(chuàng)建的網(wǎng)格項目模型的示范圖;圖6B是描述了一個網(wǎng)格項目的網(wǎng)格項目模型化語言高級別XML代碼腳本的示范性例圖。
圖7是顯示了根據(jù)本發(fā)明的示范性實施例的其中可以描述計算網(wǎng)格的資源可用性曲線的圖形用戶界面的示范圖;圖8是顯示了根據(jù)本發(fā)明的一個示范性實施例的使用資源可用性圖表描述網(wǎng)格項目的執(zhí)行的一個機(jī)制的示范圖;圖9是顯示了其中執(zhí)行網(wǎng)格項目的開始時間已經(jīng)改變的如圖8所示的同一個網(wǎng)格項目的圖形描述的示范圖;圖10是顯示了根據(jù)本發(fā)明的一個示范性實施例的擴(kuò)展的網(wǎng)格對圖8和9的網(wǎng)格項目的影響的示范圖;圖11顯示了根據(jù)本發(fā)明的一個示范性實施例的網(wǎng)格節(jié)點(diǎn)的群集;
圖12是基于處理器和網(wǎng)絡(luò)資源可用性或容量的網(wǎng)格節(jié)點(diǎn)群集的示范性二維圖;圖13顯示了根據(jù)本發(fā)明的一個示范性實施例的節(jié)流機(jī)制的操作;圖14是概述了根據(jù)本發(fā)明的一個示范性實施例的當(dāng)生成網(wǎng)格項目的模擬的直觀表示時本發(fā)明的示范性操作的流程圖;圖15是概述了根據(jù)本發(fā)明的一個示范性實施例的當(dāng)安排網(wǎng)格作業(yè)調(diào)度時本發(fā)明的示范性操作的流程圖;以及圖16是概述了根據(jù)本發(fā)明的一個示范性實施例的當(dāng)節(jié)制與網(wǎng)格項目關(guān)聯(lián)的網(wǎng)絡(luò)流量時本發(fā)明的示范性操作的流程圖。
具體實施例方式
圖1是其中可以實現(xiàn)本發(fā)明的各個方面的計算網(wǎng)格環(huán)境的示范圖。如圖1所示,計算網(wǎng)格100包括通過一個或多個網(wǎng)絡(luò)120-130連接在一起的多個網(wǎng)格節(jié)點(diǎn)110。網(wǎng)格節(jié)點(diǎn)可以是任何能夠處理提供給它的網(wǎng)格作業(yè)和網(wǎng)格數(shù)據(jù)或者能夠向其他網(wǎng)格節(jié)點(diǎn)提供這樣的網(wǎng)格數(shù)據(jù)的計算設(shè)備類型。例如,網(wǎng)格節(jié)點(diǎn)110可以是服務(wù)器計算設(shè)備、客戶端計算設(shè)備、工作站、個人計算機(jī)、數(shù)據(jù)庫系統(tǒng)、大型計算機(jī)系統(tǒng)等等。
計算網(wǎng)格100由網(wǎng)格管理系統(tǒng)140進(jìn)行管理。網(wǎng)格管理系統(tǒng)140與網(wǎng)格節(jié)點(diǎn)110上存在的代理軟件進(jìn)行通信,以獲取有關(guān)每一個網(wǎng)格節(jié)點(diǎn)110的信息,并向網(wǎng)格節(jié)點(diǎn)110提交網(wǎng)格作業(yè)和網(wǎng)格數(shù)據(jù),以便供它們進(jìn)行處理。網(wǎng)格管理系統(tǒng)140提供了必需的功能,用于判斷計算網(wǎng)格100中的哪些網(wǎng)格節(jié)點(diǎn)110在線,哪些網(wǎng)格節(jié)點(diǎn)110具有處理網(wǎng)格作業(yè)的可用容量,并安排向各種網(wǎng)格節(jié)點(diǎn)110調(diào)度網(wǎng)格作業(yè),接收并關(guān)聯(lián)調(diào)度到網(wǎng)格節(jié)點(diǎn)110的網(wǎng)格作業(yè)的結(jié)果,并根據(jù)下面所描述的本發(fā)明的實施例執(zhí)行其他網(wǎng)格管理功能。
網(wǎng)格項目是網(wǎng)格上的一項最高級別的工作。網(wǎng)格項目有時也可以等效地稱為“網(wǎng)格應(yīng)用程序”。網(wǎng)格作業(yè)是執(zhí)行網(wǎng)格項目所需的工作的一部分。即,一個網(wǎng)格項目被分解為可以調(diào)度到網(wǎng)格節(jié)點(diǎn)以供其進(jìn)行處理的多個單個網(wǎng)格作業(yè)。執(zhí)行一個網(wǎng)格項目的一組網(wǎng)格作業(yè)可以在網(wǎng)格中的不同的節(jié)點(diǎn)上并行地執(zhí)行。網(wǎng)格作業(yè)有時也可以被稱為事務(wù)、工作單元、任務(wù)或提交。計算網(wǎng)格100中的每一個網(wǎng)格節(jié)點(diǎn)110都可以執(zhí)行它們的普通工作負(fù)荷,即,非與網(wǎng)格相關(guān)的處理,也可以執(zhí)行從網(wǎng)格管理系統(tǒng)140提交給它們的網(wǎng)格作業(yè)的處理。然后,將這些網(wǎng)格作業(yè)的處理的結(jié)果返回到網(wǎng)格管理系統(tǒng)140或其他指定的節(jié)點(diǎn),它們將各種網(wǎng)格作業(yè)的結(jié)果組合起來,以便獲得完成網(wǎng)格項目所需要的數(shù)據(jù)。存在于網(wǎng)格節(jié)點(diǎn)110上的網(wǎng)格代理軟件測量網(wǎng)格節(jié)點(diǎn)110的性能特征,并將這些測量結(jié)果提供到網(wǎng)格管理系統(tǒng)140,以便網(wǎng)格管理系統(tǒng)140能夠正確地安排向各種網(wǎng)格節(jié)點(diǎn)110調(diào)度網(wǎng)格作業(yè)。
如上所述,在已知計算網(wǎng)格系統(tǒng)中,網(wǎng)格節(jié)點(diǎn)的可用的處理器容量是被用作確定網(wǎng)格作業(yè)的安排的根據(jù)的網(wǎng)格節(jié)點(diǎn)的動態(tài)特征。即,網(wǎng)格管理系統(tǒng)從網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格代理軟件獲取指出網(wǎng)格節(jié)點(diǎn)的在各個時間的CPU使用率的信息。根據(jù)該信息,網(wǎng)格管理系統(tǒng)可以判斷網(wǎng)格節(jié)點(diǎn)的CPU使用率何時很可能低于預(yù)先確定的閾值,如此能夠安排在該預(yù)測的時間將網(wǎng)格作業(yè)調(diào)度到網(wǎng)格節(jié)點(diǎn)。
只使用CPU可用性作為確定何時調(diào)度網(wǎng)格作業(yè)的量度標(biāo)準(zhǔn)所存在的問題是,可能會在慢速鏈路上發(fā)送大量數(shù)據(jù),使用該數(shù)據(jù)的網(wǎng)格作業(yè)甚至在存儲了所需數(shù)據(jù)的位置的附近也可能不能執(zhí)行。這會導(dǎo)致更大的網(wǎng)絡(luò)流量。如此,在慢速鏈路上發(fā)送的大量數(shù)據(jù)和由于數(shù)據(jù)在網(wǎng)格中的無效率的放置而產(chǎn)生的所需的更大的網(wǎng)絡(luò)流量,將會導(dǎo)致對網(wǎng)絡(luò)所帶來的負(fù)載比最優(yōu)的情況更大。這可能會對網(wǎng)格節(jié)點(diǎn)的正常操作產(chǎn)生不利的影響。如此,使用網(wǎng)格節(jié)點(diǎn)非但不引人注目,相反網(wǎng)格作業(yè)實際對這些網(wǎng)格節(jié)點(diǎn)所執(zhí)行的正常工作產(chǎn)生負(fù)面影響。
本發(fā)明的各個方面通過考慮處理器利用率和執(zhí)行使用計算網(wǎng)格的網(wǎng)格項目的功能所需的網(wǎng)絡(luò)利用率兩者,避免了網(wǎng)格計算的負(fù)面影響。即,本發(fā)明利用存在于網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格代理(這些網(wǎng)格代理監(jiān)視關(guān)于網(wǎng)格和非網(wǎng)格工作兩者的處理器利用率和網(wǎng)格節(jié)點(diǎn)的可用性兩者,還監(jiān)視網(wǎng)絡(luò)利用率和網(wǎng)格節(jié)點(diǎn)之間的鏈路的可用性)來確定網(wǎng)格節(jié)點(diǎn)處理網(wǎng)格作業(yè)的可用性。然后,使用此信息來模型化網(wǎng)格活動,以模擬計算網(wǎng)格關(guān)于網(wǎng)格項目的處理的性能,安排向網(wǎng)格節(jié)點(diǎn)調(diào)度網(wǎng)格作業(yè),并調(diào)節(jié)網(wǎng)格作業(yè)以及它們的數(shù)據(jù)向各種網(wǎng)格節(jié)點(diǎn)的傳輸,以便避免對網(wǎng)格節(jié)點(diǎn)的正常運(yùn)行產(chǎn)生的不利影響。
圖2是顯示了網(wǎng)格計算系統(tǒng)200的網(wǎng)格管理系統(tǒng)和各種網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格代理的交互的示范圖。如圖2所示,網(wǎng)格管理系統(tǒng)210與計算網(wǎng)格240的網(wǎng)格節(jié)點(diǎn)230上的網(wǎng)格代理220進(jìn)行通信,以獲取處理器和網(wǎng)絡(luò)可用性數(shù)據(jù)。網(wǎng)格代理220包括處理器利用率監(jiān)視和網(wǎng)絡(luò)利用率監(jiān)視器,以獲取關(guān)于網(wǎng)格和非網(wǎng)格作業(yè)處理的處理器和網(wǎng)絡(luò)利用率的測量值。處理器利用率監(jiān)視器確定,在一段時間內(nèi),網(wǎng)格節(jié)點(diǎn)的多少處理器資源正在被用來處理非網(wǎng)格工作,處理網(wǎng)格作業(yè),以及多少處理器資源空閑。網(wǎng)絡(luò)利用率監(jiān)視器確定,在一段時間內(nèi),多少與到此網(wǎng)格節(jié)點(diǎn)的鏈路關(guān)聯(lián)的網(wǎng)絡(luò)容量正在被使用,以及還有多少容量可用。
此處理器和網(wǎng)絡(luò)利用率數(shù)據(jù)被傳輸?shù)骄W(wǎng)格管理系統(tǒng)210,數(shù)據(jù)存儲在那里的數(shù)據(jù)庫215中以供以后使用。例如,本發(fā)明的網(wǎng)格管理系統(tǒng)210在生成網(wǎng)格項目描述模型、確定網(wǎng)格項目處理性能的模擬、安排網(wǎng)格作業(yè)調(diào)度,以及調(diào)節(jié)網(wǎng)格作業(yè)數(shù)據(jù)傳輸時會使用存儲在數(shù)據(jù)庫215中的信息。
網(wǎng)格管理系統(tǒng)210從網(wǎng)格項目提交系統(tǒng)250接收網(wǎng)格項目。網(wǎng)格項目提交系統(tǒng)250可以與網(wǎng)格管理系統(tǒng)210進(jìn)行通信,以提交網(wǎng)格項目,請求和查看網(wǎng)格項目的模擬,基于網(wǎng)格項目的模擬調(diào)整網(wǎng)格項目的調(diào)度參數(shù),以及接收正在被計算網(wǎng)格240處理的網(wǎng)格項目的結(jié)果。
當(dāng)一個網(wǎng)格項目被網(wǎng)格項目提交系統(tǒng)250提交到網(wǎng)格管理系統(tǒng)210時,可以使用數(shù)據(jù)庫215中維護(hù)的數(shù)據(jù)模擬網(wǎng)格項目該網(wǎng)格項目,以便可以確定各種開始時間、各種額外的網(wǎng)格節(jié)點(diǎn)等等的影響。根據(jù)該信息,網(wǎng)格項目提交系統(tǒng)的用戶可以在將作為多個網(wǎng)格作業(yè)的網(wǎng)格項目調(diào)度到計算網(wǎng)格240的網(wǎng)格節(jié)點(diǎn)230時,選擇適當(dāng)?shù)木W(wǎng)格項目調(diào)度標(biāo)準(zhǔn)來使用。
然后,網(wǎng)格管理系統(tǒng)210基于所選擇的調(diào)度標(biāo)準(zhǔn)來安排網(wǎng)格作業(yè)的調(diào)度。此安排網(wǎng)格作業(yè)的過程可能涉及基于網(wǎng)格管理系統(tǒng)210所維護(hù)的有關(guān)網(wǎng)格節(jié)點(diǎn)的非動態(tài)特征信息,選擇應(yīng)該向其提交網(wǎng)格作業(yè)的某些網(wǎng)格節(jié)點(diǎn)。在預(yù)定的時間,網(wǎng)格管理系統(tǒng)210向適當(dāng)?shù)木W(wǎng)格節(jié)點(diǎn)230上的網(wǎng)格代理220傳輸網(wǎng)格作業(yè)和/或?qū)?yīng)的數(shù)據(jù)。優(yōu)選情況下,網(wǎng)格代理220包括網(wǎng)格客戶端軟件,該軟件允許網(wǎng)格代理220執(zhí)行它們的相應(yīng)的網(wǎng)格節(jié)點(diǎn)230上的網(wǎng)格作業(yè)。網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格作業(yè)的調(diào)度和執(zhí)行在當(dāng)前技術(shù)中一般是已知的。例如,在使用網(wǎng)格客戶端軟件的網(wǎng)格節(jié)點(diǎn)上,可以使用Globus或OGSA機(jī)制來執(zhí)行網(wǎng)格作業(yè)。
圖3是根據(jù)本發(fā)明的一個示范性實施例的網(wǎng)格代理的示范性方框圖。如圖3所示,網(wǎng)格代理300包括控制器310、處理器利用率監(jiān)視器320、網(wǎng)絡(luò)利用率監(jiān)視器330、網(wǎng)絡(luò)接口340、網(wǎng)格客戶端軟件350、處理器/網(wǎng)絡(luò)利用率統(tǒng)計信息存儲器360,以及網(wǎng)格項目節(jié)流控制器370。網(wǎng)格代理300是作為軟件指令實現(xiàn)的,軟件指令由在其上面部署了網(wǎng)格代理300的網(wǎng)格節(jié)點(diǎn)的處理器來執(zhí)行。網(wǎng)格代理300作為后臺應(yīng)用程序來執(zhí)行,該后臺應(yīng)用程序不會輕易地被網(wǎng)格代理300在其上面運(yùn)行的網(wǎng)格節(jié)點(diǎn)的用戶覺察。
控制器310對網(wǎng)格代理300的總體操作進(jìn)行控制,并協(xié)調(diào)其他元件320-370的操作。處理器利用率監(jiān)視器320監(jiān)視關(guān)于網(wǎng)格和非網(wǎng)格工作負(fù)荷兩者的網(wǎng)格節(jié)點(diǎn)的處理器利用率。處理器利用率區(qū)別器320會區(qū)別與網(wǎng)格工作負(fù)荷關(guān)聯(lián)的處理器利用率和與非網(wǎng)格工作負(fù)荷關(guān)聯(lián)的處理器利用率。此區(qū)別網(wǎng)格工作負(fù)荷的處理器利用率和非網(wǎng)格工作負(fù)荷的處理器利用率的過程是通過將處理器利用率監(jiān)視器320的監(jiān)視功能與網(wǎng)格客戶端軟件350捆綁起來而實現(xiàn)的。
網(wǎng)格客戶端軟件350與網(wǎng)格管理系統(tǒng)進(jìn)行通信,接受待執(zhí)行的網(wǎng)格作業(yè),在適當(dāng)?shù)沫h(huán)境下執(zhí)行它們,然后,返回網(wǎng)格作業(yè)的結(jié)果。本發(fā)明的不同實施例的網(wǎng)格客戶端軟件350用于跟蹤代表網(wǎng)格執(zhí)行工作的進(jìn)程和線程。即,網(wǎng)格客戶端軟件350,在執(zhí)行進(jìn)程和創(chuàng)建線程時,維護(hù)了一個數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)存儲與正在被網(wǎng)格節(jié)點(diǎn)處理的網(wǎng)格作業(yè)關(guān)聯(lián)的進(jìn)程或線程的標(biāo)識符。在另一個數(shù)據(jù)結(jié)構(gòu)中維護(hù)了有關(guān)由網(wǎng)格節(jié)點(diǎn)的處理器執(zhí)行的所有線程的統(tǒng)計信息。這些統(tǒng)計信息可以包括,執(zhí)行線程所需要的處理周期的量、存儲器使用率、磁盤空間使用率、用于執(zhí)行線程的CPU時間的量等等。
通過比較兩個數(shù)據(jù)結(jié)構(gòu),可以區(qū)別與涉及網(wǎng)格的線程關(guān)聯(lián)的統(tǒng)計信息和與涉及非網(wǎng)格的線程關(guān)聯(lián)的統(tǒng)計信息。涉及非網(wǎng)格的線程構(gòu)成了系統(tǒng)上的不是由網(wǎng)格工作啟動的工作負(fù)荷,如此,代表了系統(tǒng)上的普通工作負(fù)荷。如此,可以就在特定時間網(wǎng)格節(jié)點(diǎn)的處理器上有多少非網(wǎng)格工作負(fù)荷存在作出判斷。結(jié)果,可以更準(zhǔn)確地測量網(wǎng)格節(jié)點(diǎn)的實際處理器容量。
網(wǎng)絡(luò)利用率監(jiān)視器330用于生成網(wǎng)格節(jié)點(diǎn)的網(wǎng)絡(luò)利用率統(tǒng)計信息。網(wǎng)格作業(yè)常常需要大量的輸入數(shù)據(jù),這些輸入數(shù)據(jù)必須傳輸?shù)綀?zhí)行工作的,即,處理該網(wǎng)格作業(yè)的網(wǎng)格節(jié)點(diǎn)。網(wǎng)格作業(yè)也可能會產(chǎn)生大量輸出數(shù)據(jù)。此外,除非在數(shù)據(jù)庫(其中存儲網(wǎng)格作業(yè)可能需要訪問的所需數(shù)據(jù))的附近的節(jié)點(diǎn)上安排網(wǎng)格作業(yè),否則,可能會由于網(wǎng)絡(luò)流量和需要從遠(yuǎn)程數(shù)據(jù)庫中檢索所需數(shù)據(jù)而發(fā)生嚴(yán)重的延遲。
所有這些情況都會占據(jù)寶貴的網(wǎng)絡(luò)帶寬,并會在網(wǎng)絡(luò)中產(chǎn)生嚴(yán)重的擁塞。結(jié)果,無論是網(wǎng)格節(jié)點(diǎn)的普通工作負(fù)荷還是網(wǎng)格作業(yè)本身,都可能受到來往于網(wǎng)格節(jié)點(diǎn)的鏈路上的網(wǎng)絡(luò)帶寬的消耗的負(fù)面影響。
網(wǎng)格項目節(jié)流控制器370在處理器和網(wǎng)絡(luò)利用率超過預(yù)先確定的預(yù)期處理器和網(wǎng)絡(luò)可用性值的情況下,節(jié)制這樣的利用率。如下面比較全面地討論的,此節(jié)流機(jī)制防止由網(wǎng)格作業(yè)的執(zhí)行所引起的網(wǎng)絡(luò)擁塞和處理延遲,以便確保網(wǎng)格節(jié)點(diǎn)的正常操作,即,網(wǎng)格節(jié)點(diǎn)的普通的工作負(fù)荷,不會受網(wǎng)格作業(yè)和網(wǎng)格作業(yè)數(shù)據(jù)的傳輸和處理的不利影響。
為收集確定網(wǎng)格節(jié)點(diǎn)的網(wǎng)絡(luò)利用率所需的信息,網(wǎng)絡(luò)利用率監(jiān)視器330使用常規(guī)網(wǎng)絡(luò)流量監(jiān)視器來確定物理網(wǎng)絡(luò)鏈路上的每一對網(wǎng)格節(jié)點(diǎn)之間的流量。即,網(wǎng)絡(luò)的每一個網(wǎng)格節(jié)點(diǎn)都包括常規(guī)網(wǎng)絡(luò)流量監(jiān)視器,該監(jiān)視器確定該網(wǎng)格節(jié)點(diǎn)和與該網(wǎng)格節(jié)點(diǎn)所鏈接的各個網(wǎng)格節(jié)點(diǎn)之間的鏈路上的網(wǎng)絡(luò)流量。本發(fā)明的說明性示例的網(wǎng)絡(luò)利用率監(jiān)視器330確定將在該網(wǎng)格節(jié)點(diǎn)及其他網(wǎng)格和非網(wǎng)格節(jié)點(diǎn)之間傳播的數(shù)據(jù)包的最可能的路由。然后,網(wǎng)絡(luò)利用率監(jiān)視器確定該路由中的最小容量鏈路。例如,網(wǎng)絡(luò)利用率監(jiān)視器330可以使用WindowsTM和UnixTM操作系統(tǒng)中附帶的跟蹤路由實用程序(即,tracert或traceroute命令行程序)來確定數(shù)據(jù)包在任何兩個網(wǎng)格節(jié)點(diǎn)之間遍歷的可能的路由。沿著路由的網(wǎng)格節(jié)點(diǎn)和非網(wǎng)格節(jié)點(diǎn)兩種節(jié)點(diǎn)的常規(guī)網(wǎng)絡(luò)流量監(jiān)視器可以用來確定網(wǎng)格節(jié)點(diǎn)之間鏈路的容量,以便最小容量鏈路被設(shè)置為兩個網(wǎng)格節(jié)點(diǎn)之間可用的最大容量。最大容量是特定鏈路可以在兩個節(jié)點(diǎn)之間支持的網(wǎng)絡(luò)流量的最大值。
圖4中顯示了此過程。如圖4所示,網(wǎng)格節(jié)點(diǎn)410需要確定其本身及計算網(wǎng)格400的其他網(wǎng)格節(jié)點(diǎn)420-450之間可用的最大容量。網(wǎng)格節(jié)點(diǎn)410-450中的每一個網(wǎng)格節(jié)點(diǎn)都配備有網(wǎng)格代理,該網(wǎng)格代理包括常規(guī)網(wǎng)絡(luò)流量監(jiān)視器,用于監(jiān)視沿著到該網(wǎng)格節(jié)點(diǎn)的連接或鏈路的流量和可用帶寬。此外,非網(wǎng)格節(jié)點(diǎn)460-490也可以存在于中,它們不是計算網(wǎng)格400的一部分。這些非網(wǎng)格節(jié)點(diǎn)也可以配備有常規(guī)網(wǎng)絡(luò)流量監(jiān)視器,用于監(jiān)視沿著到某一網(wǎng)格節(jié)點(diǎn)的連接的流量和可用帶寬。
在確定網(wǎng)格節(jié)點(diǎn)410其本身和每一個其他網(wǎng)格節(jié)點(diǎn)420-450之間可用的最大容量時,網(wǎng)格節(jié)點(diǎn)410在一個示范性實施例中,使用網(wǎng)格節(jié)點(diǎn)420-450的目標(biāo)IP地址、通用資源定位器(URL)等等作為執(zhí)行跟蹤路由操作的根據(jù),運(yùn)行跟蹤路由實用程序??梢栽谂c網(wǎng)格代理關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中維護(hù)網(wǎng)格節(jié)點(diǎn)410-450的IP地址、URL等等,供確定網(wǎng)絡(luò)容量和利用率時使用。作為對網(wǎng)格節(jié)點(diǎn)420的IP地址運(yùn)行跟蹤路由實用程序的結(jié)果,跟蹤路由實用程序確定從節(jié)點(diǎn)410發(fā)送到節(jié)點(diǎn)420的數(shù)據(jù)包的最可能的路由是包括鏈路A和B的路由。類似地,節(jié)點(diǎn)410和430之間的路由被跟蹤路由實用程序確定為鏈路C。節(jié)點(diǎn)410和節(jié)點(diǎn)440之間的路由包括鏈路C、D和E,而節(jié)點(diǎn)410和450之間的路由包括鏈路C、F、G和H。
沿著網(wǎng)絡(luò)中的節(jié)點(diǎn)410-490之間的鏈路的網(wǎng)絡(luò)容量可以使用網(wǎng)格節(jié)點(diǎn)410-450和非網(wǎng)格節(jié)點(diǎn)460-490的常規(guī)網(wǎng)絡(luò)流量監(jiān)視器來確定。所描述的示例是計算網(wǎng)格400的簡化版本,以便網(wǎng)格節(jié)點(diǎn)410和其他網(wǎng)格節(jié)點(diǎn)之間的許多路由只包括單一鏈路(如虛線顯示)。然而,在比較復(fù)雜的計算網(wǎng)格配置中,應(yīng)該理解,單個路由可能涉及三個或更多個節(jié)點(diǎn)之間的鏈路,包括網(wǎng)格節(jié)點(diǎn)和非網(wǎng)格節(jié)點(diǎn)。
網(wǎng)格節(jié)點(diǎn)410和網(wǎng)格節(jié)點(diǎn)440之間的路由是涉及多個節(jié)點(diǎn)的路由的一個示例。在此示例中,路由穿過網(wǎng)格節(jié)點(diǎn)430。如此,存在兩個可測量的鏈路網(wǎng)格節(jié)點(diǎn)410和430之間的鏈路C,以及網(wǎng)格節(jié)點(diǎn)430和440之間的鏈路I。確定每一個鏈路的網(wǎng)絡(luò)容量或可用帶寬,最小網(wǎng)絡(luò)容量或可用帶寬,被選為特定測量時間段內(nèi)的網(wǎng)格節(jié)點(diǎn)410和網(wǎng)格節(jié)點(diǎn)440之間的最大網(wǎng)絡(luò)容量。如此,可以推導(dǎo)(大約)任何兩個網(wǎng)格節(jié)點(diǎn)之間可用的網(wǎng)絡(luò)容量的值。
返回到圖3,處理器/網(wǎng)絡(luò)利用率統(tǒng)計信息存儲器360用來存儲在“n”分鐘間隔內(nèi)收集的處理器利用率統(tǒng)計信息和網(wǎng)絡(luò)容量或利用率統(tǒng)計信息數(shù)據(jù),其中,“n”的值取決于本發(fā)明的實施例的特定實現(xiàn)方式,并可以設(shè)置為任何時間段。間隔可以由網(wǎng)格代理發(fā)送到網(wǎng)格管理系統(tǒng),在那里,它們可以與從該網(wǎng)格節(jié)點(diǎn)及其他網(wǎng)格節(jié)點(diǎn)獲取的其他統(tǒng)計量結(jié)果綜合在一起。然后,可以從統(tǒng)計學(xué)上評估綜合的處理器和網(wǎng)絡(luò)利用率信息,以確定計算網(wǎng)格中的預(yù)期的處理器和網(wǎng)絡(luò)容量的典型值,如每日、每周、每月或其他重復(fù)周期值。
具體來說,在一個示范性實施例中,對于每一個收集點(diǎn)、網(wǎng)格節(jié)點(diǎn),以及時間窗,存儲處理器和網(wǎng)絡(luò)可用容量的值的總和,這些值的平方的總和,以及所采用的樣本的數(shù)量。存儲這些數(shù)據(jù)允許計算收集的數(shù)據(jù)的標(biāo)準(zhǔn)偏差、平均值及其他統(tǒng)計信息,不需要保留整套的收集數(shù)據(jù)。然后,可以使用此數(shù)據(jù)來模擬網(wǎng)格項目在計算網(wǎng)格上在周、月、年等等各種時間的執(zhí)行情況,以安排向網(wǎng)格節(jié)點(diǎn)調(diào)度網(wǎng)格作業(yè),節(jié)制與網(wǎng)格作業(yè)關(guān)聯(lián)的數(shù)據(jù)傳輸?shù)鹊?,如下面所討論的?br>
圖5是顯示了根據(jù)本發(fā)明的各個方面的網(wǎng)格管理系統(tǒng)的示范圖。網(wǎng)格管理系統(tǒng)500可以以硬件、軟件或硬件和軟件的任何組合來實現(xiàn)。在本發(fā)明的說明性實施例中,網(wǎng)格管理系統(tǒng)500是作為由一個或多個數(shù)據(jù)處理設(shè)備執(zhí)行的軟件指令來實現(xiàn)的。
如圖5所示,網(wǎng)格管理系統(tǒng)500包括控制器510、網(wǎng)絡(luò)接口520、網(wǎng)格項目存儲接口530、網(wǎng)格項目存儲系統(tǒng)535、網(wǎng)格項目可視化和模擬引擎540、節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性存儲系統(tǒng)接口550、節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)存儲系統(tǒng)555、網(wǎng)格項目安排引擎560,以及網(wǎng)格項目作業(yè)調(diào)度器580。這些元件通過控制/數(shù)據(jù)信號總線590彼此進(jìn)行通信。雖然圖5顯示了總線體系結(jié)構(gòu),但是,本發(fā)明的不同方面不僅限于這樣的體系結(jié)構(gòu),在不偏離本發(fā)明的精神和范圍的情況下,可以使用有助于上文所描述的元件之間的控制/數(shù)據(jù)信號的通信的任何體系結(jié)構(gòu)。
控制器510對網(wǎng)格管理系統(tǒng)500的總體操作進(jìn)行控制,并協(xié)調(diào)此系統(tǒng)中的其他元件的操作。網(wǎng)絡(luò)接口520提供用于接收和發(fā)送數(shù)據(jù)的通信通道。具體來說,網(wǎng)絡(luò)接口520提供了通過其可以接收有關(guān)各種網(wǎng)格節(jié)點(diǎn)的處理器和網(wǎng)絡(luò)可用性的統(tǒng)計數(shù)據(jù)的機(jī)制。類似地,網(wǎng)格項目作業(yè)和數(shù)據(jù)可以通過網(wǎng)絡(luò)接口520傳輸?shù)骄W(wǎng)格節(jié)點(diǎn)。這些網(wǎng)格項目作業(yè)的結(jié)果也可以通過網(wǎng)絡(luò)接口520接收。
網(wǎng)格項目存儲接口530提供了通信接口,用于存儲和從網(wǎng)格項目存儲系統(tǒng)535檢索網(wǎng)格項目數(shù)據(jù)。網(wǎng)格項目存儲系統(tǒng)535中的網(wǎng)格項目數(shù)據(jù)可以包括實際網(wǎng)格項目數(shù)據(jù),用于生成網(wǎng)格項目作業(yè)和網(wǎng)格項目作業(yè)所依賴的數(shù)據(jù)?;蛘?,網(wǎng)格項目和網(wǎng)格項目作業(yè)所依賴的數(shù)據(jù)可以存儲在一個或多個遠(yuǎn)程數(shù)據(jù)庫中。網(wǎng)格項目可視化和模擬引擎540用于生成網(wǎng)格項目的模擬以及圖形用戶界面,通過該圖形用戶界面,用戶可以查看模擬,以確定網(wǎng)格項目作業(yè)的最優(yōu)安排。
網(wǎng)格項目可視化和模擬引擎540使用通過網(wǎng)絡(luò)接口520從各種網(wǎng)格節(jié)點(diǎn)獲取的并且通過節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)存儲系統(tǒng)接口550存儲在節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)存儲系統(tǒng)555中的處理器和網(wǎng)絡(luò)可用性信息,來確定諸如天、星期、月或年之類的各種時間的網(wǎng)格處理器和網(wǎng)絡(luò)可用性。此信息用于判斷網(wǎng)格項目的各種開始時間將如何影響網(wǎng)格項目的完成時間,以及對網(wǎng)格處理器和網(wǎng)絡(luò)可用性利用率有何影響,如下面所討論的。
網(wǎng)格項目安排引擎560用于安排向網(wǎng)格節(jié)點(diǎn)調(diào)度網(wǎng)格項目作業(yè)。響應(yīng)用戶使用由網(wǎng)格項目可視化和模擬引擎540所提供的圖形用戶界面選擇網(wǎng)格項目的特定開始時間,可以執(zhí)行網(wǎng)格項目的此安排過程。網(wǎng)格項目安排引擎560將網(wǎng)格項目和對應(yīng)的網(wǎng)格項目數(shù)據(jù)分解為網(wǎng)格作業(yè),并確定應(yīng)該將每一個網(wǎng)格作業(yè)傳輸?shù)狡鋵?yīng)的網(wǎng)格節(jié)點(diǎn)的時間。網(wǎng)格項目作業(yè)調(diào)度器580實際執(zhí)行通過一個或多個網(wǎng)絡(luò)向網(wǎng)格節(jié)點(diǎn)調(diào)度網(wǎng)格作業(yè)以及它們對應(yīng)的數(shù)據(jù)的操作。
網(wǎng)格項目作業(yè)調(diào)度器580以與現(xiàn)有計算網(wǎng)格系統(tǒng)中已知的方式類似的方式工作,主要區(qū)別在于,根據(jù)網(wǎng)格項目安排引擎560,以及網(wǎng)格項目可視化和模擬引擎540的操作,確定由網(wǎng)格項目作業(yè)調(diào)度器580傳輸?shù)木W(wǎng)格作業(yè)和數(shù)據(jù)。
當(dāng)用戶希望確定一個網(wǎng)格項目的盡可能好的安排時,用戶登錄到網(wǎng)格管理系統(tǒng)500中,并請求模擬在特定時間段內(nèi)特定網(wǎng)格項目的執(zhí)行情況。例如,當(dāng)用戶登錄到網(wǎng)格管理系統(tǒng)500中,并選擇通過由網(wǎng)格管理系統(tǒng)500所提供的圖形用戶界面(GUI)呈現(xiàn)的“網(wǎng)格項目模擬”選項時,將給用戶呈現(xiàn)另一個GUI,通過該GUI,用戶可以選擇或輸入網(wǎng)格項目標(biāo)識符,模擬的時間窗,例如,開始日期/時間和結(jié)束日期/時間,以及模擬的統(tǒng)計學(xué)基礎(chǔ),如每天的平均處理器或網(wǎng)絡(luò)可用性、每周的平均值、每月的平均值,每天的一個標(biāo)準(zhǔn)偏差處理器/網(wǎng)絡(luò)可用性、每周的一個標(biāo)準(zhǔn)偏差等等。
然后,網(wǎng)格項目可視化和模擬引擎540從節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)存儲系統(tǒng)555中檢索對應(yīng)于所選擇的特定時間窗的一段時間內(nèi)的節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)。例如,如果用戶選擇從2004年2月1日到2004年2月29日的時間窗,則從存儲系統(tǒng)555中檢索對應(yīng)于此時間窗的時間段的節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)。例如,可以檢索代表一周中的每一天的節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性的數(shù)據(jù),對于2004年2月1日到2004年2月29日之間的時間段內(nèi)的每一個星期,重復(fù)此操作,從而模擬指定的時間段內(nèi)的計算網(wǎng)格的處理器/網(wǎng)絡(luò)可用性。
從節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)存儲系統(tǒng)555檢索到的此節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)代表了在選定時間段內(nèi)計算網(wǎng)格中的處理器和網(wǎng)絡(luò)鏈路資源的總的可用性。此信息可以用來生成代表在所選擇的時間段內(nèi)計算網(wǎng)格的可用資源的曲線。這些曲線與有關(guān)調(diào)度所選擇的網(wǎng)格項目的方式的信息一起使用,來確定網(wǎng)格項目的性能的模擬。有關(guān)調(diào)度所選擇的網(wǎng)格項目的方式的信息是從網(wǎng)格項目的模型獲取的,而該模型又是從網(wǎng)格項目存儲系統(tǒng)535獲取的。
網(wǎng)格項目描述模型提供了網(wǎng)格項目的各個階段的描述。網(wǎng)格項目的階段包括,調(diào)度、執(zhí)行,然后返回結(jié)果數(shù)據(jù)。網(wǎng)格項目的各個階段是通過描述模型作為一組描述來進(jìn)行描述的,包括,要調(diào)度的網(wǎng)格作業(yè)的數(shù)量、對應(yīng)于每一個網(wǎng)格作業(yè)的數(shù)據(jù)量、在數(shù)據(jù)上執(zhí)行網(wǎng)格作業(yè)的運(yùn)行時量,以及對應(yīng)于網(wǎng)格作業(yè)的執(zhí)行結(jié)果的數(shù)據(jù)的估計量。各個階段的描述還包括要并行地以及串行地執(zhí)行的活動的描述。
網(wǎng)格項目描述模型是使用網(wǎng)格項目模型化語言生成的,該語言用于描述網(wǎng)格項目的各個階段。描述模型可以由用戶或網(wǎng)格項目的提供商根據(jù)項目模型化語言而生成。
網(wǎng)格項目模型化語言使用XML格式來定義一個網(wǎng)格項目的各個階段的序列。圖6B是描述了一個網(wǎng)格項目的網(wǎng)格項目模型化語言高級別XML代碼腳本的說明性示例。
網(wǎng)格項目模型化語言標(biāo)識了網(wǎng)格項目的各個階段。模型化語言闡明了網(wǎng)格項目階段的序列。在每一個階段內(nèi),可以有任意數(shù)量的要執(zhí)行的并行活動的描述,包括CPU處理、網(wǎng)絡(luò)活動或嵌套的子階段。每一個描述都指定了所描述的活動的屬性,如處理要求、預(yù)期的網(wǎng)絡(luò)流量、前提條件、依賴關(guān)系、活動拆分限制以及特征,可靠性作用等等。
圖6A描述了根據(jù)本發(fā)明的一個示范性實施例的網(wǎng)格項目模型化語言創(chuàng)建的網(wǎng)格項目模型的圖表。方框610中的網(wǎng)格項目模型600顯示了在調(diào)度階段通過一個或多個傳輸文件向一個或多個網(wǎng)格節(jié)點(diǎn)傳輸網(wǎng)格作業(yè)和/或網(wǎng)格項目數(shù)據(jù)的過程。方框630-645描述了在執(zhí)行階段網(wǎng)格節(jié)點(diǎn)并行地處理網(wǎng)格作業(yè)和/或網(wǎng)格數(shù)據(jù)的過程。雖然此說明性示例描述了將網(wǎng)格作業(yè)620單次拆分為四個并行的網(wǎng)格作業(yè)630-645處理,但是,在此階段可以有任意數(shù)量的由任意數(shù)量的網(wǎng)格節(jié)點(diǎn)執(zhí)行的并行活動。此外,在執(zhí)行階段,也可以多次分成并行活動。在方框650,在網(wǎng)格作業(yè)650中,可以對網(wǎng)格作業(yè)630-645的輸出進(jìn)行其他處理。在處理完成之后,網(wǎng)格作業(yè)620-650的輸出在方框660-670中并行地傳輸回網(wǎng)格管理系統(tǒng)。
通過本發(fā)明的說明性示例,可以分析網(wǎng)格項目模型,以確定網(wǎng)格項目的各個階段和每一個階段的各種特征??梢酝ㄟ^對網(wǎng)格項目描述模型進(jìn)行處理,確定用于執(zhí)行網(wǎng)格項目的各個階段所要求的處理器和網(wǎng)絡(luò)資源量。然后,對于選定時間段,將必需的處理器和網(wǎng)絡(luò)資源量與處理器和網(wǎng)絡(luò)可用性信息一起使用,來確定為要執(zhí)行的網(wǎng)格項目的每一個階段要花的時間長度。
例如,為了執(zhí)行網(wǎng)格項目的各個階段所需的處理器和網(wǎng)絡(luò)容量的使用量可以表示為基于從網(wǎng)格節(jié)點(diǎn)獲取的網(wǎng)格資源可用性信息生成的處理器和網(wǎng)絡(luò)可用性曲線所包圍起來的區(qū)域。由于這些區(qū)域被資源可用性曲線包圍起來,如果資源的可用性比執(zhí)行網(wǎng)格項目的某一個階段的特定部分所必需的可用性小,則需要更多的時間才能獲得所需的面積。對于網(wǎng)格項目的每一個階段,都可以這樣做,以便用戶可以查看網(wǎng)格項目的執(zhí)行與計算網(wǎng)格的資源可用性之間的關(guān)系的完整的例圖。
圖7是顯示了根據(jù)本發(fā)明的示范性實施例的其中可以描述計算網(wǎng)格的資源可用性曲線的圖形用戶界面的示范圖。如圖7所示,圖形用戶界面(GUI)700包括字段710和715,用于輸入模擬的開始時間/日期和結(jié)束時間/日期。字段720用于選擇模擬表示形式的統(tǒng)計學(xué)基礎(chǔ),而字段730用于指定網(wǎng)格項目的模擬的圖表的粒度。字段740用于選擇圖形表示類型,如,時間線圖表或其他圖形表示類型。字段750提供了一個字段,通過該字段,可以為模擬選擇特定網(wǎng)格項目,760部分提供了一條資源可用性曲線,該曲線是根據(jù)節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)確定的,而節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)又是根據(jù)選定時間窗(即,開始時間和結(jié)束時間)檢索到的。
如圖7所示,760部分包括兩個線圖-一個線圖元素770顯示了在時間窗內(nèi)的循環(huán)的時間段的處理器可用性,而另一個線圖元素780顯示了在循環(huán)的時間段內(nèi)的網(wǎng)絡(luò)可用性。應(yīng)該理解,760部分所顯示的時間段的粒度可以是各種級別。例如,在760部分或其任何子部分,可以不顯示時間窗內(nèi)的循環(huán)的時間段,而顯示完整的時間窗。此外,可以由用戶更改或滾動所顯示的時間段。
線圖770和780代表網(wǎng)格項目可以利用的處理器和網(wǎng)絡(luò)資源的上限。諸如線圖770和780中所顯示的統(tǒng)計學(xué)圖表,可以代表實際處理器和網(wǎng)絡(luò)可用性、處理器和網(wǎng)絡(luò)資源可用性的平均值、與實際或平均處理器和網(wǎng)絡(luò)資源可用性的一個標(biāo)準(zhǔn)偏差中的至少一個,或其任何組合。此外,其他元素也可以在統(tǒng)計圖中表示出來,要么單獨(dú)出現(xiàn),要么與實際處理器和網(wǎng)絡(luò)可用性、處理器和網(wǎng)絡(luò)資源可用性的平均值、與實際或平均處理器和網(wǎng)絡(luò)資源可用性的一個標(biāo)準(zhǔn)偏差結(jié)合起來。
這些線圖770和780提供了判斷完成網(wǎng)格項目的每一個階段需要多長時間的根據(jù)。
圖8是顯示了根據(jù)本發(fā)明的一個示范性實施例的使用資源可用性圖表描述網(wǎng)格項目的執(zhí)行的一個機(jī)制的示范圖。如圖8所示,在本發(fā)明的一個示范性實施例中,網(wǎng)格項目的每一個階段被描述為代表計算網(wǎng)格資源可用性的網(wǎng)格線下面的區(qū)域。網(wǎng)格項目的階段涉及其中處理器資源占主導(dǎo)地位的階段和網(wǎng)格項目的其中網(wǎng)絡(luò)資源占主導(dǎo)地位的階段。
在圖8中在處理器和網(wǎng)絡(luò)資源可用性下面的區(qū)域的不同陰影中描述了這些階段。淺一點(diǎn)的陰影區(qū)810、820和830代表網(wǎng)格項目的其中網(wǎng)絡(luò)可用性是判斷網(wǎng)格項目的性能時的主要因素的那些階段。深一點(diǎn)的陰影區(qū)840和850代表網(wǎng)格項目的在此處理器可用性是主要因素的那些部分。然而,應(yīng)該理解,本發(fā)明的各個方面不是基于主導(dǎo)資源區(qū)別各個階段,而是在網(wǎng)格項目的其中兩種資源都被視為對于判斷網(wǎng)格項目性能同樣重要的階段進(jìn)行操作。
如圖8所示,網(wǎng)格項目包括由區(qū)域810表示的執(zhí)行階段,在該階段,網(wǎng)格項目將網(wǎng)格作業(yè)和網(wǎng)格項目數(shù)據(jù)傳輸?shù)骄W(wǎng)格節(jié)點(diǎn)。由區(qū)域840表示的操作的第二階段,是網(wǎng)格節(jié)點(diǎn)對傳輸給它們的網(wǎng)格作業(yè)和數(shù)據(jù)進(jìn)行處理的表示。由區(qū)域820表示的操作的第三階段,是傳輸某些其他數(shù)據(jù)供網(wǎng)格節(jié)點(diǎn)進(jìn)行處理的表示。由區(qū)域850表示的網(wǎng)格項目的第四階段,是網(wǎng)格節(jié)點(diǎn)執(zhí)行某些其他處理的表示。由區(qū)域830表示的網(wǎng)格項目的第五階段代表了網(wǎng)格節(jié)點(diǎn)將諸如網(wǎng)格項目的執(zhí)行結(jié)果之類的數(shù)據(jù)傳輸回網(wǎng)格管理系統(tǒng)。
由網(wǎng)絡(luò)資源可用性占主要地位的網(wǎng)格項目的810、820和830階段主要由代表網(wǎng)絡(luò)資源可用性的線圖包圍起來。如圖8所示,區(qū)域810、820和830的某些部分超過處理器可用性線圖但是低于網(wǎng)絡(luò)可用性線圖。類似地,區(qū)域840有一部分超過網(wǎng)絡(luò)可用性線圖但是低于處理器可用性線圖。
基于所選擇的開始點(diǎn)、由網(wǎng)格項目模型定義的網(wǎng)格項目的階段,以及從網(wǎng)格節(jié)點(diǎn)獲取的和節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)存儲系統(tǒng)中維護(hù)的資源可用性數(shù)據(jù),對資源可用性線圖下面的區(qū)域進(jìn)行描述。用戶可以通過將光標(biāo)移到描述800的上方或以別的方式輸入不同的開始時間來修改開始時間。網(wǎng)格管理系統(tǒng)基于開始時間的改變而修改網(wǎng)格項目性能的描述800。如此,用戶可以查看不同開始時間對網(wǎng)格項目的性能的影響。
例如,如果用戶選擇較早一些的開始時間,這將會導(dǎo)致可用于執(zhí)行網(wǎng)格項目的各個階段的處理器和網(wǎng)絡(luò)資源量的不同。如果這種處理器和網(wǎng)絡(luò)資源的不同量導(dǎo)致可用于特定階段的資源量降低,那么,用于完成網(wǎng)格項目的這一階段的時間段可能會延長。類似地,如果處理器和網(wǎng)絡(luò)資源的不同量導(dǎo)致可用的資源量變大,則用于執(zhí)行網(wǎng)格項目的這一階段的時間段可能會縮短。
如圖8所示,在網(wǎng)格項目性能的模擬的圖形描述中,同時描述了由處理器資源占主要地位的階段和由網(wǎng)絡(luò)資源占主要地位的階段。如此,在網(wǎng)格項目的性能的模擬的圖形描述中,分別顯示了可用的網(wǎng)絡(luò)資源和可用的處理器資源對網(wǎng)格項目的性能的影響。隨著網(wǎng)格項目的開始時間的改變,區(qū)域810-850的大小仍保留一致,盡管維度,即,時間對資源量,可能會基于可用的處理器和網(wǎng)絡(luò)資源量而改變。
圖9是顯示了其中執(zhí)行網(wǎng)格項目的開始時間已經(jīng)改變的如圖8所示的同一個網(wǎng)格項目的圖形描述的示范圖。如圖9所示,響應(yīng)改變的開始時間,網(wǎng)格項目的結(jié)束時間也已經(jīng)改變。這因為,盡管完成網(wǎng)格項目所需的處理器和網(wǎng)絡(luò)資源的量沒有改變,但是,處理器和網(wǎng)絡(luò)資源的可用性由于網(wǎng)格項目的開始時間的改變而發(fā)生改變。如此,通過改變網(wǎng)格項目的開始時間,結(jié)果,完成網(wǎng)格項目的結(jié)束時間也會改變。這可能對于完成網(wǎng)格項目截止日期比較重要。
如此,本發(fā)明的各個方面提供了圖形用戶界面,通過該圖形用戶界面,提供了網(wǎng)格項目的在可用的處理器和網(wǎng)絡(luò)資源方面的性能900的描述。圖形用戶界面可以讓用戶改變網(wǎng)格項目的開始時間,網(wǎng)格項目的描述900隨著開始時間的改變而動態(tài)地改變。如此,用戶可以在考慮到執(zhí)行網(wǎng)格項目的網(wǎng)格節(jié)點(diǎn)使用處理器和網(wǎng)絡(luò)資源的情況判斷網(wǎng)格項目是否將在必需的時間段內(nèi)完成。
盡管上文的說明性示例就從網(wǎng)格節(jié)點(diǎn)獲取的處理器和網(wǎng)絡(luò)資源可用性數(shù)據(jù)而言進(jìn)行描述的,在本發(fā)明的另一個示例中,可以使用圖形用戶界面判斷添加額外的網(wǎng)格節(jié)點(diǎn)對網(wǎng)格項目的性能的影響。類似于改變啟動網(wǎng)格項目的時間,向計算網(wǎng)格中引入額外的網(wǎng)格節(jié)點(diǎn)也會改變處理器和網(wǎng)絡(luò)資源量。本發(fā)明的各個方面可以基于通過從通常在計算網(wǎng)格中可用的來源之外的其他來源添加網(wǎng)格節(jié)點(diǎn)提供的額外的資源,改變可用的處理器和網(wǎng)絡(luò)資源的上限。然后,可以按與上文所描述的方式類似的方式描述這些額外的資源對網(wǎng)格項目的性能的影響。
例如,用戶可以判斷所建立的計算網(wǎng)格的處理器和網(wǎng)絡(luò)資源可用性不足以在確保達(dá)到用戶的目的和截止日期的情況下執(zhí)行網(wǎng)格項目。計算網(wǎng)格的提供商可能已經(jīng)與其他計算系統(tǒng)提供商達(dá)成協(xié)議,在必要時提供有條件的計算系統(tǒng)和/或網(wǎng)絡(luò)資源。對于不同的處理器和/或網(wǎng)絡(luò)資源組,可以有許多這樣的協(xié)議存在。可以使用圖形用戶界面確定包含這些組中的每一個組和對網(wǎng)格項目的性能所造成的影響。
在圖形用戶界面中可以為圖形用戶界面的用戶提供一個機(jī)制,用于選擇查看具有擴(kuò)展的網(wǎng)格的網(wǎng)格項目的模擬。此外,擴(kuò)展網(wǎng)格的程度也是可以選擇的。結(jié)果,可以從節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)存儲系統(tǒng)檢索這些額外的網(wǎng)格節(jié)點(diǎn)的資源可用性數(shù)據(jù),這些數(shù)據(jù)是按與對于基本網(wǎng)格節(jié)點(diǎn)的如上文所描述的方式類似的方式獲取的,這些數(shù)據(jù)用于修改處理器和網(wǎng)絡(luò)資源可用性線圖,這些線圖定義了網(wǎng)格項目的各個階段的區(qū)域的上限。由于通過添加額外的網(wǎng)格節(jié)點(diǎn)可以增加額外的資源,因此,添加這些額外的網(wǎng)格節(jié)點(diǎn)的結(jié)果,會縮短完成網(wǎng)格項目的執(zhí)行所需要的時間量。
在圖10中顯示了此結(jié)果,其中,描述了擴(kuò)展的網(wǎng)格對圖8和9描述網(wǎng)格項目的影響。如圖10所示,包括額外的處理器和網(wǎng)絡(luò)資源,會使線圖代表有更多的資源量可用。結(jié)果,從開始時間到網(wǎng)格項目的完成的時間段縮短。與本發(fā)明的前面的實施例相同,用戶可以再次修改網(wǎng)格項目的開始時間,并在網(wǎng)格項目的性能的描述1000中,查看對在所選擇的擴(kuò)展的計算網(wǎng)格內(nèi)對網(wǎng)格項目的性能的影響。
一旦呈現(xiàn)了網(wǎng)格項目的模擬,且用戶已經(jīng)確定網(wǎng)格項目的適當(dāng)?shù)拈_始時間,以及確定是否應(yīng)該使用擴(kuò)展的網(wǎng)格,網(wǎng)格管理系統(tǒng)就可以安排向特定網(wǎng)格節(jié)點(diǎn)調(diào)度網(wǎng)格項目作業(yè)了。此過程的一部分是基于網(wǎng)格項目模型生成網(wǎng)格項目作業(yè),以及選擇將向其中傳輸網(wǎng)格項目作業(yè)和數(shù)據(jù)的網(wǎng)格節(jié)點(diǎn)?;诰W(wǎng)格項目生成網(wǎng)格項目作業(yè)在當(dāng)前技術(shù)中一般是已知的,如此,這里就不提供詳細(xì)描述。
可以基于網(wǎng)格作業(yè)對執(zhí)行網(wǎng)格作業(yè)可能需要的基于網(wǎng)絡(luò)的資源的依賴關(guān)系,特征化網(wǎng)格作業(yè)。然后,可以基于網(wǎng)格作業(yè)對基于網(wǎng)絡(luò)的資源的依賴關(guān)系,將此特征化的網(wǎng)格作業(yè)發(fā)送或調(diào)度到從多個網(wǎng)格節(jié)點(diǎn)中選擇的網(wǎng)格節(jié)點(diǎn)。
基于網(wǎng)絡(luò)的資源是從網(wǎng)格節(jié)點(diǎn)的外面訪問的資源。這些資源包括,網(wǎng)絡(luò)帶寬、數(shù)據(jù)庫,以及對執(zhí)行網(wǎng)格作業(yè)所需的其他設(shè)備的訪問??梢曰诰W(wǎng)格作業(yè)對執(zhí)行網(wǎng)格作業(yè)所需要的基于網(wǎng)絡(luò)的資源的依賴關(guān)系,特征化網(wǎng)格作業(yè)。可以基于網(wǎng)格作業(yè)對于基于網(wǎng)絡(luò)的資源的依賴關(guān)系,為該網(wǎng)格作業(yè)選擇網(wǎng)格節(jié)點(diǎn)。
在選擇將向其中調(diào)度網(wǎng)格作業(yè)的網(wǎng)格節(jié)點(diǎn)時,首先要判斷網(wǎng)格項目的網(wǎng)絡(luò)特征。例如,網(wǎng)格項目安排引擎判斷網(wǎng)格項目是否是下列一種輻射類型的網(wǎng)格項目,其中,大量的數(shù)據(jù)在網(wǎng)格作業(yè)之間來往發(fā)送,所述網(wǎng)格作業(yè)在這樣的網(wǎng)格節(jié)點(diǎn)的網(wǎng)格代理上執(zhí)行,即所述網(wǎng)格節(jié)點(diǎn)來自在作業(yè)處理過程中其他通信最少的提交點(diǎn)。
網(wǎng)格項目,其中網(wǎng)格作業(yè)主要從位于計算網(wǎng)格上的特定位置的數(shù)據(jù)庫中訪問數(shù)據(jù);以及其中網(wǎng)格作業(yè)在它們的處理過程中彼此廣泛地進(jìn)行通信的網(wǎng)格項目。
然后,基于對網(wǎng)格項目的特征的判斷,使用群集算法,根據(jù)網(wǎng)絡(luò)鄰近程度,將網(wǎng)格節(jié)點(diǎn)集映射到下列中的至少一個提交點(diǎn)、位于指定位置的數(shù)據(jù)庫,以及其他網(wǎng)格節(jié)點(diǎn)或其任何組合。此外,在使用群集算法時,也可以考慮其他因素。
群集算法在當(dāng)前技術(shù)中一般是已知的,如此,這里就不提供群集算法的詳細(xì)描述。基于上面確定的網(wǎng)格項目的類型,確定群集算法的基礎(chǔ)。然后,根據(jù)已經(jīng)去掉了由其他非網(wǎng)格或網(wǎng)格工作消耗的處理器和網(wǎng)絡(luò)容量的處理器容量和網(wǎng)絡(luò)容量,將所產(chǎn)生的群集分等級。
例如,生成根據(jù)處理器容量分等級的網(wǎng)格節(jié)點(diǎn)群集的第一個表。再生成根據(jù)網(wǎng)絡(luò)容量分等級的網(wǎng)格節(jié)點(diǎn)群集的第二個表。然后,使用這兩個表來基于處理器和網(wǎng)絡(luò)容量兩者生成群集的二維圖。然后,確定選擇用于執(zhí)行網(wǎng)格作業(yè)的節(jié)點(diǎn)的群集的處理器和網(wǎng)絡(luò)資源的初始最低要求。然后,就高于最小的處理器閾值和最小網(wǎng)絡(luò)閾值要求兩者的網(wǎng)格節(jié)點(diǎn)的群集是否具有足夠的容量來執(zhí)行網(wǎng)格項目所需要的工作作出判斷。如果沒有,則調(diào)整初始最小處理器和網(wǎng)絡(luò)容量,以便評估更多群集。
可以重復(fù)此過程,直到高于最低要求的群集提供了足夠的執(zhí)行網(wǎng)格項目的容量或直到當(dāng)使用更多群集時連續(xù)的重新計算顯示了縮小的結(jié)果。如果發(fā)現(xiàn)了滿足在由網(wǎng)格項目的模擬所指出的時間線(或以別的方式設(shè)置的時間線)內(nèi)執(zhí)行網(wǎng)格項目的容量要求的一組群集,那么,將該組群集用于安排網(wǎng)格項目的執(zhí)行。如果當(dāng)重新計算最小處理器和網(wǎng)絡(luò)容量以及評估額外的群集時產(chǎn)生縮小的結(jié)果,那么,可以向用戶返回不能完成適當(dāng)?shù)陌才诺闹甘尽?br>
圖11顯示了根據(jù)本發(fā)明的一個示范性實施例的網(wǎng)格節(jié)點(diǎn)的群集。如描述1100所示,根據(jù)彼此的網(wǎng)絡(luò)鄰近程度,以及與網(wǎng)格作業(yè)的來源、或訪問其中的數(shù)據(jù)以便執(zhí)行網(wǎng)格作業(yè)的數(shù)據(jù)庫的網(wǎng)絡(luò)鄰近程度,將網(wǎng)格節(jié)點(diǎn)群集化。網(wǎng)絡(luò)群集算法在當(dāng)前技術(shù)中一般是已知的,本發(fā)明的實施例可以使用任何已知的網(wǎng)絡(luò)群集算法來確定網(wǎng)格節(jié)點(diǎn)的群集。
基于所使用的特定群集算法,可以生成諸如群集1150-1170之類的各種群集。然后,標(biāo)識多個網(wǎng)格節(jié)點(diǎn)的網(wǎng)絡(luò)和處理器容量。作為此過程的一部分,為每一個群集確定在用于執(zhí)行網(wǎng)格項目的時間段內(nèi)每一個群集的平均處理器和網(wǎng)絡(luò)容量,如使用本發(fā)明的實施例的圖形用戶界面和模擬機(jī)制所選擇的。即,求出群集中的每一個網(wǎng)格節(jié)點(diǎn)的總的處理器和網(wǎng)絡(luò)容量,對相關(guān)的時間段的總和進(jìn)行平均,以便確定群集的平均資源可用性。
然后,使用處理器和網(wǎng)絡(luò)資源可用性或容量的平均值來在對應(yīng)的表1180和1190中將群集分等級。表1180是根據(jù)平均處理器容量分等級的發(fā)現(xiàn)的群集的表。表1190是根據(jù)平均網(wǎng)絡(luò)容量分等級的發(fā)現(xiàn)的群集的表。這些表用于在處理器容量對網(wǎng)絡(luò)容量的二維圖中描述群集。
圖12是基于處理器和網(wǎng)絡(luò)資源可用性或容量的網(wǎng)格節(jié)點(diǎn)群集的示范性二維圖。如圖表1200所示,在此示范性實施例中,x軸是網(wǎng)絡(luò)容量,y軸是處理器容量。然后,基于確定的平均處理器和網(wǎng)絡(luò)容量,在此圖形中繪制群集。
然后,確定處理器和網(wǎng)絡(luò)容量的最小閾值。這些最小值是用戶選擇的,或根據(jù)安排的網(wǎng)格項目中的說明選擇的。最小值被表示為線1210和1220。然后,判斷在圖形的右上方(如在最小值線1210和1220的上方)繪制的群集是否具有足夠的總處理器和網(wǎng)絡(luò)容量,來在網(wǎng)格項目的模擬確定的時間段內(nèi)(或在用戶以別的方式指定的時間段內(nèi))完成網(wǎng)格項目的執(zhí)行。如果答案是肯定的,那么,在圖形的右上方識別的群集被選為將向其調(diào)度網(wǎng)格作業(yè)的群集,并安排由所選擇的群集處理的這些網(wǎng)格作業(yè)。
然而,如果圖形的右上方的群集的總?cè)萘坎蛔阋栽谡埱蟮臅r間段內(nèi)完成網(wǎng)格項目,那么,重新計算最小處理器和網(wǎng)絡(luò)資源容量線1210和1220,并評估更大的群集組。結(jié)果,生成新的最小容量線1230和1240,評估這些線右上方的群集,以判斷它們的總資源容量是否可以足以在選定時間段內(nèi)完成網(wǎng)格項目??梢灾貜?fù)此過程,直到發(fā)現(xiàn)具有足夠資源容量的足夠大的群集,或直到導(dǎo)致縮小的結(jié)果。
一旦識別了一套群集,則網(wǎng)格項目安排引擎為群集中的每一個網(wǎng)格節(jié)點(diǎn)生成網(wǎng)格作業(yè),并安排向網(wǎng)格節(jié)點(diǎn)調(diào)度這些網(wǎng)格作業(yè),以便可以在選定時間段內(nèi)完成網(wǎng)格項目的執(zhí)行。網(wǎng)格作業(yè)向網(wǎng)格節(jié)點(diǎn)的實際調(diào)度是使用網(wǎng)格項目作業(yè)調(diào)度器以已知方式進(jìn)行的,該網(wǎng)格項目作業(yè)調(diào)度器在預(yù)定時間內(nèi)將網(wǎng)格作業(yè)(可選地,還包括網(wǎng)格作業(yè)所依賴的數(shù)據(jù))傳輸給網(wǎng)格節(jié)點(diǎn)。
如上所述,重新計算最小處理器和網(wǎng)絡(luò)資源容量線可能會導(dǎo)致縮小的結(jié)果。在這樣的情況下,可以提供一個選項,以按如上文所討論的類似的方式對于網(wǎng)格項目的模擬擴(kuò)展計算網(wǎng)格。即,根據(jù)與潛在的網(wǎng)格節(jié)點(diǎn)提供商的建立的關(guān)系,可以將額外的網(wǎng)格節(jié)點(diǎn)引入基本計算網(wǎng)格中。
當(dāng)判斷不能適當(dāng)?shù)匕才啪W(wǎng)格項目時,可以給用戶提供一個考慮擴(kuò)展計算網(wǎng)格對安排網(wǎng)格項目的能力的影響的選項。如果用戶選擇擴(kuò)展計算網(wǎng)格,則可以提示用戶指出哪些額外的網(wǎng)格節(jié)點(diǎn)將被添加到計算網(wǎng)格中。即,如果有多個可能的額外的網(wǎng)格節(jié)點(diǎn)的來源存在,那么,用戶可以選擇可以從中獲取這些額外的網(wǎng)格節(jié)點(diǎn)的來源。
一旦用戶選擇了擴(kuò)展計算網(wǎng)格并選擇了從中獲取額外的網(wǎng)格節(jié)點(diǎn)的來源,則可以再次執(zhí)行群集化和繪圖。結(jié)果,用額外的處理器和網(wǎng)絡(luò)資源生成額外的網(wǎng)格節(jié)點(diǎn)的群集。對于確定允許網(wǎng)格項目在選定時間段內(nèi)執(zhí)行的一組群集,執(zhí)行如上文所討論的相同過程。如果查找群集的集合的過程導(dǎo)致判斷一組群集能使網(wǎng)格項目在內(nèi)選定時間段完成,那么,使用這些網(wǎng)格節(jié)點(diǎn)來安排網(wǎng)格作業(yè)的調(diào)度。此安排過程可能涉及與額外的網(wǎng)格節(jié)點(diǎn)來源計算系統(tǒng)協(xié)調(diào),以請求訪問額外的網(wǎng)格節(jié)點(diǎn)以便執(zhí)行對網(wǎng)格作業(yè)的處理。如此,可以對計算網(wǎng)格進(jìn)行動態(tài)擴(kuò)展,以便安排網(wǎng)格作業(yè)的調(diào)度,以便網(wǎng)格項目可以在通過網(wǎng)格項目的模擬確定的時間段內(nèi)完成。
如此,本發(fā)明的各個方面提供一個機(jī)制,通過該機(jī)制,用戶可以獲取基于在選擇的時間段內(nèi)網(wǎng)格節(jié)點(diǎn)的所測量的處理器和網(wǎng)絡(luò)資源可用性/容量的網(wǎng)格項目的性能的模擬。用戶可以查看改變網(wǎng)格項目的開始時間對網(wǎng)格項目在計算網(wǎng)格中的執(zhí)行的方式的影響,更重要的是,對網(wǎng)格項目的完成時間/日期的影響。這就使得用戶確定在計算網(wǎng)格上啟動網(wǎng)格項目的最佳時間,以便實現(xiàn)性能目標(biāo)。
此外,本發(fā)明的各個方面提供了一種機(jī)制,用于在計算網(wǎng)格上安排網(wǎng)格作業(yè)的調(diào)度,無論是否使用模擬機(jī)制作為此安排的基礎(chǔ)。借助于該安排機(jī)制,可以選擇將向其中調(diào)度網(wǎng)格作業(yè)的網(wǎng)格節(jié)點(diǎn)的群集的最優(yōu)集合,以便在用戶所選擇的時間段內(nèi)完成網(wǎng)格項目。當(dāng)判斷當(dāng)前的群集的集合將沒有足夠的處理器和/或網(wǎng)絡(luò)可用性或容量來在指定截止日期內(nèi)完成網(wǎng)格項目時,安排機(jī)制可以反復(fù)擴(kuò)展考慮的群集集合。
無論是利用模擬機(jī)制還是利用安排機(jī)制,本發(fā)明的實施例都提供了一種機(jī)制,用于通過與潛在的網(wǎng)格節(jié)點(diǎn)供應(yīng)商或來源達(dá)成的協(xié)議,添加額外的網(wǎng)格節(jié)點(diǎn)來擴(kuò)展基本計算網(wǎng)格。額外的網(wǎng)格節(jié)點(diǎn)可以映射到計算網(wǎng)格中,可以判斷額外的網(wǎng)格節(jié)點(diǎn)對網(wǎng)格項目的模擬的行為和/或網(wǎng)格節(jié)點(diǎn)的群集的群集化和資源可用性的影響。如此,可以就擴(kuò)展計算網(wǎng)格是否將導(dǎo)致網(wǎng)格項目在所希望的時間段內(nèi)完成作出判斷,如果是,則可以從額外的網(wǎng)格節(jié)點(diǎn)供應(yīng)商/來源請求擴(kuò)展計算網(wǎng)格。
除了上文所述的之外,本發(fā)明的各個方面進(jìn)一步提供了網(wǎng)格項目節(jié)流控制器,用于對網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格作業(yè)的執(zhí)行進(jìn)行控制。節(jié)流機(jī)制的用途是保持對與網(wǎng)格作業(yè)關(guān)聯(lián)的網(wǎng)絡(luò)流量的預(yù)先確定的限制。即,利用如上文所描述的模擬機(jī)制,基于網(wǎng)絡(luò)的可用容量(它是根據(jù)節(jié)點(diǎn)處理器/網(wǎng)絡(luò)可用性數(shù)據(jù)確定的)確定最大數(shù)據(jù)傳輸量。然后,可以由網(wǎng)格項目節(jié)流控制器將網(wǎng)格作業(yè)的此最大數(shù)據(jù)傳輸或網(wǎng)絡(luò)流量報告給與網(wǎng)格節(jié)點(diǎn)關(guān)聯(lián)的網(wǎng)格代理,以便它們可以調(diào)節(jié)它們的網(wǎng)絡(luò)接口處理的網(wǎng)格數(shù)據(jù)量。如此,網(wǎng)格管理系統(tǒng)根據(jù)此節(jié)流機(jī)制將網(wǎng)格作業(yè)和數(shù)據(jù)調(diào)度到網(wǎng)格節(jié)點(diǎn)。網(wǎng)格節(jié)點(diǎn)也根據(jù)節(jié)流機(jī)制在網(wǎng)格節(jié)點(diǎn)之間,以及網(wǎng)格管理系統(tǒng)之間傳輸數(shù)據(jù)。如此,可以防止網(wǎng)格項目壓倒網(wǎng)絡(luò),并將其速度降低到已經(jīng)計算的合理得保證網(wǎng)格節(jié)點(diǎn)的正常操作的速率。
節(jié)流控制器是通過發(fā)現(xiàn)一組標(biāo)識網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格作業(yè)的網(wǎng)絡(luò)活動的參數(shù)來操作的。該組參數(shù)包括標(biāo)識網(wǎng)絡(luò)活動的一個或多個參數(shù)。例如,可以為預(yù)期的網(wǎng)絡(luò)可用性的速率和/或網(wǎng)格作業(yè)的預(yù)期的處理器可用性的速率設(shè)置該組參數(shù)。如果網(wǎng)格節(jié)點(diǎn)具有基于該組參數(shù)控制數(shù)據(jù)傳輸?shù)膽?yīng)用程序,則可以將該組參數(shù)發(fā)送到網(wǎng)格節(jié)點(diǎn)上的應(yīng)用程序。然后,可以基于從該網(wǎng)格節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸?shù)乃俾屎徒M參數(shù),來控制從該網(wǎng)格節(jié)點(diǎn)進(jìn)行的數(shù)據(jù)傳輸?shù)乃俾?。如果?shù)據(jù)傳輸?shù)乃俾食^預(yù)期的網(wǎng)絡(luò)可用性,則可以通過節(jié)流機(jī)制來限制數(shù)據(jù)傳輸?shù)乃俾省?br>
圖13顯示了根據(jù)本發(fā)明的一個示范性實施例的網(wǎng)格項目節(jié)流控制器的操作。如1300所示,網(wǎng)格項目安排引擎1310向網(wǎng)格項目節(jié)流控制器1320提供資源要求信息,包括預(yù)期的網(wǎng)絡(luò)和處理器可用性信息,指出網(wǎng)絡(luò)資源的量,如,在網(wǎng)格項目的執(zhí)行的每一個階段每一個網(wǎng)格作業(yè)所需的帶寬量。然后,將此信息封裝到與網(wǎng)格作業(yè)1330和/或網(wǎng)格作業(yè)數(shù)據(jù)關(guān)聯(lián)的包裹1325中,并由安排引擎1310提供到與網(wǎng)格作業(yè)和/或網(wǎng)格作業(yè)數(shù)據(jù)相關(guān)聯(lián)的網(wǎng)格代理1340。網(wǎng)絡(luò)接口1360的網(wǎng)絡(luò)接口的應(yīng)用程序編程接口(API)1350剝?nèi)グ?325,并處理預(yù)期的可用性信息,然后該信息使用來控制從網(wǎng)格節(jié)點(diǎn)1380跨網(wǎng)絡(luò)發(fā)送網(wǎng)格數(shù)據(jù)的速率。
即,網(wǎng)絡(luò)接口1360處理指出了預(yù)期的網(wǎng)絡(luò)可用性的信息。網(wǎng)格節(jié)點(diǎn)1380在其操作的各個階段可以利用的網(wǎng)絡(luò)資源,由預(yù)期的網(wǎng)絡(luò)可用性閾值指出,其中,網(wǎng)格數(shù)據(jù)由網(wǎng)格節(jié)點(diǎn)1380傳輸?shù)狡渌嬎阍O(shè)備。預(yù)期的網(wǎng)絡(luò)可用性信息對可以由網(wǎng)絡(luò)接口1360傳輸來自網(wǎng)格代理的數(shù)據(jù)的速率作出了限制。結(jié)果,網(wǎng)絡(luò)接口1360可以限制從與對應(yīng)于網(wǎng)格代理1340的端口1375關(guān)聯(lián)的緩沖器1370中檢索網(wǎng)格數(shù)據(jù)并通過網(wǎng)絡(luò)傳輸該網(wǎng)格數(shù)據(jù)的速率。
如此,網(wǎng)格節(jié)點(diǎn)進(jìn)行的數(shù)據(jù)傳輸由與從網(wǎng)格項目節(jié)流控制器1320接收到的節(jié)制信息相關(guān)的網(wǎng)格節(jié)點(diǎn)的網(wǎng)絡(luò)接口1360來進(jìn)行控制。
當(dāng)判斷可歸因于網(wǎng)格工作的數(shù)據(jù)傳輸?shù)乃俾食^網(wǎng)格節(jié)點(diǎn)中的數(shù)據(jù)傳輸?shù)念A(yù)期的網(wǎng)絡(luò)可用性閾值時,網(wǎng)格項目節(jié)流控制器1320用于啟動對網(wǎng)格作業(yè)的網(wǎng)絡(luò)利用率的節(jié)制,以便數(shù)據(jù)傳輸不超過預(yù)期的網(wǎng)絡(luò)可用性。如此,網(wǎng)格節(jié)流控制器1320控制從網(wǎng)格節(jié)點(diǎn)1380發(fā)送的網(wǎng)格流量的速率,以便網(wǎng)格流量不對網(wǎng)格節(jié)點(diǎn)1380的正常操作造成負(fù)面影響。
網(wǎng)格項目節(jié)流控制器1320還用于節(jié)制網(wǎng)格節(jié)點(diǎn)對網(wǎng)格作業(yè)的處理。網(wǎng)格節(jié)點(diǎn)可以用來處理網(wǎng)格作業(yè)的網(wǎng)格節(jié)點(diǎn)處理資源由預(yù)期的處理器可用性閾值來表示。就可歸因于網(wǎng)格節(jié)點(diǎn)中的網(wǎng)格工作的處理器利用率是否超過處理器利用率的預(yù)期的處理器利用率可用性閾值作出判斷。如果處理器利用率超過網(wǎng)格作業(yè)的預(yù)期的處理器利用率閾值,則節(jié)流控制器1320限制網(wǎng)格節(jié)點(diǎn)的處理器利用率,以便網(wǎng)格節(jié)點(diǎn)對非網(wǎng)格作業(yè)的處理不會受在網(wǎng)格節(jié)點(diǎn)中執(zhí)行的網(wǎng)格作業(yè)的負(fù)面影響。
預(yù)期的網(wǎng)絡(luò)和處理器可用性值是基于由網(wǎng)格作業(yè)調(diào)度器、網(wǎng)格項目可視化和模擬引擎確定的,或者可選地,網(wǎng)格作業(yè)調(diào)度器和網(wǎng)格項目可視化和模擬引擎的組合確定的網(wǎng)格作業(yè)的安排而確定的。網(wǎng)格項目節(jié)流控制器1320還用于就網(wǎng)格節(jié)點(diǎn)中的網(wǎng)絡(luò)和處理器利用率是歸因于網(wǎng)格工作還是可歸因于非網(wǎng)格工作作出判斷。節(jié)流控制器1320可以基于任務(wù)標(biāo)識或當(dāng)前技術(shù)中已知的其他手段來作出此判斷。節(jié)流控制器還收集有關(guān)諸如網(wǎng)格和非網(wǎng)格工作的處理器和網(wǎng)絡(luò)使用狀況之類的系統(tǒng)使用狀況的統(tǒng)計信息。有關(guān)處理器利用率和網(wǎng)絡(luò)利用率的統(tǒng)計信息是從位于網(wǎng)格節(jié)點(diǎn)上的處理器利用率監(jiān)視器和網(wǎng)絡(luò)利用率監(jiān)視器收集的。節(jié)流控制器1320還可以去掉對網(wǎng)格節(jié)點(diǎn)工作荷載的網(wǎng)格影響。
節(jié)流機(jī)制提供了進(jìn)一步的優(yōu)點(diǎn)在于,此節(jié)流機(jī)制提供了一個機(jī)制,如前面所討論的,通過該機(jī)制,與網(wǎng)格代理關(guān)聯(lián)的網(wǎng)絡(luò)活動監(jiān)視器可以將網(wǎng)絡(luò)流量分類為網(wǎng)格和非網(wǎng)格類別。即,由于網(wǎng)絡(luò)接口節(jié)制從網(wǎng)格節(jié)點(diǎn)發(fā)出的網(wǎng)絡(luò)流量,因此,網(wǎng)絡(luò)活動監(jiān)視器知道,與網(wǎng)格作業(yè)關(guān)聯(lián)的網(wǎng)絡(luò)流量不能大于所確定的預(yù)期的網(wǎng)絡(luò)可用性閾值。如此,如果網(wǎng)絡(luò)鏈路滿負(fù)荷地工作,那么,可以可歸因于網(wǎng)格作業(yè)的最大值是節(jié)制閾值。在這些實施例中,全容量是消耗的全部帶寬。
圖14-16是概述了前面所描述的本發(fā)明的某些實施例的各種操作的流程圖??梢岳斫猓鞒虉D中的每一個步驟,以及流程圖中的步驟的組合可以通過計算機(jī)程序指令來實現(xiàn)。這些計算機(jī)程序指令可以提供給處理器或其他可編程數(shù)據(jù)處理設(shè)備,以產(chǎn)生一個機(jī)器,以便在處理器或其他可編程數(shù)據(jù)處理設(shè)備上執(zhí)行的指令創(chuàng)建用于實現(xiàn)流程圖步驟中指定的功能的裝置。這些計算機(jī)程序指令也可以存儲在計算機(jī)可讀的存儲器或存儲介質(zhì)中,該存儲器或存儲介質(zhì)可以指示處理器或其他可編程數(shù)據(jù)處理設(shè)備以特定方式運(yùn)行,以便存儲在計算機(jī)可讀的存儲器或存儲介質(zhì)中的指令產(chǎn)生一種包括可以實現(xiàn)流程圖步驟中指定的功能的指令裝置的產(chǎn)品。
相應(yīng)地,流程圖的步驟支持用于執(zhí)行指定的功能的裝置的組合、用于執(zhí)行指定的功能的步驟以及用于執(zhí)行指定的功能的程序指令裝置的組合。還應(yīng)該理解,流程圖的每一個步驟,以及流程圖中的步驟的組合,可以通過執(zhí)行指定的功能或步驟的基于專用硬件的計算機(jī)系統(tǒng)或?qū)S糜布陀嬎銠C(jī)指令的組合來實現(xiàn)。
圖14是概述了根據(jù)本發(fā)明的一個示范性實施例的用于生成網(wǎng)格項目的模擬的直觀表示的示范性操作的流程圖。如圖14的流程圖1400所示,在步驟1410中,從用戶那里接收索取在特定時間段內(nèi)網(wǎng)格項目的執(zhí)行的模擬的請求。在步驟1420中,通過給用戶提供請求網(wǎng)格項目標(biāo)識符、開始日期、開始時間、結(jié)束日期、結(jié)束時間、模擬的統(tǒng)計學(xué)基礎(chǔ)、圖形表示的類型和/或任何其他參數(shù)的GUI,可以請求用戶輸入或選擇被請求的網(wǎng)格項目模擬的參數(shù)。
網(wǎng)格項目的模擬是基于用戶所輸入的參數(shù)和網(wǎng)絡(luò)可用性和處理器可用性數(shù)據(jù)生成的。在步驟1430中,從網(wǎng)絡(luò)和處理器可用性數(shù)據(jù)存儲系統(tǒng)中檢索網(wǎng)絡(luò)和處理器可用性數(shù)據(jù)。在步驟1440中,基于處理器/網(wǎng)絡(luò)可用性數(shù)據(jù),生成資源可用性圖表。在步驟1450中,步驟1440中的資源可用性圖表,以及,可選地,如上文所描述的,來自網(wǎng)格項目模型描述的信息,用于生成網(wǎng)格項目的執(zhí)行的模擬。
圖15是概述了根據(jù)本發(fā)明的一個示范性實施例的用于安排網(wǎng)格作業(yè)調(diào)度的示范性操作的流程圖。如圖15的流程圖1500所示,在步驟1510中,網(wǎng)格管理系統(tǒng)接收網(wǎng)格項目提交。在步驟1515中,確定網(wǎng)格項目的網(wǎng)絡(luò)特征。在步驟1520中,利用網(wǎng)絡(luò)群集算法,生成網(wǎng)格節(jié)點(diǎn)群集。可以利用任何已知的用于確定網(wǎng)格節(jié)點(diǎn)的群集的網(wǎng)絡(luò)群集算法來生成網(wǎng)格節(jié)點(diǎn)群集。
在步驟1525中,對于每一個群集的網(wǎng)絡(luò)和處理器可用性,確定平均資源可用性。在步驟1530中,根據(jù)處理器和網(wǎng)絡(luò)資源可用性的平均值,將每一個網(wǎng)格節(jié)點(diǎn)群集分等級。
在步驟1535中,確定處理器容量的最小閾值和網(wǎng)絡(luò)容量最小閾值??梢杂捎脩暨x擇最小閾值,或根據(jù)網(wǎng)格項目中的說明選擇最小閾值。在步驟1540中,就網(wǎng)格節(jié)點(diǎn)群集是否超過了處理器和網(wǎng)絡(luò)最小閾值兩者以及該網(wǎng)格節(jié)點(diǎn)群集是否具有足夠的總網(wǎng)絡(luò)和處理器容量來執(zhí)行網(wǎng)格作業(yè)作出判斷。可以選擇超過了最小閾值并具有足夠的容量的網(wǎng)格節(jié)點(diǎn)。步驟1545根據(jù)所選擇的網(wǎng)格節(jié)點(diǎn)群集來安排網(wǎng)格項目。
如果沒有群集滿足步驟1540的要求,那么,在步驟1555中向下調(diào)整最小閾值,以允許評估額外的群集。可以重復(fù)該過程,直到發(fā)現(xiàn)了滿足步驟1540的要求的群集,并在步驟1545中可以進(jìn)行安排,或者直到在步驟1550中額外的重算導(dǎo)致縮小的結(jié)果,在這種情況下,在步驟1560中,向用戶提供一個指示,說明不能完成安排。
圖16是概述了根據(jù)本發(fā)明的一個示范性實施例的用于調(diào)節(jié)與網(wǎng)格項目關(guān)聯(lián)的網(wǎng)絡(luò)流量的示范性操作的流程圖。如圖16的流程圖1600所示,在步驟1610中確定預(yù)期的網(wǎng)絡(luò)可用性和預(yù)期的處理器可用性閾值。如果在步驟1620中數(shù)據(jù)傳輸?shù)乃俾食^預(yù)期的網(wǎng)絡(luò)可用性閾值,則在步驟1630中節(jié)流控制器節(jié)制數(shù)據(jù)傳輸?shù)乃俾省H绻诓襟E1640中處理器利用率超過預(yù)期的處理器可用性閾值,那么,在步驟1650中,節(jié)流控制器將用于處理網(wǎng)格作業(yè)的處理器利用率節(jié)制到預(yù)期的處理器可用性。
節(jié)流控制器還收集有關(guān)處理器和網(wǎng)絡(luò)資源的系統(tǒng)使用狀況的統(tǒng)計信息。節(jié)流控制器還能夠去掉網(wǎng)格作業(yè)對處理器和網(wǎng)絡(luò)負(fù)載的影響。節(jié)流控制器可以通過任務(wù)標(biāo)識或當(dāng)前技術(shù)中已知的其他手段來識別網(wǎng)格工作。節(jié)流控制器只節(jié)制與網(wǎng)格工作關(guān)聯(lián)的處理器和網(wǎng)絡(luò)活動。如此,與網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格代理關(guān)聯(lián)的網(wǎng)格項目節(jié)流控制程序?qū)W(wǎng)格節(jié)點(diǎn)上的網(wǎng)絡(luò)/處理器利用率進(jìn)行控制,以防止網(wǎng)格作業(yè)干擾非網(wǎng)格工作的執(zhí)行。
值得注意的是,盡管是在完全運(yùn)轉(zhuǎn)的數(shù)據(jù)處理系統(tǒng)的上下文中描述本發(fā)明的,那些本領(lǐng)域普通技術(shù)人員將認(rèn)識到,本發(fā)明的進(jìn)程能夠以存儲指令的計算機(jī)可使用的介質(zhì)的形式和各種各樣的形式進(jìn)行分發(fā),本發(fā)明同樣適用,不管實際用于進(jìn)行分發(fā)的承載信號的介質(zhì)的特定類型是什么。
本發(fā)明可以采用完全是硬件、完全是軟件、或結(jié)合了軟件和硬件元件的組合的形式。在優(yōu)選實施例中,本發(fā)明可以以軟件實現(xiàn),包括,但不僅限于固件、常駐軟件、微代碼等等。
此外,本發(fā)明可以采用可以從計算機(jī)可使用的或計算機(jī)可讀的介質(zhì)訪問的計算機(jī)程序產(chǎn)品的形式,提供供計算機(jī)或任何指令執(zhí)行系統(tǒng)使用的或與它們一起使用的程序代碼。對于此描述,計算機(jī)可使用的或計算機(jī)可讀取的介質(zhì)可以是任何設(shè)備,可以包含、存儲、通信、傳播或輸送供指令執(zhí)行系統(tǒng)、設(shè)備使用的,或與它們一起使用的程序。
介質(zhì)可以是電子、磁性、光學(xué)、電磁、紅外線或半導(dǎo)體系統(tǒng)(或設(shè)備)或傳播介質(zhì)。計算機(jī)可讀的介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲器、磁帶、可移動計算機(jī)磁盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的當(dāng)前示例包括光盤-只讀存儲器(CD-ROM)、光盤-讀取/寫入(CD-R/W)和DVD。
適用于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括通過系統(tǒng)總線直接或間接地連接到存儲器元件。存儲器元件可以包括在程序代碼的實際執(zhí)行過程中使用的本地存儲器、大容量存儲器、高速緩存存儲器,這種高速緩存存儲器提供用于存儲至少某些程序代碼的臨時存儲器,以便減少在執(zhí)行過程中必須從大容量存儲器中檢索代碼的次數(shù)。
輸入/輸出或I/O設(shè)備(包括但不僅限于鍵盤、顯示器、指示設(shè)備等等)可以直接或者通過干涉I/O控制器連接到系統(tǒng)。
也可以將網(wǎng)絡(luò)適配器連接到系統(tǒng),以使數(shù)據(jù)處理系統(tǒng)通過干涉專用或公共網(wǎng)絡(luò)連接到其他數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲設(shè)備。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器和以太網(wǎng)卡是現(xiàn)行的幾種網(wǎng)絡(luò)適配器。
本發(fā)明的說明書只作說明,而不是詳盡的說明或限于所說明的形式。那些本領(lǐng)域普通技術(shù)人員將認(rèn)識到,可以進(jìn)行許多修改。所選擇的實施例只是為了最好地說明本發(fā)明的原理,實際應(yīng)用,并使本領(lǐng)域普通技術(shù)人員懂得,帶有各種修改的各種實施例也是可以接受的。
權(quán)利要求
1.網(wǎng)格計算系統(tǒng)中的用于安排網(wǎng)格作業(yè)的計算機(jī)實現(xiàn)的方法,該計算機(jī)實現(xiàn)的方法包括基于網(wǎng)格作業(yè)對執(zhí)行網(wǎng)格作業(yè)所需要的基于網(wǎng)絡(luò)的資源的依賴關(guān)系,特征化網(wǎng)格作業(yè),以形成特征化的網(wǎng)格作業(yè);基于網(wǎng)格作業(yè)的所述依賴關(guān)系從多個網(wǎng)格節(jié)點(diǎn)中選擇一個網(wǎng)格節(jié)點(diǎn),以形成所選擇的網(wǎng)格節(jié)點(diǎn);以及將特征化的網(wǎng)格作業(yè)發(fā)送到所選擇的網(wǎng)格節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中,多個網(wǎng)格節(jié)點(diǎn)中的一個網(wǎng)格節(jié)點(diǎn)上的處理器利用率監(jiān)視器監(jiān)視網(wǎng)格節(jié)點(diǎn)的關(guān)于網(wǎng)格和非網(wǎng)格工作負(fù)荷的處理器利用率。
3.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中,多個網(wǎng)格節(jié)點(diǎn)中的一個網(wǎng)格節(jié)點(diǎn)上的網(wǎng)絡(luò)利用率監(jiān)視器監(jiān)視該網(wǎng)格節(jié)點(diǎn)和其他網(wǎng)格節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量。
4.根據(jù)權(quán)利要求3所述的計算機(jī)實現(xiàn)的方法,其中,網(wǎng)絡(luò)利用率監(jiān)視器確定數(shù)據(jù)包將在該網(wǎng)格節(jié)點(diǎn)和其他網(wǎng)格節(jié)點(diǎn)之間傳播的最可能的路由。
5.根據(jù)權(quán)利要求4所述的計算機(jī)實現(xiàn)的方法,其中,確定兩個網(wǎng)格節(jié)點(diǎn)之間的最小容量鏈路,其中,所述最小容量鏈路被設(shè)置為兩個節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量的最大容量。
6.根據(jù)權(quán)利要求2所述的計算機(jī)實現(xiàn)的方法,進(jìn)一步包括區(qū)別與網(wǎng)格相關(guān)的和與非網(wǎng)格相關(guān)的工作負(fù)荷,其中,網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格客戶端軟件維護(hù)一個數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)存儲與網(wǎng)格節(jié)點(diǎn)上的網(wǎng)格作業(yè)處理關(guān)聯(lián)的線程的標(biāo)識符,其中,將該數(shù)據(jù)結(jié)構(gòu)與關(guān)于在網(wǎng)格節(jié)點(diǎn)上處理的所有線程的統(tǒng)計信息進(jìn)行比較。
7.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中,通過收集“n”分鐘間隔內(nèi)的網(wǎng)絡(luò)和處理器利用率統(tǒng)計信息來確定預(yù)期的網(wǎng)絡(luò)和處理器容量,其中,綜合網(wǎng)絡(luò)和處理器利用率統(tǒng)計信息,并從統(tǒng)計學(xué)上對它們進(jìn)行評估,以確定重復(fù)周期的平均值。
8.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中,選擇網(wǎng)格節(jié)點(diǎn)的步驟進(jìn)一步包括根據(jù)網(wǎng)格節(jié)點(diǎn)的網(wǎng)絡(luò)鄰近程度,利用群集算法,將網(wǎng)格計算系統(tǒng)中的多個網(wǎng)格節(jié)點(diǎn)映射到提交點(diǎn)、數(shù)據(jù)庫以及其他網(wǎng)格節(jié)點(diǎn)中的至少一個。
9.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,進(jìn)一步包括基于每一個群集的處理器資源可用性和網(wǎng)絡(luò)資源可用性兩者,生成網(wǎng)格節(jié)點(diǎn)群集的二維圖。
10.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中,選擇步驟包括識別具有足夠的總的處理器和網(wǎng)絡(luò)容量以滿足最小處理器閾值和最小網(wǎng)絡(luò)閾值的所選擇的網(wǎng)格節(jié)點(diǎn),以在指定的時間段內(nèi)執(zhí)行網(wǎng)格作業(yè)。
11.根據(jù)權(quán)利要求10所述的計算機(jī)實現(xiàn)的方法,其中,如果沒有識別所選擇的網(wǎng)格節(jié)點(diǎn),則降低最小處理器閾值和最小網(wǎng)絡(luò)閾值。
12.根據(jù)權(quán)利要求11所述的計算機(jī)實現(xiàn)的方法,其中,如果降低最小閾值以包括額外的網(wǎng)格節(jié)點(diǎn)導(dǎo)致縮小的結(jié)果,則表明適當(dāng)?shù)陌才艧o法實現(xiàn)。
13.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,進(jìn)一步包括從多個額外的網(wǎng)格節(jié)點(diǎn)的來源中選擇額外的網(wǎng)格節(jié)點(diǎn)的來源,以將計算網(wǎng)格擴(kuò)展為包括額外的網(wǎng)格節(jié)點(diǎn)。
14.用于安排網(wǎng)格作業(yè)的設(shè)備,包括計算機(jī),其中包括總線;連接到總線的存儲設(shè)備,其中,存儲設(shè)備包含計算機(jī)可使用的程序代碼;連接到總線的通信單元;連接到總線的處理單元,其中,處理單元執(zhí)行計算機(jī)可使用的程序代碼,以基于網(wǎng)格作業(yè)對執(zhí)行網(wǎng)格作業(yè)所需要的基于網(wǎng)絡(luò)的資源的依賴關(guān)系,特征化網(wǎng)格作業(yè),以形成特征化的網(wǎng)格作業(yè);基于網(wǎng)格作業(yè)的所述依賴關(guān)系從多個網(wǎng)格節(jié)點(diǎn)中選擇一個網(wǎng)格節(jié)點(diǎn),以形成所選擇的網(wǎng)格節(jié)點(diǎn);以及將特征化的網(wǎng)格作業(yè)發(fā)送到所選擇的網(wǎng)格節(jié)點(diǎn)。
全文摘要
用于根據(jù)多種動態(tài)負(fù)載因素安排網(wǎng)格項目的執(zhí)行的方法和設(shè)備。本發(fā)明提供了用于基于計算設(shè)備的網(wǎng)格中的節(jié)點(diǎn)上的處理器負(fù)載和網(wǎng)絡(luò)流量負(fù)載兩者確定網(wǎng)格節(jié)點(diǎn)可用性的機(jī)制。此可用性信息用于確定網(wǎng)格項目的運(yùn)行的調(diào)度。
文檔編號H04L29/08GK1956457SQ20061013889
公開日2007年5月2日 申請日期2006年9月21日 優(yōu)先權(quán)日2005年10月24日
發(fā)明者維克多爾斯·伯斯蒂斯, 布賴恩·李奧納多, 凱爾·J.·布里斯藤巴克, 艾倫·K.·哈珀, 賈斯廷·L.·揚(yáng)布拉德 申請人:國際商業(yè)機(jī)器公司