Hi Sejun, 

I’ve never tried spdk, so I can’t know for sure where the issue lies but 
possible sources of problems could be:
- mlx5 driver in combination with vpp. Have you tried vpp’s native rdma based 
driver [1]?
- TSO is not enabled by default for tcp in vpp. To enable it, you’d need to 
change vpp startup.conf to 
        - add a tcp { tso } stanza [2]
        - under the dpdk stanza add "enable-tcp-udp-checksum” and under your 
device’s config add “tso on”, in addition to the number of tx and rx 
descriptors. I’ve only tested this with xl710s, so I don’t know if it works 
fine with mlx5.
- default mtu for tcp is 1460. If you want to use jumbo frames change 
startup.conf and under tcp stanza add “mtu 9000”. Never tested this in 
combination with tso, so you may not want to mix them.
- what sizes is SPDK using for rx/tx fifos when using vpp’s host stack? Given 
that writes/reads are as large as 128k, the fifos should probably be pretty 
large, say 4-6MB. 
- ensure that the cores spdk is using are not overlapping vpp’s worker(s) and 
that the interface and the workers (vpp’s and spdk’s) are on the same numa [3].

Finally, what sort of throughput are you seeing and with how many workers? What 
does the vector rate look like in vpp, i.e., execute "sh run” in the cli and 
check dpdk-input and tcp-output nodes? 

For reference, 1 connection with xl710s and 4MB fifos between 2 directly 
connected hosts should reach over 37Gbps [4]. 

Regards,
Florin

[1] https://git.fd.io/vpp/tree/src/plugins/rdma/rdma_doc.md 
[2] You may also want to switch to cubic as a congestion control algorithm by 
adding to the tcp stanza {cc-algo cubic}.
[3] To check the numa for your interface do “sh hardware”
[4] https://wiki.fd.io/view/VPP/HostStack/LDP/iperf

> On Feb 14, 2020, at 11:07 PM, sejun.kwon via Lists.Fd.Io 
> <[email protected]> wrote:
> 
> Hello, I'm working on SPDK library + VPP, because some report said that VPP 
> reduces the overhead of network. When I test with VPP (with mlx5 poll mode 
> driver mtu 9000) and null device with spdk, 4k performance with VPP is much 
> better than the default(kTCP). But, 128k write performance with VPP is 30 
> percent lower than the one with kTCP. Is there anyone know why 128k write 
> performance with VPP is not good as kernel ? I increase Multi thread or 
> num-rx-desc and there is improvment, but it still lower than kernel. Is there 
> also build option related to performance? Thanks in advance. 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#15409): https://lists.fd.io/g/vpp-dev/message/15409
Mute This Topic: https://lists.fd.io/mt/71294801/21656
Mute #vpp: https://lists.fd.io/mk?hashtag=vpp&subid=1480452
Mute #mellanox: https://lists.fd.io/mk?hashtag=mellanox&subid=1480452
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to