This roadmap tracks the development of Payload Transfer in TransferQueue. Feedback, discussion, and contributions are welcome.
If you plan to work on an item, please comment below before starting to help coordinate the work and avoid duplication.
Foundation
Reliability
Performance
Backend Expansion
Validation
Documentation
Mainline Integration
This roadmap tracks the development of Payload Transfer in TransferQueue. Feedback, discussion, and contributions are welcome.
If you plan to work on an item, please comment below before starting to help coordinate the work and avoid duplication.
Foundation
Payload Transfer abstraction and NIXL-UCX backend
Introduce the Payload Transfer abstraction and the initial NIXL-UCX PUT/GET data path, while keeping ZMQ as the control plane and default payload path.
Reliability
Safely manage MR, buffers, pending state, and peer metadata across PREPARE, CANCEL, transfer failure, retry, and cleanup paths.
Performance
Optimize buffer pooling and memory registration
Reduce buffer allocation and memory registration overhead through better reuse.
Reduce unnecessary data copies
Remove avoidable copies in the receive path and process data directly from registered buffers where possible.
Improve payload transfer concurrency
Avoid serializing independent transfers through a single send executor (for example,
max_workers=1) when one manager communicates with multiple StorageUnits, and avoid blocking the StorageUnit control worker while waiting for long-running NIXL GET transfers to complete. Preserve transfer lifecycle correctness while allowing concurrent data-plane progress and reducing head-of-line blocking in RL workloads.Backend Expansion
Extend the abstraction to support additional backends such as HIXL.
Validation
Cover larger-scale, sustained, and multi-node workloads.
Documentation
Add usage guides, configuration examples, and related feature documentation.
Mainline Integration
mainMove toward mainline integration once the feature is sufficiently stable and validated.