Improving server application performance via pure TCP ACK receive optimization

  • Authors:
  • Michael Chan;David R. Cheriton

  • Affiliations:
  • Department of Computer Science, Stanford University;Department of Computer Science, Stanford University

  • Venue:
  • USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Network stack performance is critical to server scalability and user-perceived application experience. Perpacket overhead is a major bottleneck in scaling network I/O. While much effort is expended on reducing perpacket overhead for data-carrying packets, small control packets such as pure TCP ACKs have received relatively scarce attention. In this paper, we show that ACK receive processing can consume up to 20% cycles in server applications. We propose a simple kernel-level optimization which reduces this overhead through fewer memory allocations and a simplified code path. Using this technique, we demonstrate cycles savings of 15% in a Web application, and 33% throughput improvement in reliable multicast.