本篇文章是由《通信技術》發表的電子網絡論文,雜志1967年創刊,是國內創辦時間長、影響大的計算機專業媒體,2004版中文核心期刊。主要報道信源處理、傳輸、業務與系統、網絡、移動通信、信息安全等方面的先進技術、理論研究成果和最新動態。
【摘 要】隨著計算機網絡的出現,分布式計算成為可能。當用戶需要完成任何任務時,分布式計算提供對盡可能多的計算機能力和數據的透明訪問,同時實現高性能與高可靠性的目標。文章針對分布式系統的定義、應用、標準以及在如何構建基于志愿者計算的分布式系統上,給出了觀點,并進行了分析。
【關鍵詞】分布式系統;網絡:志愿者計算
一、前言
在20世紀50年代,計算機是串行處理機,一次運行一個作業直至完成。這些處理機通過一個操作員從控制臺操縱,而對于普通用戶則是不可訪問的。在60年代,需求相似的作業作為一個組以批處理的方式通過計算機運行以減少計算機的空閑時間。同一時期還提出了其他一些技術,如利用緩沖、假脫機和多道程序等的脫機處理。70年代產生了分時系統,不僅作為提高計算機利用率的手段,也使用戶離計算機更近了。分時是邁向分布式系統的第一步:用戶可以在不同的地點共享并訪問資源。80年代是個人計算的10年;人們有了他們自己專用的機器。
隨著基于微處理器的系統所提供的出色的性能/價格比和網絡技術的穩步提高,一個新的夢想成為可能一分布式計算。當用戶需要完成任何任務時,分布式計算提供對盡可能多的計算機能力和數據的透明訪問,同時實現高性能與高可靠性的目標。在過去的10年里,人們對分布式計算系統的興趣迅猛發展。有關分布式計算的主題是多種多樣的,許多研究人員正在研究關于分布式硬件結構和分布式軟件設計的各方面問題以開發利用其潛在的并行性和容錯性。
二、分布式系統定義
當討論分布式系統時,我們面臨許多以下這些形容詞所描述的不同類型:分布式的、網絡的、并行的、并發的和分散的。分布式處理是一個相對較新的領域,所以還沒有一致的定義。與順序計算相比、并行的、并發的和分布式的計算包括多個PE間的集體協同動作。這些術語在范圍上相互覆蓋,有時也交換使用。
●“并行的”意味著從一個單一控制線程對數據集的鎖步(10ckstep)動作。在并行計算機級別上,單指令流多數據流(slMD)計算機就是一個使用多個數據處理單元在許多數據項上同時進行相同或相似操作的例子。
●“并發的”意味著某些動作可以以任意次序執行。例如,在更高級別上和在多指令流多數據流(MIMD)并行計算機上進行部分獨立的操作。
●“分布式的”意味著計算的成本或性能取決于數據和控制的通信。
如果一個系統的部件局限在一個地方,它就是集中式的;如果它的部件在不同地方,部件之間要么不存在或僅存在有限的合作,要么存在緊密的合作,它是分散式的。當一個分散式系統不存在或僅存在有限的合作時,它就被稱作網絡的;否則它就被稱作分布式的,表示在不同地方的部件之間存在緊密的合作。在給出分布式系統具體定義的模型中,分布式系統可以用硬件、控制、數據這三個維度加以檢驗。
分布式系統一分布式硬件+分布式控制+分布式數據
三、分布式系統應用和標準
分布式系統被用在許多不同類型的應用中。以下我們列出了一些應用。對這些應用而言,使用分布式系統要比其他體系結構如單處理機和共享存儲器多處理機更優越:
●并行和高性能應用。原則上,并行應用也可以在共享存儲器多處理機上運行,但共享存儲器系統不能很好地擴大規模以包括大量的處理機。HPCC(高性能計算和通信)應用一般需要一個可伸縮的設計,這種設計取決于分布式處理。
●容錯應用。因為每個PE是自治的,所以分布式系統更加可靠。一個單元或資源(軟件或硬件)的故障不影響其他資源的正常功能。
●固有的分布式應用。許多應用是固有分布式的。這些應用是突發模式(burstmode)而非批量模式(bulk mode)。這方面的實例有事務處理和Internet Java小程序。這些應用的性能取決于吞吐量(事務響應時間或每秒完成的事務數)而不是一般多處理機所用的執行時間。
對于一組用戶而言,分布式系統有一個特別的應用稱為計算機支持的協同工作(computer supported cooperativeworking,CSCW)或群件(groupware),支持用戶協同工作。另一個應用是分布式會議,即通過物理的分布式網絡進行電子會議。同樣,多媒體遠程教學也是一個類似的應用。
由于在不同的平臺上如:PC、工作站、局域網和廣域網上可獲得非常多樣的應用,用戶希望能超出他們PC的限制以獲得更廣泛的特性、功能和性能。不同網絡和環境(包括分布式系統環境)下的互操作性變得越來越重要。為了達到互操作性,用戶需要一個標準的分布式計算環境,在這個環境里,所有系統和資源都可用。
DCE(分布式計算環境)是OSF(開放系統基金會)開發的分布式計算技術的工業標準集。它提供保護和控制對數據訪問的安全服務、容易尋找分布式資源的名字服務、以及高度可伸縮的模型用于組織極為分散的用戶、服務和數據。DCE可在所有主要的計算平臺上運行,并設計成支持異型硬件和軟件環境下的分布式應用。
DCE已經被包括TRANSVARL在內的一些廠商實現。TRANSVARL是最早的多廠商組(multi-vendor team)的成員之一,它提出的建議已成為DC E體系結構的基礎。在中可以找到利用DCE開發分布式應用的指南。具有標準接口和協議的系統也叫做開放系統。
一些其它標準基于一個特別的模型,比如CORBA(公用對象請求代理程序體系結構),它是由OMG(對象管理組)和多計算機廠商聯盟開發的一個標準。CORBA使用面向對象模型實現分布式系統中的透明服務請求。工業界有自己的標準,比如微軟的分布式構件對象模型(DCOM)和Sun Microsystem公司的JavaBeans。
四、基于志愿者計算的分布式系統的應用
大規模計算資源共享是網格計算和其它基于Internet的計算模式的首要目標之一。志愿者計算模型作為計算網格的一個重要分支,近年來在工程和科學計算中顯示出越來越重要的作用。志愿者計算環境具有價格低廉、容易構建、高性能等優點。現有的計算平臺包括SETI@home,BOINC。HowU,Paradropper,XtremWeb,JNGI,P3等都是基于志愿者計算模式,這些系統利用連接在Internet上的計算資源(Pc、集群等)執行計算任務,當這些資源處于空閑狀態時,就啟動屏保程序主動連接服務器節點,自動下載應用子程序和其對應的數據文件到本地執行。子任務計算完后,它們把計算臨時結果返回給服務器,服務器最后把這些臨時結果進行匯總來完成整個計算。執行子任務的機器稱為志愿者,志愿者越多,計算能力越強。志愿者計算如今已被應用于高能物理、分子生物學、醫學、天體物理學、氣象研究等諸多領域。
五、結論
相信隨著技術的發展,基于志愿者計算的分布式系統將會在越來越多的領域得到進一步的應用,從而提高服務器處理任務的能力,進一步提高分布式作業系統的性能。
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >