網格技術

網格技術

網格作為一種能帶來巨大處理、存儲能力和其他IT資源的新型網路,可以應付臨時之用。

網格計算通過共享網路將不同地點的大量計算機相聯,從而形成虛擬的超級計算機,將各處計算機的多餘處理器能力合在一起,可為研究和其他數據集中應用提供巨大的處理能力。有了網格計算,那些沒有能力購買價值數百萬美元的超級計算機的機構,也能利用其巨大的計算能力。

簡介


Gartner公司的Rob Batchelder認為,網格的構想一直是計算領域的“烏托邦”,在科技應用上雖有巨大前景,但最大的缺陷是缺乏明顯的商業應用。自20世紀90年代在歐美出現以來,網格主要被用於幫助分散的大學研究人員分析粒子加速器和巨型望遠鏡的數據。但在過去的兩年中,網格的概念和GlobusToolkit已在研究和教育領域得到廣泛應用,數十項全球性的大項目採用這些技術,以挑戰科學計算中的海量計算問題。
網格技術雖主要為學術機構所控制,但企業也在陸續跟進。事實上,全球網格論壇(GlobalGridForum)的主要贊助企業就包括Unilever——一家以經銷肥皂、冰淇淋著稱的企業。與許多正在研究和評估網格技術的企業一樣,Unilever自己對於如何利用此技術仍秘而不宣。而Johnson&Johnson與Merck等製藥公司、BMW波音等製造企業卻已利用這一技術的處理能力和存儲空間進行模擬試驗,例如藥品能否保護細胞免受病毒侵襲?飛機機翼是否會在暴風雨中折斷?
網格技術
網格技術
基因研究是網格技術的自然應用,這一領域所需的投資很難由一家企業來承擔,生物科技企業可用網格技術來分析基因數據;醫生可以用網格技術製作出病人器官的三維模型,作為診斷疾病的輔助手段;網格可以處理來自商店現金記錄或金融市場的數據流。其他行業,如航空、保險、運輸和國防,也會從中受益。如此看來,網格計算並非是可望不可及的烏托邦,其商業應用的廣闊前景就在眼前。

核心技術


為解決不同領域複雜科學計算與海量數據服務問題,人們以網路互連為基礎構造了不同的網格,有代表性的如計算網格、拾遺網格、數據網格等,它們在體系結構和需要解決的問題類型等方面不盡相同,但都需要共同的關鍵技術,主要有如下幾種:
高性能調度技術在網格系統中,大量的應用共享網格的各種資源,如何使得這些應用獲得最大的性能,這就是調度所要解決的問題。網格調度技術比傳統高性能計算中的調度技術更複雜,這主要是因為網格具有一些獨有的特徵,例如,網格資源的動態變化性、資源的類型異構性和多樣性、調度器的局部管理性等。所以網格的調度需要建立隨時間變化的性能預測模型,充分利用網格的動態信息來表示網格性能的波動。在網格調度中,還需要考慮移植性、擴展性、效率、可重複性以及網格調度和本地調度的結合等一系列問題。
資源管理技術資源管理的關鍵問題是為用戶有效地分配資源。高效分配涉及到資源分配和調度兩個問題,一般通過一個包含系統模型的調度模型來體現,而系統模型則是潛在資源的一個抽象,系統模型為分配器及時地提供所有節點上可見的資源信息,分配器獲得信息后將資源合理地分配給任務,從而優化系統性能。
網格安全技術網格計算環境對安全的要求比 Internet的安全要求更為複雜。網格計算環境中的用戶數量、資源數量都很大且動態可變,一個計算過程中的多個進程間存在不同的通信機制,資源支持不同的認證和授權機制且可以屬於多個組織。正是由於這些網格獨有的特徵,使得它的安全要求性更高,具體包括支持在網格計算環境中主體之間的安全通信,防止主體假冒和數據泄密;支持跨虛擬組織的安全;支持網格計算環境中用戶的單點登錄,包括跨多個資源和地點的信任委託和信任轉移等。
網格研究最初的目標是希望能夠將超級計算機連接成為一個可遠程控制的元計算機系統(MetaComputers),這一目標已經深化為建立大規模計算和數據處理的通用基礎支撐結構,將網路上的各種高性能計算機、伺服器、PC、信息系統、海量數據存儲和處理系統、應用模擬系統、虛擬現實系統、儀器設備和信息獲取設備(例如感測器)集成在一起,為各種應用開發提供底層技術支撐,將Internet變為一個功能強大、無處不在的計算設施,最終實現資源共享和分佈協同工作。網格的這種概念可以清晰地指導行業和企業中各個部門的資源進行行業或企業整體上的統一規劃、部署、整合和共享,而不僅僅是行業或大企業中的各個部門自己規劃、佔有和使用資源。這種思想的溝通和認同對行業和企業是至關重要的,將提升或改變整個行業或企業信息系統的規劃部署、運行和管理機制。

控制權


網格計算被譽為繼Internet和Web之後的“第三個信息技術浪潮”,有望提供下一代分散式應用和服務,對研究和信息系統發展有著深遠的影響。主要IT廠商早就為獲得網格計算的控制權展開了競爭。
Sun公司日前發布了“網格引擎”企業版5.3的測試版,使企業內部的計算機網格更容易聯接,提供更好的管理和資源分配。網格引擎軟體提供了開放源代碼版本,自2000年發布到目前為止,共被下載了1.2萬次,共有11.8萬個CPU利用該軟體進行管理。Sun公司技術產品營銷經理PeterJeffcock認為,網格計算有明顯的三個階段:群集網格、校園網格和全球網格,發布的GridEngine企業版5.3使Sun向功能校園網格邁進了一步。Sun還與競爭對手一起支持AVAKI與Globus等行業組織,積極參與網格計算開放標準的建立。
Microsoft的研究部門也參與了各項分散式計算研究項目,包括容錯遠程文件系統Farsite,以及建設分散式系統的Millenium;HP也表示將提供Coolbase軟體,使用戶可以通過Internet共享各種計算設備;Compaq宣布正在制定一個全球性的網格計算解決方案計劃,向尋求網格計算系統的客戶提供軟硬體和技術支持。為此,Compaq與加拿大PlatformComputing結盟,充分利用該技術,以及CompaqTru64UnixAlpha伺服器系統和運行Linux的CompaqProLiant伺服器,為用戶提供完整的、集成的、開放的網格解決方案。Compaq還建立了網格計算高級研究中心,繼續對該技術進行研究。日本的企業在網格計算方面也躍躍欲試。NTT宣布將於2002年中期開展為期6個月的網格計算試驗,參與者包括了Intel、SGI等。
2001年8月,IBM宣布在網格計算領域投資40億美元,在全球建設40家數據中心,正式進入網格計算領域。IBM被英國政府選中,負責NationalGrid(國家網格)項目,這項預算達2500萬美元的網格會把8所大學的計算機相連。IBM正與美國的賓夕法尼亞大學合作,將數家醫院聯接,構建一個複雜的計算網格。
參與的醫院可快速利用遠方的醫療數據,並共享分析程序。日前,IBM還宣布了一項名為北卡羅來納生物信息科學網格的項目,涉及60家企業、大學和生物醫學研究公司,這是全球第一個主要由私營行業參與的網格項目。而此時距IBM進入網格計算領域僅僅3個月。看來IBM是要立志做網格技術的“領頭羊”。
那麼,這一項目的實施是否標誌網格計算已開始進入商業應用呢?

成功關鍵


就像TCP/IP協議是Internet的核心一樣,構建網格計算也需要對標準協議和服務進行定義。包括Global Grid Forum、研究模型驅動體系結構(Model Driven Architecture)的對象管理組織(OMG)、致力於網路服務與語義WWW研究的W3C,以及標準化團體蠢蠢欲動。
OMG、W3C、Grid Forum等標準化組織與來自學術、商業領域的人士出席了“軟體服務網格研討會”,加快全球大網格(GGG)標準的制定。接著,另一開放源代碼網格標準組織——Globus也集會研究通過廣域網聯接的高性能計算的基礎設施問題。Globus正致力於開發標準的網格架構和其他技術。
迄今為止,網格計算還沒有正式的標準,但在核心技術上,相關機構與企業已達成一致:由美國Argonne國家實驗室與南加州大學信息科學學院(ISI)合作開發的Globus Toolkit已成為網格計算事實上的標準,包括Entropia、IBM、Microsoft、Compaq、Cray、SGI、Sun、Veridian、FujitsuHitachiNEC在內的12家計算機和軟體廠商已宣布將採用Globus Toolkit。作為一種開放架構和開放標準基礎設施,Globus Toolkit提供了構建網格應用所需的很多基本服務,如安全、資源發現、資源管理、數據訪問等。所有重大的網格項都是基於Globus Tookit提供的協議與服務建設的。
除了標準以外,安全和可管理性、IT人才的缺乏也是網格計算亟待解決的一個問題,否則將無法成為企業的商業架構。在內部系統環境中常常視而不見的問題,如安全、認證和可靠性,在任何分散式環境下都必須得到解決。研究諮詢公司StencilGroup的合伙人Brent Sleeper認為:“這要求具有高層次的架構技能,而不是簡歷上列出的編程語言。”如果把全球的網格都聯在一起,那麼就能借用彼此未用的資源,網格就會更強大和靈活。雖然這也是網格的最終目標,但把網格聯在一起也會帶來政治問題。IBM為大學建設網格或Unilever建設內部的網格都只是單純的IT決策,而將私有網格聯接,形成能力更大的共享網格,其中的風險卻大得多。在客戶需要時,相互競爭的網格提供商是否願意出售彼此多餘的資源?此外,網格應用常涉及大量的數據和計算,需要在各組織間共享安全資源,這不是當前的Internet和網路基礎設施所能做到的。看來在網格計算實現商業應用之前,還有很多的問題需要解決。
然而,設想一下運用前所未聞的計算能力所能完成的工作,我們都會明白,構建全球網格的前景幾乎是無法抗拒的。美國Argonne國家實驗室的科學家Rick Stevens指出:“就像最初的Arpanet成為Internet的中心一樣,就把Teragrid看做是形成全球網格中心的雛形吧!”

應用


生物醫學:網格可提供藥品開發人員所需的計算能力,用以研究藥物和蛋白質分子的形態與運動。
工程:波音、福特、bmw公司都在嘗試用網格計算進行複雜的模擬與設計。
數據搜集/分析:製造、石油加工、貨物運輸、甚至零售企業都要維護昂貴的設備,時常會出現問題,造成不好的結果。同無線感測器一樣,網格能夠存儲和處理所有交易。
娛樂產業:界面設計
網格作為一個集成的計算與資源環境,能夠吸收各種計算資源,將它們轉化成一種隨處可得的、可靠的、標準的且相對經濟的計算能力,其吸收的計算資源包括各種類型的計算機、網路通信能力、數據資料、儀器設備甚至有操作能力的人等各種相關資源等。
網格是借鑒電力網的概念提出的,網格的最終目的是希望用戶在使用網格計算能力解決問題時像使用電力一樣方便,用戶不用去考慮得到的服務來自於哪個地理位置,由什麼樣的計算設施提供。也就是說,網格給最終的使用者提供的是一種通用的計算能力。

電力網

電力網需要有大量的變電站等設施對電網進行調控,相應的網格中也需要大量的管理站點來維護網格的正常運行。網格的結構及資源的調控將更複雜,需要解決的問題也更多。因為網格所關心的問題不再是文件交換,而是直接訪問計算機、軟體、數據和其他資源。這就要求網格具備解決資源與任務的分配和調度、安全傳輸與通信實時性保障、人與系統以及人與人之間的交互等能力。
網格提供的資源是隨時間動態變化的,原來擁有的資源或者功能,在下一時刻可能就會出現故障或者拒絕被使用,而原來沒有的資源,可能隨著時間的進展會不斷加入進來。

計算領域

分散式超級計算。網格計算可以把分散式的超級計算機集中起來,協同解決複雜的大規模的問題。使大量閑置的計算機資源得到有效的組織,提高了資源的利用效率,節省了大量的重複投資,使用戶的需求能夠得到及時滿足。
高吞吐率計算。網格技術能夠十分有效地提高計算的吞吐率,它利用CPU的周期竊取技術,將大量空閑的計算機的計算資源集中起來,提供給對時間不太敏感的問題,作為計算資源的重要來源。
數據密集型計算。數據密集型的問題的求解往往同時產生很大的通訊和計算需求,需要網格能力才可以解決。網格可以藥物分子設計、計算力學、計算材料、電子學、生物學、核物理反應、航空航天等眾多的領域得到廣泛的需求。
基於廣泛信息共享的人與人交互。網格的出現更加突破了人與人之間地理界線的限制,使得科技工作者之間的交流更加的方便,從某種程度上可以說實現人與人之間的智慧共享。
更廣泛的資源貿易。隨著大型機的性能的提高和微機的更加普及,及其資源的閑置的問題也越來越突出,網格技術能夠有效地組織這些閑置的資源,使得有大量的計算需求的用戶能夠獲得這些資源,資源的提供者的應用也不會受到太大的干擾。需要計算能力的人可以不必購買大的計算機,只要根據自己的任務的需求,向網格購買計算能力就可以滿足計算需求。

體系結構


網格技術不斷地發展使人們逐漸地意識到了網格體系結構的重要性。網格體系結構用來劃分系統的基本組件,指定系統組件的目的和功能,說明組件之間如何相互作用,規定了網格各部分相互的關係與集成的方法。可以說,網格體系結構是網格的骨架和靈魂,是網格技術中最核心的部分。

五層沙漏

五層沙漏結構是一種早期的抽象層次結構,以“協議”為中心,強調協議在網格的資源共享和互操作中的地位。通過協議實現一種機制,使得虛擬組織的用戶與資源之間可以進行資源使用的協商、建立共享關係,並且可以進一步管理和開發新的共享關係。這一標準化的開放結構對網格的擴展性、互操作性、一致性以及代碼共享都很有好處。圖1為五層沙漏結構的典型結構圖。五層結構之所以形如沙漏,是由各部分協議數量的分佈不均勻引起的。考慮到核心的移植、升級的方便性,核心部分的協議數量相對比較少 (例如Internet上的TCP和HTTP),對於其最核心的部分,要實現上層協議(沙漏的頂層)向核心協議的映射,同時實現核心協議向下層協議(沙漏的底層)的映射。按照定義,核心協議的數量不能太多,這樣核心協議就成了一個協議層次結構的瓶頸。在五層結構中,資源層和連接層共同組成這一核心的瓶頸部分,它促進了單獨的資源共享。

開放網格

開放網格服務結構OGSA是Global Grid Forum4的重要標準建議,是目前最新也最有影響力的一種網格體系結構,被稱為是下一代的網格結構。
OGSA的目的就是要將Grid的一些功能,更確切的說是Globus的一些功能融合到Web Service這個框架中。與前期網格不同的是,OGSA是面向服務的結構,將所有事務都表示成一個Grid服務,計算資源、存儲資源、網路、程序、數據等都是服務,所有的服務都聯繫對應的介面,所以,OGSA被稱為是以服務為中心的“服務結構”,通過標準的介面和協議支持創建、終止、管理和開發透明的服務,其發展象徵著Web Service的一個進步,結合Web Service技術,支持透明安全的服務實例,OGSA有效地擴展了Web Service架構的功能。
五層模型與OGSA都相當重視互操作性,但OGSA更強調服務的觀點,將互操作性問題轉化為定義服務的介面和識別激活特定介面的協議。這一面向服務模型具有很多優點,環境中的所有組件都是虛擬化的,通過提供一個所有Grid服務實現基礎的一致介面的核心集,可以使得分級的、更高級別的服務的構建能夠跨多個抽象層以一種統一的方式進行處理。虛擬化還促使從多個邏輯資源實例到同一物理資源的映射,不考慮實現的服務組合,以及一個VO內的基於低級資源組合的資源管理。正是Grid服務的虛擬化加強了通用服務語義行為無縫地映射到本地平台設施的能力。

工具包


由於網際網路結構並不是針對網格計算設計的,為了使網格計算和現有的結構兼容,一個可擴展的中間件是必需的,也就是基於操作系統之上的網格管理軟體。在網路化應用成為主流的時代,單機操作系統如NT、Windows等的地位已經降低,網格管理軟體實際上是更高層次的網格操作系統,其核心技術主要是一體化的信息平台、語義網站、智能代理和知識本體技術等。建立網格服務的協議與標準是網格發展的重點和難點。Globus項目是目前國際上最有影響力的與網格計算相關的項目之一,是來自世界各地關注網格技術的研究人員和開發人員共同努力的成果。它是圍繞四種主要活動來組織的:研究、軟體工具、實驗台和應用程序。
Globus對資源管理安全、信息服務及數據管理等網格計算的關鍵技術進行研究,開發能在各種平台上運行的網格計算工具軟體,幫助規劃和組建大型的網格實驗平台,開發適合大型網格系統運行的大型應用程序。Globus工具包是Globus最重要的實踐成果,它是一個開放源碼的關鍵Grid協議的參考實現,支持大量的主要的電子科學項目。該工具包基於開放結構、開放服務資源和軟體庫並支持網格和網格應用,致力於安全、信息發現、資源管理、數據管理、通信錯誤診斷等問題。
Globus的網格計算協議是建立在網際網路協議之上的,以網際網路協議中的通信、路由、名字解析等功能為基礎。Globus的協議分為5層:構造層、連接層、資源層、匯聚層和應用層。上層協議可調用下層協議的服務。網格內的全局應用都通過協議提供的服務來調用操作系統。Globus工具包包括網格安全、網格信息獲取與分佈、網格資源管理及網格遠程傳輸等內容,這些都是網格開發中的關鍵技術和必須解決的重要問題。

計算方法


可能大家首先會問的是什麼是雲計算。

雲計算

雲計算(CloudComputing)是分散式處理(DistributedComputing)、并行處 理(ParallelComputing)和網格計算(GridComputing)的發展,或者說是這些計算機科學概念的商業實現。
雲計算的基本原理是,通過使計算分佈在大量的分散式計算機上,而非本地計算機或遠程伺服器中,企業數據中心的運行將更與網際網路相似。這使得企業能夠將資源切換到需要的應用上,根據需求訪問計算機和存儲系統。
PC是我們日常工作生活中的核心工具:我們用PC處理文檔、存儲資料,通過電子郵件或U盤與他人分享信息。如果PC硬碟壞了,我們會因為資 料丟失而束手無策。而在“雲計算”時代,“雲”會替我們做存儲和計算的工作。“雲”就是計算機群,每一群包括了幾十萬台、甚至上百萬台計算機。“雲”的好 處還在於,其中的計算機可以隨時更新,保證“雲”長生不老。

網格計算

但另一方面,我們不能不提及目前正在使用的網格計算技術,網格是通過區域網或廣域網提供的一系列分散式計算資源,而對終端用戶或應用來講,好像是一台 大型虛擬計算機。這種構想是通過在個人、組織和資源之間實現安全、協調的資源共享,來創建虛擬動態的組織。網格計算是分散式運算的一種方法,不僅包括使 置,而且還涵盞組織、硬體和軟體,以提供無限的能力,使連接到網格的每個人都可以進行合作和訪問信息。網格計算同樣也是應用於分散式運算的一種方法,但是 可以說從很多方面比較,雲計算都是網格計算技術的一次飛躍。

二者比較

首先,我們可以從網格計算的作業調度方面來進行比較。作業調度是網格技術的核心價值,網格的目標,是想要儘可能地利用各種資源。它通過特定的網格軟 件,將一個龐大的項目分解為無數個相互獨立的、不太相關的子任務,然後交由各個計算節點進行計算。即便某個節點出現問題,沒有能夠及時返回結果,也不影響 整個項目的進程,甚至即便某一個計算節點突然崩潰,其所承擔的計算任務也能夠被任務調度系統分配給其他的節點繼續完成。
而雲計算也像網格汁算一樣將所有的資源構築成一個龐大的資源池,但是雲計算向外提供的某個資源,是為了完成某個特定的任務。比如,某個用戶可能需要從 資源池中申請一定量的資源來部署其應用,而不會將自己的任務提交給整個網格來完成。從這一點來看,網格的構建大多為完成某一個特定的任務需要,這也是會有 生物網格、地理網格、國家教育網格等各種不同的網格項目出現的原因。而雲計算一般來說都是為了通用應用而設計的,沒有專門的以某種應用命名的網格。
其次,雲計算將在三大方面產生影響:對網際網路應用的影響、對產品應用模式的影響、對lT產品開發方向的影響。當然,所謂的改變並不是徹底的顛覆,而是 增加了新的特點。這一優勢,是對網格技術提出的挑戰。網格計算產生時同樣具有以下優勢:通過任何一台計算機都可以提供無限的計算能力,可以接人浩如煙海的 信息。這種環境將能夠使各企業解決以前難以處理的問題,最有效地使用他們的系統,滿足客戶要求並降低他們計算機資源的擁有和管理總成本。
但對於雲計算來說,是對這些優勢的更大擴展。今後通過雲計算,更多地應用能夠以網際網路服務的方式進行。雲計算將擴大軟硬體應用的外延並改變軟硬體產品 的應用模式。通過雲計算,用戶可以不必購買新的伺服器和部署軟體,就能得到應用環境或者應用本身。對於用戶來說,軟硬體不必是部署在自己身邊的、專屬於自 己的產品,而是可以變身為可利用的、虛擬的一種資源。而且,可以利用的軟硬體資源也不僅限子自己企業內部的設備和軟體,而是可以通過網路得到擴展的軟硬體 資源。IT產品的開發方向也將發生變化,以適應上述兩種情況。