共享存儲(chǔ)概述
掃描二維碼
隨時(shí)隨地手機(jī)看文章

高速緩沖存儲(chǔ)器一致性協(xié)議是把系統(tǒng)中的一個(gè)處理機(jī)新寫的值傳播給其他處理機(jī)的機(jī)制。高速緩沖存儲(chǔ)器一致性協(xié)議都是為實(shí)現(xiàn)某種存儲(chǔ)一致性模型而設(shè)計(jì)的。存儲(chǔ)一致性模型是系統(tǒng)設(shè)計(jì)者和程序員之間的一種約定,它給出了判斷共享存儲(chǔ)程序及結(jié)構(gòu)正確的標(biāo)準(zhǔn),其中順序一致性模型被普遍作為共享存儲(chǔ)程序執(zhí)行正確的標(biāo)準(zhǔn),也是定義其他弱一致性模型的基礎(chǔ)。在順序一致性模型中,多個(gè)處理器并行執(zhí)行程序的結(jié)果等于把每個(gè)處理機(jī)所執(zhí)行的指令流按某種方式順序地交織在一起在單機(jī)上執(zhí)行的結(jié)果。如果在多處理機(jī)環(huán)境下的一·個(gè)并行執(zhí)行的結(jié)果和同一程序在單處理機(jī)多進(jìn)程環(huán)境下的執(zhí)行結(jié)果相同,則此并行執(zhí)行正確。在共享存儲(chǔ)系統(tǒng)中,為了實(shí)現(xiàn)順序一致性模型,需要對(duì)訪存事件次序施加嚴(yán)格的限制,為了放松對(duì)訪存事件次序的限制,人們提出了一系列弱存儲(chǔ)一致性模型。這些弱存儲(chǔ)一斂性模型的基本思想是:在順序一致性模型中,雖然為了保征正確執(zhí)行而對(duì)訪存事件次序施加了嚴(yán)格的限制,但在大多數(shù)不會(huì)引起訪存沖突的情況下,這些限制是多余的,因此可以讓程序員承擔(dān)部分執(zhí)行正確性的責(zé)任,即在程序中指出需要維護(hù)一致性的訪存操作,系統(tǒng)只保證在用戶指出的需要保持一致性的地方維護(hù)數(shù)據(jù)一致性,而對(duì)用戶未加說(shuō)明的部分,則可以不考慮處理機(jī)之間的數(shù)據(jù)相關(guān)。
根據(jù)存儲(chǔ)器的分布、一致性的維護(hù)以及實(shí)現(xiàn)方式等特征,常見(jiàn)的共享存儲(chǔ)系統(tǒng)的體系結(jié)構(gòu)有以下幾種:(1)無(wú)高速緩沖存儲(chǔ)器的集中式共享存儲(chǔ)結(jié)構(gòu)這種結(jié)構(gòu)的處理機(jī)沒(méi)有高速緩沖存儲(chǔ)器,多個(gè)處理機(jī)通過(guò)交叉開(kāi)關(guān)或多級(jí)互聯(lián)網(wǎng)絡(luò)等直接訪問(wèn)共享存儲(chǔ)器。由于任一存儲(chǔ)單元在系統(tǒng)中只有一個(gè)備份,這類系統(tǒng)不存在高速緩沖存儲(chǔ)器一致性問(wèn)題,系統(tǒng)的可伸縮性受限于交叉開(kāi)關(guān)或多級(jí)互聯(lián)網(wǎng)絡(luò)的帶寬。采用這種結(jié)構(gòu)的典型例子是并行向量機(jī)及大型機(jī),如美國(guó)Cray公司的Cray-XMP、YMP-C90等。
(2)基于高速緩沖存儲(chǔ)器的集中式共享存儲(chǔ)結(jié)構(gòu) 在這種結(jié)構(gòu)的系統(tǒng)中,每個(gè)處理機(jī)都有高速緩沖存儲(chǔ)器,多個(gè)處理機(jī)一般通過(guò)總線與存儲(chǔ)器相連。每個(gè)處理機(jī)的高速緩沖存儲(chǔ)器通過(guò)偵聽(tīng)總線來(lái)維持?jǐn)?shù)據(jù)一致性。由于總線是獨(dú)占性資源,這類系統(tǒng)的伸縮性是有限的。這種結(jié)構(gòu)常見(jiàn)于采用對(duì)稱式多處理機(jī)(SMP)系統(tǒng)的服務(wù)器和工作站中,如4DEC,SUN,Sequent以及SGl等公司的多機(jī)工作站產(chǎn)品。