趕在下周于愛爾蘭都柏林舉辦的 Linux Plumbers Conference 會議之前,AMD 還計劃研討如何改進“拆分末級緩存”(LLC)架構(gòu)的調(diào)度程序。作為 AMD Linux 服務(wù)器團隊的一名工程師,K. Prateek Nayak 剛剛發(fā)布了一系列補丁,并且專注于用戶空間提示(User-Space Hinting)的任務(wù)放置計數(shù)。
Phoronix 指出:最新工作進展表明 AMD 打算改進 Linux 內(nèi)核調(diào)度程序,并將之用于 LLC CPU 項目、以期改進該公司的 EPYC(霄龍)服務(wù)器處理器。
由 Linux 內(nèi)核公告郵件列表(LKML)上的標(biāo)記可知,新補丁仍處于“實驗性”和“意見征求”階段。
當(dāng)前的 API 設(shè)計,只能設(shè)置較為低級的提示,且并未面向公眾提供 —— 僅用于測試和演示 User-Space Hinting 在應(yīng)用程序調(diào)度方案 / 最佳放置決策方面的功效。
若調(diào)度程序認(rèn)為遵循提示將使系統(tǒng)處于次優(yōu)狀態(tài),則可自由地忽略用戶空間提示。
作為對比,當(dāng)今調(diào)度程序使用的啟發(fā)式方法 —— 例如 WF-SYNC 標(biāo)記、wake_wide()邏輯等 —— 仍存在無法準(zhǔn)確推斷工作負載的性質(zhì)的短板。
換言之,調(diào)度程序不明白是否最好將一組線程合并、還是拆分開來。由于無法推斷工作負載的性質(zhì),或?qū)е乱幌盗胁粶?zhǔn)確的放置決策,進而對工作負載的性能造成不利影響。
對于具有拆分 LLC 的系統(tǒng)(例如 AMD EPYC 霄龍服務(wù)器平臺),其負面影響會被嚴(yán)重放大。
好消息是,該系列新補丁包括了在本地組中存在非活動核心時、選擇父級附近的任務(wù)放置的功能。該過程負責(zé)決定繼續(xù)使用包含最少利用率的組來擴展工作負載,并檢查其它可能的提示。
其實早在去年,英特爾 Linux 內(nèi)核團隊的工程師 Peter Zijlstra,也曾介紹過一個高級提示框架。
其旨在幫助內(nèi)核調(diào)度程序的任務(wù)序列能夠應(yīng)對日益復(fù)雜的 CPU 和工作負載,而當(dāng)前狀態(tài)下的 User-Space Hinting 則是通過 prctl() 接口完成的。
最后,英特爾 Xeon Ice Lake 平臺上的初步測試結(jié)果表明,EPYC 服務(wù)器有望在 Hackbench、Schbench、Tbench 等各類工作負載上迎來性能的有效改進。
不過由于該系列補丁仍處于實驗階段,推測最終用戶需要等待數(shù)月,才會看到它已做好被添加至 Linux 內(nèi)核中的準(zhǔn)備。
(舉報)