Does MinIO support S3-over-RDMA?

Asked by muratkars Answered by muratkars July 17, 2025
0 views

S3-over-RDMA represents a breakthrough in object storage performance, particularly crucial for AI/ML workloads and high-performance computing environments where every microsecond matters.

This question covers:

  • S3-over-RDMA availability and support
  • SDK requirements and compatibility
  • Use case considerations
  • Performance implications

Answer

Yes, MinIO supports S3-over-RDMA. This cutting-edge capability delivers unprecedented performance by bypassing traditional network stack overhead.

Implementation Status

Current Availability:

  • Fully functional S3-over-RDMA implementation
  • Production-ready for specific use cases
  • Requires architectural discussion to ensure fit
  • Custom SDK integration required

SDK Support

Currently Supported SDKs:

  • minio-go - Modified Go SDK with RDMA support
  • minio-cpp - Modified C++ SDK with RDMA support

SDK Requirements:

  • Use MinIO’s modified SDKs for RDMA functionality
  • Standard S3 SDKs won’t utilize RDMA path
  • Drop-in replacement for existing applications
  • API-compatible with standard S3 operations

Why Architectural Discussion?

Important Considerations:

  1. Hardware Requirements

    • RDMA-capable NICs (Mellanox, Intel)
    • RoCEv2 or InfiniBand fabric
    • Lossless network configuration
  2. Use Case Validation

    • Best for latency-sensitive workloads
    • High-throughput requirements
    • GPU-accelerated workflows
  3. Infrastructure Planning

    • Network topology considerations
    • Switch configuration requirements
    • End-to-end RDMA path needed

Performance Benefits

Dramatic Improvements:

  • Latency: Sub-microsecond possible
  • Throughput: Line-rate performance
  • CPU Usage: 70-90% reduction
  • GPU Efficiency: 30% more cycles for compute

Ideal Use Cases

1. AI/ML Training:

  • Direct data loading to GPU memory
  • Checkpoint/restore at maximum speed
  • Distributed training optimization

2. Real-time Analytics:

  • Microsecond-sensitive queries
  • High-frequency data ingestion
  • In-memory computing backends

3. HPC Workloads:

  • Scientific computing datasets
  • Simulation checkpointing
  • Parallel file system replacement

4. Financial Services:

  • High-frequency trading data
  • Real-time risk calculations
  • Market data distribution

Implementation Example

Modified SDK Usage (Go):

import (
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
)
// Initialize RDMA-enabled MinIO client
client, err := minio.New("storage.example.com", &minio.Options{
Creds: credentials.NewStaticV4("access", "secret", ""),
Secure: true,
Transport: minio.NewRDMATransport(), // Enable RDMA
})
// Standard S3 operations now use RDMA
object, err := client.GetObject(ctx, "bucket", "object", opts)

Modified SDK Usage (C++):

#include <miniocpp/client.h>
// Configure RDMA transport
minio::Client client("storage.example.com");
client.EnableRDMA(true);
client.SetRDMAOptions({
.queue_depth = 128,
.completion_vector = 0
});
// Operations automatically use RDMA path
auto result = client.GetObject("bucket", "object");

Network Configuration Requirements

RoCEv2 Setup:

Terminal window
# Enable RDMA
modprobe rdma_ucm
# Configure RoCEv2
echo 4096 > /sys/class/net/eth0/device/rdma/max_mtu
# Set priority flow control
mlnx_qos -i eth0 --pfc 0,0,0,1,0,0,0,0
# Verify RDMA functionality
ibv_devinfo
ib_write_bw

Performance Comparison

MetricTCP/IPS3-over-RDMAImprovement
Latency50-100 μs1-2 μs50-100×
CPU Usage30-40%3-5%8-10×
Throughput80% line-rate95% line-rate19%
IOPS (4K)100K1M+10×

Deployment Considerations

Prerequisites:

  1. RDMA-capable hardware throughout path
  2. Properly configured lossless fabric
  3. Modified MinIO SDKs
  4. Application rebuild with new SDKs

Best Practices:

  1. Start with proof-of-concept
  2. Validate performance gains for workload
  3. Ensure team RDMA expertise
  4. Plan for specialized maintenance

Future Roadmap

  • Additional SDK language support
  • Transparent RDMA failover to TCP
  • Enhanced GPU Direct Storage integration
  • Broader cloud provider support

Key Takeaway

S3-over-RDMA support in MinIO represents a significant advancement for performance-critical workloads. While it requires careful planning and modified SDKs, the performance benefits—particularly the dramatic CPU usage reduction and latency improvements—make it compelling for AI/ML, HPC, and other demanding applications. The recommendation is to engage in an architectural discussion to ensure your use case aligns with the current implementation’s capabilities and requirements.

0