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