版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
分布式共享存儲器第1頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
什么是分布式共享存儲器系統(tǒng)
第2頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
為什么需要分布式共享存儲器DSM的計算模型和RPC的計算模型相比各有優(yōu)缺點:DSM的計算模型支持數(shù)據(jù)在系統(tǒng)內(nèi)移動,使數(shù)據(jù)更容易訪問。RPC計算模型是把操作移到數(shù)據(jù)所在位置。RPC不支持程序利用其訪問的局部性優(yōu)點,對一塊遠程數(shù)據(jù)的每個操作都產(chǎn)生通信,對數(shù)據(jù)的操作必須先定義好。但是RPC支持異構(gòu)型。DSM可把數(shù)據(jù)移到本地節(jié)點,允許程序利用其訪問的局部性優(yōu)點,使用緩存器可以改善響應(yīng)時間。移動性要求對數(shù)據(jù)位置進行跟蹤;緩存要求解決各副本的一致性。當(dāng)數(shù)據(jù)正向某個主機移動時,不能對它進行處理。如果數(shù)據(jù)經(jīng)常修改,RPC模型可能更好些。第3頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
為什么需要分布式共享存儲器從通信機制來看,DSM與報文傳遞方式有以下不同:訪問的透明性。使用報文傳遞方式訪問共享的數(shù)據(jù)變量時,程序必須明確地使用節(jié)點地址信息和通信原語(如SEND和RECEIVE)。而在DSM中系統(tǒng)提供了一種抽象的共享地址空間從而隱匿了物理地址和通信細節(jié),使得程序直接面向共享的數(shù)據(jù)。共享數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性和異構(gòu)性。使用報文傳遞方式,由于數(shù)據(jù)是在不同的地址空間之間傳遞,從而使得具有復(fù)雜數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)難于在不同類型的計算機及進程之間傳遞。而在DSM中,可以借助引用機制(reference)去實現(xiàn)上述數(shù)據(jù)訪問,復(fù)雜性與異構(gòu)性的問題由引用機制去處理,從而進一步簡化了并行程序設(shè)計。第4頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
為什么需要分布式共享存儲器從通信機制來看,DSM與報文傳遞方式有以下不同:(3)數(shù)據(jù)的局部性。在DSM中,新訪問的數(shù)據(jù)項與其周圍的數(shù)據(jù)一起按塊或按頁移動,而不是只移動新訪問的數(shù)據(jù)本身。根據(jù)程序的局部性原理,這樣可以大大地減小網(wǎng)絡(luò)的通信開銷。第5頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
為什么需要分布式共享存儲器與緊密耦合的多機系統(tǒng)相比,DSM系統(tǒng)具有以下特點:(1)規(guī)模可擴充。在緊密耦合的多機系統(tǒng)中,由于各處理機共享的是一個單一的物理存儲器,主存訪問都要經(jīng)過一個集中環(huán)節(jié)(例如總線)進行,這就限制了多機系統(tǒng)的規(guī)模(一般為幾十臺處理機)。DSM不存在這樣的限制,可以擴充至很大的規(guī)模(多至上千個節(jié)點)。(2)廉價。由于DSM系統(tǒng)可以用現(xiàn)有的硬件來構(gòu)造,并且無需連接共享存儲器與處理機的復(fù)雜接口,因而DSM的構(gòu)造成本要低于緊密耦合的多機系統(tǒng)。(3)兼容性。在共享存儲器多機系統(tǒng)上編寫的程序原則上都可以無需修改或稍加修改后轉(zhuǎn)換到DSM系統(tǒng)上運行。第6頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
共享存儲器中緩存一致性方法
有兩類基本方法實現(xiàn)緩存一致性:即探聽緩存方法和使用目錄的方法。探聽(snooping)緩存方法用于具有廣播能力的通信介質(zhì)中,例如共享總線。每個緩存器為了保持自己數(shù)據(jù)的一致性要監(jiān)聽共享總線上進行的由其他處理機發(fā)出的存儲器操作。Berkeley是一個典型例子,它是一種寫無效協(xié)議,它假設(shè)通過單總線訪問共享的物理存儲器。此協(xié)議采用一個所有權(quán)方案。一個數(shù)據(jù)塊的所有者是一個緩存器,是上次對該數(shù)據(jù)塊的修改者,如果該塊被其所有者清除,則主存作為其所有者。第7頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
共享存儲器中緩存一致性方法
Berkeley探聽協(xié)議數(shù)據(jù)塊有四種狀態(tài):重寫(dirty)、共享重寫、有效和無效:(1)無效。該緩存塊不包含有效數(shù)據(jù)。(2)有效。該緩存塊中數(shù)據(jù)是有效的。(3)重寫。共享存儲器中的數(shù)據(jù)是不正確的,該緩存塊是唯一有效的數(shù)據(jù)副本。該緩存塊是數(shù)據(jù)的所有者。(4)共享重寫。共享存儲器中的數(shù)據(jù)是不正確的,該緩存塊是數(shù)據(jù)的所有者,其他緩存中有同樣的副本。第8頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
共享存儲器中緩存一致性方法
探聽協(xié)議的寫操作:數(shù)據(jù)只能由所有者提供。有效塊和無效塊在替換時可以簡單地扔掉。重寫塊和共享重寫塊在替換時要寫回共享存儲器,并把共享存儲器設(shè)置為所有者。如果對緩存塊進行寫,而緩存塊的狀態(tài)是重寫的,則寫操作可以直接進行;但是如果緩存塊是共享重寫、或有效,則必須向其他緩存器發(fā)送“無效”信號,然后可以進行寫操作;如果緩存塊是無效的,要從當(dāng)前所有者那里取得數(shù)據(jù)塊,再向其他緩存器發(fā)送“無效”信號,然后可以進行寫操作。第9頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
共享存儲器中緩存一致性方法
目錄協(xié)議:在共享存儲器中設(shè)置存儲器塊的目錄。當(dāng)發(fā)生緩存不命中時,先把請求轉(zhuǎn)到此目錄。通常目錄項中包含所有權(quán)、副本集(copyset)和該塊的重寫位。副本集指出該塊數(shù)據(jù)在哪些緩存器中有副本,可用位向量來實現(xiàn)。發(fā)生讀未命中時,先檢查重寫位,如果該塊不處于重寫狀態(tài),則共享存儲器中的版本是有效的,于是簡單地返回該塊,并對副本集信息進行更新;如果該塊的重寫位置位,則該塊的所有者必須修改該塊,并且要更新共享存儲器中的版本,向讀者提供讀副本。寫未命中或者從讀權(quán)變成寫權(quán)時,要求目錄的副本集使其他副本無效。與探聽緩存方案不同,讀副本的位置都已經(jīng)知道,因此,可以用順序方式而不是以廣播方式發(fā)送“無效”報文。目錄方案不要求廣播介質(zhì),但在每次緩存未命中時要增加一次查表。第10頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
DSM的設(shè)計與實現(xiàn)問題共享地址空間結(jié)構(gòu)和粒度。共享地址空間的結(jié)構(gòu)指的是存儲器中共享數(shù)據(jù)的布局方法,它依賴于應(yīng)用程序類型,地址空間可以是平面的,分段的或物理的。粒度是指共享單元的大小,可以是字節(jié)、字、頁或復(fù)雜的數(shù)據(jù)結(jié)構(gòu),它也是可用的并行性的度量,依賴于通信開銷和應(yīng)用程序表現(xiàn)的局部性類型。結(jié)構(gòu)和粒度是密切相關(guān)的。緩存一致性協(xié)議。不同的協(xié)議有不同的假設(shè),選擇協(xié)議依賴于存儲器訪問模式和支持環(huán)境。在寫無效協(xié)議中,一塊共享數(shù)據(jù)可能有很多個只讀副本,但僅有一個可寫副本,每進行一次寫時,除了一個以外,其他副本均變成無效。在寫更新協(xié)議中。每次寫都要對所有副本進行更新。第11頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
DSM的設(shè)計與實現(xiàn)問題同步原語。在并發(fā)訪問下,光有緩存一致性協(xié)議還不能維持共享數(shù)據(jù)一致性。尚需要同步原語對訪問共享數(shù)據(jù)的活動進行同步,例如信號燈、事件計數(shù)和鎖等。替換策略。在允許數(shù)據(jù)遷移的系統(tǒng)中,當(dāng)共享數(shù)據(jù)占滿了緩存器的有效空間時,必須決定將那些數(shù)據(jù)轉(zhuǎn)移出去并且放到哪里去。可擴充性。DSM系統(tǒng)比起緊密耦合系統(tǒng)來,一個重大的優(yōu)點是具有可擴充性。限制可擴充性有兩個因素:集中的瓶頸(像緊密耦合系統(tǒng)中的總線)和全局公用信息的操作及存儲(如廣播報文或目錄等)。第12頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
DSM的設(shè)計與實現(xiàn)問題異構(gòu)性。如何實現(xiàn)對兩個具有不同體系結(jié)構(gòu)的機器的存儲器共享是個很困難的問題。兩個機器甚至對基本數(shù)據(jù)類型(如整數(shù)、浮點數(shù)等)都使用不同的表達方式。數(shù)據(jù)定位和訪問。為了在一個DSM系統(tǒng)中共享數(shù)據(jù),應(yīng)用程序必須能找到并且檢索所需要的數(shù)據(jù)。對于一個支持數(shù)據(jù)遷移的系統(tǒng),實現(xiàn)這一點就更為復(fù)雜。顛簸。DSM系統(tǒng)特別容易出現(xiàn)顛簸,例如若兩個節(jié)點對一個數(shù)據(jù)項同時進行寫,就可能產(chǎn)生以高速率來回傳送數(shù)據(jù)的現(xiàn)象(乒乓效應(yīng)),使得任何實際工作都不能進行。第13頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
一致性語義共享存儲器中常使用的一些一致性語義:嚴(yán)格一致性。對一個數(shù)據(jù)項所進行的任何讀操作所返回的值總是對該數(shù)據(jù)項最近一次進行寫操作的結(jié)果。順序一致性。所有進程對數(shù)據(jù)項的所有操作可以認為是按照某個順序進行的,任何進程對這個順序的觀點是一樣的。處理機一致性。不僅要求一個進程中的所有寫操作能夠以它在該進程中出現(xiàn)的順序被所有其他進程看見,還要求不同進程對同一個數(shù)據(jù)項的寫操作,應(yīng)該被所有進程以相同的順序看見。第14頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.1基本概念
一致性語義共享存儲器中常使用的一些一致性語義:弱一致性。程序員使用同步算符,使得對數(shù)據(jù)的多個操作組來說是順序一致性的。即不同進程的多個操作組可以認為是按照某個順序進行的,任何進程對這個順序的觀點是一樣的。但是操作組內(nèi)的多個操作其他進程是不可見的。對同步算符是順序一致性的。釋放一致性。使用了“獲得”和“釋放”這兩類同步算符,對同步算符是處理機一致的。第15頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.2實現(xiàn)DSM的算法
算法使用的模型和環(huán)境
共享存儲器模型為訪問共享數(shù)據(jù)提供了兩個基本操作:data:=read(address)write(data,address)read返回由address指出的數(shù)據(jù)項。Write把由地址address指出的內(nèi)容設(shè)置為data。
根據(jù)是否允許遷移或復(fù)制,可以將DSM的實現(xiàn)算法分成四類:中央服務(wù)員算法、遷移算法、讀復(fù)制算法和全復(fù)制算法。第16頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.2實現(xiàn)DSM的算法
算法使用的模型和環(huán)境
第17頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.2實現(xiàn)DSM的算法
中央服務(wù)員算法
使用一個中央服務(wù)員,負責(zé)為所有對共享數(shù)據(jù)的訪問提供服務(wù)并保持共享數(shù)據(jù)唯一的副本。讀和寫操作都包括由執(zhí)行該操作的進程向中央服務(wù)員發(fā)送請求報文,中央服務(wù)員執(zhí)行請求并回答,讀操作時回答數(shù)據(jù)項,寫操作時回答一個承認。第18頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.2實現(xiàn)DSM的算法
遷移算法
數(shù)據(jù)總是被遷移到訪問它的節(jié)點。這是一個“單讀者/單寫者”(SRSW)協(xié)議,因為在整個系統(tǒng)中,一次只有一個進程讀或?qū)懸粋€給定的數(shù)據(jù)項。第19頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.2實現(xiàn)DSM的算法
讀復(fù)制算法
對于一個當(dāng)前不在本地的塊中的一個數(shù)據(jù)項進行讀操作時,先與遠程節(jié)點通信以獲得那個塊的一個只讀副本,然后再進行讀操作。若被執(zhí)行寫操作的數(shù)據(jù)所在的塊不在本地或在本地但主機無寫權(quán)時,必須先使此塊在其他節(jié)點的所有副本無效,之后再進行寫操作。第20頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.2實現(xiàn)DSM的算法
全復(fù)制算法
全復(fù)制算法允許數(shù)據(jù)塊在進行寫時也可以復(fù)制,因而它遵從了“多讀者/多寫者”(MRMW)協(xié)議。保持復(fù)制數(shù)據(jù)一致性的一種可能的方法是對所有的寫操作進行全局排序,而只對與發(fā)生在執(zhí)行讀操作節(jié)點上的寫操作相關(guān)的那些讀操作進行排序。第21頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.2實現(xiàn)DSM的算法
算法性能基本代價:
(1)p:一個包事件的代價,即發(fā)送或接收一個短包的處理代價,包括可能的任務(wù)切換、數(shù)據(jù)復(fù)制及中斷處理開銷。實際系統(tǒng)的典型值的變化范圍是1到幾個毫秒。(2)P:發(fā)送或接收一個數(shù)據(jù)塊的代價。這與p十分相似,但P值要高得多。對于一個通常需要多個包的8K字節(jié)的塊來說,典型值的范圍是20至40個毫秒。(3)S:參與分布式共享內(nèi)存的節(jié)點數(shù)。(4)r:讀/寫比,即平均有r個讀操作時才有一個寫操作。這個參數(shù)也用于整個塊的訪問模式。顯然這兩個比可能不同,但為了簡化分析假定相等。第22頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.2實現(xiàn)DSM的算法
算法性能基本代價:
(5)f:非復(fù)制數(shù)據(jù)塊(用于遷移算法)訪問故障的概率。它等于單一節(jié)點連續(xù)訪問一個塊(以后由另一個節(jié)點訪問此塊導(dǎo)致故障)的平均次數(shù)的倒數(shù)。它說明遷移算法數(shù)據(jù)訪問的局部性。(6)f’:讀復(fù)制算法用于對復(fù)制數(shù)據(jù)塊訪問故障的概率。它是連續(xù)訪問本地數(shù)據(jù)塊中數(shù)據(jù)項(以后訪問一個非本地數(shù)據(jù)塊中某數(shù)據(jù)項)的平均次數(shù)的倒數(shù)。它說明讀復(fù)制算法數(shù)據(jù)訪問的本地性。第23頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.2實現(xiàn)DSM的算法
算法性能四種算法的平均訪問代價:
中央服務(wù)員算法:Cc=(1-1/S)·4p遷移算法:Cm=f·(2P+4p)讀復(fù)制算法:Crr=f’·[2P+4p+Sp/(r+1)]全復(fù)制算法:Cfr=[1/(r+1)]·(S+2)p每一個表達式都有兩部分,第一部分在“·”的左邊,表示訪問遠程數(shù)據(jù)項的概率。第二部分在“·”的右邊,等于訪問遠程數(shù)據(jù)項的平均代價。第24頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.3使用目錄的DSM
目錄方案的分類
目錄:不用廣播的緩存器一致性協(xié)議必須保存每塊共享數(shù)據(jù)的所有緩存器副本的位置。此緩存位置表,不管是集中的還是分散的,都叫做目錄。每個數(shù)據(jù)的目錄項包括許多指針,用來指出此塊各副本所在位置。每一個目錄項還有一個“重寫”位用來指明是否允許某一個(只有一個)緩存器進行寫。目錄協(xié)議有三種主要類型:全映像目錄、有限目錄和鏈?zhǔn)侥夸?。全映像目錄的每個目錄項保持N個指針,這里N是系統(tǒng)中處理器的個數(shù)。有限目錄和全映像目錄的不同之處在于,有限目錄的每個目錄項具有固定數(shù)量的指針,與系統(tǒng)中處理機數(shù)量無關(guān)。鏈?zhǔn)侥夸浥c全映像目錄相似,只是它將目錄分布于各緩存器。第25頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.3使用目錄的DSM
全映像目錄
全映像目錄協(xié)議使用的目錄每項包含每個處理機,有一個指針并且有一個“重寫”位。指針?biāo)鶎?yīng)的每一位代表該塊在相應(yīng)處理機緩存器中的狀態(tài)(存在或不存在)。如果“重寫”位置位,那么有且只有一個處理機的指針位被置位,允許這個處理機對該數(shù)據(jù)塊進行寫操作。緩存器保存每塊數(shù)據(jù)的兩個狀態(tài)位:一位表明此數(shù)據(jù)塊是否有效,另一位表明一個有效的數(shù)據(jù)塊是否可寫。緩存器一致性協(xié)議必須在存儲器目錄中保存這些狀態(tài)位,并維持緩存一致性。第26頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.3使用目錄的DSM
全映像目錄
第27頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.3使用目錄的DSM
全映像目錄
寫過程:(1)C3檢測到包含單元X的數(shù)據(jù)塊是有效的,但是該處理機對數(shù)據(jù)塊無寫的權(quán)限,這由塊的允許寫位表示。(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。第28頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.3使用目錄的DSM
有限目錄
有限目錄協(xié)議是為解決目錄大小問題而設(shè)計的。限制對同一數(shù)據(jù)塊同時進行緩存的任務(wù)數(shù)目,即限制一個數(shù)據(jù)塊的緩存數(shù)目,就可以將每個目錄項的大小限定為一個常數(shù)。第29頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.3使用目錄的DSM
鏈?zhǔn)侥夸?/p>
它通過保持一個目錄指針鏈對共享副本進行跟蹤。單向鏈?zhǔn)浇Y(jié)構(gòu):第30頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.3使用目錄的DSM
鏈?zhǔn)侥夸?/p>
緩存器塊的替換:假設(shè)從C1到CN都有單元X的副本,并且單元X和單元Y都直接映射到緩存器同一行上。如果處理機Pi讀單元Y,必須從它的緩存器中先驅(qū)逐單元X。在這種情況下,有兩種可能性:(1)沿著鏈路向Ci-1發(fā)送一個報文,將Ci-1的指針指向Ci+1,將Ci從鏈路中脫離開。(2)使從Ci到CN中的單元X無效。第31頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.3使用目錄的DSM
鏈?zhǔn)侥夸?/p>
雙向鏈?zhǔn)浇Y(jié)構(gòu):另外一種解決替換問題的方法是使用雙向鏈。這種方案為每個緩存器副本保持一個向前和一個向后的指針,這樣當(dāng)緩存器替換時,協(xié)議不必遍歷整個鏈。雙向鏈目錄優(yōu)化替換條件是以更大的平均報文長度(由于傳送更多的目錄指針)、緩存器中的指針的存儲空間加倍和更為復(fù)雜的一致性協(xié)議為代價的。第32頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.4DSM系統(tǒng)的實現(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)達到共享和一致性。(3)編譯程序的實現(xiàn)。把共享訪問自動轉(zhuǎn)換成同步和一致性原語。第33頁,課件共56頁,創(chuàng)作于2023年2月第34頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.4DSM系統(tǒng)的實現(xiàn)結(jié)構(gòu)和粒度
DSM的硬件實現(xiàn)方法典型地支持了較小的粒度。頁的大小:較大的頁能夠減少分頁的開銷,但是可能引起爭用可能性越大。另一個影響頁大小選擇的因素是必須保留該系統(tǒng)中有關(guān)頁的目錄信息:頁越小,則目錄越大。結(jié)構(gòu)化共享存儲器的一個實現(xiàn)方法是根據(jù)數(shù)據(jù)類型進行共享。這種方法是把共享存儲器作為面向?qū)ο蟮姆植际较到y(tǒng)中的對象而進行構(gòu)造。另一個方法是把共享存儲器構(gòu)造成像一個數(shù)據(jù)庫。Linda就是一個這種模式的系統(tǒng)。它把它的共享存儲器安排成為一個相聯(lián)存儲器,叫做元組(tuple)空間。第35頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.4DSM系統(tǒng)的實現(xiàn)數(shù)據(jù)定位與訪問
集中的服務(wù)員:集中的服務(wù)員來跟蹤所有共享數(shù)據(jù)。這種集中的方法有兩個缺陷:服務(wù)員串行執(zhí)行定位查詢,從而削弱了并行性;服務(wù)員負載過重,降低了整個系統(tǒng)的速度。廣播數(shù)據(jù)請求:不幸的是,廣播的可擴充性不好,所有的節(jié)點(不僅是數(shù)據(jù)所在的節(jié)點)都必須處理廣播請求。廣播在網(wǎng)絡(luò)上的等待有可能使訪問花費很長時間才能完成?;谒姓叩姆植际降哪P停好恳粔K數(shù)據(jù)都有一個與之相聯(lián)系的所有者,這個所有者就是擁有數(shù)據(jù)主副本的節(jié)點。當(dāng)數(shù)據(jù)在整個系統(tǒng)中遷移時,它的所有者也會隨之而改變。當(dāng)另一個節(jié)點需要數(shù)據(jù)的一個副本時,就向所有者發(fā)送請求。所有者如果仍保留著這個數(shù)據(jù),就返回該數(shù)據(jù);若所有者已將數(shù)據(jù)發(fā)送給其他節(jié)點,則把這一請求轉(zhuǎn)發(fā)給那個新所有者。缺點是一個請求可能被轉(zhuǎn)發(fā)多次后才能到達當(dāng)前所有者。第36頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.4DSM系統(tǒng)的實現(xiàn)一致性協(xié)議
兩類一致性協(xié)議:寫無效協(xié)議和寫更新協(xié)議在寫無效協(xié)議中,一塊數(shù)據(jù)可能有很多個只讀副本,但是,只有一個是可寫副本。這種協(xié)議之所以被稱作寫無效協(xié)議,是因為在開始一次寫操作之前,除了將被寫的那個副本之外,其他副本均變成無效。在寫更新方式中,一次寫操作將更新所有副本。第37頁,課件共56頁,創(chuàng)作于2023年2月Dash系統(tǒng)簡化的寫無效協(xié)議(DC代表目錄控制器)
第38頁,課件共56頁,創(chuàng)作于2023年2月Plus寫更新協(xié)議,MCM代表存儲一致性控制器第39頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.4DSM系統(tǒng)的實現(xiàn)顛簸
DSM系統(tǒng)特別容易出現(xiàn)顛簸。如果兩個節(jié)點對一個數(shù)據(jù)項同時進行寫,該數(shù)據(jù)項就有可能以高速率來來回回地被傳送(乒乓效應(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)是可寫的。第40頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.4DSM系統(tǒng)的實現(xiàn)可擴充性
DSM系統(tǒng)一個理論上的優(yōu)點是它們比緊密耦合系統(tǒng)具有更好的可擴充性。前面說過,對可擴充性限制有兩種因素:集中瓶頸(例如緊密耦合系統(tǒng)中的總線)和全局公用信息的操作及存儲(例如廣播報文或目錄,它的大小與節(jié)點數(shù)成比例)。第41頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.4DSM系統(tǒng)的實現(xiàn)異構(gòu)性
在Agora系統(tǒng)中,把存儲器構(gòu)造為在異構(gòu)性機器之間共享對象。Mermaid探索了另一種不同尋常的方法:存儲器以頁方式共享,并且一頁只包含一種數(shù)據(jù)類型。當(dāng)在不同體系結(jié)構(gòu)的兩個系統(tǒng)之間移動一頁時,變換子程序都會把該頁上的數(shù)據(jù)轉(zhuǎn)換成適當(dāng)?shù)母袷?。?2頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetIvy—軟件實現(xiàn)的DSM
Ivy中進程地址空間分成專用和共享兩部分。專用部分不能由其他進程尋址。共享部分由虛擬共享存儲器實現(xiàn),是個平面地址空間,為運行在不同節(jié)點上的所有進程所共享,也就是被各線程共享的單地址空間。地址空間是分頁的。一頁是同步的最小單位,當(dāng)需要時它可以從一個節(jié)點遷移到另一個節(jié)點。每個節(jié)點上有一個存儲器管理程序,滿足本地和遠程請求并實現(xiàn)緩存器一致性協(xié)議。當(dāng)訪問共享空間的一個地址時,阻塞故障進程,Ivy存儲器管理程序檢查待訪問頁是否在本地。如果不在本地,向遠程存儲器發(fā)送請求。得到該頁后,發(fā)生頁故障的進程恢復(fù)執(zhí)行。第43頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetIvy一致性協(xié)議
Ivy所使用的一致性概念是多個讀/單個寫的語義。對某地址的讀操作總是得到最近對該地址寫的值,一致性協(xié)議保證執(zhí)行這一語義。Ivy的每個處理機都有自己的頁表。表中的每一項紀(jì)錄著該主機的訪問權(quán),可以對一頁擁有讀、寫權(quán)或無任何權(quán)利。一頁的訪問權(quán)是與緩存器中一個塊的狀態(tài)相當(dāng)?shù)?。?4頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetIvy一致性協(xié)議
當(dāng)訪問一個共享地址時,該主機檢查它是否有權(quán)在指定方式下訪問含有此地址的那一頁。如果沒有,則根據(jù)訪問方式產(chǎn)生一個讀或者寫故障,其步驟如下:讀故障:(1)找出誰是所有者;(2)所有者把該故障主機填入副本集;(3)所有者把自己的訪問權(quán)變成只讀;(4)所有者向故障主機發(fā)送該頁。第45頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetIvy一致性協(xié)議
當(dāng)訪問一個共享地址時,該主機檢查它是否有權(quán)在指定方式下訪問含有此地址的那一頁。如果沒有,則根據(jù)訪問方式產(chǎn)生一個讀或者寫故障,其步驟如下:寫故障:(1)找到所有者;(2)所有者向故障主機發(fā)送該頁和該頁的副本集,并將它的那項標(biāo)為無效;(3)故障主機根據(jù)副本集送出“無效”報文;(4)返回對“無效”報文的承認,進程繼續(xù)執(zhí)行。第46頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetIvy一致性協(xié)議
三種不同的一致性協(xié)議:集中管理者方法類似于管程,管程由一個數(shù)據(jù)結(jié)構(gòu)和一些過程組成,提供對數(shù)據(jù)結(jié)構(gòu)的互斥訪問。集中管理者固定在一個處理機上,維持一張頁表。每個處理機也有一張頁表,每一項有兩個域:訪問和鎖。訪問域記錄本地處理機上的頁面的可訪問信息。每個處理機知道中心管理者,并且在本地沒有數(shù)據(jù)對象時能夠向管理者發(fā)出請求。當(dāng)一個處理機上有多個進程等待同一個頁面時,加鎖機制防止處理機發(fā)出多個請求。對一個頁面成功執(zhí)行寫操作就會成為頁面的所有者。
第47頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetIvy一致性協(xié)議
三種不同的一致性協(xié)議:有兩種類型的固定分布式管理者算法:固定的和廣播的。固定算法中,每個處理機預(yù)定管理一部分頁面。通常一個適當(dāng)?shù)纳⒘泻瘮?shù)用于把頁面映射到處理機。廣播算法中,訪問頁面出故障的處理機發(fā)出廣播確定頁面的真正所有者。廣播算法性能比較差,因為所有處理機必須處理每個請求,減慢處理機的計算。第48頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetIvy一致性協(xié)議
三種不同的一致性協(xié)議:動態(tài)分布式管理者方法的核心是每個處理機的頁表中記錄所有頁的所有者。頁表中,集中管理者算法中的所有者域被替換成另一個域,叫做可能所有者(probowner)域,它可能是頁面的真正所有者,也可能是頁面的可能所有者??赡芩姓哂驑?gòu)成一個鏈,從一個節(jié)點到另一個節(jié)點,最終會指向真正的所有者。第49頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetIvy存儲器管理頁替換。Ivy的虛擬共享存儲器的頁有五種:可寫的、所有者可讀的、只讀的、空的和不使用的??枕摵筒挥庙摱季哂凶罡叩谋惶鎿Q優(yōu)先權(quán),即如果需要一頁則先替換它們。由于只讀頁可被其所有者制造備份,所以可以簡單地丟棄。對于所有者讀的頁和可寫頁的丟棄當(dāng)然需要所有權(quán)的轉(zhuǎn)讓。存儲器分配。為了支持動態(tài)數(shù)據(jù)結(jié)構(gòu),使用動態(tài)存儲器分配方案是必要的。Ivy有兩種方法。第一種是集中式方法,即所有進程向集中式的“存儲器分配程序”請求存儲器和歸還存儲器。這是個簡單的方法。第二個方法,除了集中式分配程序外,每個節(jié)點還有它自己的分配子程序。每個節(jié)點請求一大塊存儲器并執(zhí)行來自本地進程的存儲器請求。僅在本地節(jié)點用完存儲器時才和集中式管理程序聯(lián)系。第50頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetMemNet—硬件實現(xiàn)的DSM在MemNet中,全部主機共享一個公共的地址空間。此地址空間是分頁的,這些頁可根據(jù)要求在系統(tǒng)內(nèi)遷移。對此地址空間的訪問被直接送到主機內(nèi)的接口部件(作為一個智能存儲器模塊)。這個部件能緩存一部分共享存儲器并和其他主機的這種部件相互作用調(diào)進另外的頁。第51頁,課件共56頁,創(chuàng)作于2023年2月第十一章分布式共享存儲器
11.5DSM實例:Ivy和MemNetMemNet緩存一致性協(xié)議MemNet使用的緩存一致性協(xié)議和Ivy使用的相同,即讀操作必須總是返回該數(shù)據(jù)最近的值。每個MemNet部件有一塊表,表中每項對應(yīng)整個共享地址空間中的每一塊,還包括下述狀態(tài)標(biāo)志:(1)有效。指出此緩存器對該塊是否有一個有效副本。(2)獨占。指出本主機對該塊是否有獨占的訪問權(quán)。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河南駐馬店市直公益性崗位招聘16人參考考試試題及答案解析
- 鄭州大學(xué)煉焦煤資源綠色開發(fā)全國重點實驗室面向高校2025屆畢業(yè)生招聘非事業(yè)編制(勞務(wù)派遣)工作人員1人參考考試試題及答案解析
- 2025廣東惠州市第一婦幼保健院招聘第二批員額制衛(wèi)生專業(yè)技術(shù)人員13人備考考試試題及答案解析
- 2026中國金融出版社有限公司校園招聘4人備考筆試試題及答案解析
- 2026年濰坊市教育局所屬學(xué)校急需緊缺人才附部屬公費師范生公開招聘(22名)參考筆試題庫附答案解析
- 2025福建廈門市集美區(qū)實驗幼兒園非在編教輔招聘2人備考筆試試題及答案解析
- 2025年莆田市城廂區(qū)社會治理網(wǎng)格化中心招聘若干人參考考試試題及答案解析
- 網(wǎng)卡代理合同范本
- 網(wǎng)架房安裝協(xié)議書
- 耕地換耕地協(xié)議書
- 生命倫理學(xué):生命醫(yī)學(xué)科技與倫理 知到智慧樹網(wǎng)課答案
- (正式版)JTT 1218.4-2024 城市軌道交通運營設(shè)備維修與更新技術(shù)規(guī)范 第4部分:軌道
- 國測省測四年級勞動質(zhì)量檢測試卷
- 計算機講義-圖靈測試課件
- 保護信息安全守衛(wèi)個人隱私
- 高等數(shù)學(xué)(上)(長春工程學(xué)院)智慧樹知到課后章節(jié)答案2023年下長春工程學(xué)院
- 關(guān)于建立英國常任文官制度的報告
- 2023年考研考博考博英語東北大學(xué)考試歷年高頻考試題專家版答案
- 商場保安隊夜間清場安全檢查制度
- 世界近代史超經(jīng)典課件(北京大學(xué))全版
- 馬克思主義基本原理概論知到章節(jié)答案智慧樹2023年北京師范大學(xué)等跨校共建
評論
0/150
提交評論