分散式處理器

分散式處理器

分散式處理(distributed processing)和並行處理(Parallel processing)是為了提高並行處理速度採用的兩種不同的體系架構。分散式處理器則是將不同地點的,或具有不同功能的,或擁有不同數據的多台計算機通過通信網路連線起來,在控制系統的統一管理控制下,協調地完成大規模信息處理任務的計算機系統。

基本概念

分散式處理(distributed processing)和並行處理(Parallel processing)是為了提高並行處理速度採用的兩種不同的體系架構。

並行處理是利用多個功能部件或多個處理機同時工作來提高系統性能或可靠性的計算機系統,這種系統至少包含指令級或指令級以上的並行。

分散式處理器則是將不同地點的,或具有不同功能的,或擁有不同數據的多台計算機通過通信網路連線起來,在控制系統的統一管理控制下,協調地完成大規模信息處理任務的計算機系統。

結構出現

大量事實和有關技術資料證明,分散式多處理機系統已成為當今微型計算機套用系統的重要方面。多處理機系統的套用和推廣將為我國傳統工業的改造和更新,為新興工業領域比如民用航空領域的安全生產和運輸將起到愈來愈注目的作用。

對於複雜的高性能的自動化系統,比如自動煉鋼系統、自動軋鋼系統、高速高精度的數控裝置系統等,對於要求高速實時回響的信息處理及控制系統,比如航天航空通信系統、現代民用航空飛機機載的自動信息處理及控制系統,工業機器人系統等,往往由單個微處理器為主所組成的計算機系統不能滿足整個信息及控制系統的要求。而採用功能相對分散的多微處理器組成的計算機系統則能夠很好地滿足上述系統的整體要求。

系統設計者通常把整個系統功能分成若干個相對獨立的分系統(或分模組),使多處理機系統中的每個處理機分別對應其分系統並承擔其該分系統所預定的功能單元的信息處理任務,同時還能適當分擔某些系統控制功能單元分配的任務。整個系統運行時,各處理機分系統能夠相對獨立地並行地協調地進行信息的傳輸控制與處理。這樣就使總系統的綜合實時回響能力得到改善,數據處理的吞吐量和速度得到提高,其可靠性和整體功能也得到加強。

系統中的硬體部件和軟體模組緊密結合,互相支持。雖然系統中的具體硬體部件和軟體的具體模組是分散處理,分級分任務管理的,但在整體上和內在聯繫上硬體部件和軟體模組組成整個系統的整體。這樣既增強了系統的軟硬體的可擴展性、靈活性,又增強了系統的通用性和整體性。

構成方式

分散式處理系統包含硬體,控制系統,接口系統,數據,應用程式和人等六個要素。而控制系統中包含了分散式作業系統,分散式資料庫以及通信協定等。

分散式計算環境是在具有多地址空間的多計算機系統上進行計算和信息處理的軟體環境。而分散式軟體系統是支持分散式處理的軟體系統,它包括分散式作業系統,分散式程式設計語言及其編譯系統,分散式檔案系統和分散式資料庫系統等。而CORBA,COM+等是設計分散式軟體系統的一些技術。

簡單來說,分散式處理就是多台相連的計算機各自承擔同一工作任務的不同部分,在人的控制下,同時運行,共同完成同一件工作任務。

一般信息處理系統的硬體、控制點和資料庫有多種構成方式。

從硬體組成來看屬於分散式系統的有兩種:

①系統由多個處理機組成,但是有統一的輸入輸出系統;

②多計算機系統,有多個輸入輸出系統。

從控制點的設定方式來看屬於分散式處理的有3種:

①多個系統在子任務一級上協同操作執行某一任務;

②多個相同的控制系統協同執行同一任務;

③多個不同的控制系統協同執行同一任務。

從資料庫來看屬於分散式的有3種:

①只有部分資料庫在主結點中有複製本;

②只有部分資料庫在主結點中有目錄;

③資料庫全部分散存放,沒有主結點。

分散式處理系統必須有能力在短時間內動態地組合成面向不同服務對象的系統。對用戶來說系統是透明的,用戶只需指定系統乾什麼而不必指出哪個部件可以提供這一服務。系統各組成部分是自主的,但不是無政府狀態,而是遵循某個主計畫由高級作業系統進行協調工作。在一個計算機網中有多台主機不一定都是分散式處理。如果這樣的系統不具備動態組合及任務再指派的能力,那么它們仍然是集中式處理。高級作業系統是分散式處理的關鍵。在分散式系統中不再使用完整的信息,各個組成部分提供自己的狀態信息,高級作業系統根據這些狀態信息進行任務協調和資源再分配,各組成部分之間沒 有層次關係而是自主的 。

系統優點

分散式系統與集中式系統相比較而言的優點

系統傾向於分散式發展潮流的真正驅動力是經濟。25年前,計算機權威和評論家Herb Grosch指出CPU的計算能力與它的價格的平方成正比,後來成為Grosch定理。也就是說如果你付出兩倍的價錢,就能獲得四倍的性能。這一論斷與當時的大型機技術非常吻合,因而使得許多機構都盡其所能購買最大的單個大型機。

隨著微處理機技術的發展,Grosch定理不再適用了。到了二十一世紀初期,人們只需花幾百美元就能買到一個CPU晶片,這個晶片每秒鐘執行的指令比80年代最大的大型機的處理機每秒鐘所執行的指令還多。如果你願意付出兩倍的價錢,將得到同樣的CPU,但它卻以更高的時鐘速率運行。因此,最節約成本的辦法通常是在一個系統中使用集中在一起的大量的廉價CPU。所以,傾向於分散式系統的主要原因是它可以潛在地得到比單個的大型集中式系統好得多的性價比。實際上,分散式系統是通過較低廉的價格來實現相似的性能的。

與這一觀點稍有不同的是,我們發現微處理機的集合不僅能產生比單個大型主機更好的性能價格比,而且還能產生單個大型主機無論如何都不能達到的絕對性能。例如,按二十一世初期的技術,我們能夠用10,000個現代CPU晶片組成一個系統,每個CPU晶片以50 MIPS(每秒百萬指令)的速率運行,那么整個系統的性能就是500,000 MIPS。而如果單個處理機(即CPU)要達到這一性能,就必需在2×10-12 秒(2 微微秒,0.002納秒)的時間內執行一條指令,然而沒有一個現存的計算機能接近這個速度,從理論上和工程上考慮都認為能達到這一要求的計算機都是不可能存在的。理論上,愛因斯坦的相對論指出光的傳播速度最快,它能在2 微微秒內傳播0.6毫米。實際上,一個包含於邊長為0.6 毫米大小的立方體內的具有上面所說的計算速度的計算機產生大量的熱量就能將它自己立即熔掉。所以,無論是要以低價格獲得普通的性能還是要以較高的價格獲得極高的性能,分散式系統都能夠滿足。

另一方面,一些作者對分散式系統和並行系統進行了區分。他們認為分散式系統是設計用來允許眾多用戶一起工作的,而並行系統的唯一目標就是以最快的速度完成一個任務,就像我們的速度為500,000 MIPS的計算機那樣。我們認為,上述的區別是難以成立的,因為實際上這兩個設計領域是統一的。我們更願意在最廣泛的意義上使用“分散式系統”一詞來表示任何一個有多個互連的CPU協同工作的系統。

建立分散式系統的另一原因在於一些套用本身是分散式的。一個超級市場連鎖店可能有許多分店,每個商店都需要採購當地生產的商品(可能來自本地的農場)、進行本地銷售,或者要對本地的哪些蔬菜因時間太長或已經腐爛而必須扔掉作出決定。因此,每個商店的本地計算機能明了存貨清單是有意義的,而不是集中於公司總部。畢竟,大多數查詢和更新都是在本地進行的。然而,連鎖超級市場的高層管理者也會不時地想要了解他們還有多少甘藍。實現這一目標的一種途徑就是將整個系統建設成對於應用程式來說就像一台計算機一樣,但是在實現上它是分布的,像我們前面所描述的一個商店有一台機器。這就是一個商業分散式系統。

另一種固有的分散式系統是通常被稱為計算機支持下的協同工作系統(CSCW,Computer Supported Cooperative Work)。在這個系統中,一組相互之間在物理上距離較遠的人員可以一起進行工作,例如,寫出同一份報告。就計算機工業的長期發展趨勢來說,人們可以很容易的想像出一個全新領域--計算機支持的協同遊戲(CSCG:Computer Supported Cooperative Games)。在這個遊戲中,不在同一地方的遊戲者可以實時的玩遊戲。你可以想像,在一個多維迷宮中玩電子捉迷藏,甚至是一起玩一場電子空戰,每個人操縱自己的本地飛行模擬器去試著擊落別的遊戲者,每個遊戲者的螢幕上都顯示出其飛機外的情況,包括其它飛入它的視野的飛機。

同集中式系統相比較,分散式系統的另一個潛在的優勢在於它的高可靠性。通過把工作負載分散到眾多的機器上,單個晶片故障最多只會使一台機器停機,而其它機器不會受任何影響。理想條件下,某一時刻如果有5%的計算機出現故障,系統將仍能繼續工作,只不過損失5%的性能。對於關鍵性的套用,如核反應堆或飛機的控制系統,採用分散式系統來實現主要是考慮到它可以獲得高可靠性。

最後,漸增式的增長方式也是分散式系統優於集中式系統的一個潛在的重要的原因。通常,一個公司會買一台大型主機來完成所有的工作。而當公司繁榮擴充、工作量就會增大,當其增大到某一程度時,這個主機就不能再勝任了。僅有的解決辦法是要么用更大型的機器(如果有的話)代替現有的大型主機,要么再增加一台大型主機。這兩種作法都會引起公司運轉混亂。相比較之下,如果採用分散式系統,僅給系統增加一些處理機就可能解決這個問題,而且這也允許系統在需求增長的時候逐漸進行擴充。表1中總結了以上這些優點。

分散式處理器 分散式處理器

表1

從長遠的角度來看,主要的驅動力將是大量個人計算機的存在和人們共同工作與信息共享的需要,這種信息共享必需是以一種方便的形式進行的,而不受地理或人員、數據,機器的物理分布的影響。

分散式系統與獨立PC機相比較的優點

既然使用微處理機是一種節省開支的辦法,那么為什麼不給每個人一台個人計算機,讓他們各自獨立地工作呢?一則,許多用戶需要共享數據。例如,機票預訂處的工作人員需要訪問存儲航班以及現有座位信息的主資料庫。假如給每個工作人員都備份整個資料庫,那么在實際中這是無法工作的,因為沒有人知道其他工作人員已經賣出了哪些座位。共享的數據是上例和許多其它套用的基礎,所以計算機間必須互連。而計算機互連就產生了分散式系統。

共享並不只是僅僅涉及數據。昂貴的外設,例如彩色雷射印表機,照相排版機以及大型存儲設備(如自動光碟點唱機)都是共享資源。

把一組孤立的計算機連成一個分散式系統的第三個原因是它可以增強人與人之間的溝通,電子郵件比信件、電話和傳真有更多的誘人之處。它比信件快的多,不像電話需要兩人同時都在,也不像傳真,它所產生的檔案可在計算機中進行編輯、重排和存儲,也可以由文本處理程式來處理。

最後,分散式系統可能比給每個用戶一個獨立的計算機更靈活。儘管一種可能的模式是給每個人一台個人計算機並把它們通過LAN聯在一起,但這種方式並不是唯一的。另外還存在一種模式是將個人計算機和共享計算機混合連線在一起(這些機器的型號可能並不完全相同),使工作能夠在最合適的計算機上完成,而並不總是在自己的計算機上完成。這種方式可以使工作負荷能更有效地在計算機系統中進行分配。系統中某些計算機的失效也可以通過使其工作在其它計算機上進行而得到補償。表2總結了以上所介紹的各點。

分散式處理器 分散式處理器

表2

工業自動套用

自動控制系統在工業生產,特別是在流程工業(化工、石油精練等工業)的套用中,如果發生控制系統失靈,可能會導致嚴重的後果。因此系統可靠性這個岡素在控制系統設計考慮中占有決定性的地位。據此,近年來,工業的生產過程自動化中已經趨向於採用分布控制的方式,這是由於它的可靠性比集中控制要高得多。在一個分散式系統中,某一部分失靈並不需要停止整個的生產過程,這是岡為分布系統巾每一部分都是獨立地操作的。分布系統中的過程控制單元和通信網路的開發町以利用模組化技術。這種技術既可適用於硬體也可適用於軟體的開發,並且是研製高可靠性的和易控制系統的關鍵。,由模組化所形成的控制系統的靈活性,實際上增加了整個系統的完善性。此外.它還使系統容易實現。便於擴展或對其中一部分或全系統進行更換 。

相關詞條

熱門詞條

聯絡我們