[摘要] 本文介紹了一種基于代理的網格資源管理中間件模型,詳細闡述了該模型的體系結構和代理的分層結構。應用該模型可以提高資源使用的便捷性和效率。
[關鍵詞] 網格; 代理; 網格資源管理; 中間件
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2011 . 23. 035
[中圖分類號]TP31;F273.1 [文獻標識碼]A [文章編號]1673 - 0194(2011)23- 0068- 01
1引言
網格是把分布在不同地理位置上的計算資源通過互聯網整合成一臺巨大的超級計算機,實現各種資源的全面共享。網格環境中具有數目巨大、地理上分布的資源,并且這些資源和服務在網格中是動態的,可能會在不同的時間動態地加入或離開不同的虛擬組織(VO)。為了能使網格用戶方便、高效地使用各種資源,本文提出將把軟件代理技術引入網格資源管理系統。
本文介紹了一種基于代理的網格資源管理中間件模型,詳細闡述了該模型的體系結構和代理的分層結構。
2基于代理的網格資源管理中間件
基于代理的網格資源管理中間件(Agent-based Resource Management Middleware,ARMM)的體系結構中主要有4個組件:網格用戶、網格資源、代理、性能監測與指導(Performance Monitor and Advisor,PMA)。其體系結構如圖1所示。
2.1網格用戶
網格用戶是ARMM系統的核心組件,用戶端的軟件主要包括網格應用工具,如任務監控和預測軟件。當一個并行應用程序被開發時,相應的應用模型也同時生成。代理的性能建模是一個自動過程。應用程序被上交執行時,相應的性能模型也會被附帶上交。這里可以將網格用戶認為是那些開發科學超級計算應用程序并且使用它們在網格環境來解決大規模問題的人。
2.2網格資源
網格資源可以認為是高性能計算能力的服務提供者,比如說超級計算機、機群或一組PC機都可以作為網格資源,在實際應用中它們將為網格用戶提供高性能計算能力。
2.3性能檢測和指導(PMA)
性能監測和指導(PMA)是一個特殊的代理,它具有在系統激活時模型化和模擬代理系統性能的能力,但它不是其他代理的通信中心,不控制代理層。所以當它暫停工作時,對系統的正常運行并不造成影響。PMA只是一個優化組件,通過建模和模擬代理性能提高代理系統的工作效率,防止某個代理成為系統中的瓶頸。PMA監控來自每個代理的統計數據,并根據它們為代理性能建模。然后由模擬引擎模擬該模型,以便選擇新的優化策略,改善性能機制。模擬過程中,所有提供的優化策略都會被模擬器執行一遍,直到找到一個更好的策略為止。
2.4代理
代理是ARMM中的重要組件,它們被組織到一個分層體系中,每個代理都具有相同的功能,被看作一個網格資源的代表。單一的同構代理組件構成了整個網格資源管理系統。在代理層,各代理間可以相互合作,實現大規模的資源共享。
ARMM中每個代理結構分為3層,即通信層、協作層和本地管理層。通信層在最底層,是代理與外界的接口;協作層位于中間,代理在通信層收到的數據必須解釋并上交到協作層,由它根據自己的知識來決定代理應該如何處理數據;本地管理層負責管理本地分布的計算資源,它可以為協作層提供其所需的信息。
代理既是服務的提供者,也是服務的請求者,系統功能的實施可以抽象成服務通告和服務發現的過程。服務模型對本地的網格資源進行了詳盡的記錄。它的初級實現就是一個簡單的數據結構,包括代理身份、相應的資源信息和一些優化選擇;其中資源信息是主要的部分,它包括了從硬件統計到應用狀態性能預測的所有資源信息。
資源性能是隨時間不斷變化的,所以代理提供的服務也要有相應的變化。ARMM使用兩種方法維持各代理間服務信息的一致性:數據拉(Data-pull)和數據推(Data-push)。它們可以周期性工作,也可以由系統事件驅動工作。
Data-pull:代理向其他代理發出詢問對方服務信息的請求的過程??梢灾芷谛园l生或是當請求到達時發生(如圖2所示)。
Data-push:代理主動將自己的服務信息提交的過程??梢灾芷谛园l生或是當自己服務信息改變時發生(如圖3所示)。
在靜態系統中,代理信息的變化頻率遠小于服務請求的頻率,所以單純的數據推模型要優于數據拉模型;動態系統則反之。在大多數系統中這兩個過程都有,只不過平衡點不同而已。