摘要:本文首先介紹了國內CG和VEGA兩種網格平臺的基本情況,然后根據安裝和測試的情況對兩個平臺從作業執行的流程、數據管理、安全等方面做了分析和比較。我們發現,CG適合搭建校園網格,方便各種大型儀器、設備的共享。VEGA以P2P的方式實時更新資源信息,保證了全局資源視圖的一致性。
關鍵詞:網格;網格平臺;作業流程;數據管理;安全
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2008)05-10ppp-0c
1引言
隨著高性能應用需求的迅猛發展,單臺高性能計算機已經不能勝任一些超大規模應用問題的解決。這就需要將地理上分布、系統異構的多種計算資源通過高速網絡連接起來,共同解決大型應用問題,即廣域高性能的元計算技術(Metacomputing)[1],也稱為網格(Grid)[2]技術。
網格計算環境要求不影響各結點本地的管理和自主性,不改變原有的操作系統、網絡協議和服務,保證用戶和遠程結點的安全性,允許遠程結點選擇加入或退出系統,盡量使用已存在的標準的技術,以便與已有的應用兼容,并能提供可靠的容錯機制。一個理想的網格系統通過使用網格中間件平臺,屏蔽底層硬件和軟件信息,給用戶提供完全透明的計算環境。
2 網格體系結構以及網格平臺在其中的位置
網格的體系結構目前主要有兩種形式:五層沙漏結構和開放網格服務結構。前者以協議為中心,強調服務與API和SDK的重要性;后者以服務為中心,方便靈活,因而應用更加廣泛。構造開放網格服務結構的兩個重要技術是:網格技術和Web Service。它對Web Service不支持臨時服務的問題進行了擴展,定義了“網格服務”(Grid Service)的概念。在這種體系結構中,一切都被看成是網格服務,因此,網格就是可擴展的網格服務的集合[3]。
整個網格體系結構可以抽象成如下三層體系結構:

圖1 網格體系結構抽象圖
第一層:即最高層,這一層是網格應用層。數字流域、數字城市和高能物理計算等各種網格應用都設置在這一層。
第二層:網格平臺層,用于屏蔽各種異構的軟、硬件信息,為用戶提供一個使用方便的、類似于統一操作系統的平臺。
第三層:網格底層構件,包括各種異構的軟件、硬件和網絡組件。
在這個體系結構中,第二層至關重要,它的功能如何直接關系到人們對網格的使用,也關系到各種異構資源是否真正得到了充分使用。
3 兩種網格平臺的介紹
我們對比分析了國內兩個知名的網格平臺,它們是清華大學校園網格CG(Campus Grid)[4]、中科院計算所的織女星網格 VEGA GOS 1.0[5]。這兩種平臺的系統結構介紹如下。
(1)CG
清華大學校園網格CG是由該校計算機系高性能計算研究所開發的校園網格工具包。它的目的在于將分布于校園網內的集群等計算資源有機地聚集起來,通過Web方式為校園網用戶提供計算服務。最新版本于2004年4月30日發布。其所提供的基本功能為:硬件資源的共享和使用。同時,計算網格平臺還提供了軟件資源共享及使用的高級功能。
通過CG 工具包搭建的校園網格平臺的結構如圖2所示:

圖2 Campus Grid校園網格平臺結構圖
(2)VEGA GOS 1.0
織女星網格研究工作是由中科院計算所設計并完成的。2004年3月,中科院發布了VEGA GOS 1.0版本。該軟件包自下而上邏輯上分成三層,即底層的VEGA Device 層,提供對網格資源的支持;中間的VEGA Bus 層,提供對資源信息的管理功能;上層的VEGA VOE層,提供對用戶使用環境的支持,包括基本的GOS API(類庫)和網格批作業處理客戶端(如圖3)。

圖3 VEGA GOS軟件層次結構圖
軟件包中包括了這三層所有的軟件,以便于用戶安裝使用。用戶也可以按照自己的需求,單獨安裝和部署這三層軟件。
4 分析和比較
如上所述,網格平臺的主要作用就是屏蔽底層異構的軟件和硬件信息,為用戶提供一個統一的、方便應用部署和使用的平臺。一個網格平臺的基本功能是保證用戶提交的作業可以正確的執行完畢。因此,作業管理是網格平臺設計的重要組成部分。除此以外,網格平臺還應該包括信息服務、數據管理、安全管理等方面內容。本文主要從這幾個方面展開分析和比較。
(1)信息服務
在這兩種網格平臺中,信息服務的功能以CG較弱,VEGA GOS 1.0較強。
CG中的用戶請求通過Web服務器提供的接口轉后臺模塊進行解析、分配和調度。資源以主動注冊/注銷的方式加入整個系統,配套使用MySQL數據庫記錄各種資源信息,采用Ganglia監控節點CPU、內存等硬件信息。
VEGA GOS 1.0的信息服務采用了P2P的方式,使用了專門負責信息服務的功能模塊——資源路由器。資源的組織以及信息的檢索等功能都是由資源路由器完成的,包括:資源注冊/注銷、資源路由信息收集/更新等[6]。
(2)數據管理
目前,CG的數據管理功能非常簡單,僅提供對數據進行處理的基本功能。數據管理主要是在客戶端上為用戶提供了一個存放用戶提交作業信息的數據空間;采用Java語言提供的輸入輸出機制實現了文件的上傳、下載。
VEGA GOS 1.0利用網格目錄文件系統來實現對數據的邏輯組織。通過數據復制、文件層次結構命名的方法,網格目錄文件系統把分散、異構、不可靠的數據進行集中管理,屏蔽數據的異構特性,并保證數據的可靠使用[6]。在這個1.0版本中,數據服務只包括數據上傳和下載。
(3)作業管理
CG和VEGA GOS 1.0的作業管理是完成作業調度的功能。。
CG中的作業管理主要解決:如何將用戶提交的新任務分配到后端的集群節點上,實現資源優化利用。CG通過兩個步驟來實現這個目的:第一步,集群間的調度;第二步,集群內部的調度。CG目前只為應用提供MPI并行運算環境。
在VEGA GOS 1.0中,資源路由器將完成計算請求的路由和轉發,并將計算請求傳遞給能夠滿足此請求的計算資源。用戶的作業請求首先通過客戶端提交給資源路由器。資源路由器將計算資源在本路由器的注冊情況與用戶請求進行匹配。
5 平臺各自的特色
這兩種網格平臺,由于設計初衷不同,面向的應用不同,因而具有不同特色。
(1)CG的軟件共享
整個CG系統由純Java語言設計。它目前所能夠提供的功能主要有兩個:第一,運行MPI并行任務,用戶可以通過編譯好的可執行碼或者未編譯的MPI源程序兩種形式提交MPI程序;第二,軟件共享。
CG提供軟件共享服務的目的是為了實現不同集群(單位,團體)之間軟件的共享。通過軟件主動向軟件注冊服務中心注冊軟件,CG可以統計可以使用的共享軟件的清單。當其他用戶想使用共享軟件時,他們可以查詢Web Portal,獲取當前可用軟件資源的列表,從而實現軟件共享。在這一部分,CG利用了GT3的思想,將軟件的發布功能封裝為一個服務的形式而實現的。
(2)VEGA GOS 1.0的資源路由器
在整個VEGA平臺中,信息服務主要是由資源路由器承擔和完成的。這部分是VEGA GOS 1.0最有特色的部分,主要功能是:第一,對資源信息進行組織與管理;第二,對路由器進行管理(添加/刪除/更新)。
路由信息更新策略如下所述:
資源路由器結點在加入網格時都需向其所有鄰居路由器發送注冊報文;
注冊被批準后,結點間建立起一條邏輯上的雙向鏈接,彼此成為鄰居;
任何資源路由器結點在運行期間,會定時向其鄰居路由器發送更新報文,報告所持有的資源信息;若某資源路由器在規定時間內,未發出任何更新報文,則由其鄰居向該結點發送超時探測報文;若不能獲得該結點的響應,則鄰居路由器認為該結點故障;
任何資源路由器結點在正常退出網格時,應向其鄰居路由器發送注銷報文;在收到注銷報文后,路由器將與消息源相關的信息從本地路由表中刪除。
通過以上四點策略,VEGA GOS 1.0提供了一種較好的信息服務功能,使得所有路由器和節點的加入和退出都可以動態進行,路由器和節點之間互通信息并能及時更新,在每個路由器上保持全局資源的視圖一致性。但也正是因為這個“優點”,它付出了明顯的性能代價。為了保持全局的資源視圖一致,每個路由器的資源信息需要定期向和它之間有直接連接的路由器進行更新和同步。當網格節點增加、網絡環境復雜時,信息交換會更加頻繁,從而導致CPU的使用率大幅度升高,網絡帶寬更加擁擠。
6 結束語
不同的網格平臺有不同的應用背景。綜合分析國內兩種種網格平臺,我們可以得出以下結論:
CG(2004年4月30日版)非常適合搭建校園網格,使得各種儀器、設備都能夠得到合理使用。但其主要工作集中在Web Portal端,為用戶提供了一個使用硬件資源和軟件共享的界面;對集群節點的管理依賴OpenPBS;數據管理和安全機制非常弱;僅支持MPI作業。
VEGA GOS 1.0安裝方便,使用手冊簡單。其資源路由器以P2P的方式實時更新,保證了全局資源視圖的一致性,但為此付出了一定的性能代價。數據管理和安全機制在1.0版本功能中較弱。
網格平臺的研究是網格性能分析中的一個重要組成部分。平臺本身的實現過程和方法是多種多樣的,本文中列舉的兩
個平臺是我們安裝、評測和分析過的兩個知名的網格平臺。相信隨著網格研究的發展,在網格應用需求的推動下,會有越來越多的網格平臺出現,它們的功能也會越來越強大,設計也會越來越合理。
參考文獻:
[1]Smarr L and Catlett C. Communication of the ACM,1992(35):44.
[2]Foster I, Kesselman C. The Grid: Blueprint for a New Computing Infrastructure, Morgan Kaufmann Publishers,1998(5).
[3]都志輝, 陳愉, 劉鵬.網格計算[M].北京:清華大學出版社,2002(17).
[4]清華大學校園網格(Campus Grid).http://166.111.68.164:6000/CGrid/index.htm
[5]劉潔,鄭麗萍,郭韋鈺,等.中國織女星知識網格研究進展[J].計算機研究與發展,2003(l40):1672.
[6]徐志偉,李偉.織女星網格的體系結構研究[J].計算機研究與發展,2002(08):923.
收稿日期:2008-01-12
作者簡介:潘芳(1979-),女,大學本科,助理工程師,華中師范大學畢業,在部隊從事計算機管理、文件管理等工作。