網格體系結構是對網格基本組成部分和各部分功能的定義和描述,對網格各部分相互關系與集成方法的規定,以及對網格有效運行機制的定義。網格體系結構是網格最核心的技術,是網格的架構和靈魂,只有建立合理的網格體系結構,才能夠設計和構建網格,才能夠使網格的效能發揮得最好。目前最重要最有影響的網格體系結構有兩個:5層沙漏體系結構、基于Web服務的開放網格服務體系結構(OGSA)。
5層沙漏體系結構是一種很有影響力的結構,這種結構是基于美國國家實驗室的網格研發項目Globus提出來的,主要側重于定性描述,而不是定義具體的協議。5層沙漏體系結構是以協議為中心的結構,強調被共享的物理資源以及這些資源所支持的服務,突出服務與應用編程接口(API)和軟件開發工具(SDK)的重要性。
5層沙漏結構自下而上按構造層、連接層、資源層、匯聚層和應用層劃分,如圖1所示。
1)構造層
構造層控制局部的資源,并向上提供網格中可供共享訪問的資源,它們是物理或邏輯實體,如高性能計算資源、大型數據庫存儲資源、高速網絡資源、傳感器和遠程設備等。Globus工具包中相應的組件負責監測可用的軟硬件資源的特性、當前負荷、狀態等信息,并將其打包供上層調用。
2)連接層
連接層定義了網格事務處理所需通信和鑒別的核心協議,通信協議使物理層資源之間可進行數據交換,通過傳輸、路由、名字解析實現。鑒別是在通信服務之上,進行授權驗證。Globus工具包中,相應組件采用基于公鑰的網格安全基礎協議(GSI)。在此協議中提供一次登錄、委托授權、整合各種局域網安全方案、基于用戶的信任關系等功能。
3)資源層
資源層建立在連接層協議之上,定義安全握手、資源初始化,監測和控制資源的運行狀況,統計與計費有關資源的使用情況。資源層調用構造層的功能實現對本地資源的訪問和控制。資源層協議主要分兩類:一類是信息協議,用于獲得資源的結構和狀態信息;另一類是管理信息,用于協商對特定共享資源的訪問。
4)匯聚層
資源層主要是實現與單個資源的交互,而匯聚層則負責協調各種資源,關注全局的狀態以及跨多個資源的交互,實現更廣泛的資源共享,它包括目錄服務、資源分配、進度安排、業務代理、資源監視和診斷、負載控制、軟件發現(基于求解問題參數的最佳軟件實現和運行平臺)、安全認證、計費等。
5)應用層
應用層作為網格體系結構中的最高一層,是在虛擬組織環境中存在的,由用戶的應用程序構成。應用程序通過調用下層提供的服務,再通過服務調用網格上的資源實現,為了便于應用程序的開發,需要大量支持網格計算的庫函數。
網格的5層沙漏體系結構的建立需要具有支持資源共享、服務共享、代碼共享的協議軟件和應用編程接口,對實現這些協議的技術沒有限制。從長期的角度講,網格計算能否獲得成功,取決于連接層和資源層的協議必須能否得到更廣泛的支持,能否夠屏蔽掉網格中各種資源的分布、異構特性。因特網協議使不同的計算機網絡能夠互聯和交換信息,網格協議使不同的用戶組織能夠互操作和交換或共享資源。
5層體系結構的另一個特點是沙漏形狀(見圖1)。為什么采用沙漏形狀?實際上可通過與微內核的操作系統進行類比來理解。微內核操作系統僅提供一些關鍵的核心功能,大量與應用或與特定設備有關的部分交付其他部分來實現。由此可知,一個小的核心操作系統非常有利于移植,也容易實現和獲取支持。在網格環境中,由于各部分協議的數量不同且可變化,確保最核心部分的協議,使其既能支持上層各種協議向其映射,同時又可實現向下層的各種協議映射。換句話說,在支持網格計算的所有地點都應能得到核心協議的支持,為此應對核心協議數量加以控制,因而,網格核心協議也就成了5層體系結構的“瓶頸”。