QUIC Steps: Evaluating Pacing Strategies in QUIC Implementations
Marcel Kempf, Simon Tietz, Benedikt Jaeger, Johannes Sp\"ath, Georg Carle, Johannes Zirngibl

TL;DR
This paper evaluates different pacing strategies in QUIC implementations, analyzing their effectiveness and impact on network performance, and proposes kernel enhancements for improved pacing precision in user-space protocols.
Contribution
It systematically compares pacing implementations across QUIC stacks and introduces kernel modifications to enhance pacing accuracy and efficiency.
Findings
User-space pacing can be effective with proper system support.
FQ qdisc provides good pacing accuracy for QUIC traffic.
Kernel patch enables precise pacing within GSO buffers.
Abstract
Pacing is a key mechanism in modern transport protocols, used to regulate packet transmission timing to minimize traffic burstiness, lower latency, and reduce packet loss. Standardized in 2021, QUIC is a UDP-based protocol designed to improve upon the TCP / TLS stack. While the QUIC protocol recommends pacing, and congestion control algorithms like BBR rely on it, the user-space nature of QUIC introduces unique challenges. These challenges include coarse-grained timers, system call overhead, and OS scheduling delays, all of which complicate precise packet pacing. This paper investigates how pacing is implemented differently across QUIC stacks, including quiche, picoquic, and ngtcp2, and evaluates the impact of system-level features like GSO and Linux qdiscs on pacing. Using a custom measurement framework and a passive optical fiber tap, we establish a baseline with default settings and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
