摘 要: 提出一種單一虛擬資源模型,實現對不同資源管理" title="資源管理">資源管理協議的統一管理。
關鍵詞: 網格計算" title="網格計算">網格計算 網格資源 資源模型 資源分配
計算網格技術是二十世紀末興起的一種重要的并行分布式計算技術,被稱為繼Internet之后又一次網絡技術革命,網格被視為二十一世紀的新型網絡基礎架構。目前網格技術正處于發展階段,還有許多技術難題需要解決。但經過多年的研究,網格技術在網格體系結構、網格高層服務、網格基本編程工具包等方面取得了成就,已經具備技術應用條件。其中網格資源管理是網格計算中的關鍵技術之一。資源管理的關鍵是把網格中分散的各種資源管理起來,并為申請資源的用戶合理有效地分配資源。由于網格中的資源具有廣域分布、異構和動態的特性,使得網格資源管理變得很復雜。大量的網格項目試圖提供一種合適的資源管理模型,但到目前為止還沒有一種網格資源管理模型能夠處理所有的網格應用需求。
由于網格資源管理中主要是對網格資源進行有效的描述、組織和管理,使系統可以高效地為計算任務尋找合適的資源,所以網格資源模型的設計決定了資源管理體系思想。當前網格計算環境中所使用的資源模型主要有簡單資源池模型和以Globus為代表的分層資源模型二種。
本文提出單一虛擬資源模型設計思想" title="設計思想">設計思想,并在該資源模型基礎上構建了優化的資源管理系統。該系統具有網格資源狀態動態監控、查詢、組織和管理功能,同時在地震減災仿真網格項目中運用該資源模型設計思想和優化的資源管理系統實現了地震應用領域的高性能計算、視景仿真、虛擬會商等功能。
1 資源模型
網格資源指所有能夠通過網格遠程使用的實體,包括計算機軟件、計算機硬件、設備和儀器等。計算機軟件資源包括系統軟件、應用程序、數據等;計算機硬件資源包括處理器、存儲器、硬盤以及其他計算機設備;設備和儀器包括通信介質、天文望遠鏡、顯微鏡、傳感器等。
目前,網格資源管理模型主要分為分層模型和簡單資源池模型。采用較多的是分層模型。其中網格技術標準的主要參與者、在網格協議制定上有重要發言權的Globus項目組就采用了分層模型。IBM、Microsoft、Sun、Compaq、SGI、NEC等眾多公司都宣布支持Globus Toolkit,大部分網格應用系統都是建立在Globus Toolkit工具包之上。因此Globus所采用的分層模型代表了網格資源管理的發展趨勢。
1999年,Globus項目組推出了第一版Globus Toolkit;2002年2月,IBM與Globus聯合發布開放網格服務架構OGSA(Open Grid Services Architecture),把Globus標準與商用的Web Services標準結合,讓網格能夠支持Web Services;2004年1月,Globus提出Globus Toolkit 4,它是基于WSRF規范的版本,旨在完成從現在的Globus到一個基于網格及Web服務概念和技術的網格系統" title="網格系統">網格系統的轉變。從Globus Toolkit2資源信息管理MDS2到Globus Toolkit 4的MDS4,均采用了分層模型。但由于MDS2和MDS4采用了不同的管理協議和模式,在具體實際運用中存在很大差異。所以如何將MDS2、MDS3、MDS4統一管理,為用戶提供統一的資源管理模式,是一個非常重要和迫切需要解決的問題。
2 單一虛擬網格資源模型
2.1 模型的提出
本文提出的單一虛擬網格資源模型,用以實現對不同資源管理協議的統一管理。在由地震局和航天科工集團航天二院聯合開發的應用項目(地震減災仿真科學計算網格系統)中運用了該資源模型,以實現地震應用科學計算。單一虛擬網格資源模型設計思想是將虛擬組織中的網格資源抽象為單一虛擬資源樹模型,通過對資源樹的管理,實現網格資源的管理。
具體實施方法是:在網格資源管理設計中采用協議自動識別器識別出網格資源管理協議,然后通過協議解釋器將不同的網格資源管理協議翻譯為資源樹統一模型,即統一的協議,從而解決了由于在異構的網格環境下網格資源管理協議不統一而造成的資源管理混亂的問題。本文重點設計了Globus Toolkit的MDS2、MDS3、 MDS4三種資源管理協議的協議解釋器和協議自動識別器。單一虛擬網格資源管理系統模型框架如圖1所示。
單一虛擬網格資源管理系統模型通過協議自動識別器和協議解釋器動態地提供所有虛擬組織中網格節點上可見的資源信息。任務的資源申請通過資源分配" title="資源分配">資源分配器獲得資源信息,然后將資源合理地分配給任務,從而優化系統性能。網格資源管理系統如圖2所示。
2.2 資源模型
在單一虛擬網格資源管理模型中,本文參考了有關資源模型并運用了資源樹的表示方式。使用樹結構來表示整個網格環境中的網格資源。資源樹中的節點稱為資源節點,某資源節點連同其所有后繼節點的集合稱為以該節點為根的資源子樹。一棵資源樹的結構如圖3所示。
資源樹只是一個邏輯結構,它并不反映各資源節點之間網絡連接的真實拓撲。例如,圖3中各子節點與父節點之間的關系并不表示它們之間的網絡連通關系,而只是一種邏輯上的聯系。這種邏輯關系可參照資源節點之間客戶/服務的關系確定。在一個虛擬子網絡環境中,作為虛擬子網的服務器是資源子樹的根節點,如果有多個服務器,則可設定多個資源子樹,客戶機作為資源子樹的葉子節點,而此虛擬子網邏輯上又是上一層更大子網的子節點。這種聯系在進行資源查找、資源管理和資源調度時起到很好的作用。
在資源樹中的非葉子節點只負責對以它為根的資源子樹進行管理,并為其上層節點提供該子樹的信息,每個資源節點實時存儲資源狀況屬性。
2.3 協議識別器
協議識別器作為單一資源管理系統模型的重要組成部分,其作用是根據不同的網格資源管理協議規范識別虛擬網絡環境中所采用的資源管理協議,并將識別結果傳送給協議解釋器。本研究實現了對MDS2、MDS3、MDS4的識別功能。本設計中運用協議規范庫記錄可以識別的資源管理協議。隨著系統的不斷完善,系統將支持更多的資源管理協議,協議規范庫將同步保持最新的協議信息。
2.4 協議解釋器
協議解釋器作為單一資源模型系統中的另一個重要組成部分,其作用非常大。它根據協議識別器返回的結果,將不同的資源管理協議中資源模型轉換為單一虛擬網格資源模型定義規范,即資源樹模型。
(1)MDS2采用基于輕量目錄訪問協議LDAP(Lightweight Directory Access Protocol)結構。協議解釋器需要獲得在LDAP服務器上所有資源的目錄信息樹(DIT),進而獲得描述資源屬性的<屬性,值>的組合,并將獲得的資源信息存儲到資源樹中。例如,LDAP的屬性對示例如下:
dn:cn=Sample Computer,ou=devices,dc=casic,dc=com.cn
cn:CEDASGrid
usage:computing
resource:2.8GHz
resource:512MB memory
resource:120GB Storage
resource:Linux OS
(2)MDS3采用基于Grid Service規范定義。協議解釋器根據Grid Service定義獲取資源定義中的Service Data信息,并將獲得的資源信息存儲在資源樹中。
Grid Service使用的基本資源模型是XML,XML構造網格服務數據,例如:
<service name=″base/index/IndexService″provider=″Handler″style=′″wrapped″>
<parameter name=″name″ value=″Index Service″/>
<parameter name=″schemaPath″ value=″schema/base/index/index_service.wsdl″/>
<parameter name=″classname″ value=″org.glogus.ogsa.base.index.IndexService″/>
<parameter name=″baseClassname″ value=″org.glogus.ogsa.impl.base.index.IndexServiceImpl″/>
……
<parameter name=″serviceConfig″ value=″index-service-config.xml″/>
</service>
(3)MDS4采用基于Web Service規范定義。協議解釋器根據Web Service定義獲取資源定義中的Service Data信息,并將獲得的資源信息存儲到資源樹中。
2.5 資源分配器
資源分配器是網格任務管理中的組件之一,主要負責將接收到的任務請求進行分析,得到資源需求信息,然后將在資源樹中查找滿足條件的資源信息組進行分配,最后返回分配結果。任務管理是網格中不可缺少的功能,它是保證網格用戶合理有序地使用網格資源的基礎。由于網格的特性致使網格任務管理比傳統的任務管理更加復雜,因此需要信息管理、數據管理和安全通信的支持。任務管理對用戶提交的任務進行全程管理,最終給用戶返回任務運行結果。
任務請求分析是對資源描述語言(RSL)進行分析,進而獲得每個任務的資源需求。資源分配器在資源樹中搜索滿足需求的資源。在搜索時首先隨機選擇搜索的起始位置,然后為每個任務分別返回最先發現的滿足該任務需求的資源。如果任何一個資源都不滿足任務的資源需求,則向資源分配器返回空值,同時發送反饋信息,取消任務請求。設資源樹所記錄的資源數量為N,則資源分配的計算復雜度為O(N)。
資源規范語言RSL是Globus設計的一種簡單的資源描述語言,為不同平臺的資源描述提供一種公共的描述交換語言。它提供了一種可以描述復雜資源的語法框架,RSL的基本語法是關系,通過關系把屬性和值聯系起來。例如:用RSL描述“地震震源破裂科學計算”任務: (executable=/bin/chmod)
(directory=/home/earthquake″)
(arguments=744 runOne.sh olson xolson)
2.6 資源分配策略
在資源分配器進行資源分配時,資源分配策略至關重要,它極大地影響資源的使用效率。由于不同的任務需求所需的分配策略不同,所以針對不同的任務要選用合適的分配策略,以使計算時間最短。資源分配管理提供分配策略的管理,實現動態、靈活地選取適合某一個計算需求的分配策略,最終完成某計算。本研究綜合影響資源效率的因素,提出分配策略:(1)獲選的資源信息應盡量接近相應任務的資源需求,避免資源的浪費。(2)獲選資源和任務提交節點間的總網絡延遲應盡量小。(3)為每個用戶規定了資源占用量的上限。
基于以上策略,設計出資源分配算法:(1)對每個任務,分析資源請求信息。(2)獲取資源樹中滿足條件的資源組信息。(3)分析資源組中資源信息及資源的計算能力。(4)分析資源的網絡延遲時間。(5)尋求與資源需求最相近的資源綜合能力(計算能力和網絡能力)。
3 模型應用
我國是世界上地震災害最為嚴重的國家之一,最大限度地減輕地震災害已經成為政府和社會的迫切愿望。目前我國的防震減災工作中還有一些結構性和技術性的問題亟待解決。主要問題為:(1)由于缺少海量計算能力和實時分析能力,我國的地震監測信息和其他海量地震數據在地震預報分析、地震應急救援中發揮的作用還未能完全體現出來。(2)多單位、多部門、多學科交叉合作程度和技術保障能力不足。(3)對地震現場的實時把握能力存在明顯不足。
為了更好地發揮地震部門的防震減災職能,提高應對地震災害的整體能力和水平,針對上述3個主要問題,有必要采用新的技術和手段實現技術上的跨越式發展。而網格技術的出現為解決上述問題提供了極好的機會和條件。
在國家發展與改革委員會和國家地震局的資助下,國家地震局及其多個研究所和中國航天二院國家工程研究中心聯合研制開發了“中國地震減災仿真網格CE-DASGrid(China Earthquake Disaster Alleviation and Simulation Grid)試驗系統”。該系統包括三個子系統:科學計算子系統、地震會商子系統和視景仿真子系統。本文是針對科學計算子系統的系列研究之一。
3.1 設計思想
依據上述的單一資源模型的設計思想,在地震減災仿真科學計算網格系統中運用單一虛擬網格資源模型實現對網格資源的有效管理。通過提供統一用戶界面、一致的命令格式的全網格節點的資源狀態動態監控和查詢,實現網格資源的統一管理。
在地震減災仿真網格系統中,網格資源包括各計算節點資源、數據資源、服務資源等,其中以計算資源為最重要的網格資源。運用本資源模型思想,可為系統建立單一的資源樹,實現對資源樹信息的統一管理并提供統一的用戶界面,可動態地對資源狀態進行監控和資源信息實時查詢。
3.2 應用實現
運用本研究的設計思想,在地震減災仿真網格系統中實現了如下功能:
(1)資源管理:資源注冊、資源修改、資源刪除、資源查詢。資源管理實現計算資源的動態管理,該功能使用戶能夠實時了解網格系統資源狀態,并且能夠動態地加入已授權的新計算資源于整個網格系統中,修改、刪除已有的資源信息。
(2)計算管理:實現地震算法選擇、計算參數設定、資源選擇、環境設定、科學計算執行、計算過程監控及計算結果顯示。計算管理是系統的核心功能,該功能可完成科學計算執行和計算結果分析。用戶可以動態地選定計算算法、計算參數及計算資源。
(3)用戶管理:用戶注冊、用戶刪除、用戶修改。用戶管理實現用戶注冊、用戶信息的修改和刪除。
(4)信息瀏覽:地震計算相關信息。信息瀏覽幫助用戶了解有關科學計算的相關信息,例如算法說明、計算參數解釋、計算結果說明等。
本研究通過建立統一的網格資源模型,為網格資源管理提供了一種有效的方法和工具,并在地震減災仿真科學計算網格應用系統中運用此模型實現具體的地震應用科學計算功能。實驗證明此設計思想是可行的,它為地震應用領域科學計算網格化提供了重要的技術基礎,下一步的工作是在此研究的基礎上解讀其他資源模型協議,為更廣泛的應用提供有力的支持。
參考文獻
1 周 健,戴 梅,王作遠等.計算網格資源管理優化技術和相關算法研究.電子技術應用,2004;(10)
2 楊廣文,武永衛,朱 晶.一種全局統一的層次化網格資源模型.計算機研究與發展,2003;(12)
3 Foster I,Kesselman C著,金海,袁平鵬,石柯譯.網格計算.北京:電子工業出版社,2004
4 都志輝,陳 渝,劉 鵬.網格計算.北京:清華大學出版社,2002
5 徐志偉,馮百明,李 偉.網格計算技術.北京:電子工業出版社,2002
6 肖 儂,任 浩,徐志偉等.基于資源目錄技術的網格系統軟件設計與實現.計算機研究與發展,2002;(8)
7 Joseph J,Fellenstein C著,戰曉蘇,張少華譯.網格計算.北京:清華大學出版社,2004
8 Foster I,Kesselman C,Nick J et al.The Physiology of the Grid:An Open Grid Services Architecture for Distributed Systems Integration.Globus Project,USA,2002