- 相關(guān)推薦
計(jì)算網(wǎng)格資源管理優(yōu)化技術(shù)和相關(guān)算法研究
摘要:在對(duì)現(xiàn)有的網(wǎng)格資源管理模型進(jìn)行分析和比較的基礎(chǔ)上,提出了一種基于分層結(jié)構(gòu)的具體模型HRMM,將資源管理分為作業(yè)并行分析、全局資源分配、局部資源分配和本地資源管理四個(gè)層次,并為每個(gè)層次設(shè)計(jì)了相應(yīng)的優(yōu)化策略和算法。該模型對(duì)資源管理的最大計(jì)算復(fù)雜度為O(n2)~O(n3),是一個(gè)優(yōu)化而有效的網(wǎng)格資源管理模型。關(guān)鍵詞:計(jì)算網(wǎng)格資源管理資源分配作業(yè)資源調(diào)度GlobusToolkit
計(jì)算網(wǎng)格是近年興起的一種重要的并行分布式計(jì)算技術(shù),其關(guān)鍵技術(shù)之一是對(duì)網(wǎng)格中的資源進(jìn)行管理。網(wǎng)格中的資源具有廣域分布、異構(gòu)和動(dòng)態(tài)的特性,使得網(wǎng)格資源管理變得很復(fù)雜。當(dāng)前還沒(méi)有一種模型能夠處理所有的網(wǎng)格應(yīng)用需求。目前,網(wǎng)格資源管理模型主要分為分層模型、抽象所有者模型和經(jīng)濟(jì)/市場(chǎng)模型三類(lèi)。Globus項(xiàng)目組在網(wǎng)格協(xié)議制定上有重要發(fā)言權(quán),包括IBM、Microsoft、Sun、Compaq、SGI、NEC在內(nèi)的眾多重要公司都宣布支持GlobusToolkit。因此Globus所采用的分層模型代表了網(wǎng)格資源管理的發(fā)展趨勢(shì)。
本文在Globus分層模型設(shè)計(jì)思想的基礎(chǔ)上提出一種優(yōu)化的網(wǎng)格資源管理模型HRMM(HierarchicalResourceManagementModel),并給出了相應(yīng)的資源管理算法。為了提高效率,在HRMM的主要模塊中運(yùn)用了GlobusToolkit2.4提供的數(shù)據(jù)結(jié)構(gòu)和接口。
1HRMM的總體結(jié)構(gòu)
HRMM的設(shè)計(jì)思想是:動(dòng)態(tài)接收來(lái)自用戶(hù)的作業(yè)請(qǐng)求,并為該作業(yè)分配符合條件的計(jì)算資源,同時(shí)提供整個(gè)計(jì)算過(guò)程中有關(guān)資源信息的在線(xiàn)反饋,接受用戶(hù)的在線(xiàn)控制。HRMM的體系結(jié)構(gòu)如圖1所示,將計(jì)算網(wǎng)格的資源管理任務(wù)分為四個(gè)層次:作業(yè)并行分析、全局資源分配、局部資源分配和本地資源管理。
由圖1可見(jiàn),用戶(hù)經(jīng)過(guò)GUI(圖形用戶(hù)界面)向HRMM提交作業(yè)請(qǐng)求,作業(yè)并行分析器接收用戶(hù)的作業(yè)請(qǐng)求,再按最大并行度將作業(yè)中的任務(wù)劃分為若干任務(wù)組,提交給全局資源分配器。對(duì)多任務(wù)組中的每個(gè)任務(wù),全局資源分配器在靜態(tài)資源庫(kù)中一次搜索多個(gè)滿(mǎn)足該需求的集群,組成候選集群組提交給局部資源分配器。局部資源分配器在動(dòng)態(tài)資源庫(kù)中讀取候選集群組中每個(gè)集群的有關(guān)信息,并將相應(yīng)任務(wù)分配給最符合條件的集群。然后,該集群應(yīng)用本地資源管理器執(zhí)行任務(wù)。在整體上,本地資源管理器每隔一定時(shí)間向靜態(tài)資源庫(kù)發(fā)送靜態(tài)資源更新信息。另外,局部資源分配器讀取動(dòng)態(tài)資源庫(kù)前,動(dòng)態(tài)資源庫(kù)會(huì)從本地資源管理器讀取更新信息。
在這個(gè)分層模型中,一方面,用戶(hù)提交的作業(yè)能夠以最大的并行度執(zhí)行,從而高效體現(xiàn)了并行計(jì)算的思想;另一方面,選多個(gè)集群組成候選集群組,再確定其中某一分配資源的方案,由于綜合考慮了任務(wù)的靜態(tài)需求和動(dòng)態(tài)需求,避免重復(fù)的查詢(xún)操作,從而提高了資源分配的效率。
2作業(yè)并行分析器
如圖1所示,用戶(hù)經(jīng)過(guò)GUI向作業(yè)并行分析器提交作業(yè)請(qǐng)求。這個(gè)請(qǐng)求包括該作業(yè)中所含的多個(gè)任務(wù)的相關(guān)信息、任務(wù)間的依賴(lài)關(guān)系及每個(gè)任務(wù)的計(jì)算資源需求。作業(yè)并行分析器分析該作業(yè)中的任務(wù)及相互關(guān)系,根據(jù)各任務(wù)的依賴(lài)關(guān)系將作業(yè)中的任務(wù)劃分為不同的任務(wù)組,并對(duì)每個(gè)任務(wù)組進(jìn)行適當(dāng)描述后提交給全局資源分配器。
2.1作業(yè)的拓?fù)浔硎?br />
一個(gè)作業(yè)由一個(gè)或多個(gè)任務(wù)組成。作業(yè)的拓?fù)涠x為一個(gè)滿(mǎn)足如下條件的有向無(wú)環(huán)圖:該圖的節(jié)點(diǎn)與作業(yè)中的任務(wù)一一對(duì)應(yīng);若任務(wù)B直接依賴(lài)于任務(wù)A,則存在一條由節(jié)點(diǎn)A到節(jié)點(diǎn)B的有向邊,稱(chēng)A為B的直接前驅(qū),B為A的直接后繼;如果存在一條從A到B的由多條有向邊組成的有向通路,則稱(chēng)A為B的前驅(qū),B為A的后繼。
圖2表示一個(gè)作業(yè)的拓?fù)浣Y(jié)構(gòu)。設(shè)該作業(yè)由標(biāo)記為A~G的7個(gè)任務(wù)及其相互關(guān)系組成。如圖2所示,任務(wù)D需要在任務(wù)A和B完成后才能開(kāi)始,而任務(wù)G必須在任務(wù)正和F完成后才能開(kāi)始。
為了提高作業(yè)的并行執(zhí)行效率,需要關(guān)注任務(wù)在拓?fù)涠x中的深度。記任務(wù)T的直接前驅(qū)集合為Pd(T),則其深度d(T)為:
若Pd(T)=φ,則d(T)=1;
若Pd(T)≠φ,則d(T)=max{d(R)}+1.
R∈Pd(T)
2.2作業(yè)的最大并行度劃分
作業(yè)的并行劃分是指:一個(gè)作業(yè)拆分后形成的一系列對(duì)應(yīng)每個(gè)任務(wù)、前后有序且相互獨(dú)立的任務(wù)組。一個(gè)作業(yè)可以有一個(gè)或多個(gè)并行劃分方案,形成該作業(yè)對(duì)應(yīng)的并行劃分集,記作Θ,I(Θ)為Θ中的任務(wù)組數(shù)。稱(chēng)為作業(yè)的最大并行度劃分,如果:E∈Θ,且ξ∈Θ。I()≤I(ξ)將作業(yè)中的多個(gè)任務(wù)按照相應(yīng)的深度進(jìn)行劃分,形成一個(gè)最
大并行度劃分。如圖2中的作業(yè),其最大并行度劃分為:={(A,B),(C,D,E),F(xiàn),G}。
3全局資源分配器
全局資源分配器接收到以RSL描述的任務(wù)組后,立刻進(jìn)行分析和解釋?zhuān)@得每個(gè)任務(wù)的靜態(tài)資源需求。系統(tǒng)根據(jù)每個(gè)任務(wù)的資源需求在靜態(tài)資源庫(kù)中搜索滿(mǎn)足條件的多個(gè)集群,并將結(jié)果提交給局部資源分配器。
3.1靜態(tài)資源庫(kù)
系統(tǒng)中的靜態(tài)資源庫(kù)采用基于輕量目錄訪(fǎng)問(wèn)協(xié)議LDAP結(jié)構(gòu)。在HRMM模型中,網(wǎng)格系統(tǒng)的所有靜態(tài)資源都在LDAP服務(wù)器的DIT(目錄信息樹(shù))中建立了相應(yīng)的目錄項(xiàng),并用<屬性,值>的組合描述各種資源屬性。靜態(tài)資源庫(kù)選擇LDAP可以在性能上帶來(lái)以下優(yōu)點(diǎn):
(1)LDAP專(zhuān)門(mén)對(duì)讀操作進(jìn)行了優(yōu)化,在讀操作頻繁的情況下,可以提高讀取效率。
(2)LDAP是跨平臺(tái)協(xié)議,可在任何計(jì)算機(jī)上使用。從而增加系統(tǒng)對(duì)異構(gòu)網(wǎng)格環(huán)境的適應(yīng)性。
(3)LDAP服務(wù)器支持分布式的結(jié)構(gòu),靜態(tài)資源庫(kù)可訪(fǎng)問(wèn)本地或全局的LDAP服務(wù)器,并能很方便地實(shí)現(xiàn)同步,即增強(qiáng)資源管理的分布性。
3.2全局資源分配算法
根據(jù)任務(wù)組中每個(gè)任務(wù)的靜態(tài)需求,全局資源分配器在靜態(tài)資源庫(kù)中搜索滿(mǎn)足需求的集群。在搜索時(shí)首先隨機(jī)選擇搜索的起始位置,然后為每個(gè)任務(wù)分別返回最先發(fā)現(xiàn)的N個(gè)滿(mǎn)足該任務(wù)需求的集群,形成候選集群組,并以ClusterList數(shù)據(jù)結(jié)構(gòu)描述后提交給局部資源分配器;其中ClusterList是用來(lái)描述候選集群組的廣義表結(jié)構(gòu),如圖3所示。對(duì)于任何一個(gè)任務(wù),如果只找到K(<N)個(gè)符合條件的集群,則只由這K個(gè)組成候選集群組;如果任何一個(gè)集群都不滿(mǎn)足任務(wù)的靜態(tài)需求,則向局部資源分配器提交空值,同時(shí)向作業(yè)并行分析器發(fā)送反饋信息,取消任務(wù)。設(shè)LDAP服務(wù)器所記錄的集群數(shù)量為M,則全局資源分配的計(jì)算復(fù)雜度為O(MN)。
4局部資源分配器
局部資源分配器在動(dòng)態(tài)資源庫(kù)中搜索候選集群組的動(dòng)態(tài)信息,將這些動(dòng)態(tài)信息和從全局資源分配器獲得的靜態(tài)信息相組合并進(jìn)行綜合分析,最終將任務(wù)組中的每個(gè)任務(wù)分配給最適合的集群。
4.1動(dòng)態(tài)資源庫(kù)
動(dòng)態(tài)資源庫(kù)中的數(shù)據(jù)以XML描述,帶來(lái)如下優(yōu)點(diǎn):
(1)XML針對(duì)更新操作進(jìn)行了優(yōu)化。因此,對(duì)于需要不斷更新的動(dòng)態(tài)資源庫(kù),可有效提高效率。
(2)XML和LDAP在存儲(chǔ)結(jié)構(gòu)上都是樹(shù)狀結(jié)構(gòu),可以很方便地相互轉(zhuǎn)化。用XML描述數(shù)據(jù),可使動(dòng)態(tài)資源庫(kù)和基于LDAP的靜態(tài)資源庫(kù)具有更好的耦合性。
(3)XML與平臺(tái)無(wú)關(guān),以XML表示的數(shù)據(jù)可很方便地被其他程序使用。
4.2局部資源分配策略
局部資源分配器得到候選集群組ClusterList后,從動(dòng)態(tài)資源庫(kù)獲取每個(gè)候選集群的動(dòng)態(tài)信息,并將這些動(dòng)態(tài)信息添加到相應(yīng)集群的靜態(tài)信息之后,然后將靜態(tài)資源和動(dòng)態(tài)資源信息相組合,形成集群綜合資源信息。設(shè)一個(gè)集群的動(dòng)態(tài)資源信息為h=[h1,…,hm]T,靜態(tài)資源信息為t=[t1,…,td]T,其中m和d分別為動(dòng)態(tài)和靜態(tài)資源描述的字段數(shù),則集群綜合信息為υ=[tThT]T=[υ1,…,υp]T,其中P=m+d。如圖3所示,集群2,2的綜合信息表示為υ2.2。類(lèi)似地,將任務(wù)靜態(tài)資源需求和動(dòng)態(tài)資源組合,設(shè)一個(gè)任務(wù)的動(dòng)態(tài)資源需求為g=[g1,…,gm]T,靜態(tài)資源需求為s=[s1,…,sd)T,則綜合資源需求為r=[sTgT]T=[r1,…,rp]T。任務(wù)i的綜合資源需求表示為ri。在確定分配策略時(shí),將只考慮任務(wù)的綜合資源需求和集群的綜合資源信息。
首先,為了任務(wù)能夠順利完成,最終被選擇的集群必須同時(shí)滿(mǎn)足任務(wù)的靜態(tài)資源需求和動(dòng)態(tài)資源需求,即滿(mǎn)足任務(wù)的綜合資源需求:
∨i∈[1,n],∨j∈[1,p],Vi,f(i)[j]≥ri[j]
其中,n為任務(wù)組中的任務(wù)數(shù)量,p為向量u/和r的維數(shù),f(i)為任務(wù)i的候選集群(即ClusterList中Taski對(duì)應(yīng)的集群鏈表)中最終被選擇集群的序號(hào)。因此,首先在ClusterList中刪除所有不滿(mǎn)足上述條件的集群,并記第i個(gè)任務(wù)還剩余Ki個(gè)符合綜合資源需求的候選集群,其中1≤i≤n,1≤Ki≤N。最后,局部資源分配器要為每個(gè)任務(wù)Taski從Ki個(gè)候選集群中選擇最合適的一個(gè)。綜合考慮計(jì)算網(wǎng)格的整體資源分配效率,在具體選擇集群時(shí)采用如下決策機(jī)制:
(1)獲選集群的綜合資源信息應(yīng)盡量接近相應(yīng)任務(wù)的綜合資源需求,避免資源的浪費(fèi),即:
(2)獲選集群和
任務(wù)提交節(jié)點(diǎn)間的總網(wǎng)絡(luò)延遲應(yīng)盡量小,即:
其中tj為全局標(biāo)識(shí)為j的集群的延遲;
(3)HRMM為每個(gè)用戶(hù)規(guī)定了計(jì)算資源占用量的上限,即:
其中W為該用戶(hù)對(duì)計(jì)算資源占用量的上限,且W>0。
綜合考慮上述三方面,局部資源分配可以描述為如下二次規(guī)劃問(wèn)題:
其中C是可以改變的加權(quán)系數(shù),且C>0。由于f(i)為離散值且取值范圍有限,因此提出以下優(yōu)化方法,通過(guò)較少的計(jì)算來(lái)搜索近似的最優(yōu)解。記候選集群組為ClusterList,則算法表示如下:
STEP1.對(duì)每個(gè)任務(wù)和候選集群,將靜態(tài)和動(dòng)態(tài)資源信息組合為綜合資源信息;
STEP2.刪除ClusterList中不滿(mǎn)足總和資源需求的集群;
STEP3.,計(jì)算每個(gè)集群i,j的局部損失Cost[i,j]:=‖vi,j-ri‖+C·tij;
STEP4.并行地對(duì)Cost的每一列排序,并按從小到大的次序重排ClusterList中的集群鏈表;
STEP5.如果,則報(bào)告不存在滿(mǎn)足條件的解,算法結(jié)束;
STEP6.∨i∈[1,n],并行計(jì)算Cost*[i]:=‖vi,k-ri‖+C·ti,k,其中k=aramin(‖vi,j‖<‖vi,1‖);
STEP7.∨i∈[1,n],并行計(jì)算d(i]:=
STEP8.置b:=argmin(d[j]),并刪除ClusterList中任務(wù)b的集群鏈表中前k-1個(gè)集群節(jié)點(diǎn);
STEP9.如果滿(mǎn)足則轉(zhuǎn)STEPl0,否則轉(zhuǎn)STEP6;
STEP10.∨i∈[1,n],將第i個(gè)任務(wù)分配給ClusterList中相應(yīng)任務(wù)集群鏈表中的第一個(gè)集群,算法結(jié)束。
該算法為資源分配查找到了近似的最優(yōu)解,并在最大程度上利用了資源管理站點(diǎn)所在集群的計(jì)算資源,將大部分計(jì)算并行化。設(shè)資源管理站點(diǎn)所在集群的節(jié)點(diǎn)數(shù)為戶(hù),則該算法在每個(gè)節(jié)點(diǎn)上的計(jì)算復(fù)雜度為O(n2n/P)<O(N3);如果在全局資源分配器中設(shè)置N≈P戶(hù),則計(jì)算復(fù)雜度為O(n2)。
5分析與總結(jié)
本課題組采用基于分層模型的結(jié)構(gòu),將資源管理分為四個(gè)層次,然后在每個(gè)層次對(duì)模型的性能做出優(yōu)化并提出了相應(yīng)的算法。從總體上,HRMM對(duì)一個(gè)作業(yè)進(jìn)行資源管理的最大計(jì)算復(fù)雜度不超過(guò)O(n3),是一個(gè)優(yōu)化而有效的網(wǎng)格系統(tǒng)資源管理模型。
【計(jì)算網(wǎng)格資源管理優(yōu)化技術(shù)和相關(guān)算法研究】相關(guān)文章:
分?jǐn)?shù)除法的意義和計(jì)算法則08-16
小數(shù)的加法和減法的意義和計(jì)算法則08-16
算法優(yōu)化的一個(gè)教學(xué)片段和思考08-08
基于DSP的信道譯碼算法優(yōu)化08-06
民辦高校人力資源管理優(yōu)化研究08-05