工作筆記 CPU親和性

2022-03-23 09:00:21 字數 396 閱讀 2955

近日看春華兄的**,發現在每個執行緒中在處理具體事務前都呼叫乙個set_cpu()的方法。深感不解,直到看了set_cpu的原始碼和查了一些資料才明白,原來是進行cpu繫結,或者說cpu親和性。就是程序/執行緒要在指定的 cpu 上盡量長時間地執行而不被遷移到其他處理器,這樣做最直觀的好處就是提高了cpu cache的命中率,從而減少記憶體訪問損耗,提高程式的速度。同時也能使用綁核考慮就是將重要的業務程序隔離開,對於部分實時程序排程優先順序高,可以將其繫結到乙個指定核上,既可以保證實時程序的排程,也可以避免其他cpu上程序被該實時程序干擾。

關於cpu親和性下面這篇文章寫的非常好:管理處理器的親和性。

set_cpu()原始碼

int

set_cpu()

return0;

}

SylixOS設定CPU親和性

cpu親和性 affinity 就是程序要在某個給定的cpu上盡量長時間地執行而不被遷移到其他處理器的傾向性。sylixos支援對稱多處理器 symmetric multi processor 其執行緒是排程的最小單位,sylixos可以對應用層執行緒,核心執行緒以及中斷設定cpu親和性,即將不同執...

numa 與 cpu 親和性

improving performance on numa systems red hat linux numa supportfor hp proliant servers p320h performance on non uniform memory access numa systems th...

親和性 反親和性 汙點 容忍

在預設的k8s排程中,一般經過預選和優選即可完成排程,但是生產的實際使用中,考慮到部分業務的特殊性,一般會手動進行一些 指定 k8s 把這些 指定 分為nodeaffinity 節點親和性 podaffinity pod 親和性 以及 podantiaffinity pod 反親和性 這在排程過程中...