版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第四章分布式系統(tǒng)通信進程間的通信是一切分布式系統(tǒng)的基礎,它基于底層網絡提供的底層消息傳遞機制分層協(xié)議遠程過程調用遠程對象調用面向消息的通信多播通信2020/11/241層次協(xié)議(1)OSI模型中的層、接口和協(xié)議2-1必須在不同層次制訂多種協(xié)議,包括從位傳輸?shù)牡讓蛹毠?jié)到信息表示的高層細節(jié):0,1的電壓表示消息的結束位檢測消息的丟失或損壞及其處理數(shù)值、字符串及其它數(shù)據(jù)項的長度和表示方法面向連接的協(xié)議:電話無連接的協(xié)議:郵箱2020/11/242精品資料3你怎么稱呼老師?如果老師最后沒有總結一節(jié)課的重點的難點,你是否會認為老師的教學方法需要改進?你所經歷的課堂,是講座式還是討論式?教師的教鞭“不怕太陽曬,也不怕那風雨狂,只怕先生罵我笨,沒有學問無顏見爹娘……”“太陽當空照,花兒對我笑,小鳥說早早早……”4層次協(xié)議(2)在網絡上傳輸?shù)牡湫拖?-22020/11/245遠程過程調用
(RemoteProcedureCall)RPC是分布式系統(tǒng)通信處理的事實標準,實現(xiàn)消息傳輸?shù)耐该餍浴3R?guī)過程調用客戶存根和服務器存根參數(shù)傳遞2020/11/246常規(guī)過程調用Count=read(fd,buf,nbyte),本地過程調用中的參數(shù)傳遞:調用read前的堆棧狀態(tài)過程調用執(zhí)行時的堆棧狀態(tài)2020/11/247客戶存根和服務器存根客戶和服務器間的RPC原理2020/11/248遠程過程調用步驟客戶過程以正常的方式調用客戶存根客戶存根生成一個消息,然后調用本地操作系統(tǒng)客戶端操作系統(tǒng)將消息發(fā)送給遠程操作系統(tǒng)遠程操作系統(tǒng)將消息交給服務器存根服務器存根將參數(shù)提取出來,然后調用服務器服務器執(zhí)行要求的操作,操作完成后將結果返回給服務器存根服務器存根將結果打包成一個消息,然后調用本地操作系統(tǒng)服務器操作系統(tǒng)將含有結果的消息發(fā)送回客戶端操作系統(tǒng)客戶端操作系統(tǒng)將消息交給客戶存根客戶存根將結果從消息中提取出來,返回給調用它的客戶過程2020/11/249參數(shù)傳遞-傳遞值參(1)通過RPC進行遠程計算的步驟2-82020/11/2410傳遞值參(2)Pentium上的原始消息SPARC收到的消息進行逆轉后的消息2020/11/2411傳遞引用參數(shù)對于簡單數(shù)組和結構:使用復制-還原代替引用調用很難傳遞一般意義的指針:如復雜圖形的指針2020/11/2412參數(shù)說明RPC雙方必須就交換的格式達成一致一個過程相應的消息2020/11/2413異步RPC傳統(tǒng)RPC交互過程異步RPC交互過程2020/11/2414延遲的同步RPC2020/11/2415遠程對象調用使用客戶端代理的遠程對象的一般組織結構2-162020/11/2416面向消息的通信
當遠程過程調用和遠程對象調用不適用時,需要面向消息的通信。消息中的持久性和同步性面向消息的暫時通信面向消息的持久通信2020/11/2417消息中的持久性和同步性(1)通信系統(tǒng)的通用結構2-202020/11/2418消息中的持久性和同步性(2)驛馬快遞時代使用的持久通信:通信雙方不必保持運行在暫時通信中,通信系統(tǒng)只在發(fā)送者和接收者運行時存儲消息2020/11/2419消息中的持久性和同步性(3)持久異步通信:提交消息后立即執(zhí)行其他程序,電子郵件持久同步通信:提交消息后會被阻塞,直到消息已到達并存儲在接收主機2-22.12020/11/2420消息中的持久性和同步性(4)暫時異步通信基于接收的暫時同步通信2-22.22020/11/2421消息中的持久性和同步性(5)基于交付的暫時通信基于響應的同步通信2020/11/2422面向消息的暫時通信不提供消息的中介存儲,實時性要求高(幾秒甚至幾毫秒)BerkeleySocketsMessage-PassingInterface2020/11/2423BerkeleySockets(1)TCP/IP套接字原語原語含義Socket創(chuàng)建新的通信端點Bind將本地地址附加(attach)到套接字上Listen宣布已準備好接受連接Accept在收到連接請求前阻塞調用方Connect主動嘗試建立連接Send通過連接發(fā)送數(shù)據(jù)Receive通過連接接收數(shù)據(jù)Close釋放連接2020/11/2424BerkeleySockets(2)使用套接字的面向連接通信模式2020/11/2425TheMessage-PassingInterface(MPI)適用于高速互聯(lián)網絡,為高性能并行應用程序設計,有更高級的特性:緩沖、同步MPI中的基本消息傳遞原語原語含義MPI_bsend將消息追加到本地發(fā)送緩沖區(qū)中MPI_send發(fā)送消息,并等待到消息復制到本地或遠程緩沖區(qū)為止MPI_ssend發(fā)送消息,并等待到對方開始接收為止MPI_sendrecv發(fā)送消息,并等待到受到應答消息為止MPI_isend傳遞要發(fā)送消息的引用,然后繼續(xù)執(zhí)行MPI_issend傳遞要發(fā)送消息的引用,并等待到對方開始接收為止MPI_recv接受消息,如果不存在的等待的消息則阻塞MPI_irecv檢查是否有輸入的消息,但無論有無消息都不會阻塞2020/11/2426面向消息的持久通信提供消息的中介存儲,實時性要求低(幾分鐘)Message-Queuingsystem消息隊列系統(tǒng)應用程序通過在特定隊列中插入消息來進行通信只保證發(fā)送者的消息最終被放置到接收者的隊列中,并不保證時間,也不保證消息被讀取。2020/11/2427Message-QueuingModel(1)使用隊列的松耦合通信的四種組合方式2-262020/11/2428Message-QueuingModel(2)消息隊列系統(tǒng)中隊列的基本接口原語含義Put將消息追加到指定隊列Get調用進程阻塞,直到指定隊列非空,取出第一個消息Poll察看指定隊列的消息,取出第一個消息,不阻塞調用進程Notify注冊一個處理程序,在有消息進入指定隊列時調用該處理程序2020/11/2429消息隊列系統(tǒng)的通用體系結構(1)源隊列,目的隊列隊列級編址與網絡級編址間的關系2020/11/2430消息隊列系統(tǒng)的通用體系結構(2)含有路由器的消息隊列系統(tǒng)的通用體系結構2-292020/11/2431(消息轉換器)MessageBrokersThegeneralorganizationofamessagebrokerinamessage-queuingsystem.2-302020/11/2432多播通信多播:服務器向其他N臺服務器發(fā)送更新時,底層的網絡負責向多個接收者發(fā)送一個消息,高效網絡層多播應用層多播:將節(jié)點組織成一個覆蓋網絡,用它來傳播信息給其成員,路由并非最佳覆蓋網絡的構建:樹狀網絡:路徑唯一網狀網絡;多個路徑2020/11/2433覆蓋網絡的構建覆蓋網絡路由并非最佳2020/11/2434基于gossiping的數(shù)據(jù)通信Epidemic協(xié)議使用本地信息在大型節(jié)點集中快速地傳播信息提供最終一致性:保證所有的副本最終是一致的一個服務器可以是:傳染性的:持有愿意向其他服務器散布的更新易感的:尚未更新的服務器隔離的:已更新的服務器如果不愿意或不能擴散其更新反熵傳播模型:服務器P周期的隨機選取一臺服務器Q交換更新,方式包括:P只把自己的更新推入Q:較差的選擇P只從Q拉出新的更新P和Q相互發(fā)送更新可以證明:如果初始只有一臺服務器具有傳染性,無論采用哪種形式,更新最終將被傳播到所有服務器上2020/11/2435gossiping思想:如果服務器P剛剛因為數(shù)據(jù)項x而被更新,那么它聯(lián)系任意一個其他服務器Q,并試圖將更新推入Q。如果Q已經被其他服務器更新了,P可能會失去繼續(xù)擴散的興趣,變成隔離的(這種可能性是1/k)快速傳播更新的方法但不能保證所有的服務器都被更新了s=e-(k+1)(1-s),k=3時,s小于2%;k=4時,s小于0.7%可以將gossiping和反熵結合2020/11/2436小結分層協(xié)議遠程過程調用遠程對象調用面向消息的通信多播通信2020/11/2437高級操作系統(tǒng)編程作業(yè)一任務使用socket編程實現(xiàn)一個簡單的文件服務器。客戶端程序實現(xiàn)put功能(將一個文件從本地傳到文件服務器)和get功能(從文件服務器取一遠程文件存為本地文件)??蛻舳撕臀募掌鞑辉谕慌_機器上。p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化妝品前臺工作總結
- 家電行業(yè)助理的崗位職責
- 藥房職位工作總結
- 安徽省阜陽市2023~2024學年九年級上學期期末質量檢測化學試題
- 鐵路行業(yè)安全管理工作總結
- 工藝制造行業(yè)行政后勤工作總結
- 廣東省深圳市羅湖區(qū)2023-2024學年六年級上學期英語期末試卷
- 《如何提升招聘效能》課件
- 《汽車銷售整套資料》課件
- 《暴發(fā)性肝衰竭》課件
- 患者入院評估課件
- 如何平衡工作和生活的時間安排
- 蜜雪冰城新媒體營銷策略分析
- 愛國主題教育班會《我愛我的祖國》
- 四年級上冊數(shù)學乘法豎式
- 《南來北往》愛奇藝大劇招商方案
- 【潮汕英歌舞的藝術特點與傳承發(fā)展探究9800字】
- 藥品集中采購教育培訓
- 2023年有色金屬分選機行業(yè)研究報告
- 《攝影入門基礎知識》課件
- 《如何調節(jié)情緒》課件
評論
0/150
提交評論