Performance

NUMA 總是完全 NUMA 還是也有混合系統?

  • July 29, 2016

我正在開發一個性能至關重要的高端伺服器應用程序。鑑於伺服器通常採用 NUMA 架構,伺服器應用程序還使用 NUMA 感知記憶體分配策略來提高記憶體訪問性能。

基準測試表明,與執行緒和記憶體位於同一個 NUMA 節點時相比,當執行緒和記憶體位於不同的 NUMA 節點時訪問記憶體大約慢 30%。

我的問題是:當伺服器使用 NUMA 架構時,是否所有記憶體都專用於特定處理器,或者伺服器是否可以採用混合方法,除了 NUMA 記憶體之外,還有非 NUMA 記憶體。在這種情況下,local-NUMA-memory、non-local-NUMA-memory 和 non-NUMA-memory 在性能方面如何比較?

編輯:伺服器硬體正在執行 Windows(Windows Server 2012 或 2012R2 是合理的最低要求)。

不,NUMA 系統是 NUMA 系統,有節點(通常是 CPU),每個節點都有自己的記憶體 - 大多數現代作業系統將嘗試確保分配給程序的所有記憶體分配都在程序正在執行的同一節點上。如果這不能發生,那麼是的,您會看到記憶體變慢,您已經看到一個節點本質上就像另一個節點的記憶體控制器,並不理想。但是不,我知道目前主流系統上沒有可用的混合體——首先,什麼可以管理該記憶體?

引用自:https://serverfault.com/questions/780040