并行計算可以劃分成時間并行和空間并行。時間并行即流水線技術,空間并行使用多個處理器執行并發計算,當前研究的主要是空間的并行問題。
并行計算是相對于串行計算來說的。要理解并行計算,首先需要了解串行計算。串行計算是不將任務進行拆分,一個任務占用一塊處理資源。
圖1 串行計算
并行計算則不同。首先,并行計算可以劃分成時間并行和空間并行。時間并行就是流水線技術,空間并行使用多個處理器執行并發計算。目前以研究空間并行為主。從空間并行的角度來說,并行計算將一個大任務分割成多個子任務,每個子任務占用一定處理資源。并行計算中不同子任務占用的不同的處理資源來源于同一塊大的處理資源。 換一個說法,就是將一塊大的處理資源分為幾塊小的處理資源,將一個大任務分割成多個子任務,用這些小的處理資源來單獨處理這些子任務。 并行計算中各個子任務之間是有很大的聯系的,每個子任務都是必要的,其結果相互影響。
圖2 并行計算
分布式計算
分布式計算可以看做是一種特殊的并行計算。
分布式計算也是將一個大的任務分成幾個子任務,不同子任務占用不同的處理資源。不過分布式計算的子任務之間并沒有必然聯系(互不相干),不同子任務獨享自己的一套單獨的計算系統。跟并行計算的不同點在于,分布式計算的子任務具有獨立性,一個子任務的運行結果不會影響其他的子任務,所以分布式計算對任務的實時性要求不高,且允許存在一定的計算錯誤(每個計算任務有多個參與者進行計算,計算的結果需要上傳到服務器后進行比較,對結果差異大的進行驗證)。
圖3 分布式計算
網格計算
網格計算可以看做是一種特殊的分布式計算。
網格計算與分布式計算的核心思想類似,都是將一個大任務分成若干個子任務,這些子任務之間互不相干,占用獨立的計算資源。區別在于分布式計算中處理子任務的各個計算節點只是在無償地貢獻自己的算力,無法使用其它計算節點的算力為自己做點什么。而網格計算的各個計算節點可以在貢獻自己算力的同時,通過平臺來調用其它計算節點的算力,并且其它計算節點也根本不知道你在調用它。
引用用戶“孤獨求敗”([https://www.cnblogs.com/oldhorse/])的一段話:
分布式計算是將大任務化分為小任務,各臺參與計算的電腦之間是在物理地域上的分布,一般有服務器作為“中央”,參與計算的電腦不用了解工作原理,僅僅只是就自己感興趣的項目做貢獻而已,注意,是“向別人”無償的做貢獻,不是自己“直接”受益;而網格計算是自己“直接”受益的,她通過一個平臺允許你調用別人計算機的處理資源,而別人根本就不知道你在用他的資源!這就是說,分布式計算是你和其他人一起組成“一臺”專供某些科研組織使用的超級處理機,網格計算是將所有網內其他人的電腦組成一臺專供你自己使用的超級處理機。
圖4 網格計算
美國國家標準與技術研究院(NIST)對云計算的定義:
云計算是一種模型,它可以實現隨時隨地、便捷地、隨需應變地從可配置計算資源共享池中獲取所需的資源(例如 ,網絡、服務器、存儲、應用、及服務),資源能夠快速供應并釋放,使管理資源的工作量和與服務提供商的交互減小到最低限度。
目前我們經常討論的云計算不僅僅是一個計算模型,還包含了運營服務等概念。 云計算是分布式計算、并行計算和網格計算的發展,或者說是這些概念的商業實現。
圖5 云計算
-
處理器
+關注
關注
68文章
19824瀏覽量
233709 -
云計算
+關注
關注
39文章
7972瀏覽量
139416
發布評論請先 登錄
邊緣AI廣泛應用推動并行計算崛起及創新GPU滲透率快速提升
讀懂極易并行計算:定義、挑戰與解決方案

GPU加速計算平臺的優勢
云 GPU 加速計算:突破傳統算力瓶頸的利刃
xgboost的并行計算原理
直播預告|RISC-V 并行計算技術沙龍,邀您與國內外專家共探 AI 時代無限可能

評論