版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、分布式計(jì)算與開發(fā)模式,Why What When Where How Exam 教材:機(jī)械工業(yè)出版社分布式計(jì)算、云計(jì)算與大數(shù)據(jù)林偉偉 主編,第1章 分布式計(jì)算概述,提 綱,分布式計(jì)算概念 分布式系統(tǒng)介紹 分布式計(jì)算基礎(chǔ)技術(shù),分布式計(jì)算的定義,分布式計(jì)算是一門計(jì)算機(jī)科學(xué),主要研究對象是分布式系統(tǒng)。在介紹分布式計(jì)算概念前,首先簡單了解一下什么是分布式系統(tǒng)。簡單地說,一個(gè)分布式系統(tǒng)是由若干通過網(wǎng)絡(luò)互聯(lián)的計(jì)算機(jī)組成的軟硬件系統(tǒng)1,且這些計(jì)算機(jī)互相配合以完成一個(gè)共同的目標(biāo)(往往這個(gè)共同的目標(biāo)稱為“項(xiàng)目”),分布式計(jì)算指在分布式系統(tǒng)上執(zhí)行的計(jì)算。分布式計(jì)算是將一個(gè)大型計(jì)算任務(wù)分成很多部分分別交給其他的計(jì)算
2、機(jī)處理,并將所有的計(jì)算結(jié)果合并為原問題的解決方案。這里與并行計(jì)算不同的是,并行計(jì)算是使用多個(gè)處理器并行執(zhí)行單個(gè)計(jì)算。,分布式計(jì)算的優(yōu)缺點(diǎn),優(yōu)點(diǎn) 超大規(guī)模 虛擬化 高可靠性 通用性 高可伸縮性 按需服務(wù) 極其廉價(jià) 容錯(cuò)性,弱點(diǎn) 多點(diǎn)故障 一臺或多臺計(jì)算機(jī)的故障,或一條或多條網(wǎng)絡(luò)鏈路的故障,都會(huì)導(dǎo)致分布式系統(tǒng)出現(xiàn)問題 安全性 分布式系統(tǒng)為非授權(quán)用戶的攻擊提供了更多機(jī)會(huì),分布式云計(jì)算相關(guān)計(jì)算形式,分布式云計(jì)算相關(guān)計(jì)算形式,集中計(jì)算與分布式計(jì)算,串行運(yùn)算與并行運(yùn)算,并行運(yùn)算與分布式計(jì)算的區(qū)別是:分布式計(jì)算強(qiáng)調(diào)的是任務(wù)的分布執(zhí)行,而并行計(jì)算強(qiáng)調(diào)的是任務(wù)的并發(fā)執(zhí)行,云計(jì)算概念提出,提出者:Google工程
3、師,比希利亞,27歲 出發(fā)點(diǎn):推廣Google超級強(qiáng)大的計(jì)算資源,招賢納士 結(jié)果:蜂擁而至,名噪一時(shí),被視為“云”的起源,11:27:24,- 10 -,云計(jì)算與網(wǎng)格計(jì)算,網(wǎng)格計(jì)算:利用互聯(lián)網(wǎng)把地理上廣泛分布的各種資源(計(jì)算、存儲(chǔ)、帶寬、軟件、數(shù)據(jù)、信息、知識等)連成一個(gè)邏輯整體,就像一臺超級計(jì)算機(jī)一樣,為用戶提供一體化信息和應(yīng)用服務(wù)(計(jì)算、存儲(chǔ)、訪問等) 。 網(wǎng)格計(jì)算強(qiáng)調(diào)資源共享,任何節(jié)點(diǎn)都可以請求使用其它節(jié)點(diǎn)的資源,任何節(jié)點(diǎn)都需要貢獻(xiàn)一定資源給其他節(jié)點(diǎn)。云計(jì)算強(qiáng)調(diào)專有,請求或獲取的資源是專有的,并且由少數(shù)團(tuán)體提供,使用者不需要貢獻(xiàn)自己的資源。 網(wǎng)格計(jì)算側(cè)重并行的計(jì)算集中性需求,并且難以自動(dòng)
4、擴(kuò)展。云計(jì)算側(cè)重事務(wù)性應(yīng)用,大量的單獨(dú)的請求,可以實(shí)現(xiàn)自動(dòng)或半自動(dòng)的擴(kuò)展。,云計(jì)算包含的網(wǎng)格計(jì)算特征: (1)提供在線的計(jì)算、存儲(chǔ)等服務(wù) (2)超大規(guī)模的資源組合 (3)資源的虛擬化,11:27:24,11,云計(jì)算與分布式計(jì)算,分布式計(jì)算(狹義):將待解決問題分成多個(gè)小問題,再分配給許多計(jì)算系統(tǒng)處理,最后將處理結(jié)果加以綜合。 特點(diǎn):把計(jì)算任務(wù)分派給網(wǎng)絡(luò)中的多臺獨(dú)立的機(jī)器 優(yōu)點(diǎn) 稀有資源可以共享 通過分布式計(jì)算可以在多臺計(jì)算機(jī)上平衡計(jì)算負(fù)載 可以把程序放在最適合運(yùn)行它的計(jì)算機(jī)上,云計(jì)算包含的分布式計(jì)算特征: (1)通過資源調(diào)度和組合滿足用戶的資源請求 (2)對外提供統(tǒng)一的、單一的接口,分布式郵箱
5、系統(tǒng),11:27:24,12,云計(jì)算與并行計(jì)算,并行計(jì)算:是指同時(shí)使用多種計(jì)算資源解決計(jì)算問題的過程。通常指一個(gè)程序的多個(gè)部分同時(shí)運(yùn)行于多個(gè)處理器上。 特點(diǎn):把計(jì)算任務(wù)分派給系統(tǒng)內(nèi)的多個(gè)運(yùn)算單元 并行計(jì)算問題的特征 將工作分離成離散部分,有助于同時(shí)解決 隨時(shí)并及時(shí)地執(zhí)行多個(gè)程序指令(多條線同時(shí)運(yùn)行) 多計(jì)算資源下解決問題的耗時(shí)要少于單個(gè)計(jì)算資源下的耗時(shí),云計(jì)算包含的并行計(jì)算特征: (1)用戶資源(單一類型和組合類型)請求的同時(shí)處理,11:27:24,13,云計(jì)算與對等計(jì)算,對等計(jì)算系統(tǒng)中,每個(gè)節(jié)點(diǎn)都擁有對等的功能與責(zé)任,既可以充當(dāng)服務(wù)器向其他節(jié)點(diǎn)提供數(shù)據(jù)或服務(wù),又可以作為客戶機(jī)享用其他節(jié)點(diǎn)提的
6、供數(shù)據(jù)或服務(wù),節(jié)點(diǎn)之間的交互可以是直接對等的,任何節(jié)點(diǎn)可以隨時(shí)自由地加入或離開系統(tǒng)。,對等計(jì)算:有可能作為云計(jì)算的一個(gè)類型,預(yù)測:將可能以“對等子云”的形式出現(xiàn)在云計(jì)算中。 依據(jù):云計(jì)算對超大規(guī)模、多類型資源的統(tǒng)一管理是困難的;對等計(jì)算具有魯棒性、可擴(kuò)展性、成本、搜索等方面的優(yōu)點(diǎn),Google的云計(jì)算服務(wù)曾出現(xiàn)嚴(yán)重問題,Gmail、Blogger和Spreadsheet等服務(wù)均長時(shí)間當(dāng)機(jī)。亞馬遜S3云計(jì)算服務(wù)也曾出現(xiàn)問題。而P2P系統(tǒng)則有更強(qiáng)的抗毀能力。,11:27:24,14,提 綱,分布式計(jì)算概念 分布式系統(tǒng)介紹 分布式計(jì)算基礎(chǔ)技術(shù),分布式系統(tǒng)介紹,分布式系統(tǒng)指通過網(wǎng)絡(luò)互連,可協(xié)作執(zhí)行某個(gè)
7、任務(wù)的獨(dú)立計(jì)算機(jī)集合。不共享內(nèi)存或程序執(zhí)行空間的一系列計(jì)算機(jī)被認(rèn)為是相互獨(dú)立的。,2020/9/22,Distributed Computing,Chap 1,17,Distributed computing,目前因特網(wǎng)上參加人數(shù)最多的分布式計(jì)算項(xiàng)目SETIhome,著名分布式計(jì)算項(xiàng)目介紹,可靠性:指一個(gè)分布式系統(tǒng)在它的某一個(gè)或多個(gè)硬件的軟件組件造成故障時(shí),仍能提供服務(wù)的能力。 可擴(kuò)展性:指一個(gè)系統(tǒng)為了支持持續(xù)增長的任務(wù)數(shù)量可以不斷擴(kuò)展的能力。 可用性:指一個(gè)系統(tǒng)盡可能地限制系統(tǒng)因故障而暫停的能力。 高效性:指一個(gè)分布式系統(tǒng)通過分散的計(jì)算資源來實(shí)現(xiàn)任務(wù)執(zhí)行的高效率。,11:27:24,18,分
8、布式系統(tǒng)特征,CAP理論,提 綱,分布式計(jì)算概念 分布式系統(tǒng)介紹 分布式計(jì)算基礎(chǔ)技術(shù),進(jìn)程間通信,分布式計(jì)算的核心技術(shù)是進(jìn)程間通信(interprocess communication,IPC),即在互相獨(dú)立的進(jìn)程(進(jìn)程是程序的運(yùn)行時(shí)表示)間通信及共同協(xié)作以完成某項(xiàng)任務(wù)的能力。 在分布式計(jì)算中,兩個(gè)或多個(gè)進(jìn)程按約定的某種協(xié)議進(jìn)行IPC,此處協(xié)議是指數(shù)據(jù)通信各參與進(jìn)程必須遵守的一組規(guī)則。在協(xié)議中,一個(gè)進(jìn)程有些時(shí)候可能是發(fā)送者,在其他時(shí)候則可能是接收者。當(dāng)一個(gè)進(jìn)程與另一個(gè)進(jìn)程進(jìn)行通信時(shí),IPC被稱為單播(unicast);當(dāng)一個(gè)進(jìn)程與另外一組進(jìn)程進(jìn)行通信時(shí),IPC被稱為組播(multicast)。
9、,IPC程序接口的四種基本操作,發(fā)送(Send)。該操作由發(fā)送進(jìn)程發(fā)起,旨在向接收進(jìn)程傳輸數(shù)據(jù)。操作必須允許發(fā)送進(jìn)程識別接收進(jìn)程和定義待傳數(shù)據(jù)。 接收(Receive)。該操作由接收進(jìn)程發(fā)起,旨在接收發(fā)送進(jìn)程發(fā)來的數(shù)據(jù)操作必須允許接收進(jìn)程識別發(fā)送進(jìn)程和定義保存數(shù)據(jù)的內(nèi)存空間,該內(nèi)存隨后被接收者訪問。 連接(Connect)。對面向連接的IPC,必須有允許在發(fā)起進(jìn)程和指定進(jìn)程間建立邏輯連擊的操作:其中以進(jìn)程發(fā)出請求連接操作而另一進(jìn)程發(fā)出接受連接操作。 斷開連接(Disconnect)。對面向連接的IPC,該操作允許通信的雙方關(guān)閉先前建立起來的某一邏輯連接。,HTTP進(jìn)程間通信實(shí)例,事件同步,IP
10、C中的一個(gè)主要難點(diǎn)是進(jìn)行IPC的各相關(guān)進(jìn)程是獨(dú)立執(zhí)行的,各進(jìn)程不知道對方進(jìn)程的情況。協(xié)議涉及的雙方必須按特定順序發(fā)起IPC操作,否則可能通信失敗。 因此,參與通信的兩個(gè)進(jìn)程需要同步他們的操作,由一方發(fā)送數(shù)據(jù),另一方則需要等待所有數(shù)據(jù)發(fā)送完成時(shí),開始接收數(shù)據(jù)。 IPC設(shè)施提供事件同步的最簡單的方法是使用阻塞(blocking)機(jī)制或同步(synchronous) ,即掛起某一進(jìn)程的執(zhí)行,直到該進(jìn)程發(fā)起的某個(gè)操作執(zhí)行結(jié)束。 另外,IPC操作可以是異步(asynchronous)或非阻塞操作(nonblocking)。進(jìn)程發(fā)起的異步操作不會(huì)引起阻塞。因此,一旦向IPC設(shè)施發(fā)出異步操作后,進(jìn)程可以繼續(xù)
11、執(zhí)行。當(dāng)該異步操作完成后,進(jìn)程才會(huì)隨后得到IPC設(shè)施的通知。,同步send和同步receive,receive操作的發(fā)出導(dǎo)致該發(fā)起進(jìn)程掛起,直到接收完成該操作的所有數(shù)據(jù)。同樣地,send操作的發(fā)出導(dǎo)致發(fā)送進(jìn)程掛起。當(dāng)發(fā)送的數(shù)據(jù)被進(jìn)程2接收后,主機(jī)2的IPC設(shè)施向主機(jī)1的IPC設(shè)施發(fā)送一條確認(rèn)信息,進(jìn)程1隨后可被解鎖。注意,消息確認(rèn)由兩臺主機(jī)的IPC設(shè)施處理,并且對兩個(gè)進(jìn)程是透明的。,異步send和同步receive,receive操作的發(fā)出將導(dǎo)致接收進(jìn)程掛起,直到接收到滿足操作的所有數(shù)據(jù)為止。然而,send操作的發(fā)出不會(huì)導(dǎo)致發(fā)送進(jìn)程掛起。在本例中,發(fā)送進(jìn)程永遠(yuǎn)不會(huì)被阻塞,因此,進(jìn)程2所在主機(jī)的
12、IPC設(shè)施不必發(fā)送確認(rèn)消息。,同步send和異步receive情形1,接收操作請求的數(shù)據(jù)在receive操作發(fā)出時(shí)已經(jīng)到達(dá),在這種情況下,數(shù)據(jù)被立即傳送到進(jìn)程2,主機(jī)2的IPC設(shè)施返回的確認(rèn)消息將進(jìn)程1解鎖。,同步send和異步receive情形2,receive操作請求的數(shù)據(jù)仍未到達(dá);沒有數(shù)據(jù)傳遞到該進(jìn)程。接收進(jìn)程負(fù)責(zé)確定已真正接收到數(shù)據(jù),如果需要的話,重復(fù)receive操作,直到數(shù)據(jù)到達(dá)(注意,通常由程序使用循環(huán)來重復(fù)發(fā)出receive操作,直到等待的數(shù)據(jù)全部接收。這種重復(fù)嘗試技術(shù)被稱為輪詢技術(shù))。進(jìn)程1被無限期阻塞,直到進(jìn)程2重發(fā)receive請求,并最終收到主機(jī)2 IPC設(shè)施的確認(rèn)消息
13、,同步send和異步receive情形3,receive操作請求的數(shù)據(jù)仍未到達(dá)。當(dāng)請求數(shù)據(jù)到達(dá)時(shí),主機(jī)2的IPC設(shè)施將通告進(jìn)程2,此時(shí)進(jìn)程2可以繼續(xù)處理數(shù)據(jù)。該情形要求進(jìn)程2提供一個(gè)可以被IPC設(shè)施調(diào)用的偵聽接口或事件號,用于向進(jìn)程通告請求數(shù)據(jù)的到達(dá),異步send和異步receive,如果雙方都沒有阻塞,數(shù)據(jù)能傳送到接收者的唯一途徑就是由IPC設(shè)施保留接收到的數(shù)據(jù)。接收進(jìn)程隨后可以被通告數(shù)據(jù)到達(dá)了。另外,接收進(jìn)程也可以輪詢數(shù)據(jù)是否已經(jīng)到達(dá),并在所等待的數(shù)據(jù)到達(dá)時(shí),對其進(jìn)行處理,死鎖和超時(shí),雖然阻塞提供IPC必要的同步,阻塞以錯(cuò)誤的順序發(fā)起是可能會(huì)引起死鎖( deadlocks )。 連接和接收
14、操作可能會(huì)導(dǎo)致無限期的阻塞( indefinite blocking ),死鎖也可能造成無限期的阻塞。 例如,進(jìn)程Process1和進(jìn)程Process2因相互等待對方而無限期阻塞,此時(shí),即由無限期阻塞而產(chǎn)生了進(jìn)程的死鎖。見后頁的圖示說明。 我們一般不期望被請求的進(jìn)程被無期限掛起(即無期限阻塞),無期限阻塞可以通過使用超時(shí)或子線程來避免。,死鎖,盡管阻塞機(jī)制為IPC提供了必要的同步,但是同步操作如果按照錯(cuò)誤的順序執(zhí)行就可能會(huì)產(chǎn)生死鎖,造成進(jìn)程被無限期掛起。,用線程實(shí)現(xiàn)異步操作,在使用IPC編程接口時(shí),了解該操作是同步操作還是異步操作是非常重要的。如果阻塞操作僅僅是發(fā)送或接收,那么編程人員就可以使
15、用子進(jìn)程或線程來提供阻塞,讓程序的主線程或父進(jìn)程繼續(xù)執(zhí)行其他的任務(wù),而子進(jìn)程或線程將被掛起,直到接收到響應(yīng)為止,這就是所說的異步處理。,事件狀態(tài)圖,一個(gè)包括兩個(gè)并發(fā)進(jìn)程A和B的請求-響應(yīng)協(xié)議的事件狀態(tài)圖。每個(gè)進(jìn)程隨事件變化的執(zhí)行情況用垂直線表示,時(shí)間沿垂直線向下增加。執(zhí)行線上的實(shí)線段表示進(jìn)程處于活動(dòng)狀態(tài)的時(shí)間段,虛線段表示進(jìn)程被阻塞的時(shí)間段。,HTTP順序狀態(tài)圖,Web Browser,Web Server,Http request,Http response,HTTP會(huì)話期間的對話,IPC范型,在最低抽象層,IPC利用底層的串行或并行數(shù)據(jù)傳輸機(jī)制,在連接上傳輸二進(jìn)制流。例如,這種IPC范型可以用于編寫網(wǎng)絡(luò)驅(qū)動(dòng)軟件。這種形式的IPC屬于網(wǎng)絡(luò)或操作系統(tǒng)編程領(lǐng)域。 下一個(gè)抽象層是眾所周知的一種范型,稱作soc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年導(dǎo)游服務(wù)(購物指導(dǎo))試題及答案
- 2025年大學(xué)包裝工程(包裝工程技術(shù))試題及答案
- 2025年大學(xué)無機(jī)非金屬材料工程(無機(jī)材料制備)試題及答案
- 2025年中職(市場營銷)市場調(diào)研期中測試試題及答案
- 游船租賃合同
- 巴黎房子介紹
- 近五年安徽省中考物理真題及答案2025
- 醫(yī)院醫(yī)保管理制度標(biāo)準(zhǔn)樣本
- 養(yǎng)老院老人緊急救援服務(wù)質(zhì)量管理制度
- 養(yǎng)老院老人家屬溝通聯(lián)系制度
- 頸椎間盤突出癥的治療和護(hù)理講課件
- 大學(xué)之道故事解讀
- 外立面改造項(xiàng)目腳手架施工專項(xiàng)方案
- 2023年全國職業(yè)院校技能大賽-生產(chǎn)事故應(yīng)急救援賽項(xiàng)規(guī)程
- 廣東省建筑工程混凝土結(jié)構(gòu)抗震性能設(shè)計(jì)規(guī)程
- 切削液回收及處理合同模板
- 2023年移動(dòng)綜合網(wǎng)絡(luò)資源管理系統(tǒng)技術(shù)規(guī)范功能分冊
- 幼兒園大班班本課程-邂逅水墨課件
- 計(jì)算機(jī)輔助翻譯智慧樹知到期末考試答案章節(jié)答案2024年西華大學(xué)
- HGT 2520-2023 工業(yè)亞磷酸 (正式版)
- 閻良現(xiàn)代設(shè)施花卉產(chǎn)業(yè)園規(guī)劃設(shè)計(jì)方案
評論
0/150
提交評論