什麼是 COMA?


COMA代表快取只讀記憶體訪問機。COMA機器包括透過互連網路連線的多個處理節點。每個處理節點都具有高實現處理器、快取和全域性共享記憶體的分配。

COMA機器試圖透過將主記憶體塊從節點的本地記憶體中排除,並且僅使用大型快取作為節點記憶體來避免NUMA和CC-NUMA機器的靜態記憶體分配問題。在這些體系結構中,只有快取記憶體存在;無論是像UMA機器那樣採用中心共享記憶體的形式,還是像NUMA和CC-NUMA計算機那樣採用分散式主記憶體的形式,都沒有采用主記憶體。

以下是兩種具有代表性的COMA架構:

  • DDM(資料擴散機)

DDM是一種分層的樹狀多處理器,其中樹的葉子表示基本的DDM架構。基本的DDM是一個基於單匯流排的多處理器,它包含幾個連線到DDM匯流排的處理器/吸引記憶體對。吸引記憶體包含三個主要單元,例如狀態和資料記憶體單元、控制器和輸出緩衝區。

DDM採用非同步分事務匯流排,即在請求事務及其響應之間釋放匯流排。引入了寫無效嗅探快取協議,該協議將廣播需求限制在較小的子系統中,並擴充套件了對替換的支援。

  • KSR1

KSR1機器是第一臺商用COMA機器,其中邏輯單一地址空間是透過本地快取集合和所謂的ALLCACHE引擎實現的。ALLCACHE引擎實現了一種基於分散式目錄方案的順序一致性快取一致性演算法。ALLCACHE以頁和子頁的形式儲存資料。本地快取中的記憶體分配單元是包含16KB的頁。本地快取之間的資料傳輸單元是包含128位元組的子頁。

分散式目錄是一個矩陣,其中為每個子頁分配一行,為每個子頁分配一列,併為每個本地快取分配一列。如果相應的本地快取不包含任何子頁副本,則矩陣元素為空。由於這是通例,因此矩陣非常稀疏,因此以緊湊的方式儲存,排除了那些為空的元素。非空元素可以表示以下四種狀態中的任何一種:

  • EO(獨佔所有者) - 這是整個機器中唯一有效的副本。

  • C(副本) - 機器中至少存在兩個有效的子頁副本。

  • NO(非獨佔所有者) - 當存在多個子頁副本時,其中一個被標記為非獨佔所有者。

  • I(無效) - 儘管本地快取中存在子頁副本,但它無效,不會被使用。

更新於:2021年7月23日

5K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.