[Openstack] [Fuel] nova cpu pinning and dpdk

Kostyantyn Volenbovskyi volenbovsky at yandex.ru
Sun Feb 12 11:27:05 UTC 2017


Hi, 
>  When a vm is mapped to a flavor using dpdk, do all the vcpus the VM uses have to 'pinned' to use dpdk, thus this value means the total number of vcpus available to VMs needing dpdk?
> 

I don’t think that Nova CPU pinning should be mandated once you choose to use DPDK on that Compute Host.
However, page
https://specs.openstack.org/openstack/fuel-specs/specs/9.0/support-numa-cpu-pinning.html
really indicate it is mandated.

But I think that the idea could be that you are enforced to specify total number number explicitly, because the guideline configuration 
is to enforce some CPUs for host OS ‘separately’?
> When a vm is mapped to a flavor using dpdk, do all the vcpus the VM uses have to 'pinned' to use dpdk, thus this value means the total number of vcpus available to VMs needing dpdk?
> 

I would say that it is ‘all host CPUs that should be available to _all_ VMs’. First of all, I think that configuration where you have both DPDK and non-DPDK physical adapters is uncommon
(hmmmm, vNIC plugging could be trickier…). Second of all, this perspective of Nova doesn’t have such direct relation with DPDK acceleration.
So to CPUs running on 'all minus n’ host CPUs where n is number of CPUs you have for DPDK and probably you must decide on having something for host OS.
Otherwise all CPUs will end up in isolcpus and most likely host Linux won’t boot/will misbehave.

But forcing you to indicate Nova CPUs doesn’t mean that you shouldn't enforced to use actual 1 guest CPU -1 host CPU pinning.
In case you won’t touch flavor keys defining then I expect that Nova just will put range like 
<vcpu placement='static' cpuset='3-5,9-11'>1</vcpu> for all your VMs in Libvirt.
And then from your perspective the behaviour won’t change significantly. 


BR, 
Konstantin




> On Feb 12, 2017, at 12:39 AM, - - <super at sxyninja.com> wrote:
> 
> Hello,
> 
> I am adding some new hosts to my MOS 9.2 fuel deployment, and I want to implement dpdk on the 2 new hosts.  I have fuel setup with the experimental options so I can see the settings when adding the new hosts.
> 
> My question is relating to the node attributes section.  In the documents for showing how to setup dpdk, it states to setup nova cpu pinning along with the dpdk cpu pinning.
> 
> I get that the dpdk cpu pinning is the number of cpus allocated for processing of the packets based on nic speed.
> 
> I don't see any information on exactly what the value of nova cpu pinning should be when doing only dpdk (no sriov).   When a vm is mapped to a flavor using dpdk, do all the vcpus the VM uses have to 'pinned' to use dpdk, thus this value means the total number of vcpus available to VMs needing dpdk?
> 
> I just want to make sure I understand these values when setting this up, so I do it correctly.
> 
> Thanks,
> 
> DG
> 
> _______________________________________________
> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> Post to     : openstack at lists.openstack.org
> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20170212/12ef310e/attachment.html>


More information about the Openstack mailing list