您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關processor folding是什么意思,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1.CPU折疊功能介紹
虛擬處理器管理(VirtualProcessorManagement),也稱之為處理器折疊技術(CPUFolding),是一項Power虛擬化特性,用于控制一個LPAR處理使用的VP(VirtualProcessor)數量。按目前AIX的設置,默認對微分區(即共享處理器分區)開啟了處理器折疊功能;而專有處理器分區(dedicatedLPAR)則默認關閉此功能。
處理器折疊技術的作用主要體現在兩個方面:
1)節能,如果一個物理核心對應的所有VP都處于被折疊狀態,PowerVMhypervisor可以將這顆核心置于低能耗狀態。
2)提高整體處理效率,特別是在EC:VP配比較低的環境,比如1:10或以上(在新一代power資源池中,EC:VP=1:2),如果直接將十多倍的VP調度到每個物理核心(PhysicalProcessor,PP)上,將造成一定的調度開銷;因此通過折疊不必要的VP,可以有效降低hypervisor的無謂開銷,提高整體效率。
這個特性在兩種場景都有幫助: 1)LPARCPU使用率不高,多數VP空閑;通過減少VP數量,可以有效提高每個VP對應的物理核心份額(即physc,可以通過mpstat/sar–PALL等查看每個核心的pc/physc值);從而可以有效減少hypervisor以及操作系統的調度開銷。比如如果分區只能實際消耗掉16顆物理核心(lparstat顯示physc=16),但設置的VP數為64,如果系統能只使用16個VP來調度作業,則VP被調度到物理核心時是1:1的方式(接近Dedicated模式),hypervisor調度效率比較高,親和度一般也更優;而與此相比,如果系統直接使用64個VP來調度作業,則VP被調度到物理核心時是4:1的方式,效率以及親和度一般會略低。
2)處理器池(processorpool)中處理器資源緊張,LPAR開始爭搶CPU資源;VP數量實際上定義了LPAR能爭搶到的物理核心的上限;但并非每個分區都總是能搶到上限值,尤其是在EC:VP配比較低的環境下。在處理器資源競爭激烈時,分區能得到的總處理器資源可能會受到限制,此時減少分區的VP數量也有整體調度上的好處。比如一個8VP的分區,如果只能得到2.0顆物理核心(physc=2.0),那么如果激活的VP數減少到4的話(相當于每個VP平均能拿到0.5physicalcore),性能一般比VP為8時要更優(相當于每個VP平均能拿到0.25physicalcore)。
每一秒,AIX操作系統監控本分區的總體VP利用率,如果總體VP利用率低于vpm_fold_threshold(AIX6.1TL6以后默認為49%;可通過schedo命令確認),AIX將啟用折疊功能,開始向下折疊VP,使負載運行在較少的VP上。注意被折疊的VP在系統中仍然存在,只是系統不再往這些被折疊的VP調度作業線程了。而如果總利用率超出vpm_fold_threshold, AIX將開始展開VP使用更多的VP來調度負載。用戶可以通過控制參數來選擇是否打開folding策略;還可以通過schedo的vpm_xvcpus選項來設置保底激活的VP數量。
2.1VPM控制參數說明
Folding策略開關由schedo的vpm_fold_policy選項控制。
1) vpm_fold_policy=0在靜態節能模式以外的場景關閉folding功能;
2) vpm_fold_policy=1只在微分區環境打開folding功能(默認設置);
3) vpm_fold_policy=2只在專有處理器分區環境打開folding功能;
4) vpm_fold_policy=3在微分區、專有處理器分區環境均打開folding功能;
5) vpm_fold_policy=4徹底關閉folding功能;
還有一個影響Folding策略開關的參數vpm_xvcpus, 它的作用是控制當微分區CPU不足的時候,系統可以自動啟動的微分區的數量。
1) 設置vpm_xvcpus = -1, vpm_fold_policy會自動被設置為0,這樣會關閉folding功能。但如果此時分區開啟了靜態節能模式(StaticPowerSaving),則系統會自動設置vpm_fold_policy為3打開folding功能;
2) 設置vpm_xvcpus = 0,表示啟用了CPU折疊功能(ProcessorFolding),虛擬處理器正接受管理;
3) 設置vpm_xvcpus大于1,CPU折疊功能打開,并且開啟的虛擬CPU數目為物理CPU使用數與vpm_xvcpus參數之和。即:
number=ceiling(p_util+vpm_xvcpus);
其中number是所需的虛擬處理器數,p_util是物理處理器使用情況。如果number小于當前已啟用的虛擬處理器數,那么將禁用某個虛擬處理器。如果number大于當前已啟用的虛擬處理器數,將啟用已禁用的虛擬處理器。在vpm_xvcpus大于1的情況下,也表示保底激活的CPU數。連接到已禁用的虛擬處理器的線程仍然可以在已禁用的虛擬處理器上運行
說明:
1) StaticPowerSaverMode:靜態節能模式是當系統CPU工作負載低的時候,系統把物理CPU主頻和電壓降低到一個固定值,以達到節能目的。一般關注性能的系統不建議采用此設置。
2) DynamicPowerSaverMode:動態節能模式是系統根據CPU負載大小,實時調整物理CPU主頻和電壓(不是固定值),以達到節能目的。
3) 系統缺省設置以上兩種節能模式都是關閉的,可以通過HMC/ASMI設置。
2.2AIXCPU折疊實驗
開啟一個ncpu任務給系統增加CPU負載,啟動16個進程,每個50%時間繁忙,這樣大約需要占用8顆物理core。
通過kdb命令也可以查看到VP的折疊現象,下圖中標識“DIS”的即為折疊狀態的邏輯CPU.
1) 從lparstat可以看到,無論folding打開或者關閉,physc大約為8.00左右;
2) 從mpstat -s的輸出可知,同樣的場景下(8個任務50%繁忙),啟動cpu folding時,只需要9顆VCPU;而關閉cpu folding時,所有16顆VCPU都被啟動了;
3.1 關閉CPUfolding的影響:
關閉了系統內核對微分區環境的自動調度優化;所有的VP都會被調度到hypervisor,不管這些VP上是否有實際負載;更高的hypervisor延時,物理資源親和度也可能受到影響。
3.2 關閉CPU folding的好處:
對于分區sizing非常完美的情形下,比如EC:VP始終控制在不低于1:2,而且處理器池資源從未受限,這時關閉folding可能獲得一定的性能收益(主要是通過減少VPM管理開銷,以及避免unfold展開CPU延遲)
上述就是小編為大家分享的processor folding是什么意思了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。