Tyunyayev, Nikita
[UCL]
Bonaventure, Olivier
[UCL]
Barbette, Tom
[UCL]
QUIC is a recently standardized transport protocol built on top of UDP and designed to resolve shortcomings of the TCP protocol in the modern web. Several implementations exist, but unfortunately, they can not match the speed of the TCP+TLS stack. High-performance NICs becoming a commodity and CPU improving at a slower rate than those NICs worsen the problem because a high percentage of the CPU cycles must be dedicated to QUIC. One way to improve the performance of QUIC implementations is to avoid the Linux networking stack and process packets in user space. The DPDK library is a widely used solution for this purpose. In this master thesis, we integrated DPDK into picoquic, one of the many implementations of QUIC. We evaluated the resulting gain in different use cases, such as a classic client/server where we observed 3x greater goodput and latency reduced by 30%. In the case of a tunneling application, the goodput increased by a factor ranging from 3 to 5. The thesis shows profilings of the executions of the original and modified implementation to explain those gains. Finally, the thesis compares picoquic, msquic, a high-performing implementation of QUIC, and picoTLS, a TLS stack.


Bibliographic reference |
Tyunyayev, Nikita. Improving the performance of picoquic by bypassing the Linux Kernel with DPDK. Ecole polytechnique de Louvain, Université catholique de Louvain, 2022. Prom. : Bonaventure, Olivier ; Barbette, Tom. |
Permanent URL |
http://hdl.handle.net/2078.1/thesis:37954 |