作業系統›Ch7 記憶體管理第 2 題/共 40 題
2. NUMA、Memory Management、Symmetric Multiprocessing
#OS-07-002易NUMAMemory ManagementSymmetric Multiprocessing
請解釋記憶體管理中的NUMA,以及它在symmetric multiprocessing系統中的設計與功能。
參考答案與解析
NUMA (Non-Uniform Memory Access):在NUMA架構下,實體記憶體被拆分成多個記憶體區塊,各自實際連接(在物理上鄰近)到不同的處理器節點(node)。每個處理器存取『自己節點本地』的記憶體時延遲較低,存取『其他節點』的記憶體時則需要透過節點間的interconnect,延遲較高(因此稱為non-uniform,存取時間依位置而不同)。雖然存取延遲不均,但硬體與作業系統仍然把所有節點的記憶體統一成一個single、共享的physical address space,讓所有處理器都能存取任何位置的記憶體,只是速度有快有慢。在symmetric multiprocessing系統中,作業系統的排程器與記憶體配置器若具備NUMA-aware能力,會盡量把一個process使用的記憶體配置在『與該process實際執行的處理器同一個NUMA node』上,藉此減少跨node的遠端記憶體存取,改善效能;這也是NUMA架構與傳統UMA(所有處理器對所有記憶體有相同存取時間)架構的關鍵差異所在。
📄 台大112
▤完整推導請見《WH 資工筆記 · 作業系統》Ch7 記憶體管理