Accelerating Network Applications with Stateful TCP Offloading
YoungGyoun Moon
KAIST
SWS Colloquium
YoungGyoun Moon is a Ph.D. candidate in KAIST under supervision of Prof. KyoungSoo Park. His research interests broadly lie in networked systems, including host networking stack, middleboxes, and programmable dataplane. He is a recipient of USENIX NSDI Best Paper Award in 2017.
AG 1, AG 2, AG 3, INET, AG 4, AG 5, SWS, RG1, MMCI
The performance of modern key-value servers or layer-7 load balancers often heavily depends on the efficiency of the underlying
TCP stack. Despite numerous optimizations such as kernel-bypassing and zero-copying, performance improvement for TCP
applications is fundamentally limited due to the protocol conformance overhead for compatible TCP operations.
In this talk, I will introduce AccelTCP, a hardware-assisted TCP stack architecture that harnesses programmable network interface
cards (NICs) as a TCP protocol accelerator. AccelTCP can offload complex TCP operations such as connection setup and
teardown completely to NIC, which frees a significant amount of host CPU cycles for application processing. In addition, for layer-7
proxies, it supports running connection splicing on NIC so that the NIC relays all packets of the spliced connections with zero DMA
overhead. We showcase the effectiveness of AccelTCP with two real-world applications: (1) Redis, a popular in-memory key-value
store, and (2) HAProxy, a widely-used layer-7 load balancer. Our evaluation shows that AccelTCP improves their performance by
2.3x and 11.9x, respectively.