Deploying User-space TCP at Cloud Scale with LUNA.
Lingjun Zhu,Yifan Shen,Erci Xu,Bo Shi,Ting Fu,Shu Ma,Shuguang Chen,Zhongyu Wang,Haonan Wu,Xingyu Liao,Zhendan Yang,Zhongqing Chen,Wei Lin,Yijun Hou,Rong Liu,Chao Shi,Jiaji Zhu,Jiesheng Wu
2023-01-01
Abstract:The TCP remains the workhorse protocol for many modern large-scale data centers. However, the increasingly demanding performance expectations-led by advancements in both hardware (e.g., 100Gbps linkspeed network) and software (e.g., Intel DPDK support)-make the kernel-based TCP stack no longer a favorable option. Over the past decade, multiple parties have proposed various user-stack TCP stacks offering things-as-usual TCP support with significant performance improvement. Unfortunately, we find these proposals may not function well in the field, especially when subjected to large-scale deployments. In this paper, we present LUNA, a user-space TCP stack widely deployed at Alibaba Cloud. We elaborate on the design tradeoffs, emphasizing three unique features in thread, memory, and traffic models. Further, we share our lessons and experiences learned from the field deployment. Extensive microbenchmark evaluations and performance statistics collected from the production systems indicate that LUNA outperforms kernel and other user-space solutions with up to 3.5x in throughput, and reduce up to 53% latency.