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