典型分布式计算技术的分析和比较
分布式處理,并行計算,網格計算,虛擬化
摘? 要? 本文對分布式計算技術的工作原理和幾種典型的分布式計算技術,如中間件技術、網格技術、移動Agent技術、P2P技術以及最近推出的Web Service技術進行了分析和比較,介紹了存儲整合在分布式計算技術中的應用,指出了其存在的一些問題。
關鍵詞? 分布式計算;中間件;網格;移動Agent; P2P;Web Service;存儲整合
?
1? 概述
不 同的人對于分布式計算的理解是不同的,我們可以用不同的方式定義分布式計算的具體含義。其中一種較為普遍的定義就是,分布式計算就是利用網絡把成 千上萬臺計算機連接起來,組成一臺虛擬的超級計算機,并利用它們的空閑時間和存儲空間來完成單臺計算機無法完成的超大規模計算事務的求解。分布式計算的最 早形態出現在80年代末的Intel公司。隨著Internet的迅速發展和普及,分布式計算的研究在 90年代后達到了高潮。Internet技術實現了計算機硬件的連通,Web則實現了網頁的連通,而分布式計算技術的目標就是實現Internet上所有 資源的全面連通。它要把整個Internet整合成一臺巨大的超級計算機,實現計算資源、通信資源、軟件資源、信息資源、知識資源的全面共享,為現代信息 技術開創一個新的紀元。
分布式計算研究主要集中在分布式操作系統和分布式計算環境研究兩個方面。但隨著Internet技術的飛速發展, 分布式計算的研究熱點也從以分布式操作系統為中心的傳統模式轉換到以網絡計算平臺為中心的實用分布式技術, 并取得了較大的成功。此外,在過去的20 多年間也涌現出了大量的分布式計算技術,如中間件技術、網格技術、移動Agent技術、P2P技術以及最近推出的Web Service技術,它們在特定的范圍內都得到了廣泛的應用。但是,現有的分布式計算技術都存在著一些沒有解決的問題,從而也影響了 分布式計算技術的使用和普及。本文力爭通過介紹分布式計算技術的工作原理,以及對幾種典型的分布式計算技術的分析和比較,來發現它們共同面臨的一些問題。 除此之外,還簡要介紹了一下存儲整合對解決分布式計算中出現的一些問題所起到的作用。最后對分布式計算技術的發展方向進行了探討。
下面就讓我們來看一下分布式計算技術的工作原理。
2? 分布式計算技術的工作原理
要想實現分布式計算,首先就要滿足三方面的條件:
第一、計算機之間需要能彼此通信;
第二、需要有實施的“交通”規則(例如,決定誰第一個通過,第二個做什么,如果某事件失敗會發生什么情況等);
第三、計算機之間需要能夠彼此尋找。
只有滿足了這三點,分布式計算才有可能實現。
目 前,一個分布式網絡體系結構包括了安裝了超輕量軟件代 理客戶端系統,以及一臺或多臺專用分布計算管理服務器。此外,還會不斷有新的客戶端申請加入分布式計算的行列。當代理程序探測到客戶端的CPU處于空閑 時,就會通知管理服務器此客戶端可以加入運算行列,然后就會請求發送應用程序包。客戶端接收到服務器發送的應用程序包之后,就會在機器的空閑時間里運行該 程序,并且將結果返回給管理服務器。應用程序會以屏保程序,或者直接在后臺運行的方式執行,不會影響用戶的正常操作。當客戶端需要運行本地應用程序的時 候,CPU的控制權會立即返回給本地用戶,而分布式計算的應用程序也會中止運行。
3? 幾種分布式計算技術
3.1? 中間件技術
中 間件是基礎軟件,是分布式系統中介于應用層和網絡層的一個功能層次,它能夠屏蔽操作系統(或網絡協議)的差異,實現分布式異構系統之間的互操作。 分布式 應用軟件借助這種軟件在不同的技術之間共享資源。中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。它擴展了C/S結構,形成了一個包括客 戶端、中間件和服務器的多層結構。基于中間件分布式系統的體系結構如圖1所示。
基于中間件的分布式計算技術以中間件為橋梁,通過把數據轉移到計算之處的計算方式,把網絡系統的所有組件集成為一個連貫的可操作的異構系統,從而達到網絡“透明”的目的。
早 期的中間件比較簡單,僅具有消息通訊和事務管理功能。但隨著需求的多樣化,也產生了許多不同類別的中間件產品,如:消息中間件(MOM :Message-Oriented Middleware)、數據庫中間件(Database Middleware)、遠程過程調用中間件(RPC :Remote Process Call)、對象請求代理中間件(ORB :Object Request Broker)和事務處理中間件(TP Monitor:Transaction Process Monitor)。
?
圖1 中間件技術
?
3.2? 網格技術
網 格計算是通過Internet把分散在各處的硬件、軟件、信息資源連結成為一個巨大的整體,從而使得人們能夠利用地理上分散于各處的資源,完成各 種大規 模的、復雜的計算和數據處理的任務。網格計算建立的是一種新型的Internet基礎支撐結構,目標是將與Internet互聯的計算機設施社會化。網格 計算的發展非常迅速,數據網格、服務網格、計算網格等各種網格系統在全球范圍內得到廣泛的研究和實施。網格計算無疑是分布式計算技術通向計算時代的一個非 常重要的里程碑。
網格的體系結構是有效進行網格計算的重要基礎,到目前為止比較重要的網格體系結構有兩個: 一個是以Globus項目為代表的五層沙漏結構,它是一個以協議為中心的框架;另一個是與Web服務相融合的開放網格服務結構OGSA(Open Grid Services Architecture),它與Web 服務一樣都是以服務為中心。但是,所有的網格系統都有這樣一個基本的、公共的體系結構:資源層、中間件層和應用層。
(1)網格資源層:它是構成網格系統的硬件基礎。包括Internet各種計算資源,這些計算資源通過網絡設備連接起來。
(2)網格中間件層:它是一系列工具和協議軟件。其功能是屏蔽資源層中計算資源的分布、異構特性,向網格應用層提供透明、一致的使用接口。
(3)網格應用層:它是用戶需求的具體體現。在網格操作系統的支持下,提供系統能接受的語言、Web 服務接口、二次開發環境和工具,并可配置支持工程應用、數據庫訪問的軟件等。
3.3? 移動Agent技術
目前還沒有一個關于移動Agent的確切定義,我們一般認為移動Agent是一類能在自己控制之下從一臺計算機移動到另一臺計算機的自治程序,它們能為分布式應用提供方便的、高效的執行框架。
移 動Agent是一類特殊的軟件Agent,可以看成是軟件Agent技術與分布式計算技術相結合的產物,它除了具有軟件Agent的基本特性 ——自治性、響應性、主動性和推理性外,還具有移動性,即它可以在網絡上從一臺主機自主地移動到另一臺主機,代表用戶完成指定的任務。由于移動Agent 可以在異構的軟、硬件網絡環境中自由移動,因此這種新的計算模式能有效地降低分布式計算中的網絡負載、提高通信效率、動態適應變化的網絡環境,并具有很好 的安全性和容錯能力。但目前,所有的移動Agent系統還都很不成熟,存在著各種各樣的缺陷。所以,我們可以把目前的眾多Agent系統看成是實驗室系 統,它們離真正實用的產品還有很大的距離。
3.4? P2P技術
P2P 系統由若干互聯協作的計算機構成,是Internet上實施分布式計算的新模式。它把C/S與B/S系統中的角色一體化,引導網絡計算模式從集中式向分布 式偏移,也就是說網絡應用的核心從中央服務器向網絡邊緣的終端設備擴散,通過服務器與服務器、服務器與PC機、PC機與PC機、PC機與WAP手機等兩者 之間的直接交換而達成計算機資源與信息共享。
此外一個P2P系統至少應具有如下特征之一:第一、系統依存于邊緣化(非中央式服務器)設備的主動協 作,每個成員直接從其他成員而不是從服務器的參 與中受 益;第二、系統中成員同時扮演服務器與客戶端的角色;第三、系統應用的用戶能夠意識到彼此的存在,構成一個虛擬或實際的群體。P2P技術已發展為一種重要 的分布式計算技術,典型代表就是Napster。
3.5? Web Service技術
Web Service技術是對Web進行擴展,為相互間連接的軟件提供服務。Web Service技術是一種分布式應用程序,它可以通過編程并使用標準的Internet協議,像HTTP和XML ,將功能展示在互聯網和企業網內部。Web Service結合了以組
件 為基礎的開發模式以及Web的出色性能,一方面,Web Service和組件一樣,具有黑匣子的功能,可以在不關心功能如何實現的情況下重用;同時,與傳統的組件技術不同,Web Service可以把不同平臺開發的不同類型的功能塊集成在一起,提供相互之間的互操作。
我們也可以認為Web Service技術是以Internet為載體,通過將緊密連接的、高效的n層計算技術與面向消息、松散聯接的Web概念相結合來實現的。Web服務是一 種構建在簡單對象訪問協議(SOAP)之上的分布式應用程序,其實質是由XML通過HTTP 協議來調度的遠過程調用。實現Web服務的體系結構如圖2所示。
圖2 Web Service技術
?
我 們說Web Service技術是新一代的分布式計算和處理技術,主要是因為它在Internet 上表現出來的高度擴展性。原有的中間件平臺技術都是基于C/S體系結構,這要求兩端必須是同質的而且是緊密聯接的基礎體系,如果任何一端接口發生變化,另 一端的程序必然會中斷。這種模型擴展性是較差的,特別是無法擴展到Internet ,這是受限于計算機操作系統、對象模型和編程語言的差異性;而Web Service技術是跨平臺的,聯接非常松散,采用的是性能穩定的、基于消息的異步技術,在改變任何一端接口的情況下,應用程序仍可以不受影響地工作。它 為集成分布式應用中的中間件及其它組件提供了一個公共的框架,無須再考慮每一個組件的具體實現方式。
3.6? 幾種技術的比較
Web Service技術的體系結構與基于中間件分布式系統的體系結構相比,發現它們是非常相似的,可以把體系結構中的Web程序看作中間件。從結構上來 看,Web服務只是從側面對中間件平臺技術進行革新,雖然所有服務之間的通信都以XML格式的消息為基礎,但調用服務的基本途徑主要還是RPC,而且具體 實現并沒有提供一種全新的編程模式。
網格技術與基于中間件的分布式計算技術相比較,它依然以“中間件”為技術核心,在實現形式上并沒有太大的改 變。然而經過一系列的技術革新,網格系統 中的技 術內涵已經發生了深刻的變化。其一,基于中間件的分布式計算技術的資源主要是指數據和軟件,而網格計算的資源已經延伸到所有用于共享的實體,包括硬件、軟 件,甚至分布式文件系統、緩沖池等;其二,在Internet上,網格中間件層提供了與Web服務一樣優秀的擴展功能,打破了傳統分布式技術C/S模式的 局限。
網格計算、Web Service等技術在異構平臺上構筑了一層通用的、與平臺無關的信息和服務交換設施,從而屏蔽了Internet中千差萬別的差異,使信息和服務暢通無 阻地在計算機之間流動。網格計算與Web Service技術的共同載體是Internet。但兩者的不同之處在于,網格系統連接物理上分散的硬件資源,形成虛擬計算組織,從而使計算資源得到充分 共享。而Web服務則是以商務應用為背景,是基于網格系統之上的。網格系統為Web服務提供一個與硬件無關的虛擬計算機;而Web服務是架構在虛擬計算機 平臺上,與環境、語言無關的應用集成平臺。
盡管各種分布式計算技術在理念、規范和實現等方面有較大的差異,但它們之間并不矛盾,而是一種承上啟下的關系,有時甚至是融合的。因此,各種分布式計算技術可以共同存在, 它們的相互結合也是非常有意義和現實的。
4? 存儲整合
因 為分布式計算模式的核心常常是每個部門選擇各自不同的電腦系統,這樣就會造成由于數據格式的不統一所導致的管理困難,其次管理分布式計算中所用的 大量存儲設備所需的費用也是一筆龐大的開支。這些都有悖于分布式計算技術的初衷。所以,存儲整合對分布式計算技術的發展起著不可低估的作用。
存儲整合是指多個異構型主機共享集中式存儲。針對不同的環境和要求,有許多不同的整合方法,但主要有以下三種形式:
(1)從存儲在多個服務器上轉變為存儲在單個服務器上。此模式可以降低管理工作的復雜性和對數據中心占地面積的要求;
(2)直接將多個異構型服務器附加到一個存儲設備上。此模式極大降低了存儲成本,同時也可以簡化管理;
(3)整合到存儲局域網上(SAN)。此模式既有利于提高工作效率,降低管理工作的復雜性,同時還可以提高可擴展性,可用性和數據可訪問性。
所以,在分布式計算技術越來越得到廣泛應用的今天,存儲整合技術也顯示出它重要的地位。
5? 共同存在的問題
通過上面對幾種技術的分析和比較,我們不難發現它們均存在著一些共同的問題。
(1)標準問題
目前,幾乎所有的分布式計算技術都沒有完整的統一的標準,雖然已開始這方面的工作,標準的缺乏使得分布式計算技術研究分散,很難形成穩定的研究方向,從而在很大程度上制約了分布式計算技術的發展。
(2)軟件方法問題
??? 軟件方法學是軟件能夠進行工業化生產的前提。但缺乏可行的軟件方法學使得分布式計算軟件的質量、開發進度等很難得到保證,沒有工業化生產方式,分布式計算系統的普及將十分困難。
(3)異構問題
現 在的網絡是一個異構的環境,分布式計算技術首先需要解決異構環境的互操作問題。而要解決異構環境的互操作問題,首要的任務是如何互相識別。目前, 既不可能要求所有的資源用同一種方式描述,又沒有方法可智能地識別這些資源,這就導致任何一種分布式計算技術只能在一定的范圍內使用。
(4)安全性問題
分布式計算技術面臨的最大挑戰就是不斷增長的網絡規模,整個平臺的安全性方面的問題就會極為嚴重。
6? 展望
隨 著Internet上的硬件、軟件、數據庫等資源急速膨脹,其關聯關系不斷發生變化,但是到目前為止,所有這些資源的共享和社會化 程度還很低,基本上是各自為政,相互間缺乏有效的交互、協作與協同能力。因此要創建大型的、松散的、健壯的分布式系統還必須以先進技術和大量勞動為基礎, 除了各種資源本身的技術和管理之外,關鍵的因素是標準的建立,從底層信號的傳輸到復雜業務的流程等各種不同的層次都要形成統一的標準。此外到目前為止,所 有的分布式計算技術都或多或少存在沒有解決的問題,還沒有哪一種技術被所有的研究者認同為分布式計算技術研究的方向,也沒有哪一種技術能實現完全意義上的 分布式計算,滿足所有分布式計算的需求。
所以對多種現有分布式計算技術的綜合研究,吸取所有技術的優點,合理地解決分布式計算的需求,越來越被人們所重視。從某種意義上說它也表明了今后分布式計算技術研究的方向。
參考文獻
[1] Middleware white paper.International Systems Group,Inc,1997.2
[2] 都志輝,陳 渝,劉 鵬,等. 網格計算
---. 北京:清華大學出版社,2002.
[3] Foster I , Kesselman C , Nick J ,et al .Grid Services for Distributed System Integration[J ] . Computer ,2002 ,35 (6) :37-46.
[4] Tbai T ,Lam H Q. .NET 框架精髓. 王敏之譯. 北京:中國電力出版社,2001.
[5] 胡道元.計算機網絡(高級) [M ]. 北京: 清華大學出版社,1999.
[6] 王柏,王紅熳,鄒華. 分布計算環境
- . 北京:北京郵電大學出版社,2000.
[7] IBM Web Services Architecture team . Web Services architecture overview.
總結
以上是生活随笔為你收集整理的典型分布式计算技术的分析和比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows10下用PowerShel
- 下一篇: jdk8新特性-Lambda表达式,方法