[spp] (x-fn-spp-ml 783) Re: [PATCH 5/5] docs: add note regarding NUMA configuration

Yasufumi Ogawa yasufum.o at gmail.com
Tue Jun 16 18:18:05 CEST 2020


> Hi.
> Sorry for delayed response.
> Please see my comments inline.
> 
>>> From: Hideyuki Yamashita <yamashita.hideyuki at ntt-tx.co.jp>
>>>
>>> This patch adds new notes for NUMA configuration when starting
>>> spp_primary.
>>>
>>> This is pointed out by the following DPDK Bugzilla tickets.
>>> https://bugs.dpdk.org/show_bug.cgi?id=457
>>>
>>> Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki at ntt-tx.co.jp>
>>> Signed-off-by: Naoki Takada <ntakada14 at gmail.com>
>>> ---
>>>    docs/guides/gsg/howto_use.rst | 12 ++++++++++++
>>>    1 file changed, 12 insertions(+)
>>>
>>> diff --git a/docs/guides/gsg/howto_use.rst b/docs/guides/gsg/howto_use.rst
>>> index f182198..4f2e6cd 100644
>>> --- a/docs/guides/gsg/howto_use.rst
>>> +++ b/docs/guides/gsg/howto_use.rst
>>> @@ -422,6 +422,18 @@ if you run the process on single NUMA node.
>>>       If you use DPDK v18.11 or later, ``--base-virtaddr 0x100000000`` is enabled
>>>       in default. You need to use this option only for changing the default value.
>>>   > +.. note::
>>> +
>>> +   ``spp_primary`` tries to create memory pool in the same NUMA node where
>>> +   it is launched. Under NUMA configuration, the NUMA node where ``spp_primary``
>>> +   is launched and the NUMA node where NIC is connected can be different
>>> +   (e.g. spp_primary runs in NUMA node 0 while NIC is connected with NUMA
>>> +   node 1).
>>> +   Such configuration may cause performance degradation. In general, under
>>> +   NUMA configuration, it is best practice to use CPU and NIC which belongs
>>> +   to the same NUMA node for best performance. So user should align those
>>> +   when performance degradation makes the situation critical.
>>> +
>> I have two comments.
>>
>> 1. Could I confirm WHAT should be configured for avoiding such a performance loss?
> 
> NUMA node
> - primary process will run (that can be specified with -l parameter)
> - NIC belongs
> should be the same to avoid performance loss.
> 
> In general, topology regarding with NUMA node
> (e.g. CPU core, NIC which is connected with specific NUMA node)
> can be found in lstopo command.
I would like to make it clear as an instruction for users. From my 
understanding, users should confirm that
- Understand layout of hardware architecture of NICs and CPUs.
- Assign lcores while launching spp_primary by considering the layout 
identified before.

I understand your update for explanation is collect, but not so clear 
the purpose as instruction. I think it could be more agreeable if you 
start to explaining WHAT can be happened if you do not care about the 
layout (performance degradation actually), then HOW you get the layout 
by using `lstopo` and HOW you configure lcores by using `-l` option.

Thanks,
Yasufumi

> 
> 
>> 2. It seems something abruptly considering context of this section because you start talking about performance suddenly.
>> If it must be considered as a mandatory configuration and should be explained this section, I agree your update.
>> On the other hand, what do you think to move this note to the next "Performance Optimization" section.
>> I think no need to be a note if you move it to the next secion.
> 
> I agree with your idea.
> I think it is NOT mandatory, thus should be moved to next section
> 'without' note.
> 
>>
>> Thanks
>>
>>>    If ``spp_primary`` is launched with two or more lcores, forwarder or monitor
>>>    is activated. The default is forwarder and monitor is optional in this case.
>>>    If you use monitor thread, additional option ``--disp-stat`` is required.
> 
> 


More information about the spp mailing list