並行計算與分布式計算區別與聯系


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

 

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

 

並行計算

 

1、並行計算概念

 

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

 

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

 

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

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

 

2、並行計算的原理

 

640?wx_fmt=jpeg

 

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

 

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

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

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

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

 

640?wx_fmt=jpeg

 

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

 

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

 

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

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

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

 

分布式計算

 

1、分布式計算概念

 

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

 

2、分布式計算的優點

 

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

 

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

 

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

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

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

 

3、分布式計算原理

 

640?wx_fmt=jpeg

 

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

 

並行計算與分布式計算區別與聯系

 

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

 

640?wx_fmt=png

 

結語

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM