XDSR is the upcoming ultra-fast DSR (Direct Server Return) load balancer from Inlab Networks for contemporary Linux operating systems. The name XDSR is an acronym for “eXpress Direct Server Return”.
XDSR utilizes AF_XDP in zero-copy mode and runs “busy polling” for minimum latency.
What is AF_XDP? #
AF_XDP is a raw socket optimized for high performance packet processing and allows zero-copy between kernel and applications. As the socket can be used for both receiving and transmitting, it supports high performance network applications purely in user space.
References #
- https://www.kernel.org/doc/html/latest/networking/af_xdp.html
- https://en.wikipedia.org/wiki/Express_Data_Path
- https://ebpf-docs.dylanreimerink.nl/linux/concepts/af_xdp/
What is Consistent Hashing? #
For load balancing Consistent Hashing effectively allows to agree on how packets are distributed to real servers algorithmically instead of maintaining and synchronizing a session table.
The typical destination ring of XDSR Consistent Hashing is represented by a skiplist data structure (see the Inlab Scheme reference below).
References #
- https://en.wikipedia.org/wiki/Consistent_hashing
- https://www.the-paper-trail.org/post/2020-06-23-maglev/
- https://scheme.inlab.net/reference-manual/data-types/skiplist/
Recommended / tested Intel drivers #
During development we focus somewhat on Intel drivers and their corresponding NICs:
- e1000e
- igb
- ixgbe
- i40e
- ice
Planned Linux distribution packages #
- RHEL 9
- Alma 9
- Rocky 9
- CentOS Stream 9
- Debian 12
- Ubuntu 24 LTS
XDSR Release Date #
A release date is not yet available.