什麼是可擴充套件相干介面?
可擴充套件相干介面 (IEEE P1596) 正在建立一種用於非常高實現多處理器的介面標準。它可以為最多 64K 個節點的系統提供可擴充套件的快取一致性記憶體模型。此可擴充套件相干介面 (SCI) 的每個節點的峰值頻寬將達到 1 千兆位元組/秒。
SCI 標準的主要目的是為建立具有大量處理器的可擴充套件並行機器提供基於記憶體地址的快取一致性通訊方案。SCI 一致性協議支援分散式目錄的可擴充套件連結列表設計。
快取機制確保所有處理器在共享列表中同時連結修改列表,以實現最大併發。協議中沒有鎖也沒有支援阻塞點,使其能夠隨多個處理器線性擴充套件。
所有 SCI 連線都以資料包的形式組織。基本協議是一種寫回並使無效的型別,它提供前向進度、傳遞、完整性、基本錯誤檢測和恢復。SCI 組織基於所謂的共享列表,其中每個相干快取塊都連結在一起。
列表的頭部元素指向儲存關聯記憶體行的記憶體塊。每個記憶體塊中的記憶體標記都擴充套件了共享列表頭部節點的識別符號 (forw_id 欄位) 和一個 2 位記憶體狀態 (mstate 欄位)。
塊的快取標記擴充套件了兩個識別符號:一個用於共享列表的前一個節點 (back-id 欄位),另一個用於共享列表的後續節點 (forw_id 欄位)。
在共享列表中定義了四個操作,如下所示:
建立 - 當關聯的共享列表為空時,這是插入操作的簡化版本。
插入 - 當發生快取未命中時,節點會向記憶體傳送一個預取請求,記憶體會響應舊頭部節點的指標,並將其頭部節點指標重新整理為請求者的地址。在收到來自記憶體的響應後,新的頭部節點透過傳送新的頭部請求通知舊的頭部節點。舊的頭部節點更新其向後指標並返回其資料欄位。
刪除 - 當節點想要從共享列表中刪除其快取行時,它會發送兩條訊息。首先,它傳送一個包含其向後指標 (Pb) 的更新向後請求給它的後繼節點。後繼節點將透過請求中收到的值更新其向後指標。
第二條訊息,更新轉發請求,傳送給前驅節點。此訊息包含請求者的轉發指標,並由前驅節點用於更新其轉發指標。
減少到單個節點 - 當快取行被寫入時,共享列表中的所有其他元素都必須失效。只有頭部節點有權更新快取行並從共享列表中刪除其他元素。這是縮減過程,它是順序執行的。