Hi, 1. as I mentioned - not allocating anything to host OS (/hypervisor) won’t work at all with very high probability That is I think ‘you can’t (or ’shouldn’t) have all physical CPUs in isolcpus in Linux, )unless you are doing some special things afterwards to pin host processes to those) So I would say - give hypervisor at least 2 CPUs (=1 core, I can somehow assume that hyperthreading is on looking at your number of CPUs), that leaves you with 28 CPUs for Nova. Check Mirantis capacity guidelines on that (/maybe also of RedHat/other vendors)
2. There is one thing that you should be aware of. That is - those Nova CPUs will end up in isolcpus as I see. Not using pinning afterwards will cause misbehavior, described in [1] So all in all that means ‘current DPDK implementation in MOS 9.x seem to require Nova CPU pinning/its subsequent use for VMs (which it shouldn’t in my opinion) BR, Konstantin [1] https://bugzilla.redhat.com/show_bug.cgi?id=1393576#c3 > On Feb 12, 2017, at 6:50 PM, - - <[email protected]> wrote: > > Thanks for the info. > > For these hosts specifically, NUMA shows a total of 32 cores. Given the way > you explained it, I would map something like 2 cpus to dpdk (for a 3gb > interface, although I could probably use 1 cpu) and allocate all the > remaining 30 cpus for nova usage, correct? > > Basically, it seems the nova pinning value is total number of numa cores > minus what was assigned to dpdk, like you said, just taking the dpdk cpus out > of the numa pool. > > I think I get what the intention is for this now, and how to configure it. > > Thanks, > > DG > >> On February 12, 2017 at 6:27 AM Kostyantyn Volenbovskyi >> <[email protected]> wrote: >> >> 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, - - <[email protected]> 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 : [email protected] >>> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack >> > _______________________________________________ > Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > Post to : [email protected] > Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack _______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : [email protected] Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
