1. 程式人生 > >NFVI特性之虛擬機綁定CPU

NFVI特性之虛擬機綁定CPU

openstack


虛擬機CPU綁定特性,是NFVI的一個重要特性。該特性在openstack的K版本合入社區。

CPU綁定特性是創建實時虛擬機的前提。


CPU綁定特性,主要解決虛擬機互相正確pCPU導致的延遲。

該特性主要用於計算密集型/要求CPU低延遲的使用場景。


這塊會涉及多個概念,SMT/CMP/SMP(大家可以自行百度了解內容)。簡單的說一臺主機可以由多個

CPU,每個CPU可以有多個cores,每個core可以有多個thread。


openstack的CPU綁定特性允許你指定vCPUs是獨占綁定core還是獨占綁定thread。


使用方法


openstack提供了兩個參數,可以在flavor中配置(也可以在image中配置,這裏主要描述flavor的配置方法)。


cpu_policy

cpu_thread_policy

cpu_policy支持使用shared/dedicated進行配置。shared表示不獨占綁定pCPUs,dedicated表示獨占綁定pCPUs。


cpu_thread_policy支持使用prefer/isolate/require三種指定方式。prefer表示如果主機提供thread則使用thread方式綁定,沒有則使用core綁定;isolate表示使用core綁定;require表示必須使用thread綁定。


值得說明的是,使用cpu_thread_policy為prefer或者require時,openstack的thread分配策略是盡量占滿一個core,然後再使用下一個core上的thread,從而避免導致thread/core碎片。這個從下邊的例子也可以看出來。


使用例子


主機共有3個CPU,3個node:

CPU1有2個core,4個thread。

CPU2有1個core,2個thread。

CPU3有1個core,2個thread。


驗證core綁定策略


openstack flavor create –ram 1024 –vcpu 2 –disk 1 isolate

openstack flavor set isolate –property hw:cpu_policy=dedicated –property hw:cpu_thread_policy=isolate


openstack ser

NFVI特性之虛擬機綁定CPU