1. 程式人生 > >詳解分散式系統的定義

詳解分散式系統的定義

 轉自:http://www.builder.com.cn/2008/0416/818415.shtml

  當討論分散式系統時,我們面臨許多以下這些形容詞所描述的不同型別:分散式的、網路的、並行的、併發的和分散的。分散式處理是一個相對較新的領域,所以還沒有一致的定義。

  與順序計算相比、並行的、併發的和分散式的計算包括多個P E間的集體協同動作。這些術語在範圍上相互覆蓋,有時也交換使用。在[ 4 4 ]中,S e i t z給出了每一個的定義來區分它們之間的不同含義:

  **“並行的”意味著從一個單一控制執行緒對資料集的鎖步(lockstep)動作。在平行計算機級別上,單指令流多資料流(SIMD)計算機就是一個使用多個數據處理單元在許多資料項上同時進行相同或相似操作的例子。

  **“併發的”意味著某些動作可以以任意次序執行。例如,在更高級別上和在多指令流多資料流(MIMD)平行計算機上進行部分獨立的操作。

  **“分散式的”意味著計算的成本或效能取決於資料和控制的通訊。  

  

  圖1Enslow的分散式系統模型

  如果一個系統的部件侷限在一個地方,它就是集中式的;如果它的部件在不同地方,部件之間要麼不存在或僅存在有限的合作,要麼存在緊密的合作,它是分散式的。當一個分散式系統不存在或僅存在有限的合作時,它就被稱做網路的;否則它就被稱做分散式的,表示在不同地方的部件之間存在緊密的合作。在給出分散式系統具體定義的模型中,Enslow[13]建議分散式系統可以用硬體、控制、資料這三個維度加以檢驗。

  分散式系統=分散式硬體+分散式控制+分散式資料Enslow的定義同時還要求資源的分佈必須對使用者透明。1給出了從Enslow的模型[13]改編

  而來的形式,如果系統所有三個維度(硬體、控制和資料)都達到一定程度的分散,系統可以被歸類為分散式系統。在硬體組成這一維上的一些點表示如下:

  H1:只有一個控制單元的單個CPU。

  H2:有多個ALU(算術邏輯單元)的單個CPU,只有一個控制單元。

  H3:分開的專用功能單元,比如帶一個浮點協處理器的CPU。

  H4:帶多個CPU的多處理機,但只有一個單獨的I/O系統和一個全域性儲存器。

  H5:帶多個CPU的多計算機,多個I/O系統和多個區域性儲存器。

  類似地,在控制維上的點按分散程度的遞增排序如下:

  C1:單個固定控制點。注意,系統物理上可能有也可能沒有多個CPU。

  C2:單個動態控制點。在多個CPU的情況下,控制器不時地在CPU間切換。

  C3:固定的主/從結構。例如,在一個只有一個CPU和一個協處理器的系統中,CPU就是固定的主結構(master),協處理器則是固定的從結構(slave)。

  C4:動態的主/從結構。主/從的角色可以通過軟體改變。

  C5:使用同一控制器副本的多個同類控制點。

  C6:使用不同控制器的多個異類控制點。

  資料庫中有兩個部件可以是分散式的:檔案和記錄這些檔案的目錄。可以使用以下兩種方式之一或結合使用它們來實現分佈:複製和分割槽。如果一個數據庫有多個副本在不同的地點,就稱做被複制。如果一個數據庫被分成位於不同地點的子資料庫,就稱做被分割槽。這一維上的點包括:

  D1:含有檔案和目錄的單一拷貝的集中式資料庫。

  D2:含有單一集中式目錄並且沒有本地目錄的分散式檔案。

  D3:每個站點都有檔案和目錄拷貝的複製資料庫。

  D4:有一個主結構的分割槽資料庫,主結構保留所有檔案的一個完全副本。

  D5:有一個主結構的分割槽資料庫,主結構僅保留一個完整的目錄。

  D6:無主結構檔案或目錄的分割槽資料庫。

  Schroeder[34],給出了分散式系統特徵的列表。如果一個系統具有以下所有特徵,它很可能就是一個分散式系統:

  多處理單元(PE)。

  互連硬體。

  處理單元的故障無關。

  共享狀態。

  一些研究人員還認為計算機網路和平行計算機是分散式系統的一部分[9、21、48、55]。圖2和圖3分別表示了計算機網路和平行計算機的分類。在非馮·諾依曼的模型中,資料流模型是基於貪心求值(greedyevaluation)的,一個函式(程式)只要它的輸入資料一就緒就被馬上執行。縮減模型是基於懶惰求值(lazyevaluation)的,只有需要函式的結果時才執行求值。大部分平行計算機是建立在馮·諾依曼的模型上的。Flynn的分類法是被最廣泛地用來在馮·諾依曼模型範圍內分類系統。Flynn的分類法是基於指令流和資料流的多重性:   

  單指令單資料(SISD)。這是典型的單處理機體系結構。它可能包括並行機制,如:流水線操作、重疊的CPU和I/O操作。

  單指令多資料(SIMD)。每個處理機同時在各自不同的資料集上執行相同的指令。典型情況下,多個PE處於一個公共控制單元的管理之下。

  多指令單資料(MISD)。這種體系結構包括多個處理機,每個分別被各自的控制單元控制。

  多指令多資料(MIMD)。多個處理機同時對不同的資料執行不同的指令。大部分分散式系統的物理結構屬於這種型別。  

  

  圖2計算機網路的分類  

  

  圖3平行計算機的分類

  圖2和圖3表示的分類幾乎包括了技術文獻討論過的所有重要的體系結構型別。連線型別的區別包括不同的互連拓撲型別,這將在互連網路部分詳細討論。但是,這些分類沒有包括下面一些基本的設計選擇:

  細粒度與粗粒度並行性。

  共享儲存器與訊息傳遞通訊。

  通用系統與專用系統。

  全域性與區域性儲存器。

  集中式與分散式全域性系統控制。

  一致與非一致的訪問。

  直接與間接連線。

  細粒度並行性是並行執行的一種形式,其中每個程序的計算工作量要比它的通訊和額外開銷所要求的工作量小。在粗粒度並行性中,每個程序的計算工作量則數倍於其通訊和額外開銷。

  通用系統是用於一般應用的系統,否則就是專用系統。MIMD是一個通用系統。SIMD尤其適合於在大資料集上執行的同一型別操作的數值計算。

  全域性儲存器是從任何一個處理機上可以直接訪問的,但區域性儲存器只對相關處理機可見。

  典型情況下,全域性儲存器和區域性儲存器結合起來和快取一起形成高速而低延遲的儲存器。

  在共享儲存器系統中,通過讀寫共享儲存器交換資訊是很自然的一種通訊方式。在訊息傳遞系統中,儲存器是分散式的,所以傳送和接收訊息是很自然的。

  在一致儲存器訪問系統中,所有處理機離所有儲存器位置一樣遠,也就是說,任何處理機訪問任何儲存器的時間幾乎相同。但是這種結構不易伸縮。一般來說,共享匯流排用於連線處理機和共享儲存器。隨著處理機數目的增加,共享匯流排就成了瓶頸。為了降低儲存器延遲和匯流排競爭,可以為處理機配一個快取。然而,快取的使用帶來了一個新的問題—一致性問題。非一致儲存器訪問系統通過給每個處理機提供區域性儲存器以及與可伸縮互連網路的連線解決了可伸縮性的問題,通過互連網路可以訪問其他處理機的儲存器。儲存器的訪問時間是不一致的,取決於資料的位置。

  互連網路是把並行/分散式系統中的處理機連線在一起的一套通訊鏈路、匯流排或交換機。在直接連線中,處理機通過一套點對點鏈路直接相連。在間接連線中,處理機通過交換機相連。

  正常情況下,間接相連可以通過適當的交換機訊號動態改變。

如果文章對你用,請支援萬事如意網址導航