1. 程式人生 > >分布式計算

分布式計算

cli standard 並發 cnblogs tex alt number thum intern

以下內容來自 wikipedia

  分布式計算: 計算機科學中研究分布式系統的領域。

  分布式系統: 位於網絡計算機上的各成分通過傳遞信息來通訊和協作它們的行為。 這些成分相互作用以達到一個共同的目的。

  其3個顯著特征為: 1. 成分的並發(concurrency) 2 缺少一個全局時鐘(global clock) 3. 各成分相互獨立的失敗

  不同的例子:SOA-based systems, MMO game , 點對點應用。

  

  在分布式系統中運行的程序稱為分布式程序。‘ 信息傳遞機制有很多可選方法’ ,如:pure HTTP, RPC-like connectors, message queues.

  分布式系統裏的一個目標和挑戰是‘ 位置透明性(location transparency)’, 然而這個目標在工業界由受歡迎變得不受歡迎。

  

  分布式計算也指使用分布式系統解決計算問題。在分布式計算中,一個問題被分解成很多任務,每一個都由一個或多個計算機解決,(它們)通過信息傳遞彼此通訊。


Introduction

  ‘ 分布式’ 這個詞最初指這樣的計算機網絡:獨立的計算機物理上分布於一些地理區域。

  現在這個詞有了更廣泛的含義,甚至指在同一個計算機上運行並且通過信息傳遞相互作用的‘ 自治進程(autonomous processes) ’ 。

  關於分布式系統沒有唯一的定義

,下面幾種定義性質通常被使用:

  1. 有一些計算實體(計算機或節點),每一個都有局域內存。

  2. 實體通過信息傳遞彼此通訊。

  一個分布式系統可能有一個共同的目標,例如解決一個大的計算問題, 使用者將‘ 自治處理路’ 理解為一個單元。

  或者,每個計算機有其自身具有獨立需求的使用者,分布式系統的目的是協調共享資源或者給使用者提供通訊服務。

  其它典型性質:

  1. 系統需要容忍獨立計算機中的錯誤;

  2. 系統的結構(網絡拓撲,網絡潛在因素,計算機數量)預先不知道,系統可能包含不同種類的計算機和網絡連接,且系統可能在執行分布式程序時改變。

  3. 每個計算機對於系統都是有限的,不完全的。每個計算機可能只知道輸入的一部分。


parallel and distributed computing    

  術語 “ 並發計算(cocurrent computing)” " parallel computing (並行計算)" 和“ 分布式計算 ” 有許多重疊,它們之間沒有清晰的區別。

  同一個系統可能可以同時用“並行” 和“分布” 來表征;

  一個典型分布式系統中的處理器 以並行的方式並發地運行(run concurrently in parallel).

  並行計算可看作分布式計算的一個特別的緊聯結形式;

  分布式計算可以看作是並行計算的松聯結形式;

  盡管如此,有可能粗略地將並發系統分類為“並行的” 或“分布式” ,按照下面的標準:

  1. 並行計算中,所有處理器可能訪問一個共享內存來交換彼此的信息;

  2. 在分布式計算中,每個處理器有自身的私有內存(分布內存),通過在處理器之間傳遞信息來完成信息交換。

  技術分享圖片

  (a) 為典型的分布式系統,系統用一個網絡拓撲表示,每個節點是一個計算機,每條連接節點的線是一個通訊 link

  (c) 分布式系統,每個處理器可以直接訪問一個共享內存。

  As a rule of thumb,

  共享內存多處理器中的高性能並行計算使用並行算法;

  大規模分布式系統的協作使用分布式算法。


架構 Architectures

  各種硬件和軟件架構被用於分布式計算。

  低層次地,需要用某類網絡互聯多個 CPU,而不考慮這個網絡印刷到線路板或由松連接設備構成。

  高層次地,需要用某種通訊系統互聯在哪些CPU上運行的進程。

  分布式編程有以下幾種基本架構:

  1. client-server

  2. three-tier

  3. n-tier

  4. peer-to-peer

  5. 並發進程之間的通訊和協調工作

  6. database-centric


  

  


參考資料:

1. Coulouris, George; Jean Dollimore; Tim Kindberg; Gordon Blair (2011).Distributed Systems: Concepts and Design (5th Edition). Boston: Addison-Wesley. ISBN 0-132-14301-1.

2. Lynch, Nancy A. (1996), Distributed Algorithms, Morgan Kaufmann, ISBN 1-55860-348-4.

3. Ghosh, Sukumar (2007), Distributed Systems – An Algorithmic Approach, Chapman & Hall/CRC, ISBN 978-1-58488-564-1.

4.

分布式計算