NVIDIA 工程師一直致力於Linux 內核中的 NUMA 距離度量,用於替換一些驅動程序當前用於 NUMA 感知內存分配的簡單本地/遠程 NUMA 首選項接口。在他們的測試中,這種改進的 NUMA 距離處理對吞吐量和 CPU 利用率產生了“重大的性能影響”。

這項 NVIDIA 工作不是他們圖形驅動程序工作的一部分,而是在 Mellanox 網絡方面。 Tariq Toukan 在這些內核補丁的最新版本中總結了這一點:

基於調度程序的 sched_numa_find_closest() 實現和公開 CPU 傳播 API。在 mlx5 和 enic 設備驅動程序中使用它。這將二進制 NUMA 首選項(本地/遠程)替換為一個改進的、考慮實際距離的首選項,因此距離較遠的遠程 NUMA 更受青睞。

這在使用 NUMA 感知內存分配、提高吞吐量和 CPU 利用率時具有顯著的性能影響。

到目前為止,Mellanox 和 ENIC 網絡驅動程序的結果看起來非常好NVIDIA 在 AMD EPYC 7763 服務器上的測試:
請參閱此補丁系列了解更多信息細節。

Categories: IT Info