?? 前 言.txt
字號:
前 言顯然,未來對計算速度、系統(tǒng)可靠性和成本實效性的要求必將促使發(fā)展另外的計算機模型來替代傳統(tǒng)的馮·諾依曼結構的計算機。隨著計算機網絡的出現(xiàn),一個新的夢想成為可能—分布式計算。當用戶需要完成任何任務時,分布式計算提供對盡可能多的計算機處理能力和數(shù)據的透明訪問,同時實現(xiàn)高性能與高可靠性的目標。在過去的10年里,人們對分布式計算系統(tǒng)的興趣迅猛增加。分布式計算的主題是多種多樣的,許多研究人員正在研究有關分布式硬件結構和分布式軟件設計的各方面問題以開發(fā)利用潛在的并行性和容錯性。分布式計算系統(tǒng)(或分布式系統(tǒng))多種多樣并涉及不同的系統(tǒng)體系結構。對一些用戶來說,一個分布式系統(tǒng)是為解決單個問題而緊密結合在一起工作的多處理機的集合。對另一些用戶來說,一個分布式系統(tǒng)可能意味著一個由地理上分散的各自獨立的處理機組成的計算機網絡,這些處理機連接在一起以實現(xiàn)對不同資源的共享。然而,分布式系統(tǒng)這個詞在計算機系統(tǒng)中被如此廣泛應用以至于它的使用變得有點貶值。許多這方面的混亂來源于缺乏對物理的分布和邏輯的分布的區(qū)分。通過區(qū)分這兩個概念,就可以更準確地描述一個分布式系統(tǒng)的屬性。對于分布式系統(tǒng),我們使用以下定義:一個分布式系統(tǒng)是一個對用戶看起來像普通系統(tǒng),然而運行在一系列自治處理單元(PE)上的系統(tǒng),每個處理單元有各自的物理內存空間并且消息的傳輸延遲不能忽略不計。在這些處理單元間有緊密的合作。系統(tǒng)必須支持任意數(shù)量的進程和處理單元的動態(tài)擴展。目的建立一個分布式系統(tǒng)的主要目的在于: ?固有的分布式應用。分布式系統(tǒng)以一種很自然的方式開始存在,例如,在我們的社會中,人群在地理上是分布式的并且分布式地共享信息。一方面,一個分布式數(shù)據庫系統(tǒng)中的信息產生于不同的分支機構(子數(shù)據庫),所以能夠快速地完成本地訪問。另一方面,系統(tǒng)也提供了全局視圖來支持各種全局操作。 ?性能/成本。分布式系統(tǒng)的并行性降低了處理的瓶頸,提供了全面改進的性能,也就是說,分布式系統(tǒng)提供了更好的性能價格比。 ?資源共享。分布式系統(tǒng)能有效地支持不同位置的用戶對信息和資源(硬件和軟件)的共享。 ?靈活性和可擴展性。分布式系統(tǒng)可以增量擴展,并能方便地修改或擴展系統(tǒng)以適應變化的環(huán)境而無需中斷其運行。 ?實用性和容錯性。依靠存儲單元和處理單元的多重性,分布式系統(tǒng)具有在系統(tǒng)出現(xiàn)故障的情況下繼續(xù)運行的潛力。 ?可伸縮性。分布式系統(tǒng)能容易地擴大以包括更多的資源(硬件和軟件)。概述和讀者這本書嘗試著提出了分布式系統(tǒng)領域的一些重要問題,包括基本概念、問題和一些可能的解決方案,可用于研究生的分布式系統(tǒng)設計課程,也可用于高年級本科生和研究生的高級操作系統(tǒng)課程。它向學生介紹了分布式系統(tǒng)特有的有關設計方面的一些內容。本書著重于設計的軟件部分,因為大部分相應的硬件部分在許多有關計算機網絡和并行計算機的教科書中都已得到很好的介紹。這本書中的所有高級設計和算法都使用建議的類CSP分布式控制描述語言(DCDL)表示(CSP代表通信順序進程)。雖然這本書不可能覆蓋分布式計算系統(tǒng)的所有問題,但我們的目標在于給出有關每個涉及到的問題的基本方面。我們鼓勵學生通過學期項目、碩士和博士論文在這些問題上作更多的研究。我們假設學生至少熟悉一門高級程序設計語言,熟悉操作系統(tǒng)和計算機體系結構的基本概念以及離散數(shù)學的基礎。這本書的大部分材料來自原始資料、當代文獻中的研究論文和作者自己在這方面的研究成果。分布式處理的廣闊題材在本書的組織上得以體現(xiàn)。本書共12章,大致可分成三部分:介紹和基礎(第1~3章),分布式系統(tǒng)的各種問題(第4~11章)、以及應用(第12章)。一些相關主題沒有包括進來,比如分布式實時系統(tǒng)和分布式系統(tǒng)軟件。我們盡量包括足夠一個學期課程的材料。內容第1章介紹一些基本概念,討論分布式計算系統(tǒng)的目的,提出分布式計算系統(tǒng)的范圍,同時還提供了本書的簡介。第2章概述一般的分布式程序設計語言,介紹類CSP分布式控制描述語言(DCDL)。這個語言用于描述一些控制問題,比如并行的表示進程間的通信與同步和容錯設計。附錄列出了在DCDL中常用的符號。第3章正式涉及分布式系統(tǒng),介紹了一些概念,如時鐘、事件和狀態(tài)以及描述一個分布式系統(tǒng)的兩種方法:時空視圖和交叉視圖。第4章討論對于分布式系統(tǒng)設計十分重要的互斥問題?;コ獗WC了相互沖突的并發(fā)進程能共享資源。我們還討論了有關互斥的三個問題:選舉、投標和自穩(wěn)定。第5章研究分布式系統(tǒng)中死鎖的預防與檢測。分布式系統(tǒng)一般具有高度的資源和數(shù)據共享,在這種情況下可能導致死鎖的發(fā)生。這一章討論了幾個分布式系統(tǒng)特有的死鎖問題的解決方案。第6章研究對于分布式系統(tǒng)的性能至關重要的處理機間高效通信的機制。這一章研究了三種類型的通信:一對一(單播)、一對多(組播)和一對所有(廣播)以及它們的性能。第7章討論沒有特別約束的處理機間的通信機制,這些約束包括自適應性、無死鎖和容錯性。這一章還介紹了用于不同目的的虛擬通道和虛擬網絡的概念。第8章涉及分布式系統(tǒng)的可靠性問題。使用分布式系統(tǒng)的一個重要目的就是高度的可依賴性,包括可靠性、安全性和保密性。一個基本問題就是檢測和處理系統(tǒng)中可能出現(xiàn)的故障。在這一章中我們研究了處理分布式系統(tǒng)中的節(jié)點與通信故障、拜占庭式故障和軟件故障的各種方法。第9章和第10章包括分布式系統(tǒng)中的負載分配問題。負載分配是分布式系統(tǒng)的資源管理部分,它在處理機間公平透明地重新分配系統(tǒng)的負載,使系統(tǒng)的總體性能最佳。第9章研究靜態(tài)負載分配,即利用預知的有關系統(tǒng)的知識做出負載分配的決策,而且負載在運行期間不能重新分配。第10章涉及動態(tài)負載分配算法,即利用(至少部分地利用)系統(tǒng)狀態(tài)信息(節(jié)點上的負載)來做出負載分配的決策。第11章描述分布式數(shù)據管理問題,包括兩個特別問題:(a)對共享數(shù)據訪問的同步并同時支持高度的并發(fā)性;(b)可靠性。第12章包括分布式設計在操作系統(tǒng)、文件系統(tǒng)、共享存儲系統(tǒng)、數(shù)據庫系統(tǒng)和異型處理中的應用,同時列出將來可能的研究方向。附錄包括了DCDL中的常用符號列表。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -