网格计算——下一代分布式计算
過去有兩種主要的需求極大地增長了網(wǎng)格計算的價值。不對稱經(jīng)濟使得那些 IT 預算有限的公司只能更加充分地利用現(xiàn)有的計算資產(chǎn),并通過智能地將有限的資源分配給適當?shù)臉I(yè)務應用程序,才能更加靈活地對迅速變化的市場作出快速的響應。 在本文中,作者 Matt Haynos 對網(wǎng)格計算和諸如 P2P(端到端)、CORBA、集群計算和分布式計算環(huán)境(DCE)之類的分布式計算系統(tǒng)之間的異同進行了簡要的分析。
??? 網(wǎng)格計算最近作為一種分布式計算體系結構日益流行,它非常適合企業(yè)計算的需求。很多領域都正在采用網(wǎng)格計算解決方案來解決自己關鍵的業(yè)務需求,例如:
??? ·金融服務已經(jīng)廣泛地采用網(wǎng)格計算技術來解決風險管理和規(guī)避問題。
??? ·自動化制造業(yè)使用網(wǎng)格解決方案來加速產(chǎn)品的開發(fā)和協(xié)作。
??? ·石油公司大規(guī)模采用網(wǎng)格技術來加速石油勘探并提高成功采掘的幾率。
??? ·隨著網(wǎng)格計算的不斷成熟,該技術在其他領域技術的應用也會不斷增加。
??? 從這個特征定義上來說,網(wǎng)格計算與其他所有的分布式計算范例都有所區(qū)別:網(wǎng)格計算的本質在于以有效且優(yōu)化的方式來利用組織中各種異構松耦合資源,來實現(xiàn)復 雜的工作負載管理和信息虛擬化功能。(注意,一個組織可能會跨越很多部門、物理位置等。我們此處使用的是 “組織” 一詞的抽象意義。)
??? 上一段提到的特征怎么將網(wǎng)格計算與其他分布式模型區(qū)分開來呢?這就是我們在本文中希望解答的問題 —— 我們不是展望網(wǎng)格的未來,而是探索一下網(wǎng)格的起源,并了解網(wǎng)格技術是如何逐漸成熟的,然后闡述網(wǎng)格技術與其他分布式計算解決方案(例如 P2P 和 CORBA)之間的區(qū)別。我們將通過對網(wǎng)格概念與最流行的分布式計算解決方案進行對比來探索這個問題。首先,我們來理解一下網(wǎng)格計算的價值。
??? 為什么要進行網(wǎng)格計算?
??? 在過去幾年中,隨著對自己在信息技術方面投資的重新審視,很多工作公司都得出這樣一個結論:最重要的事情是更充分地利用已有的計算資源。因此,利用率的重要性就不斷增加。從有限的 IT 預算中榨取更多功能已經(jīng)很有必要。
??? 另外,分布式企業(yè)中出現(xiàn)一個廣泛的需求:要求能夠將有限的資源智能地 分配給適當?shù)臉I(yè)務應用程序。這種技術為企業(yè)提供了一定的靈活性,形式可能是對資源重新進行分發(fā),來解決新的市場問題;也可能是讓業(yè)務應用程序可以更好地服務于迅速變化的現(xiàn)有客戶。
??? 從制造業(yè)來看 —— 它們將自己的大部分資源都投入到了利潤最高的產(chǎn)品中 —— 工作負載管理的目標是將計算資源分配給最重要的應用程序。我們稱之為工作負載優(yōu)化(workload optimization)。這是一個非常有吸引力的概念,不過它可以表示很多業(yè)務轉換的挑戰(zhàn)。例如,我們?nèi)绾未_定企業(yè)中到底是哪些東西構成了組件或組織 上最重要的工作呢?
??? 現(xiàn)在,這種概念所產(chǎn)生的潛在生產(chǎn)力和與向工作負載優(yōu)化轉化的趨勢相關的商業(yè)利益都仍然如此巨大,因此這個概念還不可能被丟棄。網(wǎng)格計算背后的思想是解決平衡和重新分配現(xiàn)有 IT 資源所需要的壓力。接下來,我們來看看這些思想和概念的起源。
??? 網(wǎng)格計算的起源
??? 與 Internet 類似,學術機構在開發(fā)構成網(wǎng)格計算基礎的第一代技術和架構時,也走在了最前面。很多機構,例如 Globus Alliance、China Grid 和 e-Science Grid 核心程序,都是第一批開始孵化并培育網(wǎng)格解決方案使其不斷成熟并適用于商業(yè)解決方案的地方。
??? 網(wǎng)格誕生于那些非常需要進行協(xié)作的研究和學術社區(qū)。研究中非常重要的一個部分是分發(fā)知識的能力 —— 共享大量信息和幫助創(chuàng)建這些數(shù)據(jù)的計算資源的效率越高,可以實現(xiàn)的協(xié)作的質量就越好,協(xié)作級別也越廣泛。
??? 在商業(yè)領域也存在這樣需要分發(fā)知識能力的一種類似情況。網(wǎng)格計算也可以解決這些需求,這是由于在 Web 服務標準的推動下,業(yè)務過程和事務的集成的重要性繼續(xù)提高。隨著商業(yè)網(wǎng)格計算的繼續(xù)采用,(例如由 Global Grid Forum(即 GGF)之類的組織提出)標準會使從實際需求到商業(yè)應用程序都會受益。
??? 目前,網(wǎng)格計算從學術界基于標準的技術的早期界定和開發(fā)中獲益良多,這些標準可以滿足商業(yè)業(yè)務所需要的更實際、更穩(wěn)健的實現(xiàn)需求。我們沒有理由去猜測這種協(xié)同趨勢會隨著網(wǎng)格計算的不斷成熟而沒落。
??? 網(wǎng)格填充了一個重要的空白
??? 在過去幾年中,網(wǎng)格處理能力(網(wǎng)格每秒可以處理的位數(shù))和微處理器的速度(它依賴于每個集成電路中晶體管的數(shù)量)之間出現(xiàn)了一個巨大的差距,如圖1 所示。
??? 圖1. 摩爾定律與存儲發(fā)展、光纖發(fā)展的比較
??? 正如圖中所示的一樣,網(wǎng)絡處理能力現(xiàn)在每 9 個月就會翻一倍,而在歷史上這種增長曾經(jīng)一度非常緩慢。摩爾定律指出每個集成電路中晶體管中的數(shù)量每 18 個月就會翻一倍。這樣就出現(xiàn)了一個問題。與網(wǎng)絡能力的發(fā)展相比,處理器的發(fā)展速度(摩爾定律)要慢很多。
??? 如果您接受這樣一個前提:關鍵的網(wǎng)絡技術現(xiàn)在正以比微處理發(fā)展速度更快的速度發(fā)展,為了利用網(wǎng)絡的優(yōu)點,我們需要另外一種更有效利用微處理器的方法。這個新觀點改變了歷史上網(wǎng)絡與處理器成本之間的平衡。類似的討論同樣適用于存儲設備。
??? 網(wǎng)格計算就是解決這種差距的手段,它通過將分布式資源綁定在一起構成一個單一的虛擬計算機從而改變了資源之間的平衡。這個資源豐富的虛擬計算機以及應用程 序加速所帶來的優(yōu)點(從幾周變成幾天,從幾天變成幾小時,從幾小時變成幾分鐘,依此類推)為商業(yè)業(yè)務邏輯提供了一個誘人的前景(不過這也可能會需要在通信 業(yè)務實踐中作出重大的變化,以價格變化最為突出)。
??? 現(xiàn)在我們已經(jīng)介紹了網(wǎng)格計算的起源,并給出了一個例子來證明它的重要性,接下來我們將對其與其他分布式計算概念(集群計算、CORBA、DCE 和 P2P)進行比較,這樣就可以強化我們的網(wǎng)格知識基礎。
網(wǎng)格與集群計算的區(qū)別
??? 集群計算實際上不能真正地被看作是一種分布式計算解決方案。不過對于理解網(wǎng)格計算與集群計算之間的關系是很有用的。通常,人們都會混淆網(wǎng)格計算與基于集群的計算這兩個概念,但實際上這兩個概念之間有一些重要的區(qū)別。
??? 網(wǎng)格是由異構資源組成的。集群計算 主要關注的是計算資源;網(wǎng)格計算 則對存儲、網(wǎng)絡和計算資源進行了集成。集群通常包含同種處理器和操作系統(tǒng);網(wǎng)格則可以包含不同供應商提供的運行不同操作系統(tǒng)的機器。(IBM、 Platform Computing、DataSynapse 和 United Devices 提供的網(wǎng)格工作負載管理軟件都可以將工作負載分發(fā)到類型和配置不同的多種機器上。)
??? 網(wǎng)格本質上就是動態(tài)的。集群包含的處理器和資源的數(shù)量通常都是靜態(tài)的;而在網(wǎng)格上,資源則可以動態(tài)出現(xiàn)。資源可以根據(jù)需要添加到網(wǎng)格中,或從網(wǎng)格中刪除。
??? 網(wǎng)格天生就是在本地網(wǎng)、城域網(wǎng)或廣域網(wǎng)上進行分布的。通常,集群物理上都包含在一個位置的相同地方;網(wǎng)格可以分布在任何地方。集群互連技術可以產(chǎn)生非常低的網(wǎng)絡延時,如果集群距離很遠,這可能會導致產(chǎn)生很多問題。
??? 網(wǎng)格提供了增強的可擴展性。物理臨近和網(wǎng)絡延時限制了集群地域分布的能力;由于這些動態(tài)特性,網(wǎng)格可以提供很好的高可擴展性。
??? 例如,最近 IBM、United Devices 和多個生命科學合作者完成了一個設計用來研究治療天花的藥品的網(wǎng)格項目。這個網(wǎng)格包括大約兩百萬臺個人計算機。使用常見的方法,這個項目很可能需要幾年的 時間才能完成 —— 但是在網(wǎng)格上它只需要 6 個月。設想一下如果網(wǎng)格上已經(jīng)有兩千萬臺 PC 會是什么情況。極端地說,天花項目可以在分鐘級內(nèi)完成。
??? 集群和網(wǎng)格計算是相互補充的。很多網(wǎng)格都在自己管理的資源中采用了集群。實際上,網(wǎng)格用戶可能并不清楚他的工作負載是在一個遠程的集群上執(zhí)行的。盡管網(wǎng)格 與集群之間存在很多區(qū)別,但是這些區(qū)別使它們構成了一個非常重要的關系,因為集群在網(wǎng)格中總有一席之地 —— 特定的問題通常都需要一些緊耦合的處理器來解決。
??? 然而,隨著網(wǎng)絡功能和帶寬的發(fā)展,以前采用集群計算很難解決的問題現(xiàn)在可以使用網(wǎng)格計算技術解決了。理解網(wǎng)格固有的可擴展性和集群提供的緊耦合互連機制所帶來的性能優(yōu)勢之間的平衡是非常重要的。
??? 網(wǎng)格還是 CORBA?
??? 對于所有的分布式計算環(huán)境來說,CORBA 與網(wǎng)格計算表面的相似性可能比其他技術都要多。這是由于開放網(wǎng)格服務架構(OGSA)中網(wǎng)格計算和 Web 服務之間的策略關系所決定的。它們都是基于面向服務架構(SOA)的概念。CORBA 是很多任務關鍵的應用程序的骨干,從 1991 年創(chuàng)建以來不斷發(fā)展成熟。在很多方面,CORBA 都是今天 Web(網(wǎng)格)服務的先驅。它提供了一個重要的基礎,就像是幾年之后 Java? Remote Method Invocation(RMI)的地位一樣。
??? 例如,Boeing 在自己的 DCAC/MRM(Define and Control Airplane Configuration/Manufacturing Resource Management 的縮寫)應用程序中使用了基于 CORBA 的解決方案,尤其是管理商業(yè)飛機所采用的零部件配置和目錄部分的應用程序更是如此(噴氣式客機有很多零部件)。Peter Coffee 是 e-Week 的一名技術編輯,他最近分析說新 Cunard Queen Mary 2 遠洋航線中所有的操作都是由 CORBA 支持的。
??? CORBA 與網(wǎng)格計算之間的主要區(qū)別是 CORBA 假定是面向對象的(畢竟,這是名字中的一部分),但是網(wǎng)格計算沒有采用這種假定。在 CORBA 中,每個實體都是一個對象,可以支持諸如繼承和多態(tài)之類的機制。在 OGSA 中,存在一些與對象非常類似的概念,但是這并沒有假定架構中有面向對象的實現(xiàn)。架構是面向消息的;面向對象是一個實現(xiàn)概念。然而,在 WSRF(Web Services Resource Framework)中使用形式定義語言(例如 WSDL,Web Services Definition Language)就意味著接口和交互操作都與 CORBA 中的定義一樣,它們共享一個主要軟件工程的優(yōu)點,同時可以采用面向對象的設計呈現(xiàn)。
??? 另外一點區(qū)別是網(wǎng)格計算(OGSA)是在 Web 服務的基礎上進行構建的。CORBA 與 Web 服務進行了集成,并與 Web 服務進行交互操作。CORBA 的一個問題是它假設了太多的 “端點”,這通常是參與 CORBA 環(huán)境的所有機器(客戶機和服務器)。供應商的 CORBA 實現(xiàn)中也存在交互操作的問題,CORBA 節(jié)點之間在 Internet 上如何操作的問題,以及端點如何命名的問題。這意味著所有的機器都必須遵守特定的規(guī)則和特定的方法,只有這樣 CORBA 才能正常工作(所有這些都假設采用與 IDL、IOR 和 IIOP 類似的協(xié)議)。在構建高可用、緊耦合、預編譯的系統(tǒng)時,這是一種比較合適的方法。
??? 然而,在 CORBA 執(zhí)行作業(yè)的方式和 Internet 方法之間缺少協(xié)作能力。CORBA 的確為 Web 服務標準的創(chuàng)建提供了靈感 —— 人們非常喜歡 CORBA 基礎所提供的功能,并開始建立諸如 XML、WSDL、SOAP 之類的標準。他們通過在開放的 Internet 基礎上構建 Web 服務對 CORBA 的交互操作能力和靈活性問題進行了改進,這種方法在服務請求者和服務之間采用的是松耦合和延后綁定技術。為了實現(xiàn)這種改進,OGSA 增加了一種 “軟狀態(tài)” 方法來進行容錯。這些正是它們的設計目標。
??? Web 服務架構是一個面向服務的架構,CORBA 也是。不過 CORBA 的目標不同 —— 它被設計用來構建相當封閉的集成系統(tǒng)。
??? DCE 如何?
??? 顧名思義,分布式計算環(huán)境(DCE)與其說是一個架構,還不如說是一個環(huán)境,二者之間有一個重要的區(qū)別。DCE 可以定義為一個設計用來促進分布式計算的緊密集成的技術集;網(wǎng)格計算(以 OGSA 的格式)不僅僅是一個設計用來封裝分布式計算眾多復雜機制的架構。
??? 正如我們在對 CORBA 的介紹中看到的一樣,在 DCE 中我們也可以看到緊耦合與松耦合方法之間的區(qū)別。DCE 技術包括安全性技術(DCE ACL 或 Access Control Lists)、對象和組件技術(DCE 分布式對象)、文件系統(tǒng)(DFS 或 Distributed File System)以及一個目錄定義(DCE 注冊項) —— 實際上,OGSA 可以在很多 DCE 技術基礎上工作。
??? 例如,網(wǎng)格安全協(xié)議可以采用 GSI(Grid Security Infrastructure)格式,也可以采用適當?shù)?Web 服務標準格式,可以用來與 DCE ACL 進行交互。很多網(wǎng)格應用程序都利用底層的 DFS(或其前輩 AFS,Andrew File System)。核心網(wǎng)格注冊服務可以利用 DCE 注冊項。
??? 盡管這些技術大部分都被認為是服務,但是 DCE 與其說是一個面向服務的架構,還不如一組技術的集合。它對于 SOA 環(huán)境中構建應用程序的支持是有限的,因為 DCE 主要是通過采用一些塊來構建分布式應用程序,但是并不需要去構建分布式的面向服務的應用程序。
??? 網(wǎng)格計算與 DCE 之間另外一點重要的區(qū)別也與 CORBA 有關:OGSA 網(wǎng)格計算定義了以下 3 類服務:
??? ·網(wǎng)格核心服務
??? ·網(wǎng)格數(shù)據(jù)服務
??? ·網(wǎng)格程序執(zhí)行服務
??? CORBA、DCE 和 Java RMI 并不會特別關注數(shù)據(jù)(DFS 之外的數(shù)據(jù))或程序執(zhí)行服務,因為這些技術都是遠程過程調用(RPC)系統(tǒng)所必需的。(RPC 是一種協(xié)議,應用程序可以使用這種協(xié)議向網(wǎng)絡中另外一臺機器上的一個程序請求提供服務,而無需理解網(wǎng)絡的詳細信息。這是一個同步 操作,需要請求程序一直掛起等待遠程過程返回結果,除非您使用了共享相同地址空間的輕量級進程(lightweight processe)。在網(wǎng)格核心服務(以及 WSRF)中定義和實現(xiàn)的很多服務都與 DCE 和 CORBA 中的基本服務類似。但是數(shù)據(jù)和程序執(zhí)行服務是網(wǎng)格計算所特有的。
??? 最后,我們對網(wǎng)格計算和 CORBA 與 Web 服務標準的關系所總結的區(qū)別也同樣適用于 DCE。同樣,我們在 Web 服務中所看到的很多改進都得益于使用諸如 DCE 和 CORBA 之類優(yōu)秀分布式系統(tǒng)的經(jīng)驗。
最后來看一下 P2P
??? 諸如 KaZaA —— 由于一些版權問題,它總是以大字標題的形式出現(xiàn) —— 之類的應用程序是最近吸引人們對點對點(P2P)計算的注意的主要原因。不過這種技術本身展示了一些有趣的分布式特性,如果在網(wǎng)格環(huán)境中使用這些特性,很多都會非常有用。
??? 首先,P2P 系統(tǒng)的特點是缺少集中管理點;這使它非常適合于提供匿名服務,或者提供一些反跟蹤保護機制。另一方面,網(wǎng)格環(huán)境通常都有某種形式的集中管理和安全性(例如,資源管理和工作負載調度)。
??? P2P 環(huán)境中這種沒有集中點的特性引發(fā)了兩個重要結果:
??? P2P 系統(tǒng)的可擴展性通常都比網(wǎng)格計算系統(tǒng)好。即使我們要在響應能力的控制和分布之間達成某種平衡時,網(wǎng)格計算系統(tǒng)也天生不如 P2P 系統(tǒng)的可擴展性好。
??? P2P 系統(tǒng)容忍單點失效的能力通常比網(wǎng)格計算系統(tǒng)更好。盡管網(wǎng)格比緊耦合的分布式系統(tǒng)的彈性更好,但是網(wǎng)格不可避免地要包含一些可能成為單點故障的關鍵元素。
??? 這意味著構建網(wǎng)格計算系統(tǒng)的關鍵是在分散與管理能力之間達成某種平衡 —— 這可不是件簡單的事情。
??? 另外,網(wǎng)格計算的一個重要特性是資源都是動態(tài)的;在 P2P 系統(tǒng)中,資源的動態(tài)性天生就比網(wǎng)格計算系統(tǒng)更好,資源出現(xiàn)和消失的變化比網(wǎng)格中更快。對于 P2P 和網(wǎng)格計算系統(tǒng)來說,分布式資源的利用率是一個主要目標。給定一定的計算資源,這兩種系統(tǒng)都可以盡可能地對這些資源進行使用。
??? 這兩個系統(tǒng)之間最后一點區(qū)別是標準:與網(wǎng)格領域中的標準相比,在 P2P 中通常缺少標準。另外,有了諸如 Global Grid Forum 之類的實體,網(wǎng)格領域就有了一種機制來重新定義現(xiàn)有的標準并建立新標準。
??? 基于網(wǎng)格和 P2P 系統(tǒng)提供的互補優(yōu)點,我們可以期望這兩種方法最終會殊途同歸,尤其是當網(wǎng)格達到 “網(wǎng)格間” 的開發(fā)階段時,屆時這兩種技術都將成為一些公共工具。
??? 充分利用數(shù)據(jù)
??? 我們已經(jīng)介紹了網(wǎng)格計算的組件和起源,并解釋了它在基于 Web 服務的企業(yè)級應用程序中的重要性,并對網(wǎng)格計算與其他 4 種主要分布式計算系統(tǒng)之間的異同進行了簡要的分析。
??? 幾乎每個組織現(xiàn)在都有很多廣泛分布的未用計算能力。虛擬化 —— 網(wǎng)格計算背后的驅動力 —— 可以幫助我們利用這些尚未使用的計算能力,IBM 參與虛擬內(nèi)存、虛擬存儲和虛擬處理器技術已經(jīng)有很長的時間了。但是它并不僅僅是為客戶創(chuàng)建這些技術。
??? IBM 的 intraGrid 是基于 Globus 的,這是一個研究和開發(fā)網(wǎng)格,讓 IBM 可以充分利用自己全球的資產(chǎn)進行研究,另外它還為公司內(nèi)部的開發(fā)人員提供了機會來理解企業(yè)級規(guī)模的網(wǎng)格中的實際問題和管理復雜性。IBM 在公司中還使用了很多個組織網(wǎng)格,包括設計中心為隨需應變業(yè)務所使用的網(wǎng)格,這使得 IBM 可以像一個實體一樣對設計中心進行管理。
?
總結
以上是生活随笔為你收集整理的网格计算——下一代分布式计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue 中使用Pug
- 下一篇: 获取A股行情数据方法