Continuous benchmarking of open-source QUIC implementations

In recent years, QUIC has seen increasing adoption due to its benefits over TCP: it’s able to establish a new connection in one RTT and alleviates head-of-line blocking [1]. But while TCP’s network stack has been meticulously optimized over the years, QUIC has not received as much love.

There is plenty of work that has analyzed QUIC’s performance [2, 3]. However, QUIC evolves at a rapid rate, rendering these measurements outdated very quickly. To account for this, a continuous benchmarking suite could be of tremendous help. It could track multiple open-source projects, test them on a regular basis and visualize their performance as they evolve over time.

Ultimately, this thesis is meant as a foundation for future optimizations of the kernel’s network stack. We want to better understand the performance of QUIC, identify new bottlenecks and quantify the expected improvements from fixing them.

Milestones

  1. Adapt the benchmark suite to around 10 QUIC implementations
  2. Setup the infrastructure to run the benchmark suite continuously
  3. Implement new benchmarks
  4. Visualize the results to facilitate their analysis

Requirements

  • Background: networking, linux kernel, congestion control, web development
  • Programming languages: Rust, C, Go (depending on the chosen implementations)
  • Tools: perf, iperf, docker, tcpdump

References

  1. A. Langley et al., “The QUIC transport protocol: Design and internet-scale deployment,” in Proceedings of the conference of the ACM special interest group on data communication, in SIGCOMM ’17. ACM, 2017. doi: 10.1145/3098822.3098842.

  2. X. Yang, L. Eggert, J. Ott, S. Uhlig, Z. Sun, and G. Antichi, “Making QUIC quicker with NIC offload,” in Proceedings of the workshop on the evolution, performance, and interoperability of QUIC, in SIGCOMM ’20. ACM, 2020. doi: 10.1145/3405796.3405827.

  3. A. Yu and T. A. Benson, “Dissecting performance of production QUIC,” in Proceedings of the web conference 2021, in WWW ’21. ACM, 2021. doi: 10.1145/3442381.3450103.

Supervisors