Mtsl: Making Mtcp Stack Transparent to Network Applications.

Dong Liu,Xiaohui Luo,Fengyuan Ren
DOI: https://doi.org/10.1109/iscc.2018.8538626
2018-01-01
Abstract:Network applications are widely distributed nowadays, most of which have steep demand on response time. Deploying multi-threaded design on multicore systems is beneficial of scaling applications' performance, but also requires an efficient TCP stack to support. mTCP is a highly scalable userlevel TCP stack fruitful in promoting scalability and improving performance, therefore adopted by more and more applications. However, the original mTCP APIs are not compatible with the in-kernel function calls in form, thus impeding the transparent employment as well as the convenient transplant of mTCP stack for users. To overcome the deficiency, we propose a transparent socket layer for mTCP (mTSL), which overrides the native mTCP APIs and redirects original system calls to our customized versions. Finally, mTSL not only achieves mTCP stack's thorough transparency to applications, but maintains the high performance of mTCP and outperforms Linux kernel stack by 8.9× with respect to throughput on a message benchmark as well as 1.44×~6.49× in terms of transaction rate for a real application.
What problem does this paper attempt to address?