?

分布式系統中的辯證對立統一概念與方法

2016-12-21 00:33彭立志孫麗娟喬善平
計算機教育 2016年9期
關鍵詞:對立統一網絡工程

彭立志 孫麗娟 喬善平

摘要:從分布式系統課程中歸納、總結出一些對立統一的概念和方法,指出這些概念和方法是分布式系統課程的精髓所在,它們對于學生理解、掌握分布式系統至關重要。闡明學習分布式系統中辨證概念與方法的方法,通過有意識地學習這些知識點和方法,能有效地鍛煉學生的辨證思維能力。

關鍵詞:分布式系統;網絡工程;對立統一

0.引言

分布式系統作為網絡工程專業的一門專業課,有著深厚的歷史背景。從計算機網絡誕生以來,分布式系統作為計算機網絡資源共享的軟件手段,一直伴隨著網絡技術一起成長。從最初的文件共享,到現代的大規模分布式計算、高性能并行計算,以及近年的云計算,無一不架構在分布式系統理論基石之上。近年來,國內各高校網絡工程專業紛紛開設這一原理性很強的課程。原理性強意味著枯燥、不好學,因此探索學習該課程的有效方法,已成為分布式系統課程教學研究的一個重要課題。不少學者就這一課程的教學方法和學習方法進行了深入的研究。

縱觀分布式系統課程的知識體系,對立統一的概念貫穿始終,幾乎每一項大的知識點均包含對立統一概念,這說明分布式系統本身就是客觀綜合事物。這些成對出現的對立統一概念構成了分布式系統課程的概念體系,有些概念對甚至在多個知識點中出現,并支撐這些知識點的邏輯推理方法。例如“分布式”與“集中式”這一對概念,貫穿整個課程知識體系,在時鐘同步、互斥、進程組織、故障處理、安全等各個方面中都有所涉及。理解這一具有鮮明特點的概念體系是學習分布式系統的關鍵。本文就課程中重要的對立統一概念和方法進行詳細討論。

1.分布式與集中式

分布式與集中式是兩種對立統一的思維方式,是分布式系統課程中最重要的對立統一概念。分布式方法是在組織分布式系統的對象時,以“民主”的方式進行決策管理;而集中式方法正好相反,以“集權”的方式對分布式系統進行決策管理。以下結合幾個重要的示例闡述這一對立統一概念。

1.1集中式物理時鐘同步算法與分布式物理時鐘同步算法

集中式物理時鐘同步算法主要有Cristian算法和Berkeley算法,這兩種算法有個共同的特點,就是系統中都有一臺時鐘服務器與標準UTC時間對時,所有工作站的時鐘都以該服務器為準。換言之,時鐘服務器在系統中充當集中式的決策者。例如Cristian算法同步過程如下:

時間服務器接收UTC時間,其他機器必須與時間服務器同步;

每臺機器以不大于δ(2ρ)秒的頻率向時間服務器發送消息詢問當前時間,其中p為時鐘機器的時鐘精度,δ是最小時鐘誤差;

時間服務器收到消息后返回當前時間CUTC;

發送者收到服務器消息后將時鐘調整為CUTC。

相反,分布式物理時鐘同步算法中沒有決策者,所有機器對時以一種大家共同做決策的方式進行,典型算法是平均值算法,其同步過程如下:

將時間劃分為固定長度的再同步間隔R;

第i次同步開始于TO+iR,結束于TO(i+l)R;

每次同步間隔開始,每臺機器廣播自己的時間;

對于某一具體的機器,當所有的同步廣播都到達后,它根據所有的時間執行某一平均算法得到新值,再根據新值調整時鐘。

1.2集中式互斥算法和分布式互斥算法

集中式互斥算法中,所有進程進入臨界區前都要向決策進程申請,由決策進程決定其是否進入臨界區。其過程如下:

選舉一個協調者;

任何一個進程進入臨界區前,向協調者發送申請消息;

協調者根據臨界區的使用情況同意或拒絕申請者的請求;

協調者拒絕申請者的方式可以發送拒絕消息或者不應答,但都將請求放人隊列中。

而分布式互斥算法中,沒有決策進程,臨界區的每次使用都要通過所有進程共同決策,其互斥過程如下:

一個進程進入臨界區前,先構造一個含有目標臨界區名字、本進程號和當前時間的消息,發給所有進程;

一個進程收到另一個進程的請求消息時,根據自己與目標臨界區的狀態關系反應:若接受者不在也不想進入臨界區,發送OK消息;接受者已經在臨界區則不應答,只是把請求放人隊列;接受者亦欲進入臨界區,則將收到的請求時間戳與它發送的請求時間戳比較,時間靠前的獲勝進入;

發送者一直等待其他所有進程返回OK消息,之后進入臨界區,使用完畢向隊列中的進程發送OK消息,刪除自己的任務。

從這兩個例子中我們不難看到,集中式方法的共同特點是系統中有一個決策管理者,它決定所有系統的行為,而分布式方法的特點是系統中沒有決策管理者,系統的所有決策由大家共同做出。實際上分布式與集中式概念不僅僅體現在這兩個知識點中,在整個課程的知識點中,有很多知識點體現了這一對立統一概念,表1簡單列出了這些知識點,以及它們包含的集中式與分布式方法。

2.平等結構與等級結構

平等結構與等級結構是分布式系統中對象組織的兩種對立統一方式。平等結構中所有成員的地位是平等的,系統的決策由大家共同確定,方法上對應分布式方法。而等級結構中成員存在隸屬關系或者上下級關系,形成某種層級結構,方法上對應集中式方法,或者分層方法,特別是分層方法,在復雜的、大規模的分布式系統中被廣泛使用。下面以進程組為例說明這一對概念。

平等組對應分布式概念,平等組中所有成員地位是相同的,所有決定由所有成員共同作出,即當有進程需要加入或退出進程組時,由組中成員投票表決。而等級組對應集中式概念,組內有一個協調者進程,其他則是工作者,組內關系和動作由協調者決定。圖1顯示了平等組與等級組的區別。表2列出了課程中蘊含等級思想的知識點。

3.同步與異步

同步與異步是分布式系統中另一對重要的對立統一概念。同步概念是指調用者在執行調用之后,進人等待狀態,一直等到被調用者返回結果。而異步概念是指調用者調用之后不進行等待,繼續執行其他工作,當被調用者返回結果時,調用者產生中斷,處理結果。同步和異步模式在計算機系統中廣泛應用,分布式系統中也有大量應用。下面以同步RPC和異步RPC為例闡明這一對概念。

如圖2所示,(a)為同步RPC,(b)為異步RPC。同步RPC調用者(客戶端)給遠程服務器進程發送遠程過程調用請求后,進入阻塞狀態,等待服務器返回的結果,直到服務器結果發送回來,客戶端才解除阻塞。而異步RPC中,客戶端不需要等到結果返回,只需要服務器返回接收請求消息的確認即可。

從上面例子可以看出,同步就是客戶端需要“等待”,而異步則是客戶端不需要“等待”或等待時間短。表3列出了分布式系統課程中涉及同步與異步概念的知識點。

4.時間與空間性能

分布式系統課程中,大量的知識點涉及算法的分析。往往一個問題有多種算法解決方案,而不同的算法有不同的特點和不同的性能表現,課程要求學生不僅掌握算法的基本原理,還需要對算法進行性能分析,通過這種算法的性能分析,鍛煉學生分析問題、解決問題的能力。在分布式系統各個問題的算法解決方案中,充滿了辯證的邏輯,往往一種算法具有某一方面性能的優勢,卻喪失另一方面的優勢。這一辯證觀點及基于該觀點的分析方法,是課程的一個重要特點。

時間和空間是計算機科學中一對永恒的矛盾。分布式系統中同樣充斥著效率(時間性能)與存儲(空間性能)的矛盾。一般來說,一種算法如果有較好的時間性能,往往以犧牲部分空間性能為代價;相反,如果算法具有較好的空間性能,則要犧牲一定的時間性能。因此,在進行算法分析的時候,首先要對算法的時間與空間性能進行辯證分析,分析算法的時空優缺點,再針對具體問題進行合理的算法選擇。

5.教學中的應用

分布式系統課程中上述辯證概念和方法貫徹課程始終,在教學中強調與利用這樣的概念方法,將起到事半功倍的教學效果。在課堂教學中強調辯證概念和方法,學生容易理解和掌握課程的知識點,例如分布式和集中式概念,在多個知識點的教學中強調后,學生就有意識地利用這一對辯證概念去分析未知的分布式系統知識點,并在實踐中應用這一對概念分析和解決問題。另外,在教學中引導學生進行辯證概念方法的分析,能有效訓練他們的辯證思維,增強其分析問題的能力。

6.結語

分布式系統課程的基本算法和原理淋漓盡致地體現了辯證法的思維:首先,事物總是存在兩面性;其次,一個問題的任何解決方案都不是完美的,對其分析時需要從正反兩方面分析其優缺點。以這樣一種辯證的思維方式學習、認識這門課程,才能真正做到舉一反三。

猜你喜歡
對立統一網絡工程
新工科背景下網絡工程專業實踐教學體系構建
網絡工程專業課程中的“雙創”教育與實踐
論網絡工程中安全防護技術發展的研究
地方本科院校網絡工程專業實踐教學體系構建
基于VR技術在網絡工程虛擬仿真實訓平臺的應用研究
網絡工程中的安全防護技術
極限思想的辯證思考與理解
《荒原》主題的辯證法解讀
壟斷與競爭的辯證分析及對我國社會主義市場經濟建設的啟示
跨越矛盾
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合