分佈式計算、並行計算及集羣、網格、雲計算的區別

並行計算:並行計算是相對於串行計算來說的。可分爲時間上的並行和空間上的並行。 時間上的並行就是指流水線技術,而空間上的並行則是指用多個處理器併發的執行計算。並行計算的目的就是提供單處理器無法提供的性能(處理器能力或存儲器),使用多處理器求解單個問題。

分佈式計算:分佈式計算研究如何把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來得到最終的結果。最近的分佈式計算項目已經被用於使用世界各地成千上萬位志願者的計算機的閒置計算能力,通過因特網,可以分析來自外太空的電訊號,尋找隱蔽的黑洞,並探索可能存在的外星智慧生命等。

並行計算與分佈式計算的區別:1)簡單的理解,並行計算藉助並行算法和並行編程語言能夠實現進程級並行(如MPI)和線程級並行(如openMP)。而分佈式計算只是將任務分成小塊到各個計算機分別計算各自執行。(2)粒度方面,並行計算中,處理器間的交互一般很頻繁,往往具有細粒度和低開銷的特徵,並且被認爲是可靠的。而在分佈式計算中,處理器間的交互不頻繁,交互特徵是粗粒度,並且被認爲是不可靠的。並行計算注重短的執行時間,分佈式計算則注重長的正常運行時間。(3)聯繫,並行計算和分佈式計算兩者是密切相關的。某些特徵與程度(處理器間交互頻率)有關,而我們還未對這種交叉點(crossover point)進行解釋。另一些特徵則與側重點有關(速度與可靠性),而且我們知道這兩個特性對並行和分佈兩類系統都很重要。(4)總之,這兩種不同類型的計算在一個多維空間中代表不同但又相鄰的點。

集羣計算:計算機集羣使將一組鬆散集成的計算機軟件/硬件連接起來高度緊密地協作完成計算工作。在某種意義上,他們可以被看作是一臺計算機。集羣系統中的單個計算機通常稱爲節點,通常通過局域網連接,但也有其它的可能連接方式。集羣計算機通常用來改進單個計算機的計算速度和/或可靠性。一般情況下集羣計算機比單個計算機,比如工作站或超級計算機性價比要高得多根據組成集羣系統的計算機之間體系結構是否相同,集羣可分爲同構與異構兩種。集羣計算機按功能和結構可以分爲,高可用性集羣(High-availability (HA) clusters)、負載均衡集羣(Loadbalancing clusters)、高性能計算集羣(High-performance (HPC)clusters)、網格計算(Grid computing)。

高可用性集羣,一般是指當集羣中有某個節點失效的情況下,其上的任務會自動轉移到其他正常的節點上。還指可以將集羣中的某節點進行離線維護再上線,該過程並不影響整個集羣的運行。

負載均衡集羣負載均衡集羣運行時,一般通過一個或者多個前端負載均衡器,將工作負載分發到後端的一組服務器上,從而達到整個系統的高性能和高可用性。這樣的計算機集羣有時也被稱爲服務器羣(Server Farm)。 一般高可用性集羣和負載均衡集羣會使用類似的技術,或同時具有高可用性與負載均衡的特點。Linux虛擬服務器(LVS)項目在Linux操作系統上提供了最常用的負載均衡軟件。

性能計算集羣高性能計算集羣採用將計算任務分配到集羣的不同計算節點兒提高計算能力,因而主要應用在科學計算領域。比較流行的HPC採用Linux操作系統和其它一些免費軟件來完成並行運算。這一集羣配置通常被稱爲Beowulf集羣。這類集羣通常運行特定的程序以發揮HPC cluster的並行能力。這類程序一般應用特定的運行庫比如專爲科學計算設計的MPI庫。HPC集羣特別適合於在計算中各計算節點之間發生大量數據通訊的計算作業,比如一個節點的中間結果或影響到其它節點計算結果的情況。

網格計算:網格計算是分佈式計算的一種,也是一種與集羣計算非常相關的技術。如果我們說某項工作是分佈式的,那麼,參與這項工作的一定不只是一臺計算機,而是一個計算機網絡,顯然這種螞蟻搬山的方式將具有很強的數據處理能力。網格計算的實質就是組合與共享資源並確保系統安全。網格計算通過利用大量異構計算機的未用資源(CPU周 期和磁盤存儲),將其作爲嵌入在分佈式電信基礎設施中的一個虛擬的計算機集羣,爲解決大規模的計算問題提供一個模型。網格計算的焦點放在支持跨管理域計算 的能力,這使它與傳統的計算機集羣或傳統的分佈式計算相區別。網格計算的目標是解決對於任何單一的超級計算機來說仍然大得難以解決的問題,並同時保持解決 多個較小的問題的靈活性。這樣,網格計算就提供了一個多用戶環境。

集羣計算與網格計算的區別:1)簡單地,網格與傳統集羣的主要差別是網格是連接一組相關並不信任的計算機,它的運作更像一個計算公共設施而不是一個獨立的計算機。網格通常比集羣支持更多不同類型的計算機集合。2網格本質上就是動態的,集羣包含的處理器和資源的數量通常都是靜態的。在網格上,資源則可以動態出現,資源可以根據需要添加到網格中或從網格中刪除。(3) 網格天生就是在本地網、城域網或廣域網上進行分佈的。網格可以分佈在任何地方。而集羣物理上都包含在一個位置的相同地方,通常只是局域網互連。集羣互連技 術可以產生非常低的網絡延時,如果集羣距離很遠,這可能會導致產生很多問題。物理臨近和網絡延時限制了集羣地域分佈的能力,而網格由於動態特性,可以提供 很好的高可擴展性。(4集羣僅僅通過增加服務器滿足增長的需求。然而,集羣的服務器數量、以及由此導致的集羣性能是有限的:互連網絡容量。也就是說如果一味地想通過擴大規模來提高集羣計算機的性能,它的性價比會相應下降,這意味着我們不可能無限制地擴大集羣的規模。 而網格虛擬出空前的超級計算機,不受規模的限制,成爲下一代Internet的發展方向。5)集羣和網格計算是相互補充的。很多網格都在自己管理的資源中採用了集羣。實際上,網格用戶可能並不清楚他的工作負載是在一個遠程的集羣上執行的。儘管網格與集羣之間存在很多區別,但是這些區別使它們構成了一個非常重要的關係,因爲集羣在網格中總有一席之地—— 特定的問題通常都需要一些緊耦合的處理器來解決。然而,隨着網絡功能和帶寬的發展,以前採用集羣計算很難解決的問題現在可以使用網格計算技術解決了。理解網格固有的可擴展性和集羣提供的緊耦合互連機制所帶來的性能優勢之間的平衡是非常重要的。

雲計算:雲計算是最新開始的新概念,它不只是計算等計算機概念,還有運營服務等概念了。它是分佈式計算、並行計算和網格計算的發展,或者說是這些概念的商業實現。雲計算不但包括分佈式計算還包括分佈式存儲和分佈式緩存。分佈式存儲又包括分佈式文件存儲和分佈式數據存儲。

雲計算與並行、分佈式、網格和集羣計算的區別雲計算是從集羣技術發展而來,區別在於集羣雖然把多臺機器聯了起來,但其某項具體任務執行的時候還是會被轉發到某臺服務器上,而云可以簡單的認爲是任務可以被分割成多個進程在多臺服務器上並行計算,然後得到結果,好處在於大數據量的操作性能非常好。雲可以使用廉價的PC服務器 ,可以管理大數據量與大集羣,關鍵技術在於能夠對雲內的基礎設施進行動態按需分配與管理。雲計算與並行計算、分佈式計算的區別,以計算機用戶來說,並行計算是由單個用戶完成的,分佈式計算是由多個用戶合作完成的,雲計算是沒有用戶參與,而是交給網絡另一端的服務器完成的。

原文:http://blog.163.com/litianyichuanqi@126/blog/static/1159794412012387453794/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章