1. 程式人生 > >平行計算與分散式計算

平行計算與分散式計算

主要內容來自維基百科

先上一張圖大略直觀感受一下:

分散式系統是聯網計算機組,其工作目標相同。術語“ 併發計算 ”,“ 平行計算 ”和“分散式計算”有很多重疊,它們之間沒有明顯的區別。[15]同一系統可以表徵為“並行”和“分散式”; 典型分散式系統中的處理器並行執行。[16]平行計算可以被看作分散式計算的一個特定的緊密耦合的形式,[17]和分散式計算可以被視為平行計算的鬆散耦合形式。[7] 儘管如此,可以使用以下標準將併發系統粗略地分類為“並行”或“分散式”:

  • 在平行計算中,所有處理器可以訪問共享儲存器以在處理器之間交換資訊。
    [18]
  • 在分散式計算中,每個處理器都有自己的專用記憶體(分散式記憶體)。通過在處理器之間傳遞訊息來交換資訊。[19]

右圖說明了分散式系統和並行系統之間的區別。圖(a)是典型分散式系統的示意圖; 系統表示為網路拓撲,其中每個節點是計算機,並且連線節點的每條線是通訊鏈路。圖(b)更詳細地顯示了相同的分散式系統:每臺計算機都有自己的本地記憶體,只能通過使用可用的通訊鏈路將訊息從一個節點傳遞到另一個節點來交換資訊。圖(c)顯示了一個並行系統,其中每個處理器都可以直接訪問共享記憶體。

由於並行和分散式演算法的術語的傳統使用與並行和分散式系統的上述定義不完全匹配,情況進一步複雜化

更多詳細討論下文)。然而,根據經驗,共享記憶體多處理器中的高效能平行計算使用並行演算法,而大規模分散式系統的協調使用分散式演算法。[20]