




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2022-3-231 1第十一章第十一章 分布式共享存儲器分布式共享存儲器第十一章第十一章 分布式共享存儲器分布式共享存儲器 22022-3-23中南大學軟件學院11.1 基本概念基本概念v 什么是分布式共享存儲器系統(tǒng)什么是分布式共享存儲器系統(tǒng) 分布式共享存儲器系統(tǒng)是分布式操作系統(tǒng)中的一個資源管理部件,它在沒有物理上共享的存儲器的分布式操作系統(tǒng)中實現(xiàn)了共享存儲器模式。這種共享存儲器模式在分布式系統(tǒng)中提供了一個可供系統(tǒng)內(nèi)所有節(jié)點所共享的虛擬地址空間。程序設(shè)計者可以像使用傳統(tǒng)的存儲器一樣使用該虛擬地址空間。這種物理上分布邏輯上共享的存儲器就叫做分布式共享存儲器(Distributed Shared
2、 MemoryDSM)。 如圖所示,程序員訪問DSM系統(tǒng)的虛擬地址空間的數(shù)據(jù)就像訪問傳統(tǒng)的虛擬存儲器一樣,每一個節(jié)點都可以擁有存儲在共享空間的數(shù)據(jù),數(shù)據(jù)的所有者也可以跟隨數(shù)據(jù)從一個節(jié)點移到另一個節(jié)點。當一個進程訪問共享地址空間中的數(shù)據(jù)時,映像管理員就把共享存儲器地址變換到本地地址或遠程的物理存儲器地址。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 32022-3-23中南大學軟件學院11.1 基本概念基本概念v 什么是分布式共享存儲器系統(tǒng)什么是分布式共享存儲器系統(tǒng) 本地存儲器 本地存儲器 本地存儲器 節(jié)點 節(jié)點 節(jié)點 映像管理員 映像管理員 映像管理員 共享存儲器 第十一章第十一章 分
3、布式共享存儲器分布式共享存儲器 42022-3-23中南大學軟件學院11.1 基本概念基本概念v 為什么需要分布式共享存儲器為什么需要分布式共享存儲器 松散耦合分布式系統(tǒng)中的計算機如果沒有分布式共享存儲器,為了使這些計算機合作完成一個共同的任務(wù),就必須共享狀態(tài)。共享狀態(tài)有兩種方式,第一種是使用報文傳遞原語顯示地移動數(shù)據(jù)。第二種是,共享數(shù)據(jù)在一個專用進程中實現(xiàn),其他進程向此進程發(fā)送事先規(guī)定的操作,然后由此進程對該數(shù)據(jù)執(zhí)行所需的操作,這就是遠程過程調(diào)用(RPC)的方法。 報文傳遞方式中,數(shù)據(jù)在程序之間移來移去極大地增加了應(yīng)用程序設(shè)計者的負擔。RPC的顧客和服務(wù)員也是在分隔的地址空間執(zhí)行的,顧客用數(shù)
4、值傳遞參數(shù)、傳送復雜的數(shù)據(jù)結(jié)構(gòu)或上下文有關(guān)的數(shù)據(jù)很困難。第十一章第十一章 分布式共享存儲器分布式共享存儲器 52022-3-23中南大學軟件學院11.1 基本概念基本概念v為什么需要分布式共享存儲器為什么需要分布式共享存儲器 1) DSM的計算模型支持數(shù)據(jù)在系統(tǒng)內(nèi)移動,使數(shù)據(jù)更容易訪問。 2) RPC計算模型是把操作移到數(shù)據(jù)所在位置。RPC不支持程序利用其訪問的局部性優(yōu)點,對一塊遠程數(shù)據(jù)的每個操作都產(chǎn)生通信,對數(shù)據(jù)的操作必須先定義好。但是RPC支持異構(gòu)型。 3) DSM可把數(shù)據(jù)移到本地節(jié)點,允許程序利用其訪問的局部性優(yōu)點,使用緩存器可以改善響應(yīng)時間。移動性要求對數(shù)據(jù)位置進行跟蹤;緩存要求解決各
5、副本的一致性。當數(shù)據(jù)正向某個主機移動時,不能對它進行處理。如果數(shù)據(jù)經(jīng)常修改,RPC模型可能更好些。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 62022-3-23中南大學軟件學院11.1 基本概念基本概念v 為什么需要分布式共享存儲器為什么需要分布式共享存儲器 從通信機制來看,DSM與報文傳遞方式有以下不同 :(1)訪問的透明性。(2)共享數(shù)據(jù)結(jié)構(gòu)的復雜性和異構(gòu)性。(3)數(shù)據(jù)的局部性。第十一章第十一章 分布式共享存儲器分布式共享存儲器 72022-3-23中南大學軟件學院11.1 基本概念基本概念v 為什么需要分布式共享存儲器為什么需要分布式共享存儲器 與緊密耦合的多機系統(tǒng)相比,DS
6、M系統(tǒng)具有以下特點:(1) 規(guī)模可擴充。 (2) 廉價。(3) 兼容性。第十一章第十一章 分布式共享存儲器分布式共享存儲器 82022-3-23中南大學軟件學院11.1 基本概念基本概念v 共享存儲器中緩存一致性方法共享存儲器中緩存一致性方法 有兩類基本方法實現(xiàn)緩存一致性:即探聽緩存方法和使用目錄的方法。 探聽(snooping)緩存方法用于具有廣播能力的通信介質(zhì)中,例如共享總線。每個緩存器為了保持自己數(shù)據(jù)的一致性要監(jiān)聽共享總線上進行的由其他處理機發(fā)出的存儲器操作。Berkeley是一個典型例子,它是一種寫無效協(xié)議,它假設(shè)通過單總線訪問共享的物理存儲器。此協(xié)議采用一個所有權(quán)方案。一個數(shù)據(jù)塊的所
7、有者是一個緩存器,是上次對該數(shù)據(jù)塊的修改者,如果該塊被其所有者清除,則主存作為其所有者。 探聽緩存方法支持的系統(tǒng)規(guī)模有限,因為它總是依賴于共享總線,而且,由于在總線上監(jiān)聽存儲器每個操作時要對緩存器進行檢查,處理機與其緩存器之間的正常通信會產(chǎn)生延遲。可以使用目錄解決這個問題。第十一章第十一章 分布式共享存儲器分布式共享存儲器 92022-3-23中南大學軟件學院11.1 基本概念基本概念v 共享存儲器中緩存一致性方法共享存儲器中緩存一致性方法 使用目錄即在共享存儲器中設(shè)置存儲器塊的目錄。當發(fā)生緩存不命中時,先把請求轉(zhuǎn)到此目錄。通常目錄項中包含所有權(quán)、副本集(copyset)和該塊的重寫位。副本集
8、指出該塊數(shù)據(jù)在哪些緩存器中有副本,可用位向量來實現(xiàn)。發(fā)生讀未命中時,先檢查重寫位,如果該塊不處于重寫狀態(tài),則共享存儲器中的版本是有效的,于是簡單地返回該塊,并對副本集信息進行更新;如果該塊的重寫位置位,則該塊的所有者必須修改該塊,并且要更新共享存儲器中的版本,向讀者提供讀副本。寫未命中或者從讀權(quán)變成寫權(quán)時,要求目錄的副本集使其他副本無效。與探聽緩存方案不同,讀副本的位置都已經(jīng)知道,因此,可以用順序方式而不是以廣播方式發(fā)送“無效”報文。目錄方案不要求廣播介質(zhì),但在每次緩存未命中時要增加一次查表。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 102022-3-23中南大學軟件學院11.1
9、基本概念基本概念vDSM的設(shè)計與實現(xiàn)問題的設(shè)計與實現(xiàn)問題 (1)共享地址空間結(jié)構(gòu)和粒度。共享地址空間的結(jié)構(gòu)指的是存儲器中共享數(shù)據(jù)的布局方法,它依賴于應(yīng)用程序類型,地址空間可以是平面的,分段的或物理的。粒度是指共享單元的大小,可以是字節(jié)、字、頁或復雜的數(shù)據(jù)結(jié)構(gòu),它也是可用的并行性的度量,依賴于通信開銷和應(yīng)用程序表現(xiàn)的局部性類型。結(jié)構(gòu)和粒度是密切相關(guān)的。 (2)緩存一致性協(xié)議。不同的協(xié)議有不同的假設(shè),選擇協(xié)議依賴于存儲器訪問模式和支持環(huán)境。在寫無效協(xié)議中,一塊共享數(shù)據(jù)可能有很多個只讀副本,但僅有一個可寫副本,每進行一次寫時,除了一個以外,其他副本均變成無效。在寫更新協(xié)議中。每次寫都要對所有副本進行
10、更新。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 112022-3-23中南大學軟件學院11.1 基本概念基本概念v DSM的設(shè)計與實現(xiàn)問題的設(shè)計與實現(xiàn)問題 (3)同步原語。在并發(fā)訪問下,光有緩存一致性協(xié)議還不能維持共享數(shù)據(jù)一致性。尚需要同步原語對訪問共享數(shù)據(jù)的活動進行同步,例如信號燈、事件計數(shù)和鎖等。(4)替換策略。在允許數(shù)據(jù)遷移的系統(tǒng)中,當共享數(shù)據(jù)占滿了緩存器的有效空間時,必須決定將那些數(shù)據(jù)轉(zhuǎn)移出去并且放到哪里去。(5)可擴充性。DSM系統(tǒng)比起緊密耦合系統(tǒng)來,一個重大的優(yōu)點是具有可擴充性。限制可擴充性有兩個因素:集中的瓶頸(像緊密耦合系統(tǒng)中的總線)和全局公用信息的操作及存儲(如廣
11、播報文或目錄等)。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 122022-3-23中南大學軟件學院11.1 基本概念基本概念v DSM的設(shè)計與實現(xiàn)問題的設(shè)計與實現(xiàn)問題 (6)異構(gòu)性。如何實現(xiàn)對兩個具有不同體系結(jié)構(gòu)的機器的存儲器共享是個很困難的問題。兩個機器甚至對基本數(shù)據(jù)類型(如整數(shù)、浮點數(shù)等)都使用不同的表達方式。(7)數(shù)據(jù)定位和訪問。為了在一個DSM系統(tǒng)中共享數(shù)據(jù),應(yīng)用程序必須能找到并且檢索所需要的數(shù)據(jù)。對于一個支持數(shù)據(jù)遷移的系統(tǒng),實現(xiàn)這一點就更為復雜。(8)顛簸。DSM系統(tǒng)特別容易出現(xiàn)顛簸,例如若兩個節(jié)點對一個數(shù)據(jù)項同時進行寫,就可能產(chǎn)生以高速率來回傳送數(shù)據(jù)的現(xiàn)象(乒乓效應(yīng)),
12、使得任何實際工作都不能進行。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 132022-3-23中南大學軟件學院11.1 基本概念基本概念v一致性語義一致性語義 下面是在共享存儲器中常使用的一些一致性語義,從強到弱分別是嚴格一致性、順序一致性、處理一致性、弱一致性和釋放一致性。(1)嚴格一致性。對一個數(shù)據(jù)項所進行的任何讀操作所返回的值總是對該數(shù)據(jù)項最近一次進行寫操作的結(jié)果。(2)順序一致性。所有進程對數(shù)據(jù)項的所有操作可以認為是按照某個順序進行的,任何進程對這個順序的觀點是一樣的。(3)處理機一致性。不僅要求一個進程中的所有寫操作能夠以它在該進程中出現(xiàn)的順序被所有其他進程看見,還要求不同
13、進程對同一個數(shù)據(jù)項的寫操作,應(yīng)該被所有進程以相同的順序看見。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 142022-3-23中南大學軟件學院11.1 基本概念基本概念v 一致性語義一致性語義 (4)弱一致性。程序員使用同步算符,使得對數(shù)據(jù)的多個操作組來說是順序一致性的。即不同進程的多個操作組可以認為是按照某個順序進行的,任何進程對這個順序的觀點是一樣的。但是操作組內(nèi)的多個操作其他進程是不可見的。對同步算符是順序一致性的。 (5)釋放一致性。使用了“獲得”和“釋放”這兩類同步算符,對同步算符是處理機一致的。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 152022-3-23中
14、南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法 v 算法使用的模型和環(huán)境算法使用的模型和環(huán)境 (1)首先,要對實現(xiàn)算法所需環(huán)境作些假定總的說來,分布式和并行應(yīng)用程序的性能主要由通行代價決定,而通行代價由基本硬件決定。假定一個分布式系統(tǒng)是由像以太網(wǎng)這樣的局域網(wǎng)鎖連接的一群主機組成的。在這個系統(tǒng)中,處理機之間的通信比起本地內(nèi)存訪問來是不可靠和低速的。假定廣播和組通信是可利用的,大多數(shù)總線和環(huán)形網(wǎng)絡(luò)符合這些假定。(2)為了便于分析性能,通信代價用發(fā)送的報文數(shù)和包事件數(shù)衡量。第十一章第十一章 分布式共享存儲器分布式共享存儲器 162022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算
15、法v 算法使用的模型和環(huán)境算法使用的模型和環(huán)境 (3)共享存儲器模型為訪問共享數(shù)據(jù)提供了兩個基本操作: data:=read(address) write(data,address) read返回由address指出的數(shù)據(jù)項。Write把由地址address指出的內(nèi)容設(shè)置為data。第十一章第十一章 分布式共享存儲器分布式共享存儲器 172022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 算法使用的模型和環(huán)境算法使用的模型和環(huán)境 根據(jù)是否允許遷移或復制,可以將DSM的實現(xiàn)算法分成四類:中央服務(wù)員算法、遷移算法、讀復制算法和全復制算法。 非復制 復制 非遷移 中央服務(wù)員 全
16、復制 遷移 遷移 讀復制 DSM 的四種算法的四種算法 第十一章第十一章 分布式共享存儲器分布式共享存儲器 182022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 中央服務(wù)員算法中央服務(wù)員算法 該算法使用一個中央服務(wù)員,負責為所有對共享數(shù)據(jù)的訪問提供服務(wù)并保持共享數(shù)據(jù)唯一的副本。讀和寫操作都包括由執(zhí)行該操作的進程向中央服務(wù)員發(fā)送請求 報文,如圖所示。中央服務(wù)員執(zhí)行請求并回答,讀操作時回答,數(shù)據(jù)項,寫操作時回答一個承認。 顧客 中央服務(wù)員 發(fā)送數(shù)據(jù)請求 接收回答 接收請求,執(zhí)行數(shù)據(jù)訪問,發(fā)送回答 中央服務(wù)員 第十一章第十一章 分布式共享存儲器分布式共享存儲器 192022-
17、3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 中央服務(wù)員算法中央服務(wù)員算法 實現(xiàn)這個算法的通信使用簡單的請求-回答協(xié)議。為了可靠性,一個請求如在一定時間內(nèi)沒有得到回答,則被重新發(fā)送。讀請求是冪等的。對于寫請求,服務(wù)員必須保持每一個顧客的順序號,從而可以檢驗重復發(fā)送和相應(yīng)地承認它們。若幾次超時都無法回答,則請求失敗。 由于需要為所有顧客的請求服務(wù),中央服務(wù)員的一個問題是它可能成為一個瓶頸。為了分配服務(wù)員的負載,可把共享數(shù)據(jù)分配給幾個服務(wù)員,在此情況下,顧客應(yīng)能夠在進行數(shù)據(jù)訪問時確定正確的服務(wù)員。一個顧客可以將它的訪問請求廣播給所有的服務(wù)員,由于每個服務(wù)員可能為每一個這樣的請求引
18、來一個包事件的開銷,因此,這不能顯著減少所有服務(wù)員的負載。一個更好的方法是按地址分割數(shù)據(jù),并使用某一簡單變換函數(shù)決定和那個服務(wù)員接觸。第十一章第十一章 分布式共享存儲器分布式共享存儲器 202022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 遷移算法遷移算法 如圖所示,數(shù)據(jù)總是被遷移到訪問它的節(jié)點。這是一個“單讀者/單寫者”(SRSW)協(xié)議,因為在整個系統(tǒng)中,一次只有一個進程讀或?qū)懸粋€給定的數(shù)據(jù)項。 顧客 遠程主機 如果數(shù)據(jù)塊不在本地,則確定位置,發(fā)送請求 接收回答,訪問數(shù)據(jù) 接收請求,發(fā)送塊 遷移請求 傳送數(shù)據(jù)塊 第十一章第十一章 分布式共享存儲器分布式共享存儲器 21
19、2022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 遷移算法遷移算法 典型的數(shù)據(jù)遷移是在服務(wù)員之間以被稱為快形式的固定大小單元而不是單個數(shù)據(jù)項進行,以使數(shù)據(jù)管理更容易。這個算法的優(yōu)點在于當進程訪問本地的數(shù)據(jù)時,無通信開銷。 如果一個應(yīng)用程序表現(xiàn)出很強的訪問局部性,數(shù)據(jù)遷移的代價將因為多次訪問而減少。但是使用這個算法,有可能在 主機之間發(fā)生頁顛簸,在遷移之間,幾乎不能對共享內(nèi)存進行訪問,性能極差。所以應(yīng)用程序設(shè)計時要小心地將數(shù)據(jù)分配給快,以控制顛簸。 遷移算法第二個好處是,如果快的大小和虛存頁的大小相同,此算法可集成到主機操作系統(tǒng)的虛擬系統(tǒng)中。第十一章第十一章 分布式共享存
20、儲器分布式共享存儲器 222022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 讀復制算法讀復制算法 在上述描述的算法的不足之處是,在任何給定時刻,只有在一臺主機上的各進程能夠訪問同一個快中的開銷。 若允許一個節(jié)點對一個指定快的副本進行一個讀/寫或多個節(jié)點對該塊的副本進行只讀,則復制可以自然地加入到遷移算法中去。這種復制的類型被稱作多讀者/多寫者復制。 對于一個當前不在本地的塊中的一個數(shù)據(jù)項進行讀操作時,先與遠程節(jié)點通信以獲得那個塊的一個只讀副本,然后再進行讀操作。若被執(zhí)行寫操作的數(shù)據(jù)所在的塊不在本地或在本地但主機無寫權(quán)時,必須先使此塊在其他節(jié)點的所有副本無效,之后再進行寫
21、操作。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 232022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 讀復制算法讀復制算法 顧客 遠程主機 如果數(shù)據(jù)塊不在本地,則確定位置,發(fā)送請求 接收塊,廣播“無效”報文 接收請求,發(fā)送塊 接收“無效”報文,使塊無效 遷移請求 傳送數(shù)據(jù)塊 “無效”報文 “無效”報文 第十一章第十一章 分布式共享存儲器分布式共享存儲器 242022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 全復制算法全復制算法 全復制算法允許數(shù)據(jù)塊在進行寫時也可以復制,因而它遵從了“多讀者/多寫者”(MRMW)協(xié)議。保持復制數(shù)據(jù)一致性
22、的一種可能的方法是對所有的寫操作進行全局排序,而只對與發(fā)生在執(zhí)行讀操作節(jié)點上的寫操作相關(guān)的那些讀操作進行排序 。 基于排序的一個簡單策略是,使用一個簡單的全局無間隙排序器,如圖所示,它是一個進程,在DSM的一個主機上執(zhí)行。當一個主機試圖寫共享存儲器時,把預定的修改送到排序器,排序器給此修改指定一個序號,并將此修改及序號廣播給所有節(jié)點。 每個節(jié)點按序號的次序處理廣播寫操作。當一個修改到達一個節(jié)點時,節(jié)點檢查序號是否為下一個。如果在序號的序列中發(fā)現(xiàn)不連續(xù)的,或者修改信息被丟失、未按序接受,則要重發(fā)修改報文。第十一章第十一章 分布式共享存儲器分布式共享存儲器 252022-3-23中南大學軟件學院1
23、1.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 全復制算法全復制算法 排序器 寫 更新 顧客 顧客 排序器 主機 若寫, 則發(fā)送數(shù)據(jù)到排序器 接收承認, 更新本地存儲器 接收數(shù)據(jù), 添加序號,廣播 接收數(shù)據(jù), 更新本地存儲器 第十一章第十一章 分布式共享存儲器分布式共享存儲器 262022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 算法性能算法性能 以下參數(shù)表達了訪問共享數(shù)據(jù)和應(yīng)用程序的行為的基本代價:(1) p:一個包事件的代價,即發(fā)送或接收一個短包的處理代價,包括可能的任務(wù)切換、數(shù)據(jù)復制及中斷處理開銷。實際系統(tǒng)的典型值的變化范圍是1到幾個毫秒。(2) P:發(fā)送或接收一個數(shù)據(jù)塊的
24、代價。這與p十分相似,但P值要高得多。對于一個通常需要多個包的8K字節(jié)的塊來說,典型值的范圍是20至40個毫秒。(3) S:參與分布式共享內(nèi)存的節(jié)點數(shù)。(4) r:讀/寫比,即平均有r個讀操作時才有一個寫操作。這個參數(shù)也用于整個塊的訪問模式。顯然這兩個比可能不同,但為了簡化分析假定相等。第十一章第十一章 分布式共享存儲器分布式共享存儲器 272022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 算法性能算法性能(5) f:非復制數(shù)據(jù)塊(用于遷移算法)訪問故障的概率。它等于單一節(jié)點連續(xù)訪問一個塊(以后由另一個節(jié)點訪問此塊導致故障)的平均次數(shù)的倒數(shù)。它說明遷移算法數(shù)據(jù)訪問的局部
25、性。(6) f:讀復制算法用于對復制數(shù)據(jù)塊訪問故障的概率。它是連續(xù)訪問本地數(shù)據(jù)塊中數(shù)據(jù)項(以后訪問一個非本地數(shù)據(jù)塊中某數(shù)據(jù)項)的平均次數(shù)的倒數(shù)。它說明讀復制算法數(shù)據(jù)訪問的本地性 f和f對于相應(yīng)算法的性能有重大影響,但也最難計算,因為它們隨不同應(yīng)用程序的變化十分大。這些參數(shù)不是完全相互獨立的。為了集中研究算法性能的主要特征和簡化分析,作如下的假設(shè):第十一章第十一章 分布式共享存儲器分布式共享存儲器 282022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 算法性能算法性能(1)報文數(shù)量不會導致網(wǎng)絡(luò)擁塞。(2)服務(wù)員擁塞沒有嚴重到能夠極大地延遲遠程進程訪問。(3)訪問本地可利用
26、的數(shù)據(jù)項的代價和遠程訪問代價相比是微不足道的。(4)報文傳遞假定是可靠地。使用基本參數(shù)和以上的簡化假設(shè),四個算法的平均訪問代價可以表示如下: 中央服務(wù)員算法:Cc=(1-1/S)4p 遷移算法:Cm=f(2P+4p) 讀復制算法:Crr=f2P+4p+Sp/(r+1) 全復制算法:Cfr=1/(r+1)(S+2)p第十一章第十一章 分布式共享存儲器分布式共享存儲器 292022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 算法性能算法性能 對于中央服務(wù)員算法,訪問遠程數(shù)據(jù)項的概率是(1-1/S),需要4個包事件。只要節(jié)點數(shù)超過4或5,整體代價Cc則主要由每個包事件代價決定。
27、 對于遷移算法,f表示訪問非本地數(shù)據(jù)項的概率。 對于讀復制算法,除了在寫故障時(發(fā)生概率為1/(r+1),一個多點廣播無效包必須被所有S個節(jié)點接收外,遠程訪問代價接近于遷移算法的訪問代價。 對于全復制算法,遠程訪問的概率等于寫訪問的概率。第十一章第十一章 分布式共享存儲器分布式共享存儲器 302022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 算法比較算法比較 對于這四種算法的性能有如下結(jié)論: 中央服務(wù)員算法簡單,易于實現(xiàn),對于不經(jīng)常訪問共享數(shù)據(jù)的場合,特別是讀/寫比很低的場合是足夠用的,但非常多的應(yīng)用程序具有訪問的局部性和高的塊命中率,這使得塊遷移算法和復制算法變得優(yōu)越
28、。 如果同一塊中的不同數(shù)據(jù)項由不同節(jié)點訪問,則簡單的遷移算法的故障率可能由于交疊訪問而增加,因為它完全沒有利用局部性。全復制算法適合小范圍的復制和不經(jīng)常地更新。 相反,讀復制算法對于許多應(yīng)用是一個好的選擇。中央服務(wù)器和全復制算法都具有訪問的局部性不敏感的特性,因此,當應(yīng)用程序訪問的局部性很差時,它們比讀復制算法好。第十一章第十一章 分布式共享存儲器分布式共享存儲器 312022-3-23中南大學軟件學院11.2 實現(xiàn)實現(xiàn)DSM的算法的算法v 算法比較算法比較 移動大數(shù)據(jù)塊的算法的一個可能的嚴重問題是塊顛簸。對于遷移算法,表現(xiàn)為當兩個或更多的節(jié)點進行交疊的數(shù)據(jù)訪問時,它快速連續(xù)地來回移動數(shù)據(jù)。對
29、于讀復制算法,表現(xiàn)為當塊復制后很快使具有只讀權(quán)的塊重復地無效。這些情況表現(xiàn)了很差的節(jié)點訪問局部性。對于許多應(yīng)用程序,可以分配共享數(shù)據(jù),把計算分割開以使顛簸變小。由應(yīng)用程序控制的鎖也可用于抑制顛簸。無論哪種情況,DSM的完全透明性都在某種程度上遭到損害。第十一章第十一章 分布式共享存儲器分布式共享存儲器 322022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv 目錄方案的分類目錄方案的分類 目錄:不用廣播的緩存器一致性協(xié)議必須保存每塊共享數(shù)據(jù)的所有緩存器副本的位置。此緩存位置表,不管是集中的還是分散的,都叫做目錄。 每個數(shù)據(jù)的目錄項包括許多指針,用來指出此塊各副本所在位置。每
30、一個目錄項還有一個“重寫”位用來指明是否允許某一個(只有一個)緩存器進行寫。 目錄協(xié)議有三種主要類型:全映像目錄、有限目錄和鏈式目錄 。全映像目錄的每個目錄項保持N個指針,這里N是系統(tǒng)中處理器的個數(shù)。有限目錄和全映像目錄的不同之處在于,有限目錄的每個目錄項具有固定數(shù)量的指針,與系統(tǒng)中處理機數(shù)量無關(guān)。鏈式目錄與全映像目錄相似,只是它將目錄分布于各緩存器。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 332022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv 全映像目錄全映像目錄 全映像目錄協(xié)議使用的目錄每項包含每個處理機,有一個指針并且有一個“重寫”位。指針所對應(yīng)的每一
31、位代表該塊在相應(yīng)處理機緩存器中的狀態(tài)(存在或不存在)。如果“重寫”位置位,那么有且只有一個處理機的指針位被置位,允許這個處理機對該數(shù)據(jù)塊進行寫操作。緩存器保存每塊數(shù)據(jù)的兩個狀態(tài)位:一位表明此數(shù)據(jù)塊是否有效,另一位表明一個有效的數(shù)據(jù)塊是否可寫。緩存器一致性協(xié)議必須在存儲器目錄中保存這些狀態(tài)位,并維持緩存一致性。 下圖說明了全映像目錄的三種不同狀態(tài)。第一種狀態(tài),單元X不在系統(tǒng)中的任何緩存器中。第二種狀態(tài)是三個緩存器都請求單元X的副本。第三種情況,C3請求寫這個數(shù)據(jù)塊。第十一章第十一章 分布式共享存儲器分布式共享存儲器 342022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv 全
32、映像目錄全映像目錄 共享存儲器 C - - - 數(shù)據(jù) X: 共享存儲器 C 數(shù)據(jù) 共享存儲器 D - - 數(shù)據(jù) X: X: Cache Cache Cache P1 讀 X P2 讀 X P3 讀 X Cache X: 數(shù)據(jù) Cache X: 數(shù)據(jù) Cache X: 數(shù)據(jù) P1 P2 P3 寫 X Cache Cache Cache X: 數(shù)據(jù) P1 P2 P3 第十一章第十一章 分布式共享存儲器分布式共享存儲器 352022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv 全映像目錄全映像目錄 寫過程:(1) C3檢測到包含單元X的數(shù)據(jù)塊是有效的,但是該處理機對數(shù)據(jù)塊無寫的權(quán)
33、限,這由塊的允許寫位表示。(2) C3發(fā)出一個對包含單元X的存儲模塊的寫請求,并且停止處理機P3。(3) 存儲器模塊向C1和C2發(fā)出無效請求。(4) C1和C2收到無效請求后,設(shè)置對應(yīng)的位指出包含單元X的數(shù)據(jù)塊是無效的,并向存儲器模塊發(fā)回一個承認。(5) 存儲器模塊收到這個承認,將“重寫”位置位,清除指向C1和C2的指針,并向C3發(fā)出寫允許報文。(6) C3收到寫允許報文,更新該緩存器中的狀態(tài),并且激活處理機P3。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 362022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv 有限目錄有限目錄 有限目錄協(xié)議是為解決目錄大小問題
34、而設(shè)計的。限制對同一數(shù)據(jù)塊同時進行緩存的任務(wù)數(shù)目,即限制一個數(shù)據(jù)塊的緩存數(shù)目,就可以將每個目錄項的大小限定為一個常數(shù)。 共享存儲器 C 數(shù)據(jù) 共享存儲器 D 數(shù)據(jù) X: X: Cache X: 數(shù)據(jù) Cache X: 數(shù)據(jù) Cache P1 P2 P3 讀 X Cache X: 數(shù)據(jù) Cache Cache X: 數(shù)據(jù) P1 P2 P3 第十一章第十一章 分布式共享存儲器分布式共享存儲器 372022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv 鏈式目錄鏈式目錄 它不用廣播機制實現(xiàn)有限目錄的可擴充性,也不限制數(shù)據(jù)塊的共享副本數(shù),這種緩存器一致性方案叫做鏈式結(jié)構(gòu)是因為它通過保
35、持一個目錄指針鏈對共享副本進行跟蹤。 單向鏈路: 共享存儲器 C 數(shù)據(jù) 共享存儲器 C 數(shù)據(jù) X: X: Cache X: 數(shù)據(jù) CT Cache Cache P1 P2 讀 X P3 Cache X: 數(shù)據(jù) CT Cache X: 數(shù)據(jù) Cache P1 P2 P3 寫 X 第十一章第十一章 分布式共享存儲器分布式共享存儲器 382022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv鏈式目錄鏈式目錄 緩存器塊的替換 :假設(shè)從C1到CN都有單元X的副本,并且單元X和單元Y都直接映射到緩存器同一行上。如果處理機Pi讀單元Y,必須從它的緩存器中先驅(qū)逐單元X。在這種情況下,有兩種可
36、能性: (1) 沿著鏈路向Ci-1發(fā)送一個報文,將Ci-1的指針指向Ci+1,將Ci從鏈路中脫離開。(2) 使從Ci到CN中的單元X無效。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 392022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv鏈式目錄鏈式目錄 雙向鏈式結(jié)構(gòu):另外一種解決替換問題的方法是使用雙向鏈。這種方案為每個緩存器副本保持一個向前和一個向后的指針,這樣當緩存器替換時,協(xié)議不必遍歷整個鏈。雙向鏈目錄優(yōu)化替換條件是以更大的平均報文長度(由于傳送更多的目錄指針)、緩存器中的指針的存儲空間加倍和更為復雜的一致性協(xié)議為代價的。 盡管鏈式協(xié)議比有限目錄協(xié)議復雜,
37、但從用于目錄的存儲空間大小來看,仍是可擴充的。指針所占的存儲空間隨處理機的數(shù)目的對數(shù)增長。每個緩存器存儲塊的指針數(shù)目與處理機數(shù)目無關(guān)。第十一章第十一章 分布式共享存儲器分布式共享存儲器 402022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv 只對專用數(shù)據(jù)進行緩存的方案只對專用數(shù)據(jù)進行緩存的方案 本章到此為止,已經(jīng)假定允許存儲器存儲共享變量的本地副本,這樣就導致了緩存器一致性問題。另一種共享存儲器的方法是通過不允許對共享數(shù)據(jù)進行緩存來避免緩存器一致性問題。這個方案只對專用數(shù)據(jù)、只讀的共享數(shù)據(jù)和指令進行緩存,而訪問可修改的共享數(shù)據(jù)時,不使用緩存器。在實踐中,為了使用這個方案,
38、必須靜態(tài)地識別共享變量。第十一章第十一章 分布式共享存儲器分布式共享存儲器 412022-3-23中南大學軟件學院11.3 使用目錄的使用目錄的DSMv 性能比較性能比較 在多處理機系統(tǒng)中,處理機的利用率受存儲器訪問頻繁程度和存儲器系統(tǒng)的等待時間影響。報文通過互聯(lián)網(wǎng)絡(luò)的等待時間依賴于網(wǎng)絡(luò)拓撲和速度、系統(tǒng)中處理機的個數(shù)、報文頻率和長度以及存儲器訪問時間。存儲器一致性協(xié)議決定了請求率、報文長度及存儲器等待時間。為了計算處理機的利用率,需要用緩存器一致性協(xié)議和互聯(lián)網(wǎng)絡(luò)更具體的模型。 對于大多數(shù)應(yīng)用,同只對專用數(shù)據(jù)進行緩存的方案相比,全映像目錄方案的處理機利用率要高得多。總的看來,在16和64個處理機
39、的機器中,全映像方案的性能是好的。這表明,即使應(yīng)用程序不是對使用目錄的緩存器一致性系統(tǒng)專門寫的或編譯的、緩存器對共享數(shù)據(jù)也是有用的。 有限目錄方案的性能比全映像目錄方案的性能好多少與共享數(shù)據(jù)的量、對每個存儲單元進行訪問的處理機數(shù)和同步方法有關(guān)。第十一章第十一章 分布式共享存儲器分布式共享存儲器 422022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v 實現(xiàn)實現(xiàn)DSM的基本方法的基本方法 DSM有三種實現(xiàn)方法,有的系統(tǒng)使用了不止一種方法。(1) 硬件實現(xiàn)。把傳統(tǒng)的高速緩存技術(shù)擴展到可擴充的體系結(jié)構(gòu)中。(2) 操作系統(tǒng)和程序庫的實現(xiàn)。通過虛擬存儲器的管理機構(gòu)達到共享和一致性。(
40、3) 編譯程序的實現(xiàn)。把共享訪問自動轉(zhuǎn)換成同步和一致性原語。第十一章第十一章 分布式共享存儲器分布式共享存儲器 432022-3-23中南大學軟件學院一部分一部分 DSM 系統(tǒng)的主要實現(xiàn)技術(shù)系統(tǒng)的主要實現(xiàn)技術(shù) 系統(tǒng) 名稱 當時實現(xiàn) 結(jié)構(gòu)和粒度 一致性語義 一致性協(xié)議 改進性能方法 同步支持 異構(gòu)支持 Dash 硬件,4D/340 工作站,網(wǎng)狀網(wǎng) 16 字節(jié) 釋放 寫無效 松弛的一致性,預取 排隊鎖,原子增減 不 Ivy 軟件,Apollo 工作站,Apollo 環(huán) !KB 頁 嚴格 寫無效 指針鏈斷開,可選廣播 同步的頁,信號燈事件計數(shù) 不 Linda 軟件, 各種不同的環(huán)境 元組 無可變數(shù)據(jù)
41、 可變 散列法 ? Memnet 硬件,令牌環(huán) 32 字節(jié) 嚴格 寫無效 控制流的向量中斷 不 Mermaid 軟件,Sun 工作站,DEC Firefly 多處理機, Mermaid 固有操作系統(tǒng) 8KB(Sun), 1KB (Firefly) 嚴格 寫無效 信號燈,Signal/wait 報文 是 Mirage 軟件,Vax11/750,Locus 操作系統(tǒng), UNIX 系統(tǒng)V,以太網(wǎng) 512 字節(jié)頁 嚴格 寫無效 內(nèi)核級實現(xiàn),時間窗口一致性協(xié)議 UNIX 系統(tǒng) V信號燈 不 Munin 軟件,SUN 工作站UNIX 內(nèi)核及 Presto并行程序設(shè)計環(huán)境,以太網(wǎng) 對象 弱 指定類型用于讀為
42、主的協(xié)議,延遲寫更新 延遲修改隊列 對象同步 不 Plus 軟件和硬件,Motorola88000,Caltech 網(wǎng)狀網(wǎng), Plus內(nèi)核 頁用于共享,字用于一致性 處理器 非請求寫更新 延遲操作 復雜的同步指令 不 Shiva 軟件,InteliPSC/2,超立方體,Shiva 固有操作系統(tǒng) 4KB 頁 嚴格 寫無效 數(shù)據(jù)結(jié)構(gòu)緊湊,存儲器用作后備存儲 信號燈,Signal/wait 報文 不 第十一章第十一章 分布式共享存儲器分布式共享存儲器 442022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v結(jié)構(gòu)和粒度結(jié)構(gòu)和粒度 Ivy是最早的透明式DSM系統(tǒng)之一,用虛擬存儲器實現(xiàn)
43、了存儲器的共享。 DSM的硬件實現(xiàn)方法典型地支持了較小的粒度。 頁的大小:較大的頁能夠減少分頁的開銷,但是可能引起爭用可能性越大。另一個影響頁大小選擇的因素是必須保留該系統(tǒng)中有關(guān)頁的目錄信息:頁越小,則目錄越大。 結(jié)構(gòu)化共享存儲器的一個實現(xiàn)方法是根據(jù)數(shù)據(jù)類型進行共享。這種方法是把共享存儲器作為面向?qū)ο蟮姆植际较到y(tǒng)中的對象而進行構(gòu)造。第十一章第十一章 分布式共享存儲器分布式共享存儲器 452022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v 結(jié)構(gòu)和粒度結(jié)構(gòu)和粒度 另一個方法是把共享存儲器構(gòu)造成像一個數(shù)據(jù)庫。Linda就是一個這種模式的系統(tǒng)。它把它的共享存儲器安排成為一個相聯(lián)存
44、儲器,叫做元組(tuple)空間。第十一章第十一章 分布式共享存儲器分布式共享存儲器 462022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v數(shù)據(jù)定位和訪問數(shù)據(jù)定位和訪問 如果數(shù)據(jù)在系統(tǒng)中不能四處移動,則定位很容易,所有進程很容易地知道在那兒能得到一塊數(shù)據(jù)。Linda的一些實現(xiàn)是對元組使用散列靜態(tài)地分配數(shù)據(jù)。這種方法具有又快又簡單的特點,但是,如果數(shù)據(jù)分配不當,則可能產(chǎn)生瓶頸。 另一種方法是允許數(shù)據(jù)在整個系統(tǒng)中自有遷移。這樣,數(shù)據(jù)的定位就困難了。這種情況下,數(shù)據(jù)定位最簡單的辦法是設(shè)定一個集中地服務(wù)員跟蹤所有共享數(shù)據(jù)。這種集中的方法有兩個缺陷:服務(wù)員串行執(zhí)行定位查詢,從而削弱
45、了并行性;服務(wù)員負載過重,降低了整個系統(tǒng)的速度。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 472022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v數(shù)據(jù)定位和訪問數(shù)據(jù)定位和訪問 如果不使用集中地服務(wù)員,系統(tǒng)可以廣播數(shù)據(jù)請求。不幸的是,廣播的可擴充性不好,所有的節(jié)點(不僅是數(shù)據(jù)所在的節(jié)點)都必須處理廣播請求。廣播在網(wǎng)絡(luò)上的等待有可能使訪問花費很長時間才能完成。 為了避免廣播和更均勻地分配負載,有幾個系統(tǒng)使用了一個基于所有者的分布式的模型。每一塊數(shù)據(jù)都有一個與之相聯(lián)系的所有者,這個所有者就是擁有數(shù)據(jù)主副本的節(jié)點。當數(shù)據(jù)在整個系統(tǒng)中遷移時,它的所有者也會隨之而改變。當另
46、一個節(jié)點需要數(shù)據(jù)的一個副本時,就向所有者發(fā)送請求。所有者如果仍保留著這個數(shù)據(jù),就返回該數(shù)據(jù);若所有者已將數(shù)據(jù)發(fā)送給其他節(jié)點,則把這一請求轉(zhuǎn)發(fā)給那個新所有者。缺點是一個請求可能被轉(zhuǎn)發(fā)多次后才能到達當前所有者。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 482022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v 一致性協(xié)議一致性協(xié)議 為了提高并行度,所有DSM系統(tǒng)都進行數(shù)據(jù)復制。但是這樣會使一致性協(xié)議復雜化。有兩類協(xié)議用來控制復制,即寫無效協(xié)議和寫更新協(xié)議。 大多數(shù)DSM系統(tǒng)都有寫無效一致性協(xié)議,在寫無效協(xié)議中一塊數(shù)據(jù)可能有很多個只讀副本,但是,只有一個是可寫副本。這種
47、協(xié)議之所以被稱作寫無效協(xié)議,是因為在開始一次寫操作之前,除了將被寫的那個副本之外,其他副本均變成無效。在寫更新方式中,一次寫操作將更新所有副本。下圖說明了Dash系統(tǒng)中基于目錄的一致性協(xié)議。第十一章第十一章 分布式共享存儲器分布式共享存儲器 492022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn) DC 向請求者發(fā)送數(shù)據(jù)和無效個數(shù), DC 向 B發(fā)送無效請求 新目錄塊項: 遠程寫 C中副本 副本無效 CPU 向基地組發(fā)出寫命令 寫操作完成 A 組(基地組) B 組 C 組(申請組) (a)數(shù)據(jù)是遠程共享的 DC向所有者組轉(zhuǎn)發(fā)請求 新目錄塊項: 遠程重寫 B 中副本 DC 向新
48、所有者發(fā)送承認 A 組(基地組) CPU 向基地組發(fā)出寫請求 寫完成 DC 向請求者發(fā)送數(shù)據(jù)并向基地組發(fā)送修改所有權(quán)報文 B 組(申請組) C 組(所有者組) (b)數(shù)據(jù)是遠程重寫的(在(a)中畫出的時間后) Dash系統(tǒng)簡化的寫無效協(xié)議系統(tǒng)簡化的寫無效協(xié)議(DC代表目錄控制器代表目錄控制器)第十一章第十一章 分布式共享存儲器分布式共享存儲器 502022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn) 復制表 X 主本在 A 下一個副本在 B 復制表 X 主本在 A 下一個副本在 B 復制表 X 主本在 A 下一個副本在 NIL MCM 更新 X MCM 將更新報文發(fā)送到下一個
49、副本 MCM 將更新報文發(fā)送到主節(jié)點 MCM 更新 X 并且將更新報文發(fā)送到下一個副本 MCM更新X MCM 指出更新完成 頁變換表 X 節(jié)點 B 頁 P MCM 向遠程節(jié)點 B 發(fā)送寫請求 節(jié)點 A 節(jié)點 B 節(jié)點 C Plus寫更新協(xié)議,寫更新協(xié)議,MCM代表存儲一致性控制器代表存儲一致性控制器第十一章第十一章 分布式共享存儲器分布式共享存儲器 512022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v替換策略替換策略 在允許數(shù)據(jù)四處遷移的系統(tǒng)中,當共享數(shù)據(jù)占滿了高速緩沖存儲器的有效空間后,哪些數(shù)據(jù)將被替換出來以獲得空閑空間,并把它們送到哪里? 在選擇被替換的數(shù)據(jù)項時,D
50、SM系統(tǒng)的工作幾乎和共享存儲器的多處理機的高速緩存所做的那些工作一樣,但并不像大多數(shù)的高速緩存那樣使用最近最少使用或隨機的替換策略,多數(shù)DSM系統(tǒng)區(qū)分數(shù)據(jù)項的狀態(tài)并對他們進行優(yōu)化。 被替換后,系統(tǒng)必須知道它未丟失。有些DSM系統(tǒng),把數(shù)據(jù)項傳送到一個基地節(jié)點,它有一個靜態(tài)分配空間,存放一個系統(tǒng)中別處不需要的數(shù)據(jù)項副本。一種改進方法是讓想要刪除該數(shù)據(jù)項的節(jié)點把該數(shù)據(jù)分頁送到磁盤上。第十一章第十一章 分布式共享存儲器分布式共享存儲器 522022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v顛簸顛簸 DSM系統(tǒng)特別容易出現(xiàn)顛簸。如果兩個節(jié)點對一個數(shù)據(jù)項同時進行寫,該數(shù)據(jù)項就有可能以
51、高速率來來回回地被傳送(乒乓效應(yīng)),任何實際工作都做不成 。 Munin系統(tǒng)允許程序員把共享數(shù)據(jù)和類型聯(lián)系起來:寫一次、寫多次、生產(chǎn)者消費者、專用、遷移、結(jié)果、常讀、同步及一般的讀/寫。為避免兩個競爭寫者的顛簸,一個程序員可以把類型指定為寫多次,系統(tǒng)將使用延遲寫策略。 Mirage系統(tǒng)在一致性協(xié)議中,增加了一個動態(tài)可調(diào)整參數(shù),它決定一頁在一個節(jié)點上保持可用的最小時間量()。例如若一個節(jié)點對一個共享頁執(zhí)行一次寫操作,則此頁在該節(jié)點上時間內(nèi)是可寫的。第十一章第十一章 分布式共享存儲器分布式共享存儲器 532022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v 可擴充性可擴充性 D
52、SM系統(tǒng)一個理論上的優(yōu)點是它們比緊密耦合系統(tǒng)具有更好的可擴充性。前面說過,對可擴充性限制有兩種因素:集中瓶頸(例如緊密耦合系統(tǒng)中的總線)和全局公用信息的操作及存儲(例如廣播報文或目錄,它的大小與節(jié)點數(shù)成比例)。第十一章第十一章 分布式共享存儲器分布式共享存儲器 542022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v異構(gòu)性異構(gòu)性 在Agora系統(tǒng)中,把存儲器構(gòu)造為在異構(gòu)性機器之間共享對象。 Mermaid探索了另一種不同尋常的方法:存儲器以頁方式共享,并且一頁只包含一種數(shù)據(jù)類型。當在不同體系結(jié)構(gòu)的兩個系統(tǒng)之間移動一頁時,變換子程序都會把該頁上的數(shù)據(jù)轉(zhuǎn)換成適當?shù)母袷健?第十一
53、章第十一章 分布式共享存儲器分布式共享存儲器 552022-3-23中南大學軟件學院11.4 DSM系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn)v 其他有關(guān)算法其他有關(guān)算法 為了支持DSM算法,必須對同步操作和存儲管理進行調(diào)整。例如,信號量是在共享存儲器系統(tǒng)上使用旋轉(zhuǎn)鎖實現(xiàn)的。 可為DSM重新構(gòu)造存儲管理。一個常用的存儲器分配方案對公用庫的存儲器進行分配,每次請求時要搜索一次該庫。第十一章第十一章 分布式共享存儲器分布式共享存儲器 562022-3-23中南大學軟件學院11.5 DSM實例:實例:Ivy和和MemNetv Ivy軟件實現(xiàn)的軟件實現(xiàn)的DSM Ivy中進程地址空間分成專用和共享兩部分。專用部分不能由其他進
54、程尋址。共享部分由虛擬共享存儲器實現(xiàn),是個平面地址空間,為運行在不同節(jié)點上的所有進程所共享,也就是被各線程共享的單地址空間。 地址空間是分頁的。一頁是同步的最小單位,當需要時它可以從一個節(jié)點遷移到另一個節(jié)點。每個節(jié)點上有一個存儲器管理程序,滿足本地和遠程請求并實現(xiàn)緩存器一致性協(xié)議。當訪問共享空間的一個地址時,阻塞故障進程,Ivy存儲器管理程序檢查待訪問頁是否在本地。如果不在本地,向遠程存儲器發(fā)送請求。得到該頁后,發(fā)生頁故障的進程恢復執(zhí)行。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 572022-3-23中南大學軟件學院11.5 DSM實例:實例:Ivy和和MemNetv Ivy一致性
55、協(xié)議一致性協(xié)議 Ivy所使用的一致性概念是多個讀/單個寫的語義。對某地址的讀操作總是得到最近對該地址寫的值,一致性協(xié)議保證執(zhí)行這一語義。 Ivy的每個處理機都有自己的頁表。表中的每一項紀錄著該主機的訪問權(quán),可以對一頁擁有讀、寫權(quán)或無任何權(quán)利。一頁的訪問權(quán)是與緩存器中一個塊的狀態(tài)相當?shù)摹?緩存器 Ivy 重寫 共享重寫 有效 無效 寫 所有者讀 讀 無任何權(quán)力 第十一章第十一章 分布式共享存儲器分布式共享存儲器 582022-3-23中南大學軟件學院11.5 DSM實例:實例:Ivy和和MemNetv Ivy一致性協(xié)議一致性協(xié)議 當訪問一個共享地址時,該主機檢查它是否有權(quán)在指定方式下訪問含有此地
56、址的那一頁。如果沒有,則根據(jù)訪問方式產(chǎn)生一個讀或者寫故障,其步驟如下: 讀故障:(1) 找出誰是所有者;(2) 所有者把該故障主機填入副本集;(3) 所有者把自己的訪問權(quán)變成只讀;(4) 所有者向故障主機發(fā)送該頁。第十一章第十一章 分布式共享存儲器分布式共享存儲器 592022-3-23中南大學軟件學院11.5 DSM實例:實例:Ivy和和MemNetv Ivy一致性協(xié)議一致性協(xié)議 當訪問一個共享地址時,該主機檢查它是否有權(quán)在指定方式下訪問含有此地址的那一頁。如果沒有,則根據(jù)訪問方式產(chǎn)生一個讀或者寫故障,其步驟如下: 寫故障:(1) 找到所有者;(2) 所有者向故障主機發(fā)送該頁和該頁的副本集,
57、并將它的那項標為無效;(3) 故障主機根據(jù)副本集送出“無效”報文;(4) 返回對“無效”報文的承認,進程繼續(xù)執(zhí)行第十一章第十一章 分布式共享存儲器分布式共享存儲器 602022-3-23中南大學軟件學院11.5 DSM實例:實例:Ivy和和MemNetvIvy一致性協(xié)議一致性協(xié)議 有三種不同的一致性協(xié)議 :1) 集中管理者方法類似于管程,管程由一個數(shù)據(jù)結(jié)構(gòu)和一些過程組成,提供對數(shù)據(jù)結(jié)構(gòu)的互斥訪問。集中管理者固定在一個處理機上,維持一張頁表。每個處理機也有一張頁表,每一項有兩個域:訪問和鎖。訪問域記錄本地處理機上的頁面的可訪問信息。每個處理機知道中心管理者,并且在本地沒有數(shù)據(jù)對象時能夠向管理者發(fā)
58、出請求。當一個處理機上有多個進程等待同一個頁面時,加鎖機制防止處理機發(fā)出多個請求。對一個頁面成功執(zhí)行寫操作就會成為頁面的所有者第十一章第十一章 分布式共享存儲器分布式共享存儲器 612022-3-23中南大學軟件學院11.5 DSM實例:實例:Ivy和和MemNetv Ivy一致性協(xié)議一致性協(xié)議 2) 有兩種類型的固定分布式管理者算法:固定的和廣播的。固定算法中,每個處理機預定管理一部分頁面。通常一個適當?shù)纳⒘泻瘮?shù)用于把頁面映射到處理機。廣播算法中,訪問頁面出故障的處理機發(fā)出廣播確定頁面的真正所有者。廣播算法性能比較差,因為所有處理機必須處理每個請求,減慢處理機的計算第十一章第十一章 分布式共
59、享存儲器分布式共享存儲器 622022-3-23中南大學軟件學院11.5 DSM實例:實例:Ivy和和MemNetv Ivy一致性協(xié)議一致性協(xié)議 3) 動態(tài)分布式管理者方法的核心是每個處理機的頁表中記錄所有頁的所有者。頁表中,集中管理者算法中的所有者域被替換成另一個域,叫做可能所有者(probowner)域,它可能是頁面的真正所有者,也可能是頁面的可能所有者。可能所有者域構(gòu)成一個鏈,從一個節(jié)點到另一個節(jié)點,最終會指向真正的所有者。第十一章第十一章 分布式共享存儲器分布式共享存儲器 632022-3-23中南大學軟件學院11.5 DSM實例:實例:Ivy和和MemNetvIvy存儲器管理存儲器管理 虛擬共享存儲器的管理與常規(guī)存儲器管理有很大不同,下面介紹頁替換和存儲器分配。 頁替換。 Ivy的虛擬共享存儲器的頁有五種:可寫的、所有者可讀的、只讀的、空的和不使用的。空頁和不用頁都具有最高的被替換優(yōu)先權(quán),即如果需要一頁則先替換它們。由于只讀頁可被其所有者制造備份,所以可以簡單地丟棄。對于所有者讀的頁和可寫頁的丟棄當然需要所有權(quán)的轉(zhuǎn)讓。 第十一章第十一章 分布式共享存儲器分布式共享存儲器 642022-3-23中南大學軟件學院11.5 DSM實例:實例:Ivy和和MemNetvIvy存儲器管理存儲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 稀土金屬提煉過程中的行業(yè)規(guī)范與標準制定工作進展考核試卷
- 紙容器行業(yè)技術(shù)創(chuàng)新與專利布局考核試卷
- 肉類加工企業(yè)的市場動態(tài)跟蹤與趨勢預測考核試卷
- 線上銷售與渠道管理考核試卷
- 電梯平衡補償裝置工作原理考核試卷
- 江蘇省南京市燕子磯中學2024-2025學年高考生物試題一輪復習模擬試題含解析
- 珠海三中高二下學期期中考試理科物理試題
- 南京財經(jīng)大學紅山學院《港臺文學專題》2023-2024學年第一學期期末試卷
- 梧州學院《企業(yè)案例分析》2023-2024學年第二學期期末試卷
- 上海市浦東新區(qū)南片聯(lián)合體達標名校2024-2025學年初三第一次模擬考試適應(yīng)性測試英語試題含答案
- 日本大眾文化-北京科技大學中國大學mooc課后章節(jié)答案期末考試題庫2023年
- 科學語言動物音樂會
- 《大隨求陀羅尼》羅馬拼音與漢字對照版
- 心肺復蘇操作考核評分表 (詳)
- 打造媽祖文化品牌
- 內(nèi)外科醫(yī)生聯(lián)合提高肝移植中長期生存
- 充電樁安全管理服務(wù)協(xié)議(8篇)
- 工作證明模板下載
- GB/T 10095.1-2022圓柱齒輪ISO齒面公差分級制第1部分:齒面偏差的定義和允許值
- 第15章胃腸疾病病人的護理
- GB/T 3683-1992鋼絲增強液壓橡膠軟管和軟管組合件
評論
0/150
提交評論