並行計算

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

並行計算(Parallel Computing)

目錄

什麼是並行計算

  並行計算或稱平行計算是相對於串列計算來說的。它是一種一次可執行多個指令的演算法,目的是提高計算速度,及通過擴大問題求解規模,解決大型而複雜的計算問題。所謂並行計算可分為時間上的並行和空間上的並行。時間上的並行就是指流水線技術,而空間上的並行則是指用多個處理器併發的執行計算。

並行計算的解讀

  並行計算同時使用多種計算資源解決計算問題的過程,是提高電腦系統計算速度和處理能力的一種有效手段。它的基本思想是用多個處理器來協同求解同一問題,即將被求解的問題分解成若幹個部分,各部分均由一個獨立的處理機來並行計算。並行計算系統既可以是專門設計的、含有多個處理器的超級電腦,也可以是以某種方式互連的若幹台的獨立電腦構成的集群。通過並行計算集群完成數據的處理,再將處理的結果返回給用戶

  並行計算可分為時間上的並行和空間上的並行。

  時間上的並行:是指流水線技術,比如說工廠生產食品的時候步驟分為:

  1. 清洗:將食品沖洗乾凈。

  2. 消毒:將食品進行消毒處理。

  3. 切割:將食品切成小塊。

  4. 包裝:將食品裝入包裝袋

  如果不採用流水線,一個食品完成上述四個步驟後,下一個食品才進行處理,耗時且影響效率。但是採用流水線技術,就可以同時處理四個食品。這就是並行演算法中的時間並行,在同一時間啟動兩個或兩個以上的操作,大大提高計算性能。

  空間上的並行:是指多個處理機併發的執行計算,即通過網路將兩個以上的處理機連接起來,達到同時計算同一個任務的不同部分,或者單個處理機無法解決的大型問題。

並行計算特征

  為利用並行計算,通常計算問題表現為以下特征:

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

  (2)隨時並及時地執行多個程式指令;

  (3)多計算資源下解決問題的耗時要少於單個計算資源下的耗時。

並行計算基本體繫結構

  並行計算科學中主要研究的是空間上的並行問題。從程式和演算法設計人員的角度來看,並行計算又可分為數據並行和任務並行。一般來說,因為數據並行主要是將一個大任務化解成相同的各個子任務,比任務並行要容易處理。

  空間上的並行導致了兩類並行機的產生,按照Flynn的說法分為:單指令流多數據流(SIMD)和多指令流多數據流(MIMD)。我們常用的串列機也叫做單指令流單數據流(SISD)。MIMD類的機器又可分為以下常見的五類:並行向量處理機(PVP)、對稱多處理機(SMP)、大規模並行處理機(MPP)、工作站機群(COW)、分散式共用存儲處理機(DSM)。

訪存模型

  並行電腦有以下五種訪存模型:

  均勻訪存模型(UMA)

  非均勻訪存模型(NUMA)

  全高速緩存訪存模型(COMA)

  一致性高速緩存非均勻存儲訪問模型(CC-NUMA)

  非遠程存儲訪問模型(NORMA)。

計算模型

  不像串列電腦那樣,全世界基本上都在使用馮·諾伊曼的計算模型;並行電腦沒有一個統一的計算模型。不過,人們已經提出了幾種有價值的參考模型:PRAM模型,BSP模型,LogP模型,C^3模型等。

  網路設置

  並行電腦是靠網路將各個處理機或處理器連接起來的,一般來說有以下幾種方式:處理單元間有著固定連接的一類網路,在程式執行期間,這種點到點的鏈接保持不變;典型的靜態網路有一維線性陣列、二維網孔、樹連接、超立方網路、立方環、洗牌交換網、蝶形網路等。靜態連接

  動態連接

  用交換開關構成的,可按應用程式的要求動態地改變連接組態;典型的動態網路包括匯流排、交叉開關和多級互連網路等。

並行計算基本術語

  節點度:射入或射出一個節點的邊數。在單向網路中,入射和出射邊之和稱為節點度。

  網路直徑:網路中任何兩個節點之間的最長距離,即最大路徑數。

  對剖寬度:對分網路各半所必須移去的最少邊數。

  對剖帶寬:每秒鐘內,在最小的對剖平面上通過所有連線的最大信息位(或位元組)。

並行計算性能度量

基本指標

  執行時間

  工作負載

  存儲性能

加速比評測

  Amdahl定理

  Gastofson定理

  Sun-Ni定理

可擴放性標準

  等效率標準

  等速度標準

  平均延遲標準

  並行計算與雲計算

  雲計算是在並行計算之後產生的概念,是由並行計算發展而來, 兩者在很多方面有著共性。學習並行計算對於理解雲計算有很大的幫助。並行計算是學習雲計算必須要學習的基礎課程

  但並行計算不等於雲計算,雲計算也不等同並行計算。兩者區別如下。

  (1)雲計算萌芽於並行計算

  雲計算的萌芽應該從電腦的並行化開始,並行機的出現是人們不滿足於CPU摩爾定率的增長速度,希望把多個電腦並聯起來,從而獲得更快的計算速度。這是一種很簡單也很朴素的實現高速計算的方法,這種方法後來被證明是相當成功的。

  (2)並行計算、網格計算只用於特定的科學領域,專業的用戶

  並行計算、網格計算的提出主要是為了滿足科學和技術領域的專業需要,其應用領域也基本限於科學領域。傳統並行電腦的使用是一個相當專業的工作,需要使用者有較高的專業素質,多數是命令行的操作,這是很多專業人士的噩夢,更不用說普通的業餘級用戶了。

  (3)並行計算追求的高性能

  在並行計算的時代,人們極力追求的是高速的計算、採用昂貴的伺服器,各國不惜代價在計算速度上超越他國,因此,並行計算時代的高性能機群是一個“快速消費品”,世界TOP500高性能電腦地排名不斷地在刷新,一臺大型機群如果在3年左右不能得到有效的利用就遠遠的落後了,巨額投資無法收回。

  (4)雲計算對於單節點的計算能力要求低

  而雲計算時代我們並不去追求使用昂貴的伺服器,我們也不用去考慮TOP500的排名,雲中心的計算力和存儲力可隨著需要逐步增加,雲計算的基礎架構支持這一動態增加的方式,高性能計算將在雲計算時代成為“耐用消費品”。

本條目對我有幫助2
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目

本条目由以下用户参与贡献

刘维燎,LuyinT.

評論(共0條)

提示:評論內容為網友針對條目"並行計算"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

MBA智库
打开APP

以上内容根据网友推荐自动排序生成