Connex
Endpoint mobility for dynamic LLM serving. Join, leave, fail, and migrate with traffic still in flight.
Connex is open. It is the system in Connex: Endpoint Mobility Primitives for Dynamic LLM Serving (SIGCOMM 2026) (Lin et al., 2026). A serving endpoint keeps one logical name while the process behind it joins, leaves, fails, or moves, and steps that were already in flight stay correct across that change. The code is at HeterInfra/connex.
Collective libraries fix the set of peers at startup. A rank is an address, and a lost rank ends the job. Serving does not stay in that shape. Replicas come and go with load. A pipeline stage dies and is replaced. One request is often served by several role-specific processes. The peer of a running request can change while its tensors are still on the wire. Connex treats that as a delivery problem, and gives the application a mobile endpoint.
The control plane keeps logical endpoint ids, routes, leases, and membership. Join, leave, and migrate register the same id at a new address while every other endpoint keeps running. The step protocol carries correlation ids, retries without executing a step twice, and drops a late reply from a peer that has already been replaced. When a peer dies, every affected step fails over together, and the engine recomputes state that died with the process. Tensor bytes go through a separate engine. connex-rs is the default on RDMA. Mooncake Transfer Engine, UCX, and ZeroMQ remain available.
The picture above is the path we measured. Llama-3-8B, four pipeline stages, A40 GPUs, InfiniBand, two replicas. Killing a stage in the middle of a generation completes every affected request, and a teacher-forced check finds 0 tokens off the argmax. A larger campaign, 72 kill runs and 518,400 tokens, finds the same. With connex-rs, the time from the kill to the next token is 0.01 to 0.83 seconds when four steps are in flight. The same layout on Mooncake Transfer Engine takes 2 to 3 seconds. If a replica is killed every 60 seconds, goodput stays between 99.2 and 99.6 percent. An optional resume proxy, which covers the death of the front-end stage, brings that to 100 percent.
Multi-replica pipeline parallelism on vLLM is the path that is integrated and measured. The release is Apache-2.0. Stars, issues, and pull requests are welcome at HeterInfra/connex.
Related analysis
connex-rs asks how the tensor bytes move once a peer has been chosen, and how soon the remaining stages learn that a process has died.