Skip to content

Latest commit

 

History

History
63 lines (45 loc) · 1.83 KB

File metadata and controls

63 lines (45 loc) · 1.83 KB

NIXL POSIX Plugin

This backend provides POSIX-compliant I/O operations using either Linux AIO (libaio) by default Optionally POSIX plugin can also use liburing.

Dependencies

To enable Linux AIO support, you need to install the libaio package:

# Ubuntu/Debian
sudo apt-get install libaio-dev

# RHEL/CentOS/Fedora
sudo dnf install libaio-devel

To enable liburing support you need to install the liburing package:

# Ubuntu/Debian
sudo apt install liburing-dev
# RHEL/CentOS/Fedora
sudo dnf install liburing-devel

To use liburing with POSIX plugin use params["use_uring"] = "true"

Running liburing with Docker

Docker by default blocks io_uring syscalls to the host system. These need to be explicitly enabled when running NIXL agents that use the posix plugin in Docker.

Create a seccomp json file

$> wget https://github.com/moby/moby/blob/master/profiles/seccomp/default.json

# Add the following to the section, syscalls:names in default.json
# "io_uring_setup",
# "io_uring_enter",
# "io_uring_register",
# "io_uring_sync"

# Run docker with the new seccomp json file

$> docker run --security-opt seccomp=default.json -it --runtime=runc ... <imageid>