connex-rs
The Connex data plane in Rust over UCX. GPUDirect transfers, millisecond peer-death events, same-identity rejoin.
connex-rs is the data plane Connex uses on RDMA. It moves pipeline-step bytes between endpoints, and it tells those endpoints within milliseconds when a peer process has died. A stage that restarts under the same logical id is the same peer to everyone else. Steady-state transfers match Mooncake Transfer Engine on the same cluster. The code is at HeterInfra/connex-rs. The SIGCOMM 2026 paper is (Lin et al., 2026).
Connex decides who should receive a step, and what a retry means. connex-rs is the engine those calls land on. It is Rust over UCX, with a Python binding. On a host with a usable RDMA device it is the default. One-sided reads and writes run on registered memory, host or GPU, through GPUDirect. A peer URL is bound to a logical id, ip:port#model|stage|shard|replica, so a restarted stage rejoins without the rest of the chain coming down.
The failure signal is the part a plain transfer engine does not give you. Every UCX endpoint runs with peer error handling. When a process dies, its kernel tears the connection down, and the event arrives in a few milliseconds. Hung or partitioned peers still fall back to a heartbeat and a probe. With Mooncake on the same Connex path, a killed stage is found by a lease and a timeout, and putting that stage back under the same identity breaks its peers.
On that deployment, a one-sided GPU-to-GPU read is 8 to 10 microseconds at 16 KB and 1.69 milliseconds at 16 MB, in line with Mooncake. Trace replay keeps 100 percent goodput on both, and mean end-to-end latency at 2, 4, and 8 queries per second stays within a few tens of milliseconds. The handover median is 0.02 to 0.03 seconds with one step in flight, and 0.01 to 0.83 seconds with four, against 2 to 3 seconds on Mooncake. Across 18 kill runs, every request completes and 0 tokens fall off the argmax. One hundred kill and rejoin cycles leave file descriptors, RSS, and registered memory flat.
The release is Apache-2.0. HeterInfra/connex-rs is the repository. Connex selects it with pip install "connex-ai[rs]".
Related analysis
Connex asks how a serving endpoint keeps one logical identity while the process behind it joins, leaves, fails, or moves, and how in-flight steps stay correct across that change.