Making Userspace TCP Stacks Transparent to Applications.

Xiaohui Luo,Dong Liu,Xing Wu,Xunli Fan,Fengyuan Ren
DOI: https://doi.org/10.1109/bdcloud.2018.00100
2018-01-01
Abstract:Previous studies have shown that userspace TCP stacks have higher performance than the kernel version. One conventional wisdom is that using native APIs instead of system calls can reduce the context switching overheads. However, due to the non-compatible APIs, countless existing BSD-based applications have not benefited from the userspace TCP stacks yet. There is a gap between existing BSD-based applications and the userspace TCP stack. We propose a transparent socket layer (TSL) that allows applications transparently using the userspace TCP stacks. TSL consists of three components: (i) The transplant layer redirects original system calls into TSL's customized versions. (ii) The function call entry table holds the immediate state of function calls. (iii) The backend interacts with the table and executes the rest of TCP processing. In our evaluation, TSL has 2.3X~2.8X request rate compared with the kernel. We also show that TSL can benefit real applications, such as Netperf and Nginx.
What problem does this paper attempt to address?