我們擅長商業策略與用戶體驗的完美結合。
歡迎瀏覽我們的案例。
繞 NUMA 的不平衡狀態,對于某些工作負載,該調度程序的調整補丁可顯著改善基于 AMD Zen 的系統性能,甚至在 Intel Xeon 服務器上也可提供幫助。
補丁的內容主要為:當 find_idlest_group () 函數中允許 NUMA 不平衡時,公平調度程序的更改正在考慮 CPU 親和性。AMD 工程師 K Prateek Nayak 解釋說:
對于每個插槽包含多個 LLC 的系統,例如 AMD Zen 系統,用戶希望將需要帶寬的應用程序分布在多個 LLC 上。Stream 就是這樣一種具有代表性的工作負載,其中通過限制每個 LLC 一個流線程來獲得最佳性能。
為了確保這一點,已知用戶將任務固定到指定的 CPU 子集,每個 LLC 由一個 CPU 組成,同時運行此類需要帶寬的任務。
我們可以通過檢查本地組中允許的 CPU 數量是否少于本地組中運行的任務數來檢測并避免這種堆積,并使用此信息將任務分散到下一個套接字中(畢竟,此慢速路徑的目標是在初始放置期間找到最空閑的組和最空閑的 CPU。)
Stream 內存基準測試用例結果顯示:對當前的 Linux 內核來說,此補丁可使 Stream 受益 36~44%,性能提高約 40% :
有趣的是,AMD 主導的優化不僅能讓基于 AMD Zen 的處理器受益,也可以使多插槽服務器的 Intel CPU 受益。測試顯示,對英特爾至強可擴展 “Ice Lake” 服務器上的 Stream,其性能提高了 54~82%。
而且這個內核補丁只有幾行代碼:
目前該補丁已排入 sched/core 隊列,如果沒有其他突發情況,應該會在 Linux 5.20 中引入。
?。?a href="http://www.dianayi.cn/wechat/">邯鄲小程序開發)