SocksDirect: Datacenter Sockets can be Fast and Compatible
Communication intensive applications in hosts with multi-core CPU and high speed networking hardware often put considerable stress on the native socket system in an OS. Existing socket replacements often leave significant performance on the table, as well have limitations on compatibility and isolation.
In this paper, we describe SocksDirect, a user-space high performance socket system. SocksDirect is fully compatible with Linux socket and can be used as a drop-in replacement with no modification to existing applications. To achieve high performance, SocksDirect leverages RDMA and shared memory (SHM) for inter-host and intra-host communication, respectively. To bridge the semantics gap between socket and RDMA/SHM, we optimize for the common cases while maintaining compatibility in general. SocksDirect achieves isolation by employing a trusted monitor daemon to handle control plane operations such as connection establishment and access control. The data plane is peer-to-peer between processes, in which we remove multi-thread synchronization, buffer management, large payload copy and process wakeup overheads in common cases. Experiments show that SocksDirect achieves 7 to 20x better message throughput and 17 to 35x better latency compared with Linux socket, and reduces Nginx HTTP latency by 5.5 times.
Fast and Compatible User-Space Container Networking with Programmable NIC.
Bojie Li. (Collaborators: Zibo Wang and Tianyi Cui, Advisor: Lintao Zhang.)
SOSP Student Research Competition 2017, Final Presentation Rounds. [PDF] [Poster]
- Oct. 2017, SOSP’17 Student Research Competition (Poster). [PDF] [Poster]
- Dec. 2017, Microsoft Hackathon 2017 Winning Project Review.
- Nov. 2019, CICC’19 (2019中国信息通信大会 - 第二届互联网体系结构学术会议) Invited Talk: The Route to The SocksDirect Paper. [Slides PPTX] [Slides PDF]
- Dec. 2017, Global 1st place in IT Pros Category, Microsoft Hackathon 2017.
- Aug. 2017, Most Impact Award in Beijing Venue, Microsoft Hackathon 2017.
- Bojie Li, 4th year Ph.D. student in MSRA and USTC
- Tianyi Cui, 4th year undergraduate in USTC (now a Ph.D. student in University of Washington)
- Zibo Wang, 3rd year undergraduate in USTC (now a joint Ph.D. student in MSRA and USTC)
- Dr. Wei Bai, Associate Researcher in Microsoft Research Asia
- Dr. Lintao Zhang, Principal Researcher in Microsoft Research Asia