分布計算機系統是由多個分散的計算機經互連網路構成的統一計算機系統。其中各個物理的和邏輯的資源元件既相互配合又高度自治,能在全系統範圍內實現資源管理,動態地實現任務分配或功能分配,且能並行地運行分散式程式。分布計算機系統是多計算機系統的一種新型式。它強調資源、任務、功能和控制的全面分布。就資源分布而言,既包括 處理機 、 輔助存儲器 、輸入- 輸出系統、通信接口等設備資源,也包括進程、 文卷 、目錄表、 資料庫 等邏輯資源,它們分布於各個物理上分散的計算機結點中。各結點經互連網路(包括 匯流排 )相互通信,構成統一的計算機系統。這種系統的工作方式也是分布的。結點之間可以根據兩種原則進行分工:一種是把一個計算題目分成多個並行任務,分配給各處理機共同完成,稱為任務分布;另一種是把系統總功能分成多種子功能,分配給各計算機結點分別承擔,稱為功能分布。不論是任務分布還是功能分布,分配方案都可依處理內容來動態地確定。在功能分布中,與處理功能分布同時進行的控制功能分布具有更加重要的意義。這就是說,各個計算機結點應能平等地分擔控制功能,獨立自主地發揮各自的控制作用,但又相互合作,在通信協調的基礎上實現系統的全局管理。
一、分布計算機系統的一般特點
分布計算機系統有三個特性。
①模組性:分布計算機系統的資源元件形成相對獨立的模組,經互連網路的相互聯繫構成單一系統。模組在一定範圍內的增減替換不致於影響系統的整體性。
②並行性:分散的資源元件可以合作解決一個共同問題,在分布作業系統的控制下,實現資源重複(按任務)或時間重疊(按功能)等不同形式的並行性。
③自治性:系統資源的操作是高度自治的,既不存在全系統的主從控制關係,又能利用處理局部化的原則以減少各結點間的數據通信量。
分布計算機系統的產生和發展受多種因素的推動。首先是技術方面的因素:大規模積體電路和 微處理器 為分布計算機系統提供了廉價的硬體; 數字通信 技術和 計算機網 技術的發展,使數量很大的計算機結點相互連線和高速通信成為可能。此外更為重要的是用戶因素。集中式分時計算機系統雖能連線大量遠程和近程終端來滿足地理上分散的多用戶使用的需要,但處理功能的過度集中將產生通信開銷大、回響時間長,系統複雜昂貴等問題,因而用戶逐漸轉向分布計算機系統,以謀求更高的技術經濟效益。
分布計算機系統成為計算機研究領域中發展迅速的一個新方向,還由於它本身的全面分布特性使它具有一系列潛在優點。
①可靠性和堅固性:資源冗餘和自治控制使系統具備動態重構,甚至經受局部破壞也能繼續工作。系統的模組性有利於維修和使用。
②增量擴展性:以廉價的模組作為系統擴展或資源更新的增量,不必象集中系統那樣必須替換整個系統。
③靈活性:系統的配置容易改變,以適應不同套用對象的各種需要。
④快速回響能力:計算機資源更加靠近用戶,特別是使分散的小用戶能獲得計算機的快速回響和直接服務,從而把大型機的計算能力與微型機的使用方便二者結合起來。
⑤資源共享:在對用戶透明的基礎上實現 軟體 、硬體資源的共享,使單個用戶的可用資源成倍增加。
⑥增強計算能力:按任務分布的並行處理能力受系統規模的限制較少;而按功能分布的專用處理部件同樣能增強系統的有效處理能力。
⑦經濟性:有利於發揮 微型計算機 的性能價格比優勢。
⑧適應各種套用環境:分布計算機系統每一個結點上的資源配置能與當地用戶的需求很好匹配,因而特別適用於經濟管理、事務管理、過程控制等這樣一些具有分散用戶又要求相互協調的套用場合。
二、分散式系統結構
分布計算機系統的結構特點主要反映在它的互連網路上,可用機間耦合度作為主要標誌來加以描述。耦合度是系統模組間互連的緊密程度。它是數據傳輸率、回響時間、並行處理能力等性能指標的綜合反映。它主要取決於選取的互連拓撲和通信鏈路的類型。
遠程計算機網採用串列數據傳輸,且受複雜的通信協定制約,故其耦合度處於最低端,屬於鬆散耦合系統。多處理機追求儘可能高的並行處理速度,故其耦合度處於最高端。分布計算機系統是二者發展的產物,既考慮地理上分散環境的限制,又滿足一定並行性的要求,故其耦合度居於二者之間,一般屬於中等耦合系統。
三、分布計算機系統分類
按照地理條件決定耦合度, 分布計算機系統可以分為機櫃內系統、建築物內系統、建築物間系統、不同範圍的區域系統等,它們的耦合度依次由高到低。
按照套用領域的性質決定耦合度,可以區分為三種不同類型。一種是面向計算任務的分布並行計算機系統和分布多用戶計算機系??分擔大型計算機和分時計算機系統所完成的工作。第二種是面向管理信息的分布數據處理系統,耦合度可以適當降低。第三種是面向過程控制的分布計算機控制系統,耦合度要求適中,對於某些實時套用,耦合度的要求也可能很高。
四、分布作業系統
分布計算機系統具有的模組性、並行性和自治性在它的 作業系統 上反映得也很明顯,使分布作業系統成為作業系統的重要研究方向。
特點 分布作業系統有四個特點。①進程通信不能藉助公用存儲器,因而進程同步機構應提供一個面向信件的異構型通信環境。②系統資源分布於多個結點,因而進程調度、資源分配、系統管理等必須滿足分布處理的要求。③根據自治性對資源管理的要求,各個處理機既能自主地管理分布於本結點的資源,又能接受和處理其他結點使用該資源的申請。由於一個功能模組往往有多個副本分布於不同的處理機上,而又不能採用全系統的集中控制,所以必須採用能保證一致性的分散管理方式。④自治性的要求使錯誤檢測和恢復變得更為複雜。
進程通信機構 在單處理機和具有共享存儲器的多處理機系統中,利用基於公共變數的進程同步機構實現進程互斥和同步。但是,在以通信鏈路實現機間互連的分布計算機系統中,運行於不同處理機上的進程需要相互通信,沒有公共存儲器和公共變數可以利用,就必須採用另一種通信機構,即信件傳遞。基於信件傳遞的進程同步機構是經過信件佇列依靠通信協定來實現的。通信協定由三部分組成:①基本數據元的描述,包括位、字元、信息包、報文、文卷和作業等;②數據元傳送的約定,包括代碼規定、信件格式、路徑速度和控制順序等;③通信裝置之間的虛路徑(邏輯信道)的建立,包括地址構成、優先權、序號、錯誤檢測恢復、流控制、自舉操作等。通信協定(見 網路軟體 )是劃分層次的,保證低層協定對於高層協定的透明性。
資源管理 分布計算機系統有多種資源,每種資源有多個設備(包括邏輯設備,如文卷的多個拷貝),每個設備又有多種活動。設備分布於多台處理機中,因此為了適應模組性、自治性和堅固性的要求,系統設定多個控制機構管理。這樣就形成了多個資源與多個控制機構之間錯綜複雜的關係。
對於資源管理的分類有兩種觀點。一種是從單個資源與多個管理機構相互關係的角度進行分析,稱為單個資源控制。另一種是從多個資源與多個管理機構相互關係的角度進行分析,稱為集體資源控制。前者是後者的基礎,後者是前者的提高。這是因為全系統資源是由單個資源組成的,但只有從全系統的總體要求和限制因素來考慮資源管理,才能獲得最佳的系統性能和結構。
單個資源控制有分散程度不同的四種管理方式,前兩種是集中方式,後兩種是分散方式。①全集中管理方式:一個資源只由一個管理機構統一管理。②分割管理方式:一個資源雖由幾個管理機構管理,但各分擔一種管理職能。③浮動管理方式:一個資源可由幾個管理機構管理,但輪流執行管理職責。④全分散管理方式:一個資源由多個管理機構在協商一致的原則下共同管理。
在分布計算機系統中,究竟使用哪種資源管理方式,須根據系統總體要求和資源性質來決定。例如,各個處理機的 主存儲器 資源本來就是分布的,自然由本處理機的管理機構來管理。如果要申請他機的主存儲器資源,必須利用信件傳遞向該機的管理機構提出申請,須採取集中管理方式。但是,對於多拷貝文卷的更新操作,則必須採取分散管理方式。這是一個各拷貝所在處理機之間的分布並發進程互斥問題。任何一個處理機的管理機構都不能對它擁有的文卷拷貝單獨作出更新的決定,除非其他有關處理機一致同意不在此期間另外進行讀或寫文卷的操作。在設計這一類分散式同步算法時,除須考慮死鎖問題外,還須防止資源申請者不能在有限的時間內獲得某一個資源的“餓死”現象。
分布程式設計 分布計算機系統的有效使用還決定於是否有一個好的分散式程式設計語言。這種語言應能有效地描述分布程式,說明進程及其在各處理機上的分布、進程通信等。對分布程式的要求應該是:適應基於信件傳遞的同步機構考慮實際的並行進程,減少進程間的通信開銷等(見分散式程式設計 )。