CPU的親和度

2021-10-20 19:39:29 字數 630 閱讀 4964

cpu的親和性,程序要在某個給定的 cpu 上盡量長時間地執行而不被遷移到其他處理器的傾向性,程序遷移的頻率小就意味著產生的負載小。在多核執行的機器上,每個cpu本身自己會有快取,在快取中存著程序使用的資料,而沒有繫結cpu的話,程序可能會被作業系統排程到其他cpu上,如此cpu cache(高速緩衝儲存器)命中率就低了,也就是說調到的cpu快取區沒有這類資料,要先把記憶體或硬碟的資料載入快取。而當快取區繫結cpu後,程式就會一直在指定的cpu執行,不會被作業系統排程到其他cpu,效能上會有一定的提高。 

另外一種使用cpu繫結考慮的是將關鍵的程序隔離開,對於部分實時程序排程優先順序提高,可以將其繫結到乙個指定cpu核上,可以保證實時程序的排程,也可以避免其他cpu上程序被該實時程序干擾。我們可以手動地為其分配cpu核,而不會過多的占用同乙個cpu,所以設定cpu親和性可以使某些程式提高效能。

1. 有大量計算要做

基於大量計算的情形通常出現在科學和理論計算中,但是通用領域的計算也可能出現這種情況。乙個常見的標誌是您發現自己的應用程式要在多處理器的機器上花費大量的計算時間。

2. 提高cache命中率

在多核執行的機器上,每個cpu都有自己的快取,快取著程序使用的資訊,而程序可能會被os排程到其他cpu上,如此一來cpu cache命中率就低了。當繫結cpu後,

簡談對CPU的親和度(cpu affinity)

最 近的工作中對效能的要求比較高,就簡單的談下。cpu的親和性,就是程序要在指定的 cpu 上盡量長時間地執行而不被遷移到其他處理器,也稱為cpu關聯性 再簡單的點的描述就將制定的程序或執行緒繫結到相應的cpu上 在多核執行的機器上,每個cpu本身自己會有快取,快取著程序使用的資訊,而程序可能會被o...

python親和度 python中的親和傳播

我在使用sklearn的affinitypropagation時看到了一些奇怪的東西。我有乙個4 x 4的數字 這基本上是親和力得分。sim i,j 的親和力得分為 i,j 現在,當我輸入affinitypropaction函式時,我總共得到4個標籤。在 下面是乙個矩陣較小的類似示例 in 215 ...

SylixOS設定CPU親和性

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