歡迎光臨
每天分享高質量文章

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

並行計算、分佈式計算以及網格計算和雲計算都是屬於高性能計算(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智慧科技”)。

推薦閱讀:

溫馨提示:

請搜索“ICT_Architect”“掃一掃”二維碼關註公眾號,點擊原文鏈接獲取更多電子書詳情

求知若渴, 虛心若愚

赞(0)

分享創造快樂

© 2021 知識星球   网站地图