3 ms·
Thanks. I'd expect more future uses of xdp over dpdk. As for max performance (I saw a Linux server max out multiple 10 GbE ports years ago) I'm not sure anyone
by brendangregg 6y ago
Thanks. I'd expect more future uses of xdp over dpdk. As for max performance (I saw a Linux server max out multiple 10 GbE ports years ago) I'm not sure anyone right now knows what it is. We've recently added XDP, io_uring, BPF congestion control algorithms, and more. There are performance numbers for these in isolation, but I don't think anyone has performance tested (and tuned) them all working together yet.
And that poses a problem: to reach maximum performance requires many engineering hours to learn and configure all of these. You'd need a large gain to justify doing this: E.g., for a system doing over 1M packets/s.
This complexity may change. Look at BPF for observability: we built BCC and bpftrace so that using it was trivial. What trivial front-end/technology could we build upon XDP and io_uring to make deployment easy?
- bogomipz 6y ago>"I'd expect more future uses of xdp over dpdk." Can say why that is? I haven't really kept up with DPDK but I know there was lots of interest in it a few years back. What has changed?
- deleted 6y ago[deleted]
- wtallis 6y agoI haven't been watching the networking side too closely, but I expect the same thing to play out for storage with io_uring vs SPDK. When the in-kernel solution is almost as fast, has much broader availability and compatibility, and imposes fewer constraints on hardware purchasing decisions and system administration, the userspace offload solution gets consigned to a fairly small niche.
- brendangregg 6y agoRight; there's a better presentation I can't find right now, but here's one from Intel showing how XDP was catching up in 2018 http://vger.kernel.org/lpc_net2018_talks/lpc18_pres_af_xdp_perf-v3.pdf http://vger.kernel.org/lpc_net2018_talks/lpc18_pres_af_xdp_p...
- LunaSea 6y agoDo you know how far along protocol implementation for higher layers like HTTP and TLS are?
- maartenh 6y agoHow would you debug programs using ioring? With the traditional I/O syscalls, one can use tools like strace to observe the behavior of a program. Would using BPF to instrument the ioring be the way to go?