skyline-speeder

skyline-speeder

Server-side one-sided TCP acceleration

Description

Your server is in Singapore, your users are in China, and the link drops 10 to 30 percent of packets with a 70 ms round trip. Standard TCP shrinks its window at every loss, so throughput sinks even though the bandwidth is there, and swapping in a more aggressive congestion algorithm means touching every client. Skyline Speeder only changes the sender: install it on the server and clients keep stock TCP with nothing to install or configure.

It implements a congestion controller in eBPF built on the idea of setting the rate from measurement, not from loss: every round it measures delivery rate and base RTT and sets the window straight to bandwidth times RTT, so loss alone never shrinks it, then scales sending up by the flow's own measured loss rate and paces it evenly through fq. A guardrail keeps it from burying a genuinely congested link by counting only rising queueing delay and ECN marks as real congestion. On a real Singapore-to-Guangdong path the author compared it with bbr and tcp-brutal: four parallel downloads reached a 117 Mbps median against 77 Mbps for bbr, with over 60 percent fewer game stalls. It needs Linux 6.12 LTS or newer.

Features



One-sided deployment:Install only on the sending server; clients need no software, patches or configuration.

Measurement-driven window:On every ACK the window is set to bandwidth times base RTT, including during loss recovery, so loss by itself never shrinks it.

Loss compensation:Window and rate are scaled up by the flow's measured loss rate, up to a ceiling, aimed at random loss.

Congestion guardrail:Gain drops only when queueing delay crosses a threshold or ECN marks arrive, so a truly congested bottleneck is not made worse.

Bounded RTO and first-flight redundancy:Cap the retransmission timeout per connection and duplicate the first packets of short responses to cut the wait for recovery.

Rust control plane:The skyline-speederd daemon pushes coefficients online and the ssctl command line inspects and tunes them, with every BPF object checked by the kernel verifier at load.

One-line install:A single command installs the latest prebuilt release on Debian, Ubuntu, Fedora, the RHEL family and Alpine.