Userspace networking: beyond the kernel bypass with RDMA!
Using the RDMA infrastructure for performance while retaining kernel integration
30/01/2020 1
Benoît Ganne, bganne@cisco.com
the kernel bypass with RDMA! Using the RDMA infrastructure for - - PowerPoint PPT Presentation
Userspace networking: beyond the kernel bypass with RDMA! Using the RDMA infrastructure for performance while retaining kernel integration Benot Ganne, bganne@cisco.com 30/01/2020 1 Why a native network driver? Why userspace networking?
Using the RDMA infrastructure for performance while retaining kernel integration
30/01/2020 1
Benoît Ganne, bganne@cisco.com
required, containerization)
tax)
by userspace)
initialization & setup is 95% of the work
2 4 6 8 10 12 14 16 18
Mpps
VPP IPv4 forwarding PDR, 1core, 2M routes
Native DPDK +23%
Source: https://docs.fd.io/csit/master/report/vpp_performance_tests/packet_throughput_graphs/ip4-2n-skx-xxv710.html 30/01/2020 2
data transfer
(iWARP, RoCE)
➔ Great for kernel networking!
VPP libibverb RDMA uAPI RNIC HW Kernel User DMA
30/01/2020 3
communication – but!
transport)
and native Linux kernel support
userspace networking?
queue pair type
30/01/2020 4
VPP libibverb RDMA uAPI RNIC HW Kernel User DMA RDMA Netstack DMA
Incoming packets are steered to Linux netdev or userspace application based on flows
How to send 20 Mpps with 1 CPU 1. Get a handle to the device you want to use 2. Initialize queues
Completion Queue (CQ)
allowed to read/write data (packets)
3. Send packets
IOV) in SQ
Full example at https://github.com/bganne/rdma-pktgen
30/01/2020 5
translation tax, feature tax)
ring-buffers directly
get DMA rings addresses
30/01/2020 6
30/01/2020 7
(rx/tx packets)
30/01/2020 8