共享記憶體多處理器模型有哪些?


最流行的平行計算機是那些以 MIMD 模式執行程式的計算機。平行計算機主要有兩種型別:共享記憶體多處理器和訊息傳遞多計算機。多處理器和多計算機之間的主要區別在於記憶體共享和用於處理器間通訊的結構。

多處理器系統中的處理器透過共享記憶體中的共享變數相互通訊。多計算機系統中的每個計算機節點都有本地記憶體,與其他節點不共享。程序間通訊是透過節點之間的訊息傳遞來完成的。

共享記憶體多處理器模型主要有以下三種:

UMA 模型

UMA 代表統一記憶體訪問模型。在此模型中,物理記憶體由所有處理器一致連線。所有處理器對所有記憶體單元具有相同的訪問時間,因此被稱為統一記憶體訪問。每個處理器可以使用私有快取。外設也是共享的。

UMA 模型適用於各種使用者的分時應用程式。它可以用於在時間關鍵型應用程式中加速單個高程式的實現。當所有處理器都對所有外設具有相同的訪問許可權時,該系統被稱為對稱多處理器。在這種方法中,所有處理器對於正在執行的程式(包括核心)都是統一的。

NUMA 模型

NUMA 代表非統一記憶體訪問模型。NUMA 多處理器是一個共享記憶體系統,其中訪問時間隨記憶體單元的位置而變化。圖中顯示了兩種 NUMA 機器模型。

共享記憶體在物理上由所有處理器共享,稱為本地記憶體。所有本地記憶體的集合形成了一個全域性地址空間,所有處理器都可以訪問。

使用本地處理器建立本地記憶體更快。訪問連線到其他處理器的遠端記憶體需要更長時間,因為透過互連網路增加了延遲。

COMA 模型

COMA 代表僅快取記憶體架構。此模型是 NUMA 機器的獨特方法,其中共享主記憶體被快取記憶體取代。在單個處理器節點上,沒有記憶體命令鏈(層次結構)。所有快取都構成了一個全域性地址空間。

根據使用的互連網路,可以使用目錄來支援查詢快取塊的副本。COMA 的一個例子包括瑞典計算機科學研究所的資料擴散機 (DDM)。

更新於: 2021年7月30日

6K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告