XLIO
The NVIDIA® Accelerated IO
XLIO Ultra API

High-performance zero-copy networking interface. More...

Modules

 Initialization and Cleanup
 Functions for initializing and cleaning up the XLIO Ultra API.
 
 Polling Groups
 Functions for managing polling groups and event handling.
 
 Socket Management
 Functions for creating and managing XLIO sockets.
 
 Transmit Operations
 High-performance data transmission functions.
 
 Receive Operations
 Zero-copy receive buffer management.
 
 Event Callbacks
 Callback functions for handling socket events.
 

Detailed Description

High-performance zero-copy networking interface.

The XLIO Ultra API is a performance-oriented, event-based networking interface designed for applications requiring maximum throughput and minimal latency. It provides zero-copy capabilities and efficient memory management for high-performance networking.

Key Features

Architecture Overview

The API is built around three main concepts:

  1. Polling Groups: Event management and callback registration
  2. Sockets: TCP socket abstraction with zero-copy capabilities
  3. Buffers: Memory management for zero-copy operations

Typical Workflow

  1. Initialize XLIO with xlio_init_ex()
  2. Create polling group with xlio_poll_group_create()
  3. Create socket with xlio_socket_create()
  4. Configure socket (bind, connect, listen)
  5. Poll for events with xlio_poll_group_poll()
  6. Handle events via registered callbacks
  7. Send/receive data using zero-copy operations
  8. Clean up resources

Concurrency and Thread Safety

The XLIO Ultra API is designed for high-performance applications with specific concurrency patterns and thread safety requirements.

Thread Safety Model

Polling Group Concurrency

Polling groups are the primary mechanism for achieving concurrency:

Serialization Requirements

Thread Safety Exceptions

Some operations have specific thread safety characteristics:

Current Limitations