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