TL;DR
Applying the RACK loss-detection algorithm to Pion’s SCTP implementation produced large performance gains in lab profiles: about 316 Mbps sustained and a roughly 27% reduction in latency compared with the previous profile. Normalizing for CPU usage, the team reports roughly a 71% improvement in throughput per CPU.
What happened
Engineers working on Pion’s SCTP implementation benchmarked a variant that uses the RACK (Recent ACKnowledgment) loss-detection algorithm and found substantially improved performance in their test profiles. In the RACK profile the stack sustained about 316 Mbps while consuming ~0.044 CPU seconds, versus a prior profile that reached 234 Mbps at ~0.056 CPU seconds. When adjusted for CPU use, the authors report roughly a 71% increase in throughput per CPU. Latency in the RACK profile decreased by around 27% compared with the earlier profile, while maximum CPU usage during bursty workloads stayed comparable between the two configurations. The writeup traces how RACK (RFC 8985) and its Tail Loss Probing technique change loss detection behavior compared with SCTP’s traditional fast-retransmit and timer-based retransmit mechanisms, and cites prior formal analysis of RACK applied to SCTP in academic work.
Why it matters
- Measured throughput per CPU rose by roughly 71% in the Pion SCTP tests using RACK, indicating a significant efficiency improvement in that environment.
- Latency in the benchmarked RACK profile dropped by about 27%, which can matter for real-time and interactive uses of SCTP.
- RACK is an RFC-standardized loss-detection approach (RFC 8985) and has already been adopted in TCP implementations on multiple operating systems, suggesting a path for transport-layer improvements beyond TCP.
- SCTP is used inside browsers via WebRTC for datachannels, so improvements to SCTP loss recovery could influence WebRTC data performance in contexts where SCTP is used.
Key facts
- Tested RACK profile sustained ~316 Mbps using ~0.044 CPU seconds.
- Previous (pre-RACK) profile sustained ~234 Mbps using ~0.056 CPU seconds.
- When normalized for CPU usage, authors report ~71% improvement in throughput per CPU with RACK.
- Latency in the RACK profile was reported as ~27% lower than the earlier profile.
- Maximum-burst CPU profiles were reported as comparable between RACK and non-RACK runs.
- RFC 8985 (RACK-TLP) was published in February 2021 and targets improved loss detection.
- RACK has been implemented in TCP on Linux, Windows and FreeBSD; RFC 8985 notes it can be applied to other transports such as SCTP.
- Pion’s SCTP implementation currently relies on fast retransmit and timer-based retransmission for loss recovery; the article describes adapting RACK and TLP techniques to SCTP.
- The article references formal analysis of RACK in SCTP, notably Felix Weinrank’s dissertation, including implementation notes and interaction with SCTP extensions.
- Authors credited in the source are R Chiu and Joe Turki (dated 2025-12-21 in the article byline).
What to watch next
- Whether the Pion project will upstream the RACK changes into its main codebase – not confirmed in the source
- If browser WebRTC stacks adopt RACK-informed SCTP behavior or expose measurable improvements in real-world WebRTC datachannel workloads – not confirmed in the source
- Broader adoption of RACK in SCTP implementations beyond Pion, following the RFC and academic analysis – not confirmed in the source
Quick glossary
- SCTP: Stream Control Transmission Protocol, a transport-layer protocol that provides reliable delivery, support for multiple streams over a single association, and multi-homing for failover.
- RACK: Recent ACKnowledgment loss-detection algorithm (RFC 8985) that relies on tracking acknowledgments and timers to improve retransmission decisions and loss detection.
- TLP (Tail Loss Probing): A technique used with RACK that sends probes to detect and recover from losses near the end of a packet burst, often saving a round-trip time in recovery.
- SACK: Selective Acknowledgment, a receiver message that informs the sender about non-contiguous blocks of data that were successfully received.
- RTO: Retransmission Timeout, a timer-based mechanism that triggers retransmission when expected acknowledgments are not received within a configured interval.
Reader FAQ
How much faster did Pion SCTP run with RACK in the reported tests?
The RACK profile sustained about 316 Mbps versus 234 Mbps before; when normalized for CPU use the authors report roughly a 71% improvement in throughput per CPU.
Did latency change with RACK?
Yes — the article reports about a 27% reduction in latency in the RACK profile compared with the earlier profile.
Is RACK already standard or widely used?
RACK is standardized in RFC 8985 (published February 2021) and has been implemented in TCP on Linux, Windows and FreeBSD; the RFC indicates it can be applied to other transports like SCTP.
Will browsers or WebRTC immediately gain these improvements?
Not confirmed in the source
Where can I find technical analysis of RACK applied to SCTP?
The article references Felix Weinrank’s dissertation, which includes a formal analysis and implementation notes for RACK in SCTP.
RACK makes Pion SCTP 71% faster with 27% less latency In the RACK profile, SCP sustained 316 Mbps using ~0.044 CPU seconds, compared to 234 Mbps at ~0.056 CPU seconds…
Sources
- Show HN: Pion SCTP with RACK is 70% faster with 30% less latency
- Rack makes Pion SCTP 71% faster with 27% less latency
- website/content/en/blog/sctp-and-rack.md at master
- Pion Blog
Related posts
- The Prison of Financial Mediocrity: Why Young People Gamble for Agency
- Why software engineers benefit from being a little bit cynical
- Hacker News Reimagined Through Prime Indexing and ζ-Notation Mapping