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