User-Space Hinting將助力AMD霄龍處理器實現更好的任務性能發揮

趕在下周於愛爾蘭都柏林舉辦的 Linux Plumbers Conference 會議之前,AMD 還計劃研討如何改進“拆分末級緩存”(LLC)架構的調度程序。作為 AMD Linux 服務器團隊的一名工程師,K. Prateek Nayak 剛剛發布了一系列補丁,並且專註於用戶空間提示(User-Space Hinting)的任務放置計數。

User-Space Hinting將助力AMD霄龍處理器實現更好的任務性能發揮

Phoronix 指出:最新工作進展表明 AMD 打算改進 Linux 內核調度程序,並將之用於 LLC CPU 項目、以期改進該公司的 EPYC(霄龍)服務器處理器。

由 Linux 內核公告郵件列表(LKML)上的標記可知,新補丁仍處於“實驗性”和“意見徵求”階段。

當前的 API 設計,只能設置較為低級的提示,且並未面向公眾提供 —— 僅用於測試和演示 User-Space Hinting 在應用程序調度方案 / 最佳放置決策方面的功效。

若調度程序認為遵循提示將使系統處於次優狀態,則可自由地忽略用戶空間提示。

作為對比,當今調度程序使用的啟髮式方法 —— 例如 WF-SYNC 標記、wake_wide()邏輯等 —— 仍存在無法準確推斷工作負載的性質的短板。

換言之,調度程序不明白是否最好將一組線程合併、還是拆分開來。由於無法推斷工作負載的性質,或導致一系列不準確的放置決策,進而對工作負載的性能造成不利影響。

對於具有拆分 LLC 的系統(例如 AMD EPYC 霄龍服務器平台),其負面影響會被嚴重放大。

好消息是,該系列新補丁包括了在本地組中存在非活動核心時、選擇父級附近的任務放置的功能。該過程負責決定繼續使用包含最少利用率的組來擴展工作負載,並檢查其它可能的提示。

其實早在去年,英特爾 Linux 內核團隊的工程師 Peter Zijlstra,也曾介紹過一個高級提示框架。

其旨在幫助內核調度程序的任務序列能夠應對日益複雜的 CPU 和工作負載,而當前狀態下的 User-Space Hinting 則是通過 prctl() 接口完成的。

最後,英特爾 Xeon Ice Lake 平台上的初步測試結果表明,EPYC 服務器有望在 Hackbench、Schbench、Tbench 等各類工作負載上迎來性能的有效改進。

不過由於該系列補丁仍處於實驗階段,推測最終用戶需要等待數月,才會看到它已做好被添加至 Linux 內核中的準備。

(0)
上一篇 2022-09-13 10:44
下一篇 2022-09-13 11:42

相关推荐