Skip to content

The NVIDIA® Accelerated IO (XLIO) software library accelerates TCP and UDP network applications by delivering high bandwidth, low latency, and reduced CPU utilization. Built as a user-space library with a kernel-bypass architecture, XLIO enables direct data transfer between application memory and network adapters for optimal performance.

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
COPYING
Notifications You must be signed in to change notification settings

Mellanox/libxlio

Repository files navigation

XLIO - Accelerated IO SW library

The NVIDIA® Accelerated IO (XLIO) SW library boosts the performance of TCP/IP network applications providing high bandwidth and low CPU usage. XLIO is a user-space software library which exposes standard POSIX and XLIO Ultra socket APIs with kernel-bypass architecture, enabling a hardware-based direct copy between an application user-space memory and the network interface.

Coupling XLIO with Crypto Enabled NVIDIA ConnectX, NVIDIA BlueField data processing unit (DPU) acceleration capabilities, provides a breakthrough performance of Transport Layer Security (TLS) encryption and decryption. XLIO is capable of utilizing HW features such as LRO/TSO and Striding-RQ which increase TCP performance, without application code changes for both POSIX socket and XLIO Ultra APIs.

Please visit our documentation website for more details.



Getting Started

Installing XLIO

XLIO is available as part of DOCA Software Stack. Please visit DOCA website for more details.

Building XLIO

Prerequisits

DOCA Software stack

XLIO requires NVIDIA DOCA-Host software stack or NVIDIA Bluefiled bundle to be installed on the system. Please visit DOCA website for more details.

DPCP

DPCP (Direct Packet Control Plane) is mandatory to run XLIO. Repository: libdpcp

$ ./autogen.sh
$ ./configure --prefix=/where/to/install
$ make -j
$ make install
Tools

Autoconf, Automake, libtool, unzip, patch, libnl-devel (netlink 3)

Compiling XLIO

Run the following commands from within the directory at the top of the tree:

$ ./autogen.sh
$ ./configure --prefix=/where/to/install --with-dpcp=/where/dpcp/installed --enable-utls
$ make -j
$ make install

--enable-utls : Enables uTLS HW offload for supported NVIDIA HW.

Compiling XLIO using preinstalled dpcp

$ ./autogen.sh
$ ./configure --prefix=/where/to/install --with-dpcp --enable-utls
$ make -j
$ make install

Configure

See more Options

Usage Examples

Sockperf

LD_PRELOAD=libxlio.so sockperf <params>

Reposiroty: Sockperf

nginx

LD_PRELOAD=libxlio.so XLIO_NGINX_WORKERS_NUM=<N> nginx <nginx_params>

N - Number of Nginx workers.

Architecture

Supported Transports

  • IPv4/6
  • TCP
  • UDP

Supported CPU Architecturess

Supported HW

  • Please refer to the User Manual for supported device list.

Licenses

See LICENSE file

Information

See README file for XLIO features and parameters.

Contribution

Contribution guidelines for this project

About

The NVIDIA® Accelerated IO (XLIO) software library accelerates TCP and UDP network applications by delivering high bandwidth, low latency, and reduced CPU utilization. Built as a user-space library with a kernel-bypass architecture, XLIO enables direct data transfer between application memory and network adapters for optimal performance.

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
COPYING

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 17