OBJ
Overview
The OBJ backend provides object storage support for S3-compatible stores. It includes three executor variants: standard S3, S3_CRT (AWS CRT-based for higher throughput), and S3/RDMA (Dell accelerated). The executor is selected based on the available libraries and configuration.
Installation
The OBJ backend requires aws-sdk-cpp version 1.11 with s3 and s3-crt components.
Build aws-sdk-cpp from Source
After installing aws-sdk-cpp, rebuild NIXL to enable the OBJ backend.
Optional: S3 Accelerated Engines
For GPU-direct and accelerated object storage operations, install cuobjclient-13.1. If not available during build, the S3 Accelerated engines are automatically disabled and the plug-in falls back to standard S3 and S3 CRT engines.
Configuration
Backend parameters are string key-value pairs passed when the OBJ backend is created. Parameter names are case-sensitive.
Backend Parameters
CRT Client Tuning
Without crtMinLimit, the backend uses the standard S3 client for every transfer. When it is set, smaller objects continue to use the standard client and objects whose size is greater than or equal to the threshold use the CRT client.
The threshold also configures the CRT client’s multipart-upload threshold and part size. AWS S3 requires every part except the last to be at least 5 MiB (5,242,880 bytes). If crtMinLimit is smaller, the AWS SDK clamps the part size to 5 MiB and logs a warning. Use a value of at least 5242880 to avoid that clamp; 10485760 (10 MiB) is a practical starting point.
throughput_target_gbps must be a whole number. Raising it allows the CRT scheduler to open more parallel connections on higher-bandwidth links.
Accelerated engines are separate from CRT selection. For the Dell ObjectScale engine, set accelerated to true and type to dell; the optional acceleration dependency must also be present when NIXL is built.
Environment Variables
The OBJ backend also recognizes standard AWS SDK environment variables for authentication:
When to Use
- DRAM to S3-compatible object stores — Transfer host memory to and from any S3-compatible storage service.
- Cloud checkpoint storage — Save and load model checkpoints to cloud object storage.
- Multiple executor variants — Supports standard S3, AWS CRT-accelerated, and Dell-accelerated executors.