daisycloud-core/doc
Zhijiang Hu eab28e15eb Add helper function for allocating CPUs for DPDK pmd threads
1. If one or more NIC is assigned to be DPDK NIC,
allocate_cpus_for_dpdk() will calculate CPU Ids to be used by
DPDK pmd threads when user calling get_host(s) API. Currently, one
CPU per each NUMA region is allocated. For example:

NUMA layout:
     {'numa_node0': [0,1,2,3,4,5,6,7, 16,17,18,19,20,21,22,23],
      'numa_node1': [8,9,10,11,12,13,14,15, 24,25,26,27,28,29,30,31]}

CPU choosed(no matter which NUMA region the NICs are located):
     [1,9]

Note: On systems with HyperThreading enabled, it is recommended to
      also allocate the HT sibling core. But currently, this is not
      supported.

Note: We currently restrict that all NICs which are assigned to be
DPDK NIC must be located in one NUMA region(In future, this limitation
should be removed, keep it for now for simplicity and compatibility
with DVS).

2. Next step is to impl. assigning NIC as a DPDK nic. Otherwise,
allocate_cpus_for_dpdk() returns nothing.

3. In future, user can get cores allocated to dpdk from host_meta info,
then fills them in isolcpus field in host_meta info to let Daisy to build the
final isolcpus kernel parameters for each compute node.

Note: Cores allocated to dpdk should be removed from the nova vcpu_pin_set
but currently we do not support setting the nova vcpu_pin_set.

Note: It is not recommended to isolate cores in the nova vcpu_pin_set
      unless the host will be dedicated for vms that request cpu pinning.
      So for the common usecase, isolcpus = Cores allocated to dpdk.

Change-Id: I58cd6d361d3d194cd35377b1c1bcef113f8036b0
Signed-off-by: Zhijiang Hu <hu.zhijiang@zte.com.cn>
2017-09-30 04:10:31 -04:00
..
api.txt Support config hugepage kernel cmdline through kickstart 2017-08-10 07:01:26 -04:00
config.txt Add config doc 2017-08-17 03:59:20 -04:00
daisy-call-graph.txt Add doc for diasy call graph among modules. 2016-08-05 06:38:08 +00:00
devops.txt Add devops doc 2017-08-29 01:36:44 +08:00
installation.md Seperarte installation doc out from README 2017-08-17 04:08:22 -04:00
zuul_setup.txt Add helper function for allocating CPUs for DPDK pmd threads 2017-09-30 04:10:31 -04:00