當前位置:
首頁 > 科技 > 並行計算與分散式計算區別與聯繫

並行計算與分散式計算區別與聯繫

並行計算、分散式計算以及網格計算和雲計算都是屬於高性能計算(HPC)的範疇,主要目的在於對大數據的分析與處理,但它們卻存在很多差異。我們需要了解兩者的原理、特點和運用的場合,對雲計算的了解大有裨益。

之所以將兩種計算技術放在一起,是因為這兩種計算具有共同的特點,都是運用並行來獲得更高性能計算,把大任務分為N個小任務。但兩者還是有區別的,關於兩者的區別在後面有介紹。

並行計算

1、並行計算概念

並行計算(Parallel Computing)又稱平行計算是指一種能夠讓多條指令同時進行的計算模式,可分為時間並行和空間並行。時間並行即利用多條流水線同時作業,空間並行是指使用多個處理器執行並發計算,以降低解決複雜問題所需要的時間。

並行計算同時使用多種計算資源解決計算問題的過程。為執行並行計算,計算資源應包括一台配有多處理機(並行處理)的計算機、一個與網路相連的計算機專有編號,或者兩者結合使用。並行計算主要目的在於兩個方面:?

(1)?加速求解問題的速度。

(2)?提高求解問題的規模。

2、並行計算的原理

並行計算能快速解決大型且複雜的計算問題。此外還能利用非本地資源,節約成本?―?使用多個「廉價」計算資源取代大型計算機,同時克服單個計算機上存在的存儲器限制。

為提高計算效率,並行計算處理問題一般分為以下三步:?

?

(1)將工作分離成離散獨立部分,有助於同時解決;??

(2)同時並及時地執行多個程序指令;???

(3)將處理完的結果返回主機經一定處理後顯示輸出。

從上圖可以看出,串列計算必須按步驟一步一步計算才能出來最終結果。而並行計算則要將問題分成N多個子任務,每個子任務並行執行計算。而每個子任務是非獨立的,每個子任務的計算結果決定最終的結果。這個和分散式計算不同。

3、並行計算需滿足的基本條件

(1)並行計算機。並行計算機至少包含兩台或兩台以上處理機,這此處理機通過互聯網路相互連接,相互通信。

(2)應用問題必須具有並行度。也就是說,應用可以分解為多個子任務,這些子任務可以並行地執行。將一個應用分解為多個子任務的過程,稱為並行演算法的設計。

(3)並行編程。在並行計算機提供的並行編程環境上,具體實現並行演算法,編製並行程序並運行該程序,從而達到並行求解應用問題的目的。

分散式計算

1、分散式計算概念

分散式計算是一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來得到最終的結果。分散式計算和集中式計算相對應的概念。

2、分散式計算的優點

分散式計算是在兩個或多個軟體互相共享信息,這些軟體既可以在同一台計算機上運行,也可以在通過網路連接起來的多台計算機上運行。

分散式計算比起其它演算法具有以下幾個優點:

(1)稀有資源可以共享。

(2)通過分散式計算可以在多台計算機上平衡計算負載。

(3)可以把程序放在最適合運行它的計算機上。其中,共享稀有資源和平衡負載是計算機分散式計算的核心思想之一。

3、分散式計算原理

Hadoop計算框架是出現比較早的一個分散式計算框架,由Apache基金會所開發。用戶可以在不了解分散式底層細節的情況下,開發分散式程序。

並行計算與分散式計算區別與聯繫

並行計算和分散式計算既有區別也有聯繫。從解決對象上看,兩者都是大任務化為小任務,這是他們共同之處。 具體區別和聯繫如下表所示:

結語

並行計算、分散式計算以及網格計算和雲計算都是屬於高性能計算(HPC)的範疇,主要目的在於對大數據的分析與處理,但它們卻存在很多差異。我們需要了解兩者的原理、特點和運用的場合,對雲計算的了解大有裨益。(來源「Tsarpro智能科技」)。

溫馨提示:

求知若渴, 虛心若愚


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 架構師技術聯盟 的精彩文章:

架構師遇到這些技術瓶頸,應該怎麼辦?
解析微服務架構組件,看這一篇文章就夠

TAG:架構師技術聯盟 |