AMD 開源工程師提出了名為「PAN」(Process Adaptive autoNUMA)的新核心功能。AMD 顯示的早期資料表明,PAN 可以在一定程度上幫助其最新伺服器硬體上的某些工作負載提高效能。
PAN 是一種計算 AutoNUMA 掃描週期的自適應演演算法。AMD 的 Bharata B Rao 在徵求意見稿 (RFC) Linux 核心修補程式系列中進一步解釋:
在這種新方法(程序自適應 autoNUMA 或 PAN)中,我們在每個程序級別收集 NUMA 故障統計資訊,以便更好地捕獲應用程式行為。
此外,該演演算法根據遠端故障率學習和調整掃描率。通過不堅持靜態閾值,該演演算法可以更好地響應不同的工作負載行為。
由於一個程序的執行緒已經被視為一個組,我們在任務的[記憶體管理]中新增了一堆指標來跟蹤各種型別的故障並從中得出掃描率。
新的每程序故障統計資訊僅有助於計算每程序掃描週期,而現有的每執行緒統計資訊繼續有助於 numa_group 統計資訊,最終確定跨節點遷移記憶體和執行緒的閾值。
PAN 為 Linux 構建帶來了一些效能優。與預設的 Linux 核心構建相比,使用 PAN 的 Linux 核心構建在 Graph500 互連 HPC 基準測試中受益高達 14.93%,NAS 基準測試速度提高了 8%,PageRank 提高了約 0.37%,以及其他一些不到 1% 的提升。
到目前為止,還沒有其他核心開發人員對 Process Adaptive autoNUMA 提案發表評論,但感興趣的可以檢視 ,瞭解有關此功能的更多資訊或對其進行測試。目前,PAN 改進 Linux NUMA 行為的新程式碼不到 400 行。