A new TCB cache to efficiently manage TCP sessions for Web servers

G Liao, L Bhuyan, W Wu, H Yu, SR King - Proceedings of the 6th ACM …, 2010 - dl.acm.org
G Liao, L Bhuyan, W Wu, H Yu, SR King
Proceedings of the 6th ACM/IEEE Symposium on Architectures for Networking …, 2010dl.acm.org
TCP/IP, the most commonly used network protocol, consumes a significant portion of time in
Internet servers. While a wide spectrum of studies has been done to reduce its processing
overhead such as TOE and Direct Cache Access, most of them did studies solely from the
per-packet perspective and concentrated on the packet memory access overhead. They
ignored per-session data TCP Control Block (TCB), which poses a challenge in web servers
with a large volume of concurrent sessions. In this paper, we start with challenge studies and …
TCP/IP, the most commonly used network protocol, consumes a significant portion of time in Internet servers. While a wide spectrum of studies has been done to reduce its processing overhead such as TOE and Direct Cache Access, most of them did studies solely from the per-packet perspective and concentrated on the packet memory access overhead. They ignored per-session data TCP Control Block (TCB), which poses a challenge in web servers with a large volume of concurrent sessions.
In this paper, we start with challenge studies and show that the TCB data should be efficiently managed. We propose a new TCB cache addressed by session identifiers to address the challenge. We carefully design the TCB cache along two important axes: cache indexing and cache replacement policies. First, we study the performance of various hash functions and propose a new indexing scheme for the TCB cache by employing two Universal hash functions. We analyze session identifiers and choose some important bits as indexing bits to reduce hashing hardware complexity. Second, by leveraging characteristics of web sessions, we design a speculative cache replacement policy, which can effectively work on the TCB cache with two cache banks. Experimental results show that the new cache efficiently manages the per-session data. When it is used in TOEs or integrated into CPUs to manage the per-session data, TCP/IP processing time is significantly reduced, thus saving web server response time.
ACM Digital Library