pub static CHANNEL_TCP_CONGESTION: Key<String>Expand description
TCP congestion-control algorithm applied to channel sockets after
connect/accept (e.g. bbr). Empty (the default) leaves the host
default (cubic) in place, so this is a no-op for the overwhelming
majority of channels; only bandwidth-bound long-haul paths (e.g.
remotemount’s client->leader block ship) opt in. cubic underfills a
link with a high bandwidth-delay product; bbr recovers that
bandwidth. Set via env HYPERACTOR_CHANNEL_TCP_CONGESTION or
configure(channel_tcp_congestion="bbr").
PROCESS-LOCAL, deliberately: the right controller is a property of the
LINK, not of the mesh, and the procs in one mesh do not share a link
profile. A client shipping across a DC has a high bandwidth-delay
product and wants bbr; the intra-cluster hops between workers do not,
and bbr measurably hurts them. Propagating one value to every proc
forces a single answer on links that want different ones – measured on
MAST at 256 hosts, cold import torch:
bbr on client + relays 39.0s
cubic everywhere 31.2s
bbr on client only 19.0sA proc that genuinely wants a non-default controller sets the env var, which is per-proc and still resolves above everything else.