User Space TCP - Getting LKL Ready for the Prime Time

Hsiao-keng Jerry Chu
Yuan Liu
Netdev 1.2 conference (2016)

Abstract

Running the networking stack in the user space is not new. The
conventional wisdom is that the network stack must bypass the
kernel in order to meet the performance requirements of a class
of applications that demand super-low latency.
This paper describes our effort in providing a productionstrength
user space TCP stack for a different use case inside
Google’s internal production network.
We choose a Linux based open source project called Linux
Kernel Library (LKL) as a base for our effort, and have made
significant contribution to it since late last year, improving both
its quality and performance. During the time, we discovered a
number of architectural constraints inherited in the LKL’s current
design and implementation, and gained valuable insights
into the pros and cons of the different approaches to user space
TCP.
K