Assume “CPU threads” you mean HyperThread core.
Yes I mean CPU cores, now in DAOS there is only one place using CPU HyperThreading cores that is for system XS (RDB XS and drpc XS), all other XS use one physical core.
BTW, XS == ABT xstream that is one XS is one OS thread.
Thanks,
Xuezhao
From:
<daos@daos.groups.io> on behalf of Colin Ngam <colin.ngam@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Friday, May 15, 2020 at 11:52 PM
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: Re: [daos] nr_xs_helpers
Hi
Xuezhao,
You mean CPU Cores and not CPU threads?
Thanks.
Colin
From:
<daos@daos.groups.io> on behalf of "Liu, Xuezhao" <xuezhao.liu@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Friday, May 15, 2020 at 4:30 AM
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: Re: [daos] nr_xs_helpers
Hi Colin,
If the #cores is enough, to get best performance commonly can configure with one helper XS for each VOS target – in your case can set nr_xs_helpers as 16 if you configured with 16
targets. In that case each VOS target will with one private helper XS that can help for IO RPC forwarding etc.
That will need 16+16+1 (last +1 is for internal system XS) cores to make each XS with one core.
If the #cores is not enough, can configure with less or zero nr_xs_helpers. In that case those helper XS will be shared used by all the VOS IO XS. For the performance of this configuration
it is hard to say, probably better to do some real perf test.
“Is 4 targets per NVMe a reasonable configuration?“
From information from Niu Yawei, 2 ~ 4 targets per NVMe device is commonly reasonable config.
“Is there a tuning guide or best practice writeup available?”
There is some related comments in src/iosrv/srv.c, and some info in src/iosrc/README.md. We can add some extra information in the README.md or other place later.
Thanks,
Xuezhao
From:
<daos@daos.groups.io> on behalf of Colin Ngam <colin.ngam@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Friday, May 15, 2020 at 7:50 AM
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: [daos] nr_xs_helpers
Greetings,
We currently set nr_xs_helpers to 0. We have defined 16 targets. That’s per daos_io_server. For best performance, what value should nr_xs_helpers be set? Also, consideration like
number cpus etc.?
Is 4 targets per NVMe a reasonable configuration?
Is there a tuning guide or best practice writeup available?
Thanks.
Colin